Merkle Tree деген эмне? Бул Blockchain компонентине башталгыч үчүн колдонмо

Merkle Trees блокчейндердин негизги компоненти болуп саналат, алар алардын иштешине негиз берет. Алар чоң маалымат структураларын эффективдүү жана коопсуз текшерүүгө мүмкүндүк берет, ал эми блокчейндерде потенциалдуу чексиз маалымат топтомдору.

Блокчейндерде Merkle дарактарынын ишке ашырылышы бир нече эффекттерге ээ. Бул аларга маалыматтардын бүтүндүгүн жана маалыматтардын бүтүндүгүн текшерүүнүн анча маанилүү эмес ыкмасын сактоо үчүн хэшке негизделген архитектураны камсыз кылуу менен бирге масштабга мүмкүнчүлүк берет.

Криптографиялык хэш-функциялар Merkle дарактарынын иштешине мүмкүндүк берген негизги технология болуп саналат, андыктан адегенде криптографиялык хэш функциялары эмне экенин түшүнүү керек.

Тез чечим: Merkle дарактары - бул криптографиялык хэштерден турган маалымат структуралары, алар чоң маалымат топтомдорунун бүтүндүгүн натыйжалуу текшерүүгө жана картага түшүрүүгө мүмкүндүк берет, аларды блокчейндер жана бөлүштүрүлгөн версияны башкаруу сыяктуу системалардын ажырагыс бөлүгү болуп саналат.


Ыкчам маалымат

Негизги учурларбаяндоо
Криптографиялык хэш функцияларыКаалаган өлчөмдөгү киргизүүнү алып, белгиленген узундуктагы хэш маанисин чыгарган хэш функциялары. Merkle дарактарында колдонулат.
Merkle дарак структурасыАр бир жалбыраксыз түйүн анын бала түйүндөрүнүн хэши болгон дарак маалымат структурасы. Чоң маалымат топтомдорун натыйжалуу картага түшүрүүгө жана текшерүүгө мүмкүндүк берет.
Root hashБүткүл дарактын хэштерин билдирген Merkle дарагынын башындагы хэш. Толук маалымат топтому үчүн манжа изи катары иштейт.
Меркле далилдериТолук маалымат топтомун талап кылбастан, дарактагы маалыматтардын бүтүндүгүн жана абалын текшерүүгө уруксат бериңиз, бир гана тамыр хэш.
Биткойндо ишке ашырууMerkle дарактары транзакцияларды блоктордо сактайт. Блоктун аталышында сакталган тамыр хэштери SPV түйүндөрүнө транзакцияларды текшерүүгө мүмкүндүк берет.
Башка blockchain ишке ашырууEthereum сыяктуу көптөгөн блокчейндерде колдонулат, алар татаал Merkle Patricia Trees колдонот.
Бөлүштүрүлгөн системаларGit жана IPFS сыяктуу версияларды башкаруу тутумдарына теңтуштар арасында бөлүшүлгөн маалыматтарды оңой текшерүүгө уруксат бериңиз.

Криптографиялык хэш функциялары

Жөнөкөй сөз менен айтканда, хэш-функция – бул ыктыярдуу өлчөмдөгү маалыматтарды (киргизүү) белгиленген өлчөмдөгү чыгарууга салыштыруу үчүн колдонулган ар кандай функция. Маалыматтарды киргизүүгө хэширлөө алгоритми колдонулат жана натыйжада белгиленген узундуктагы чыгарылыш хэш деп аталат.

Көптөгөн хэширлөө алгоритмдери жалпыга жеткиликтүү жана сиздин муктаждыктарыңызга жараша тандалышы мүмкүн.

Ылдыйкы киргизүүдөн алынган хэш узундугу боюнча гана белгиленбестен, ал киргизүү үчүн толугу менен уникалдуу жана функциянын өзү детерминистикалык. Башкача айтканда, бир эле киргизүүдө функцияны канча жолу иштетсеңиз да, натыйжа дайыма бирдей болот.

