Co to jest drzewo Merkle?
Merkle Tree to typ struktury często używany do szybkiej weryfikacji integralności danych, głównie w zbiorze danych. Nazywa się je również drzewem skrótów, które w większości przypadków ma implementacje binarne, przy czym każdy węzeł ma zwykle dwa „węzły podrzędne”. W świecie kryptowalut ta struktura służy do skuteczniejszego i bezpieczniejszego szyfrowania danych blockchain, ale omówimy to bardziej szczegółowo później.
Merkle Tree to sposób na szybką i bezpieczną weryfikację treści w dużych zbiorach danych. Pomaga także zweryfikować spójność i zawartość danych. Drzewo Merkle to matematyczna struktura danych złożona z skrótów różnych bloków. Te skróty podsumowują wszystkie transakcje w danym bloku, dzięki czemu często wykorzystywane są drzewa Merkle
Kryptografia
.
Merkle Tree ma trzy typy węzłów, które można w nim znaleźć. Są to następujące:
Węzeł główny: jest on przechowywany bezpośrednio w nagłówku i jest również znany jako katalog główny Merkle.
Węzeł liścia: składa się z wartości skrótu dla danych transakcji. Każda transakcja w bloku ma zaszyfrowane dane, co prowadzi do utworzenia transakcji ID, która jest następnie przechowywana w węzłach-liście.
Węzeł inny niż liść:
Na koniec, , drzewo Merkle ma również węzeł inny niż liść, który zawiera wartości skrótu „ich dzieci”. Znane jako węzły pośrednie, są to zasadniczo wartości skrótu używane do momentu, gdy proces dotrze do korzenia drzewa.
Istota drzewa Merkle polega na tym, że umożliwia przeprowadzanie transakcji Zweryfikowano bez użycia dużej ilości danych. Pomaga to w obniżeniu przetwarzania CPI przy jednoczesnym zachowaniu zwiększonego bezpieczeństwa, a oba te elementy są konieczne.
Drzewo Merkle ma
wszystkie transakcje pogrupowane w pary, tak aby każda para miała obliczony skrót, który jest przechowywany bezpośrednio w węźle nadrzędnym nad daną parą. Dotyczy to węzłów nad nimi i nad nimi, i tak dalej, aż do osiągnięcia korzenia Merkle'a.
Przykład drzewa Merkle z korzeniem Merkle, węzłem innym niż liść i węzłem liściowym, Źródło: geeksforgeeks.org
Spójrzmy na prosty przykład. Na poniższym wykresie mamy różne transakcje 4, oznaczone A, B, C, D. Każda transakcja jest najpierw haszowana, pozostawiając ją w postaci Hash A, Hash B itd. W ten sposób tworzone są cztery wartości mieszające, które są parowane z węzłem liścia, co prowadzi do utworzenia węzłów innych niż liście. W tym przypadku są to hash AB i hash CD, które są wynikami potomków hash A i hash B, dla hash AB oraz hash C i hash D, dla hash CD.
Te dwa nowe wartości mieszające, które są wartościami skrótu nadrzędnymi czterech pierwotnych transakcji, są następnie ponownie mieszane. To prowadzi ich do skrótu ABCD i korzenia drzewa Merkle. Korzeń Merkle jest następnie odpowiedzialny za podsumowanie danych przechowywanych w początkowych transakcjach. Informacje te są przechowywane w nagłówku bloku.
Korzyści z drzewa Merkle
Merkle Tree jako struktura zapewnia kilka korzyści, które są następnie wykorzystywane również w
kryptowaluta i technologia blockchain. Zanim przyjrzymy się, w jaki sposób wykorzystywane są te korzyści, przyjrzyjmy się najpierw, czym one są.
Brak opóźnień: , gdy używane są drzewa Merkle, Transfer danych poprzez Sieć można wykonać bez żadnych opóźnień. Nie jest to możliwe bez użycia drzewa Merkle, ponieważ wszystkie dane muszą zostać przesłane po całym Sieć w celu weryfikacji, co powoduje opóźnienia.
Skuteczny proces weryfikacji: Podczas procesu weryfikacji wymagana jest bardzo mała ilość pamięci ze względu na strukturę danych. Oznacza to, że ważność i integralność transakcji można Zweryfikowano sprawdzić niemal w mgnieniu oka. Dzięki temu wystarczy przesłać niewielką ilość danych w stosunku do wielkości zbioru danych.
Mało miejsca na dysku:
Z w parze z wyżej wymienioną korzyścią idzie także wielkość przestrzeni dyskowej zajmowanej przez drzewo Merkle, która jest znacząco mała w porównaniu do innych struktur danych. Prowadzi to do weryfikacji transakcji z realną przepustowością i mocą obliczeniową.
Wykrywanie sabotażu: każda transakcja jest przechowywana w drzewie Merkle. Oznacza to, że każda próba zmiany transakcji prowadzi do dotarcia do katalogu głównego Merkle i zawiera informację w nagłówku bloku. Dzięki temu łatwo jest porównać obecne dane z wersją sfałszowaną i szybko wykryć wszelkie próby oszustwa.
Drzewa Merkle i kryptowaluty
Chociaż niewiele osób nietechnicznych zwraca uwagę na drzewa Merkle w społeczności kryptowalut, cypherpunkowie lub zaawansowani technicznie zwolennicy kryptowalut znają wartość drzew Merkle w tej sferze. Drzewa Merkle są niezbędne w technologii blockchain, ponieważ umożliwiają szybką i łatwą weryfikację. W rzeczywistości tego typu weryfikacja nie byłaby możliwa w przypadku żadnej innej techniki lub konstrukcji.
Drzewo Merkle daje programistom władzę nad ogromnymi zbiorami danych, którzy mogą je skutecznie kompresować, pozbywając się wszystkich niepotrzebnych danych, aby później zamienić je w skróty. W świecie kryptowalut korzyści z tego mogą objawiać się chociażby poprzez oszczędność paliwa, efektywną skalowalność, podstawowe uwierzytelnianie płatności, weryfikację transakcji czy lekką konstrukcję.
Merkle Tree dzielący dane na drobne części informacji, Źródło: simplilearn.com
Drzewa Merkle w kryptowalutach – Bitcoin i Ethereum
Po krótkim przyjrzeniu się, czym są drzewa Merkle i jak są wykorzystywane w przestrzeni kryptowalut, przejdźmy teraz do bardziej konkretnych przykładów ich użycia.
Bitcoin
Wielu z Was prawdopodobnie się tego domyśliło, ale Bitcoin w wielu przypadkach korzysta z drzew Merkle. Najbardziej oczywistym jest użycie go w nagłówku bloku Bitcoin, ponieważ umieszczany jest w nim hash każdej transakcji, czyli Dostępne w bloku.
To jednak nie wszystko. Struktura drzewa Merkle jest również używana w
Wydobywanie lub weryfikacja
. Dla górników korzeń Merkle ma kluczowe znaczenie w poprawie wydajności wszystkich procesów. Dzięki tej strukturze i jej nieodłącznym cechom, górnik sprawdza nagłówek bloków po ich przekształceniu w drzewo Merkle. Sprawdzenie korzenia Merkle oznacza zatem znacznie bardziej efektywne podejście niż sprawdzenie całego bloku.
Struktura ta wykorzystywana jest także do weryfikacji, a dokładniej w przypadkach, gdy węzeł jest obsługiwany ze stosunkowo słabego urządzenia. Jeśli urządzenie ma ograniczone zasoby, zamiast pobierać każdy skrót i blok, użyje dowodu Merkle, który zawiera Potwierdzenie sieciowe, że transakcja występuje w bloku. Zmniejsza to następnie liczbę skrótów i umożliwia weryfikację bez konieczności zużywania tak dużych zasobów energii.
Ethereum
Druga co do wielkości kryptowaluta, Ethereum, opiera się na Merkle Patricia Tree, zmodyfikowanej wersji Merkle Tree. Oznacza to, że każdy blok w tym łańcuchu bloków składa się nie z jednego, ale z trzech drzew Merkle, przy czym każde z korzeni ma swój własny cel.
Pierwszy z nich jest źródłem każdej transakcji. Drugi pokazuje stan transakcji. A ostatni korzeń to potwierdzenie całej transakcji. Dzięki drzewom Merkle każdy może zajrzeć do katalogu głównego Merkle i sprawdzić, czy transakcja znajduje się w konkretnym bloku, czy została już zatwierdzona i wysłana oraz jakie było saldo transakcji.
Wniosek
Struktura drzewa Merkle zyskała na znaczeniu w ruchu kryptograficznym po wynalezieniu kryptowalut. W przypadku pierwszego, Bitcoina, wykorzystującego pod wieloma względami drzewa Merkle, tego typu struktura rozprzestrzeniła się również na inne kryptowaluty dzięki korzyściom, jakie zapewnia podstawowym projektom.
OrangeX.com Zespół