Beth yw Merkle Tree? Canllaw Dechreuwyr i'r Gydran Blockchain hon

Mae Merkle Trees yn elfen sylfaenol o gadwyni bloc sy'n sail i'w swyddogaethau. Maent yn caniatáu ar gyfer dilysu strwythurau data mawr yn effeithlon ac yn ddiogel, ac yn achos cadwyni bloc, setiau data a allai fod yn ddiderfyn.

Mae gweithredu coed Merkle mewn blockchains yn cael effeithiau lluosog. Mae'n caniatáu iddynt raddfa tra hefyd yn darparu'r bensaernïaeth seiliedig ar hash iddynt gynnal cywirdeb data a ffordd ddibwys i wirio cywirdeb data.

Swyddogaethau hash cryptograffig yw'r dechnoleg sylfaenol sy'n caniatáu i goed Merkle weithio, felly yn gyntaf, mae'n bwysig deall beth yw swyddogaethau hash cryptograffig.

Fideg Cyflym: Mae coed Merkle yn strwythurau data sy'n cynnwys hashes cryptograffig sy'n caniatáu gwirio cywirdeb a mapio setiau data mawr yn effeithlon, gan eu gwneud yn rhan annatod o systemau fel cadwyni bloc a rheoli fersiynau dosranedig.


Ffeithiau Cyflym

prif BwyntiauDisgrifiad
Swyddogaethau hash cryptograffigSwyddogaethau hash sy'n cymryd mewnbwn o unrhyw faint ac yn allbwn gwerth stwnsh hyd sefydlog. Defnyddir mewn coed Merkle.
Strwythur coeden merkleStrwythur data coed lle mae pob nod di-dail yn stwnsh o'i nodau plentyn. Galluogi mapio a gwirio setiau data mawr yn effeithlon.
Stwnsh gwraiddHash ar frig y goeden Merkle sy'n cynrychioli stwnsh y goeden gyfan. Yn gweithredu fel olion bysedd ar gyfer y set ddata lawn.
Merkle proflenniCaniatáu gwirio cywirdeb data a lleoliad yn y goeden heb fod angen y set ddata lawn, dim ond hash gwraidd.
Gweithredu yn BitcoinMae coed Merkle yn storio trafodion mewn blociau. Mae stwnsh gwraidd sydd wedi'i storio yn y pennawd bloc yn caniatáu nodau SPV i wirio trafodion.
Gweithrediadau blockchain eraillDefnyddir mewn llawer o blockchains fel Ethereum sy'n defnyddio Merkle Patricia Trees mwy cymhleth.
Systemau wedi'u dosbarthuCaniatáu i systemau rheoli fersiwn fel Git ac IPFS wirio data a rennir rhwng cymheiriaid yn hawdd.

Swyddogaethau Hash Cryptograffig

Yn syml, ffwythiant hash yw unrhyw swyddogaeth a ddefnyddir i fapio data o faint mympwyol (mewnbwn) i allbwn maint sefydlog. Cymhwysir algorithm stwnsio i'r mewnbwn data a chyfeirir at yr allbwn hyd sefydlog canlyniadol fel yr hash.

Mae llawer o algorithmau stwnsio ar gael yn eang i'r cyhoedd a gellir eu dewis yn seiliedig ar eich anghenion.

Mae'r hash sy'n deillio o'r mewnbwn mympwyol nid yn unig yn sefydlog o ran hyd, mae hefyd yn gwbl unigryw i'r mewnbwn ac mae'r swyddogaeth ei hun yn benderfynol. Hynny yw, ni waeth faint o weithiau rydych chi'n rhedeg y swyddogaeth ar yr un mewnbwn, bydd yr allbwn bob amser yr un peth.

Er enghraifft, os oes gennych y setiau data canlynol isod fel mewnbwn, mae'r allbynnau canlyniadol yn unigryw ar gyfer pob mewnbwn. Sylwch sut yn yr ail a'r drydedd enghraifft, er mai dim ond un gair yw gwahaniaeth y mewnbynnau, mae'r allbynnau canlyniadol yn hollol wahanol.

Mae hyn yn bwysig iawn gan ei fod yn caniatáu ar gyfer “olion bysedd” data.

Swyddogaeth hash cryptograffig, Delwedd o Wicipedia

Gan fod hyd yr allbwn (swm hash yn yr enghraifft) bob amser yr un fath â'r hyn a bennir gan yr algorithm stwnsio a ddefnyddir, gellir adnabod symiau enfawr o ddata trwy'r stwnsh canlyniadol yn unig.

Gyda systemau sy'n cynnwys symiau enfawr o ddata, gall manteision gallu storio ac adnabod data ag allbwn hyd sefydlog greu arbedion storio enfawr a helpu i gynyddu effeithlonrwydd.

O fewn blockchains, defnyddir algorithmau stwnsio i bennu cyflwr y blockchain.

Mae Blockchains yn rhestrau cysylltiedig sy'n cynnwys data a phwyntydd hash sy'n pwyntio at y bloc blaenorol, gan greu cadwyn o flociau cysylltiedig, a dyna pam yr enw “blockchain”.