Мисалы, сизде төмөнкү маалымат топтомдору киргизүү катары болсо, натыйжада ар бир киргизүү үчүн уникалдуу болуп саналат. Экинчи жана үчүнчү мисалдардагы киргизүүлөрдүн айырмасы бир гана сөз болсо да, натыйжада жыйынтыктар такыр башкача экенине көңүл буруңуз.

Бул маалыматтардын "манжа изин" алууга мүмкүндүк бергендиктен абдан маанилүү.

Криптографиялык хэш-функция, Википедиядан алынган сүрөт

Чыгуу (мисалдагы хэш суммасы) узундугу колдонулган хэширлөө алгоритми менен аныкталгандай дайыма бирдей болгондуктан, чоң көлөмдөгү маалыматтарды алардын пайда болгон хэш аркылуу гана аныктоого болот.

Массалык көлөмдөгү маалыматтарды камтыган системалар менен, белгиленген узундуктагы маалыматтарды сактоо жана аныктоонун артыкчылыктары чоң сактагычты үнөмдөөгө жана натыйжалуулукту жогорулатууга жардам берет.

Блокчейндердин ичинде хэшинг алгоритмдери блокчейндин абалын аныктоо үчүн колдонулат.

Блокчейндер - бул байланышкан тизмелер, аларда маалыматтарды жана мурунку блокту көрсөткөн хэш көрсөткүчү бар, туташкан блоктордун чынжырын түзүшөт, демек "блокчейн" деп аталат.

Ар бир блок бири-бири менен хэш көрсөткүчү аркылуу туташтырылган, бул мурунку блоктун дареги менен бирге мурунку блоктун ичиндеги маалыматтардын хэши. Берилиштердин блокторун бул форматта байланыштыруу менен, мурунку блоктун ар бир пайда болгон хэши блокчейндин бүт абалын билдирет, анткени мурунку блоктордун бардык хэштелген маалыматтары бир хэште.

Бул (SHA-256 алгоритминде) төмөнкүдөй чыгаруу (хэш) менен көрсөтүлөт:

b09a57d476ea01c7f91756adff1d560e579057ac99a28d3f30e259b30ecc9dc7

Жогорудагы хэш анын алдындагы блокчейндин бүт абалынын манжа изи. Жаңы блокко чейинки блокчейндин абалы (хештелген маалыматтар катары) киргизүү, ал эми натыйжадагы хэш чыгаруу болуп саналат.

Merkle дарактары жок криптографиялык хэштерди колдонуу мүмкүн болсо да, бул өтө натыйжасыз жана масштабдуу эмес. Маалыматтарды блокто сериялык форматта сактоо үчүн хэштерди колдонуу көп убакытты талап кылат жана түйшүктүү.

Көрүнүп тургандай, Merkle дарактары маалыматтардын бүтүндүгүн майда-чүйдөсүнө чейин чечүүгө, ошондой эле Merkle далилдерин колдонуу менен бул маалыматтарды бүт дарак аркылуу картага түшүрүүгө мүмкүндүк берет.


Merkle Trees жана Merkle Proofs

1979-жылы концепцияны патенттеген Ральф Мерклдин аты менен аталган Меркле дарактары негизинен маалымат структурасы дарактары болуп саналат, мында ар бир жалбыраксыз түйүн өзүнүн тиешелүү бала түйүндөрүнүн хэштери болуп саналат.

Жалбырак түйүндөрү дарактагы түйүндөрдүн эң төмөнкү даражасы. Башында түшүнүү кыйындай сезилиши мүмкүн, бирок төмөндөгү кеңири колдонулган фигураны карасаңыз, аны түшүнүү бир топ жеңилдейт.

Hash Tree

Бинардык хэш дарагынын мисалы, Википедиядан алынган сүрөт

