Bitcoin uzas blokĉenon por trakti ĝian datumon, sed la blokĉeno ne estas haketarbo, la blokĉeno enhavas datumon pri la ĝiroj kaj la sistemo uzas haketarbo por certigi tiun datumon.
Kiel funkcias haketarboj
Baze, oni kreas arbon kie la foliaj nodoj konektas al datumero kaj la nodo enhavas la haketaĵon de la datumo. Ĝi kalkulas la haketaĵon per haketfunkcio. (Resume haketfunkcio prenas datumon de malfiksita longeco kaj kreas datumon de antaŭfiksita longeco kun eble aliaj trajtoj kiel: malfacileco ke oni krei alian originalan datumon kiu ankaŭ produktas la saman haketaĵon). La haketaĵo de ĉiuj nefolia nodo estas la haketaĵo de la kombinaĵo de siaj filaj nodoj. Ekzemple, por la nodo "Haketaĵo a" ĝia haketaĵo estas la sumo de "Haketaĵo α" kaj "Haketaĵo β". Tiel por certigi ke la haketarbo ne ŝanĝiĝas, oni povas kompari la haketaĵo de la radikaj nodoj.
Kiel Bitcoin kreas haketarbo por la ĝiroj
Bitcoin ne uzas haketarbon por la blokĉenon, sed uzas la algoritmon por la datumujo de ĝiroj.La algoritmo estas jene:
- Bitcoin duope haketaĵigas datumeron, do ni difinu
duopeHaketigi
estusha256(sha256(ion))
. - Se la nombro de datumeroj estas nepara, ni uzas la haketaĵo de la lasta datumero dufoje.
Ekzemple:
d1 = duopeHaketigi(a)
d2 = duopeHaketigi(b)
d3 = duopeHaketigi(c)
d4 = duopeHaketigi(ĉ)
d5 = duopeHaketigi(d)
d6 = duopeHaketigi(d)
duopeHaketigi(d)
denove. Tiam ni parigas la haketaĵojn kaj kalkulas novajn haketaĵojn:d7 = duopeHaketigi(d1 ĉemeti d2)
d8 = duopeHaketigi(d3 ĉemeti d4)
d9 = duopeHaketigi(d5 ĉemeti d6)
d10 = duopeHaketigi(d5 ĉemeti d6)
d11 = duopeHaketigi(d7 ĉemeti d8)
d12 = duopeHaketigi(d9 ĉemeti d10)
d13 = duopeHaketigi(d11 ĉemeti d12)
d13
estas la radiko de la haketarbo por la ĝiroj.Kiel ĝi uziĝas en la blokĉeno
La blokĉeno enhavas ĉapon, haketaĵon, haketaĵon de la antaŭa bloko kaj la radiko de la haketarbo, kalkulite kiel supre. Oni povas bildigi ĝin kiel:Tie, por bloko 1 la "radiko de haketarbo" estus
d13
kaj la "Ĝiroj de bloko 1" enhavus la datumon.Fino
Ja estas aliaj partoj de la blokĉeno, sed nun vi almenaŭ komprenas kiel la sistemo traktas kaj sekurigas ĝirojn.Demandoj
- Ĉu vi povas pripensi aliajn uzojn por haketarboj?
- Se vi aldonus alian folian nodon al haketarbo, kiom da nodoj oni bezonus ĝisdatigi?
- Ĉu haketarbo funkcias pli simila al funkcia datumstrukturo ol ordema datumstrukturo?
No comments:
Post a Comment