Mae pob bloc wedi'i gysylltu â'i gilydd trwy bwyntydd hash, sef hash y data y tu mewn i'r bloc blaenorol ynghyd â chyfeiriad y bloc blaenorol. Trwy gysylltu blociau o ddata yn y fformat hwn, mae pob stwnsh canlyniadol o'r bloc blaenorol yn cynrychioli cyflwr cyfan y blockchain gan fod holl ddata stwnshio'r blociau blaenorol yn cael eu stwnsio i mewn i un stwnsh.

Cynrychiolir hyn (yn achos yr algorithm SHA-256) gan allbwn (hash) fel hyn:

b09a57d476ea01c7f91756adff1d560e579057ac99a28d3f30e259b30ecc9dc7

Yr hash uchod yw olion bysedd cyflwr cyfan y blockchain o'i flaen. Cyflwr y blockchain cyn y bloc newydd (fel data stwnsh) yw'r mewnbwn, a'r stwnsh canlyniadol yw'r allbwn.

Er ei bod hi'n bosibl defnyddio hashes cryptograffig heb goed Merkle, mae'n hynod o aneffeithlon ac nid yw'n raddadwy. Mae defnyddio hashes i storio data mewn bloc mewn fformat cyfres yn llafurus ac yn feichus.

Fel y gwelwch, mae coed Merkle yn caniatáu datrysiad dibwys o gywirdeb data yn ogystal â mapio'r data hwnnw trwy'r goeden gyfan gan ddefnyddio proflenni Merkle.


Merkle Coed a Merkle Proofs

Wedi'u henwi ar ôl Ralph Merkle, a batentodd y cysyniad ym 1979, mae coed Merkle yn y bôn yn goed strwythur data lle mae pob nod di-dail yn stwnsh o'i nodau plentyn priodol.

Y nodau dail yw'r haen isaf o nodau yn y goeden. Ar y dechrau, efallai y bydd yn swnio'n anodd ei ddeall, ond os edrychwch ar y ffigur a ddefnyddir yn gyffredin isod, bydd yn llawer haws ei ddeall.

Coed Hash

Enghraifft o goeden hash ddeuaidd, Delwedd o Wikipedia

Yn bwysig, sylwch sut mae'r nodau di-dail neu'r “canghennau” (a gynrychiolir gan Hash 0-0 a Hash 0-1) ar yr ochr chwith, yn hashes o'u priod blant L1 ac L2. Ymhellach, sylwch mai cangen Hash 0 yw hash ei phlant cydgadwynedig, canghennau Hash 0-0 a Hash 0-1.

Yr enghraifft uchod yw'r ffurf fwyaf cyffredin a syml o goeden Merkle a elwir yn Merkle Tree Deuaidd. Fel y gwelwch, mae hash uchaf sef hash y goeden gyfan, a elwir yn stwnsh gwraidd. Yn y bôn, mae coed Merkle yn strwythur data sy'n gallu cymryd nifer “n” o hashes a'i gynrychioli ag un hash.

Mae strwythur y goeden yn caniatáu ar gyfer mapio symiau mympwyol mawr o ddata yn effeithlon ac yn galluogi nodi'n hawdd lle mae newidiadau yn y data hwnnw'n digwydd. Mae'r cysyniad hwn yn galluogi proflenni Merkle, a chyda hynny, gall rhywun wirio bod y stwnio data yn gyson yr holl ffordd i fyny'r goeden ac yn y safle cywir heb orfod edrych ar y set gyfan o hashes.

Yn lle hynny, gallant wirio bod talp data yn gyson â'r hash gwraidd trwy wirio is-set fach o'r hashes yn unig yn hytrach na'r set ddata gyfan.

Cyn belled â bod yr hash gwraidd yn hysbys ac yn ddibynadwy yn gyhoeddus, mae'n bosibl i unrhyw un sydd am wneud chwiliad gwerth allweddol ar gronfa ddata ddefnyddio prawf Merkle i wirio safle a chywirdeb darn o ddata o fewn cronfa ddata sydd wedi gwraidd penodol.

Pan fydd y hash gwraidd ar gael, gellir derbyn y goeden hash o unrhyw ffynhonnell nad yw'n ymddiried ynddi a gellir lawrlwytho un gangen o'r goeden ar y tro gyda gwiriad uniongyrchol o gywirdeb data, hyd yn oed os nad yw'r goeden gyfan ar gael eto.

Un o fanteision pwysicaf strwythur coeden Merkle yw'r gallu i ddilysu setiau data mawr yn fympwyol trwy fecanwaith stwnsio tebyg a ddefnyddir i wirio symiau llawer llai o ddata.

Mae'r goeden yn fanteisiol ar gyfer dosbarthu setiau mawr o ddata i rannau llai hylaw lle mae'r rhwystr ar gyfer gwirio cywirdeb wedi'i leihau'n sylweddol er gwaethaf maint cyffredinol y data mwy.

Gellir defnyddio'r hash gwraidd fel olion bysedd ar gyfer set ddata gyfan, gan gynnwys cronfa ddata gyfan neu sy'n cynrychioli cyflwr cyfan blockchain. Yn yr adrannau canlynol, byddwn yn trafod sut mae Bitcoin a systemau eraill yn gweithredu coed Merkle.


