Co to jest drzewo Merkle w Blockchain i jak działa?

Najważniejsze informacje:

  • Połączenia Drzewo Merkle to rodzaj binarnego drzewa mieszającego, które ma 3 typy węzłów: węzły liściaste, węzły niebędące liśćmi i węzły korzeniowe.
  • Drzewo Merkle jest przydatne do weryfikacji i utrzymania integralności transakcji w każdej zdecentralizowanej księdze.
  • Drzewo Merkle jest widoczne zarówno w Bitcoin, jak i Ethereum.

Wprowadzenie

Kryptowaluty nie są już tematem nieznanym i nie są blockchain, technologia stojąca za ich pochodzeniem. Dla każdego entuzjasty kryptografii zrozumienie struktur blockchain i sposobu ich funkcjonowania jest pierwszym krokiem do zrozumienia prawdziwej natury kryptowalut.

Chociaż zrozumienie różnych struktur łańcucha bloków jest kluczowe dla drzew Merkle. Opracowane jako koncepcja w 1980 r. przez Ralpha Merkle z Uniwersytetu Stanforda, Drzewo Merkle jest powszechnie używany w sieciach peer-to-peer (P2P) do radzenia sobie z wymaganiami dotyczącymi mocy obliczeniowej i pamięci. Nie będzie przesadą stwierdzenie, że drzewa Merkle sprawiły, że technologia blockchain odniosła ogromny sukces. Zagłębmy się więc w znaczenie drzewa Merkle i jego działanie.

https://www.youtube.com/watch?v=YIc6MNfv5iQ

Omówienie drzewa Merkle

Mówiąc najprościej, drzewo Merkle reprezentuje celową strukturę danych. Pozwala na szybką i sprawną weryfikację dużej ilości informacji na blockchainie. Jak wspomniano wcześniej, Ralph Merkle nieświadomie stworzył to jako koncepcję w artykule zatytułowanym „Certyfikowany podpis cyfrowy”. Nikt jednak nie spodziewał się, że w przyszłości stanie się głównym elementem zdecentralizowanej księgi rachunkowej.

Drzewo Merkle od samego początku ulepszało świat kryptografii. Ale stał się niezbędny dla kryptowalut po tym, jak tajemniczy twórca Bitcoin wykorzystał go w podstawowym kodzie BTC. Następnie Ethereum i inne kryptowaluty również przyjęły drzewka Merkle.

W przypadku sieci Bitcoin drzewa Merkle są wydajnym komponentem, który do weryfikacji danych wykorzystuje hasze zamiast wielkogabarytowego pliku informacyjnego. Drzewo Merkle wykorzystuje unikalną terminologię opisową do opisania relacji między węzłami i ich poziomami.

Każdy pojedynczy blok w łańcuchu blokowym zawiera pewną liczbę transakcji. Przechowywanie wszystkich tych transakcji i znajdowanie, które konkretne transakcje należą do którego bloku, może być frustrująco kosztownym zadaniem. Dodatkowo może to negatywnie wpłynąć na wydajność łańcucha bloków. Jednak dzięki drzewom Merkle wszystkie transakcje są efektywnie zorganizowane, co skutkuje wykorzystaniem mniejszej ilości danych do weryfikacji i zmniejszonym przetwarzaniem przez procesor.

Zrozumienie, jak działa drzewo Merkle w łańcuchu bloków

Oto prosty przykład wyjaśniający to pojęcie: 

Merkeltree

Wyobraź sobie blok danych taki jak pokazany powyżej, który zawiera 4 transakcje: L1, L2, L3 i L4. Aby przechowywać te transakcje, możemy zaimplementować koncepcję drzewa Merkle, obliczając hash każdej transakcji. Później obliczenia, otrzymujemy Hash L1, Hash L2, Hash L3 i Hash L4.

Te skróty każdej transakcji są przechowywane w węźle, zwykle nazywanym węzłem liścia, drzewa Merkle. Ale nasza praca trwa nadal, ponieważ musimy tworzyć węzły inne niż liście, łącząc w pary węzły liści. Po obliczeniu otrzymujemy Hash 0 i Hash 1, które są nazywane węzłami nadrzędnymi lub węzłami niebędącymi liśćmi skrótów L1, L2, L3 i L4.

