4 maja 2021 23:29

Merkle Root (kryptowaluta)

Co to jest korzeń Merkle?

Korzeń Merkle to skrót wszystkich skrótów wszystkich transakcji, które są częścią bloku w  sieci blockchain.

Kluczowe wnioski

  • Korzeń Merkle to prosty matematyczny sposób weryfikacji danych w drzewie Merkle.
  • Korzenie Merkle są używane w kryptowalutach, aby upewnić się, że bloki danych przesyłane między peer-to-peer są całe, nieuszkodzone i niezmienione.
  • Korzenie Merkle są kluczowe dla obliczeń wymaganych do utrzymania kryptowalut, takich jak bitcoin i eter.

Zrozumienie korzenia Merkle

Blockchain składa się z różnych bloków, które są ze sobą połączone (stąd nazwa blockchain). Drzewo skrótów lub drzewo Merkle koduje dane łańcucha bloków w wydajny i bezpieczny sposób. Umożliwia szybką weryfikację danych blockchain, a także szybkie przenoszenie dużych ilości danych z jednego węzła komputerowego do drugiego w sieci blockchain peer-to-peer.

Każda transakcja zachodząca w sieci blockchain ma powiązany z nią hash. Jednak te skróty nie są przechowywane w kolejności w bloku, a raczej w postaci struktury podobnej do drzewa, tak że każdy skrót jest powiązany ze swoim rodzicem zgodnie z relacją podobną do drzewa nadrzędnego-podrzędnego.

Ponieważ istnieje wiele transakcji przechowywanych w określonym bloku, wszystkie skróty transakcji w bloku są również haszowane, co skutkuje korzeniem Merkle.

Na przykład rozważmy blok siedmiu transakcji. Na najniższym poziomie (zwanym poziomem liścia) będą cztery skróty transakcji. Na poziomie pierwszym powyżej poziomu liścia będą dwa skróty transakcji, z których każdy będzie łączył się z dwoma skrótami znajdującymi się pod nimi na poziomie liścia. Na górze (poziom drugi) będzie ostatni hash transakcji zwany rootem, który połączy się z dwoma skrótami poniżej (na poziomie pierwszym).

W efekcie otrzymujesz odwrócone drzewo binarne, w którym każdy węzeł drzewa łączy się tylko z dwoma węzłami poniżej (stąd nazwa „drzewo binarne”). Ma jeden skrót główny na górze, który łączy się z dwoma skrótami na poziomie pierwszym, z których każdy ponownie łączy się z dwoma skrótami na poziomie trzecim (poziom liścia), a struktura jest kontynuowana w zależności od liczby skrótów transakcji.

Haszowanie rozpoczyna się w węzłach najniższego poziomu (na poziomie liścia), a wszystkie cztery skróty są zawarte w skrócie węzłów, które są z nim połączone na poziomie pierwszym. Podobnie, haszowanie jest kontynuowane na poziomie pierwszym, co prowadzi do haszowania skrótów sięgających wyższych poziomów, aż do osiągnięcia pojedynczego górnego skrótu głównego.

Ten skrót źródłowy nazywany jest korzeniem Merkle i ze względu na drzewiaste powiązanie skrótów zawiera wszystkie informacje o każdym skrócie transakcji, który istnieje w bloku. Oferuje jednopunktową wartość skrótu, która umożliwia walidację wszystkiego, co znajduje się w tym bloku.

Na przykład, jeśli ktoś musi zweryfikować transakcję, która twierdzi, że pochodzi z bloku # 137, wystarczy sprawdzić drzewo Merkle bloku, nie martwiąc się o weryfikację czegokolwiek w innych blokach w łańcuchu bloków, takich jak blok # 136 lub blok # 138.

Wpisz root Merkle, co dodatkowo przyspiesza weryfikację. Ponieważ zawiera wszystkie informacje o całym drzewie, wystarczy zweryfikować ten skrót transakcji, jej węzeł siostrzany (jeśli istnieje), a następnie przejść w górę, aż osiągnie szczyt.

Zasadniczo drzewo Merkle i mechanizm korzeni Merkle znacznie zmniejszają poziomy haszowania do wykonania, umożliwiając szybszą weryfikację i transakcje.