Merkle Coed yn Bitcoin

Y swyddogaeth hash cryptograffig a ddefnyddir gan Bitcoin yw'r algorithm SHA-256. Mae hyn yn golygu “Algorithm Hashing Diogel”, y mae ei allbwn yn 256 did sefydlog o hyd. Swyddogaeth sylfaenol coed Merkle yn Bitcoin yw storio, ac yn y pen draw tocio trafodion ym mhob bloc.

Fel y soniwyd yn gynharach, mae blociau mewn blockchain wedi'u cysylltu trwy hashes y bloc blaenorol. Yn Bitcoin, mae pob bloc yn cynnwys yr holl drafodion o fewn y bloc hwnnw yn ogystal â phennawd y bloc sy'n cynnwys:

  • Rhif Fersiwn Bloc
  • Hash Bloc Blaenorol
  • Stamp amser
  • Targed Anhawster Mwyngloddio
  • Nonce
  • Hash Gwraidd Merkle

Daw'r ddelwedd isod o'r papur gwyn Bitcoin ac mae'n dangos sut mae'r goeden Merkle yn ffitio i bob bloc.

Coeden Merkle

Mae'r trafodion yn cael eu cynnwys yn flociau gan glowyr ac yn cael eu hashed fel rhan o goeden Merkle, gan arwain at y gwreiddyn Merkle sy'n cael ei storio ym mhennyn y bloc. Mae gan y dyluniad hwn nifer o fanteision amlwg.

Yn fwyaf nodedig, fel yr amlinellir yn y papur gwyn, mae hyn yn caniatáu ar gyfer bodolaeth nodau Gwirio Taliad Syml (SPV), a elwir hefyd yn “cleientiaid ysgafn”. Nid oes rhaid i'r nodau hyn lawrlwytho'r blockchain Bitcoin cyfan, dim ond penawdau bloc y gadwyn hiraf.

Gall nodau SPV gyflawni hyn trwy gwestiynu eu nodau cyfoedion nes eu bod yn argyhoeddedig bod y penawdau bloc storio y maent yn gweithredu arnynt yn rhan o'r gadwyn hiraf. Yna mae nod SPV yn gallu pennu statws trafodiad trwy ddefnyddio'r prawf Merkle i fapio'r trafodiad i goeden Merkle benodol gyda stwnsh gwraidd y goeden Merkle honno mewn pennawd bloc sy'n rhan o'r gadwyn hiraf.

Yn ogystal, mae gweithrediad Bitcoin o goed Merkle yn caniatáu ar gyfer tocio'r blockchain er mwyn arbed lle. Mae hyn o ganlyniad i'r stwnsh gwraidd yn unig sy'n cael ei storio ym mhennyn y bloc, felly, gellir tocio hen flociau trwy dynnu canghennau diangen o'r goeden Merkle tra'n cadw'r rhai sydd eu hangen ar gyfer prawf Merkle yn unig.


Gweithredu Merkle Trees mewn Blockchains a Systemau Eraill

Er mai Bitcoin oedd y blockchain cyntaf i weithredu coed Merkle, mae llawer o blockchains eraill yn gweithredu strwythurau coed Merkle tebyg neu hyd yn oed fersiynau mwy cymhleth.

Ymhellach, mae gweithredu coed Merkle nid yn unig yn gyfyngedig i gadwyni bloc ac fe'i cymhwysir i amrywiaeth o systemau eraill.

Mae Ethereum, sef y cryptocurrency mwyaf adnabyddus arall, hefyd yn enghraifft wych o weithrediad coed Merkle gwahanol. Oherwydd bod Ethereum yn gyflawn fel llwyfan ar gyfer adeiladu cymwysiadau llawer mwy cymhleth, mae'n defnyddio fersiwn fwy cymhleth o'r goeden Merkle o'r enw Merkle Patricia Tree sydd mewn gwirionedd yn 3 coeden Merkle ar wahân a ddefnyddir ar gyfer tri math o wrthrychau. Gallwch ddysgu mwy am y coed yma.

Yn olaf, mae coed Merkle yn elfen bwysig o systemau rheoli fersiynau gwasgaredig fel Git ac IPFS. Mae eu gallu i sicrhau a gwirio cywirdeb data a rennir rhwng cyfrifiaduron mewn fformat P2P yn hawdd yn eu gwneud yn amhrisiadwy i'r systemau hyn.


Casgliad

Mae coed mellt yn rhan annatod o gadwyni bloc ac i bob pwrpas maent yn caniatáu iddynt weithredu gydag anwadalrwydd profadwy a chywirdeb trafodion.

Mae deall y rôl y maent yn ei chwarae mewn rhwydweithiau gwasgaredig a'u technoleg sylfaenol o swyddogaethau hash cryptograffig yn hanfodol i ddeall y cysyniadau sylfaenol o fewn cryptocurrencies wrth iddynt barhau i ddatblygu'n systemau mwy a mwy cymhleth.

Ffynhonnell: https://blockonomi.com/merkle-tree/