Маанилүү нерсе, сол тараптагы жалбырак эмес түйүндөр же "бутактар" (Хаш 0-0 жана Хаш 0-1 менен көрсөтүлгөн) алардын L1 жана L2 тиешелүү балдарынын хэштери экенин байкаңыз. Андан ары, Хэш 0 бутагы анын бириктирилген балдарынын хэшине, Хэш 0-0 жана Хэш 0-1 бутактарына көңүл буруңуз.

Жогорудагы мисал экилик Merkle дарагы деп аталган Merkle дарагынын эң кеңири таралган жана жөнөкөй түрү. Көрүнүп тургандай, тамыр хэш деп аталган бүт дарактын хэши болгон жогорку хэш бар. Негизинен, Merkle дарактары "n" сандагы хэштерди ала турган маалымат структурасы жана аны бир хэш менен көрсөтө алат.

Дарактын структурасы ээнбаш чоң көлөмдөгү маалыматтарды эффективдүү картага түшүрүүгө мүмкүндүк берет жана ал маалыматтарда өзгөрүүлөр болгон жерди оңой аныктоого мүмкүндүк берет. Бул концепция Merkle далилдөөсүнө мүмкүнчүлүк берет, анын жардамы менен кимдир бирөө хэштердин бүтүндөй топтомун карап отурбастан, маалыматтардын хэширлөө дарактын боюнда жана туура абалда экендигин текшере алат.

Анын ордуна, алар бүт маалымат топтомун эмес, хэштердин кичинекей бөлүгүн гана текшерүү менен маалымат бөлүгү тамыр хэшине шайкеш келерин текшере алышат.

Түпкү хэш жалпыга белгилүү жана ишеничтүү болсо, маалымат базасында ачкыч-маанилик издөөнү каалагандар Merkle далилин колдонсо болот. өзгөчө тамыр.

Түпкү хэш жеткиликтүү болгондо, хэш дарагы ишенимдүү эмес ар кандай булактан алынышы мүмкүн жана дарактын бир бутагы бүт дарак жок болсо дагы, маалыматтардын бүтүндүгүн дароо текшерүү менен бир убакта жүктөлүп алынышы мүмкүн.

Merkle дарак структурасынын маанилүү артыкчылыктарынын бири маалыматтардын бир топ аз өлчөмдөгү текшерүү үчүн колдонулган окшош хэшинг механизми аркылуу ээнбаш чоң маалымат топтомун аныктыгын текшерүү жөндөмдүүлүгү болуп саналат.

Дарак маалыматтардын чоң топтомун башкарылуучу майда бөлүктөргө бөлүштүрүү үчүн пайдалуу, мында жалпы чоңураак маалымат көлөмүнө карабастан, бүтүндүктү текшерүү үчүн тоскоолдук олуттуу кыскарат.

Тамыр хэшти бүт маалымат топтому үчүн манжа изи катары колдонсо болот, анын ичинде бүтүндөй маалымат базасы же блокчейндин бүт абалын чагылдырат. Кийинки бөлүмдөрдө биз Bitcoin жана башка системалар Merkle дарактарды кантип ишке ашырарын талкуулайбыз.


Биткойндогу Merkle дарактары

Биткойн колдонгон криптографиялык хэш-функциясы SHA-256 алгоритми. Бул "Коопсуз хэширлөө алгоритми" дегенди билдирет, анын чыгышы туруктуу 256 бит узундугу. Биткойндогу Merkle дарактарынын негизги милдети ар бир блокто бүтүмдөрдү сактоо жана акырында кыркып салуу болуп саналат.

Жогоруда айтылгандай, блокчейндеги блоктор мурунку блоктун хэштери аркылуу туташтырылган. Биткойндо ар бир блок ошол блоктун ичиндеги бардык транзакцияларды, ошондой эле блоктун башын камтыйт, ал төмөнкүлөрдөн турат:

  • Блок версиясынын номери
  • Мурунку блок хэш
  • Убакыт
  • Тоо-кен казып алуу кыйынчылыгы Максаты
  • Жок
  • Merkle Root Hash