Na koniec hash Hash 1 i Hash 2 jest obliczany przez połączenie ich w pary i docieramy do węzła głównego, którym jest pierwiastek Merkle. Dzięki temu przykładowi rozumiemy, że drzewa Merkle działają na zasadzie mieszania węzłów potomnych, dopóki pojedynczy skrót nie pozostanie w strukturze.

W ten sposób drzewo Merkle mówi dokładnie, czy transakcja wpłynęła na drzewo, sprawdzając tylko korzeń drzewa. Merkle root jest przechowywany w nagłówku bloku, co czyni go odpornym na manipulacje i zwiększa zaufanie i integralność w zdecentralizowanej księdze. Należy zauważyć, że drzewa Merkle używają jednokierunkowej funkcji skrótu i ​​będą kontynuowane, dopóki ten skrót nie oddzieli dowodu danych od danych.

Konieczność drzew Merkle dla blockchain

Teraz, gdy omówiliśmy, czym jest drzewo Merkle i jak działa, pozostaje nam tylko zrozumieć, dlaczego jest ono ważne dla łańcucha bloków. Liczne zalety drzewa Merkle sprawiają, że jest ono koniecznością dla technologii blockchain, a nawet platform kryptograficznych. Oto niektóre z tych korzyści:

Jeśli chodzi o przesyłanie, obliczanie i przechodzenie danych, opóźnienia nie są dozwolone. Właśnie dlatego wiele bloków wykorzystuje drzewo Merkle, aby sieć była wolna od jakichkolwiek opóźnień podczas przesyłania danych. Zmniejszając ilość pamięci wymaganej do udowodnienia integralności i ważności danych, drzewa Merkle stają się istotną częścią łańcucha bloków.

W łańcuchu blokowym Bitcoin, który jest rozproszonym P2P, mogą występować niespójności, a nawet manipulacje danymi, ponieważ te same dane istnieją na każdym komputerze podłączonym do sieci P2P. W tym przypadku drzewo Merkle ułatwia górnikom identyfikację wszelkiego rodzaju niespójności lub manipulacji transakcjami.

Bez zastosowania tej koncepcji wszystkie dane będą musiały być przesyłane w całej sieci, co spowoduje spowolnienie sieci, zmniejszoną wydajność i niepotrzebne wydatki. Takiego scenariusza można uniknąć za pomocą drzew Merkle, które umożliwiają szybką weryfikację danych przy praktycznej mocy obliczeniowej i przepustowości.

Końcowe przemyślenia

Drzewa Merkle brzmią jak skomplikowana koncepcja, ale są kluczowym elementem technologii blockchain i kryptowalut. Bez istnienia tej koncepcji nie byłoby systemu bez zaufania używanego w Bitcoin, Ethereum i górnictwie.

Najczęściej zadawane pytania:

Q1. Drzewa Merkle zostały zaprojektowane w celu osiągnięcia czego?
Drzewo Merkle zostało zaprojektowane jako proces weryfikacji danych, aby komputery działały szybciej.
Q2. Jaki jest związek między drzewem Merkle a Ethereum?
Drzewo Merkle to rodzaj struktury łańcucha bloków, która stoi nie tylko za Ethereum, ale także za Bitcoinem i procesem wydobywania kryptowalut. Jednak Ethereum używa zmodyfikowanej wersji drzewa Merkle, powszechnie znanego jako drzewo Merkle Patricia.
Q3. Jak zaimplementować drzewo Merkle
Aby zaimplementować drzewa Merkle'a, należy zacząć od drzew binarnych, w których każdy węzeł niebędący liściem jest hashem dwóch węzłów potomnych. Te liście mogą zawierać dane lub plik hasz danych.
Q4. Jakie są zalety drzewa Merkle?
Będąc lekką strukturą, która zwiększa skalowalność w ramach łańcucha blokowego, drzewo Merkle może pozbyć się zbędnych danych, a tym samym poprawić wydajność. Zarówno górnicy, jak i użytkownicy mogą korzystać z drzewa Merkle, ponieważ weryfikuje ono poszczególne części bloków, sprawdza transakcje za pomocą skrótów, a także oblicza skróty podczas otrzymywania transakcji.
 

 

Źródło: https://coingape.com/education/explained-what-is-a-merkle-tree-in-blockchain-and-how-does-it-work/