Kalkulator drzewa Merkle
Wpisz liście, wybierz skrót i zobacz korzeń Merkle oraz skróty wszystkich poziomów.
-
1Wprowadź dane
Wpisz treść, wklej tekst lub załaduj plik z dysku. -
2Kliknij przycisk
Narzędzie natychmiast przetworzy Twoje dane w przeglądarce. -
3Pobierz wynik
Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
return "Wynik gotowy w 0.1s";
}
Oceń to narzędzie:
Powiązane narzędzia
Inne narzędzia, które mogą Ci się przydaćJak używać kalkulatora drzewa Merkle
W polu tekstowym wpisz liście, każdy w osobnym wierszu. Domyślnie podstawione są wartości: alicja, bartek, celina, darek, ewa. Każdy wiersz traktowany jest jako osobny liść drzewa.
Wybierz funkcję skrótu: SHA-256 (domyślnie) albo podwójny SHA-256, oznaczony jako wariant jak w Bitcoinie. Następnie kliknij „Zbuduj drzewo”. Drzewo buduje się także automatycznie po załadowaniu, więc wynik dla domyślnych danych zobaczysz od razu.
Otrzymasz tabelę ze skrótami liści i kolejnych poziomów, pełny korzeń Merkle oraz rozwijane sekcje z pełnymi skrótami wszystkich poziomów. Dla domyślnych danych i SHA-256 korzeń Merkle to afee7c371370352e0b062591ba45d2da02fcd6675b37cf424201bbcec180c320. Narzędzie działa w przeglądarce i nie wysyła danych na serwer.
Jeśli chcesz przetestować własne dane, zastąp domyślne wiersze swoimi wartościami. Każdy wiersz to jeden liść, więc liczba wierszy wpływa na liczbę poziomów drzewa. Po zmianie danych ponownie kliknij przycisk, aby zobaczyć nowy korzeń.
Jak działają liście i funkcja skrótu SHA-256
Liść to pojedynczy tekst z Twojego zestawienia. Z każdego liścia liczony jest skrót SHA-256. Przykładowo dla domyślnego tekstu „alicja” skrót zaczyna się od 9c5a8a680e29…, a dla „bartek” od b508f84ec91e…. To pokazuje, że już na poziomie liści każda wartość ma własny, niepowtarzalny skrót.
SHA-256 należy do funkcji skrótu. Z dowolnego tekstu tworzy wynik o stałej długości, zapisany jako ciąg znaków. Ten sam tekst zawsze daje ten sam skrót, ale na podstawie samego skrótu nie da się odtworzyć tekstu. W drzewie Merkle skróty nie są tylko liczone osobno: są ze sobą łączone.
Węzeł nadrzędny powstaje przez połączenie bajtów skrótu lewego dziecka i skrótu prawego dziecka, a następnie obliczenie skrótu z tego połączenia. Proces powtarza się poziomami, aż zostanie jeden korzeń. Dzięki temu korzeń Merkle reprezentuje cały zestaw liści, a zmiana jednego liścia wpływa na wszystkie kolejne poziomy i na końcowy wynik.
W praktyce nie musisz liczyć niczego ręcznie. Wystarczy, że podasz teksty, a narzędzie obliczy skróty liści i połączy je poziomami. Dzięki temu możesz skupić się na porównaniu wyników, a nie na ręcznym łączeniu ciągów.
Czym różni się podwójny SHA-256 od zwykłego SHA-256
Zwykły SHA-256 oblicza skrót raz. Podwójny SHA-256 oblicza skrót dwukrotnie: najpierw z danych, a potem z wyniku pierwszego obliczenia. Mówiąc prościej, to SHA-256 z SHA-256 danego tekstu lub połączonych bajtów.
W kalkulatorze wybór dotyczy całego drzewa. Gdy wybierzesz SHA-256, liście i wszystkie węzły nadrzędne używają pojedynczego SHA-256. Gdy wybierzesz podwójny SHA-256, zarówno liście, jak i każdy węzeł nadrzędny są liczone podwójnie.
Podwójny SHA-256 jest kojarzony przede wszystkim z Bitcoinem, gdzie stosuje się go w wielu elementach związanych z transakcjami i adresami. W tym narzędziu możesz porównać oba warianty na tych samych liściach i zobaczyć, jak zmienia się korzeń Merkle. To przydatne, gdy chcesz sprawdzić, czy dany sposób liczenia odpowiada Twojemu przykładowi.
Wybierając opcję, patrz na oznaczenie: SHA-256 to pojedyncze obliczenie, a podwójny SHA-256 to wariant Bitcoina. Wyniki dla tych samych liści będą inne, bo już pierwszy skrót jest liczony inaczej. Porównanie obu opcji pomaga zrozumieć, dlaczego sama zmiana funkcji skrótu zmienia cały korzeń.
Powielanie ostatniego węzła przy nieparzystej liczbie liści
Na każdym poziomie węzły są łączone parami. Gdy liczba węzłów jest nieparzysta, ostatni węzeł nie ma pary. Wtedy jest powielany i łączony sam ze sobą. Skrót nadrzędny powstaje z połączenia bajtów lewego dziecka i takich samych bajtów po prawej stronie.
To pozwala dalej budować drzewo, aż zostanie jeden korzeń. W przykładzie domyślnym jest pięć liści, więc już na pierwszym poziomie pojawia się nieparzysta liczba węzłów. Ostatni z nich jest powielany, dzięki czemu można utworzyć kolejny poziom i dojść do korzenia.
Warto wiedzieć, że powielanie ostatniego węzła to jedna z możliwych konwencji. Inne implementacje drzew Merkle mogą stosować odmienne zasady. Ten kalkulator używa właśnie takiego podejścia, więc jego wynik jest spójny z opisanym sposobem budowy drzewa.
W tabeli zobaczysz, że na pierwszym poziomie liczba węzłów jest mniejsza niż liczba liści. Wynika to właśnie z łączenia par. Powielenie ostatniego węzła sprawia, że żaden węzeł nie zostaje pominięty i wszystkie liście mają wpływ na końcowy korzeń.
Ograniczenia: kolejność bajtów w Bitcoinie i brak zgodności z pełnym blokiem
Kalkulator buduje drzewo Merkle z tekstów, które wpiszesz. Nie jest pełnym analizatorem bloków Bitcoina. Nie odczytuje nagłówków bloków, nie analizuje transakcji, nie sprawdza podpisów i nie przelicza całego bloku. Otrzymujesz korzeń Merkle dla własnych liści, a nie gotową interpretację danych z sieci.
W Bitcoinie skróty są często zapisywane w odwrotnej kolejności bajtów. To narzędzie tego nie odwraca. Jeśli chcesz porównać wynik z danymi zapisanymi w formacie używanym przez Bitcoina, musisz samodzielnie uwzględnić tę różnicę. Sam korzeń może być poprawny dla podanych liści, ale jego zapis może nie być identyczny z tym, który zobaczysz w narzędziach do przeglądania bloków.
Kalkulator obsługuje tylko SHA-256 i podwójny SHA-256. Nie zamienia automatycznie transakcji na zapis binarny, nie rozpoznaje struktury bloku i nie potwierdza, że dane pochodzą z rzeczywistego łańcucha. Jeśli potrzebujesz odwzorować pełny proces Bitcoina, przygotuj dokładnie te same bajty we właściwej kolejności i porównaj wynik krok po kroku.
Pamiętaj, że narzędzie nie służy do wysyłania transakcji, nie łączy się z siecią i nie sprawdza, czy dane są zgodne z rzeczywistym blokiem. To kalkulator do nauki i testowania własnych zestawów liści. Jeśli używasz go do nauki lub porównań, zawsze zapisz, jakie liście i jaką funkcję skrótu wybrałeś, żeby później odtworzyć wynik.
Najczęstsze pytania
Co to jest kalkulator drzewa Merkle?
To narzędzie, które z listy tekstów buduje drzewo Merkle i pokazuje skróty liści, kolejnych poziomów oraz korzeń. Wpisujesz liście, wybierasz funkcję skrótu i od razu widzisz wynik.
Jak obliczyć korzeń Merkle dla kilku wartości?
Wpisz każdą wartość w osobnym wierszu, wybierz SHA-256 albo podwójny SHA-256 i kliknij „Zbuduj drzewo”. Narzędzie samo połączy skróty poziomami, aż powstanie jeden korzeń.
Czy kalkulator drzewa Merkle wysyła dane na serwer?
Nie. Narzędzie działa w przeglądarce i nie wysyła danych na serwer, więc wpisane liście zostają u Ciebie. Obliczenia wykonują się lokalnie.
Jaka jest różnica między SHA-256 a podwójnym SHA-256?
SHA-256 oblicza skrót raz, a podwójny SHA-256 oblicza go dwukrotnie. W kalkulatorze możesz wybrać oba warianty i porównać ich wpływ na korzeń Merkle.
Co się dzieje, gdy liczba liści jest nieparzysta?
Ostatni węzeł na danym poziomie jest powielany i łączony sam ze sobą. Dzięki temu drzewo można budować dalej, aż zostanie jeden korzeń.
Czy wynik z kalkulatora można porównać z korzeniem Merkle w Bitcoinie?
Możesz obliczyć korzeń dla tych samych danych, ale Bitcoin często zapisuje skróty w odwrotnej kolejności bajtów. To narzędzie tego nie odwraca, więc przy porównaniach samodzielnie uwzględnij tę różnicę.
Zobacz też — powiązane narzędzia
Narzędzie liczy lokalnie w przeglądarce, a wyniki są poglądowe — przy zastosowaniach bitcoinowych sprawdź format danych i kolejność bajtów.