Төмөндөгү сүрөт Биткойн ак кагазынан алынган жана Merkle дарагы ар бир блокко кантип туура келерин көрсөтөт.

Merkle Tree

Транзакциялар шахтерлор тарабынан блокторго киргизилет жана Merkle дарагынын бир бөлүгү катары хэштелген, блоктун аталышында сакталган Merkle тамырына алып келет. Бул дизайн бир катар артыкчылыктарга ээ.

Баарынан маанилүүсү, ак кагазда көрсөтүлгөндөй, бул "жеңил кардарлар" деп да белгилүү болгон Simple Payment Verification (SPV) түйүндөрүнүн болушуна мүмкүндүк берет. Бул түйүндөр бүтүндөй Bitcoin блокчейнди жүктөп алуунун кереги жок, эң узун чынжырдын блок баштары гана.

SPV түйүндөрү буга алар иштеп жаткан сакталган блоктун аталыштары эң узун чынжырдын бир бөлүгү экенине ынанмайынча, теңтуш түйүндөрүнө суроо берүү аркылуу жетише алышат. SPV түйүнү транзакциянын статусун Merkle далилин колдонуу менен транзакцияны белгилүү бир Merkle дарагына салыштырып, эң узун чынжырдын бир бөлүгү болгон блоктун аталышындагы тиешелүү Merkle дарагынын тамыр хеши менен аныктай алат.

Кошумчалай кетсек, Биткойндун Merkle дарактарын ишке ашыруу мейкиндикти үнөмдөө үчүн блокчейнди кыркууга мүмкүндүк берет. Бул блоктун аталышында сакталган тамыр хэштин гана натыйжасы, ошондуктан, Merkle дарагынын керексиз бутактарын алып салуу менен эски блокторду кыркса болот, ал эми Merkle далили үчүн зарыл болгондорду гана сактап калат.


Merkle дарактарды башка блокчейндерде жана системаларда ишке ашыруу

Bitcoin Merkle дарактарды ишке ашыруу үчүн биринчи блокчейн болсо да, башка көптөгөн блокчейндер окшош Merkle дарак структураларын же андан да татаал версияларды ишке ашырат.

Андан тышкары, Merkle дарагын ишке ашыруу блокчейндер менен гана чектелбестен, ар кандай башка системаларга да колдонулат.

Ethereum, башка таанымал cryptocurrency болуу, ошондой эле башка Merkle дарагын ишке ашыруунун сонун үлгүсү болуп саналат. Ethereum бир топ татаал тиркемелерди куруу үчүн платформа катары туринг-толук болгондуктан, Merkle дарагынын Merkle Patricia Tree деп аталган татаал версиясын колдонот, ал чындыгында үч түрдүү объект үчүн колдонулган 3 өзүнчө Merkle дарагы болуп саналат. Сиз бул дарактар ​​жөнүндө көбүрөөк биле алабыз.

Акыр-аягы, Merkle дарактар ​​Git жана IPFS сыяктуу бөлүштүрүлгөн версия башкаруу системаларынын маанилүү компоненти болуп саналат. Алардын P2P форматындагы компьютерлер ортосунда бөлүшүлгөн маалыматтардын бүтүндүгүн оңой камсыз кылуу жана текшерүү жөндөмдүүлүгү аларды бул системалар үчүн баа жеткис кылат.


жыйынтыктоо

Merkle дарактары блокчейндердин ажырагыс компоненти болуп саналат жана аларга натыйжалуу өзгөрүлбөстүк жана транзакциянын бүтүндүгү менен иштешине мүмкүндүк берет.

Алардын бөлүштүрүлгөн тармактарда ойногон ролун жана алардын криптографиялык хэш-функцияларынын негизги технологиясын түшүнүү криптовалюталардагы негизги түшүнүктөрдү түшүнүү үчүн өтө маанилүү, анткени алар чоңураак жана татаалыраак системаларга айланууда.

Булак: https://blockonomi.com/merkle-tree/