Portfele HD bez tajemnic: jedna fraza seed, tysiące adresów
Przewodniki · GriffNode Team · · 6 min read

Portfele HD bez tajemnic: jedna fraza seed, tysiące adresów

Hierarchiczno-deterministyczny portfel HD generuje tysiące unikalnych adresów z jednej frazy seed i odzyskuje każdy z nich wyłącznie z tych słów. Oto jak to działa i dlaczego ma znaczenie.

Czym jest portfel HD, w jednym zdaniu?

Hierarchiczno-deterministyczny portfel (HD) generuje z jednej losowej frazy seed praktycznie nieograniczone drzewo adresów i potrafi ponownie wyprowadzić każdy adres, w wielu monetach i na wielu kontach, z tych samych 12 lub 24 słów. Ta jedna kopia zapasowa to cały sens rozwiązania, a definiują je standardy BIP32, BIP39 i BIP44.

Czym naprawdę jest portfel krypto

Słowo „portfel" to myląca metafora. Twoja kryptowaluta nie mieszka w portfelu tak, jak gotówka w skórzanym. Krypto żyje na blockchainie: publicznej księdze, która zapisuje, kto co posiada. Tym, co portfel faktycznie przechowuje, jest klucz prywatny, który dowodzi, że dane saldo należy do ciebie, i upoważnia cię do jego przemieszczania.

Myśl o portfelu jak o breloku z kluczami, nie jak o portmonetce. Pieniądze trzyma blockchain. Portfel trzyma klucz do nich.

Problem ze starym podejściem

Przed 2012 rokiem większość portfeli Bitcoin generowała adresy pojedynczo, losowo. Każdy adres miał własny, niezależny klucz prywatny. Przy pięciu używanych adresach portfel zarządzał pięcioma osobnymi kluczami. Przy stu adresach, stoma kluczami.

Tworzyło to bolesny problem z kopiami zapasowymi. Po każdym wygenerowaniu nowego adresu trzeba było ponownie zrobić kopię pliku portfela, bo nowy klucz nie był powiązany z żadnym ze starych. Zapomnisz o kopii po wygenerowaniu nowego adresu, przyjmiesz na niego płatność, a potem padnie ci dysk? Środki przepadały.

Portfele hierarchiczno-deterministyczne (HD) rozwiązały ten problem raz na zawsze.

Fraza seed: jedna kopia zapasowa, by wszystkimi rządzić

Portfel HD zaczyna od jednej losowej liczby, i to dużej: od 128 do 256 bitów entropii. Liczba ta jest kodowana jako sekwencja słów ze stałego słownika 2048 wyrazów (zdefiniowanego w BIP39), tworząc to, co powszechnie nazywa się frazą seed, frazą odzyskiwania lub mnemonikiem.

Typowa 12-wyrazowa fraza seed wygląda tak:

witch collapse practice feed shame open despair creek road again ice least

Ta sekwencja słów jest deterministyczna: przy tych samych słowach w tej samej kolejności portfel zawsze wyprowadzi dokładnie ten sam zestaw kluczy i adresów. Nie ma znaczenia, jakiego urządzenia używasz, jakiego oprogramowania ani kiedy to robisz. Matematyka to matematyka.

Zapisz swoją frazę seed. Przechowuj ją offline. Nigdy jej nie fotografuj. Nigdy nie wpisuj jej na żadnej stronie internetowej. To jedyna kopia zapasowa, jakiej kiedykolwiek będziesz potrzebować, a jej utrata oznacza utratę wszystkiego.

Ponieważ ta jedna fraza kontroluje wszystko, sposób jej przechowywania stanowi cały model bezpieczeństwa. Zanim swoją zapiszesz, przeczytaj nasz przewodnik po 7 błędach bezpieczeństwa portfeli krypto, które prowadzą do utraty środków.

Od frazy seed do klucza głównego

Portfel przepuszcza frazę seed przez jednokierunkową funkcję haszującą (PBKDF2 z HMAC-SHA512), uzyskując 512-bitowy seed główny. Z tego seeda wyprowadza główny klucz prywatny oraz główny kod łańcucha. Razem stanowią one korzeń całej hierarchii kluczy.

Kod łańcucha to element, który czyni hierarchię możliwą: jest domieszywany do każdego kroku derywacji klucza potomnego, dzięki czemu każdy poziom drzewa daje unikalne, niepowtarzające się wyniki.

Struktura drzewa: jak jeden seed staje się tysiącami adresów

Z klucza głównego portfel wyprowadza klucze potomne. Z każdego klucza potomnego może wyprowadzić klucze kolejnego pokolenia. Powstaje w ten sposób struktura drzewa i dlatego portfel nazywa się hierarchicznym.

Ścieżkę przez drzewo zapisuje się jako:

m / purpose / coin / account / change / index

Na przykład pierwszy adres odbiorczy Bitcoin według najpopularniejszego standardu (BIP44) znajduje się pod:

m/44'/0'/0'/0/0

Drugi jest pod m/44'/0'/0'/0/1, trzeci pod m/44'/0'/0'/0/2 i tak dalej. Każda ścieżka odpowiada dokładnie jednemu adresowi, a każdy adres można w dowolnej chwili ponownie wyprowadzić z pierwotnej frazy seed. Ponieważ indeks może sięgać miliardów, „tysiące adresów" to spore niedopowiedzenie: jedna fraza seed może wygenerować praktycznie nieograniczoną liczbę adresów.

To właśnie znaczy deterministyczny. Przy tym samym seedzie drzewo jest zawsze identyczne.

Wiele monet, wiele kont, jedna kopia zapasowa

Hierarchię zaprojektowano tak, aby obsługiwała wiele kryptowalut z jednego seeda. Bitcoin mieszka pod typem monety 0, Ethereum pod typem 60 i tak dalej (definiuje to SLIP44). Każda moneta ma własne poddrzewo, całkowicie odizolowane od pozostałych.

Możesz też mieć wiele kont w ramach jednej monety, co przydaje się do oddzielenia środków prywatnych od firmowych albo do izolowania różnych projektów. Wszystkie da się odzyskać z tych samych 12 lub 24 słów.

Dla sprzedawców oznacza to:

Portfel jednokluczowy vs HD w skrócie

Stary portfel jednokluczowyPortfel HD (BIP32/39/44)
Kopia zapasowaPonawiana po każdym nowym kluczuJedna fraza seed, na zawsze
AdresyKażdy generowany niezależnieNieograniczone, wyprowadzane z jednego seeda
Wiele monetOsobny portfel na każdą monetęWszystkie monety z jednej frazy
Ponowne używanie adresówSprzyja mu uciążliwość obsługiŚwieży adres na każdą płatność bez trudu
Udostępnianie tylko do odczytuNie da się zrobić czystoUdostępniasz xPub, klucze zostają prywatne

Związek z xPub

Na poziomie każdego konta w drzewie portfel może wyeksportować rozszerzony klucz publiczny (xPub): klucz publiczny plus kod łańcucha, który pozwala każdemu wyprowadzić wszystkie potomne adresy odbiorcze tego konta bez dostępu do klucza prywatnego.

To mechanizm, z którego korzystają niepowiernicze procesory płatności. Przekazujesz procesorowi xPub konkretnego konta. On generuje świeże adresy dla każdego zamówienia. Twoje środki lądują bezpośrednio w twoim portfelu. Procesor nigdy nie miał możliwości ich ruszenia. Pełne omówienie znajdziesz w artykule o tym, czym jest klucz xPub i jak generuje nieograniczoną liczbę adresów.

xPub obejmuje tylko jedną gałąź drzewa. Wszystko powyżej poziomu konta, łącznie z kluczem głównym i frazą seed, pozostaje całkowicie prywatne.

Czym właściwie są te standardy

Portfele HD opierają się na stosie propozycji ulepszeń Bitcoina:

Każdy portfel implementujący te standardy wyprowadzi z tej samej frazy seed te same adresy. Dlatego możesz odtworzyć kopię z Ledgera w Trezor Suite albo frazę seed z MetaMask w dowolnym innym portfelu zgodnym z BIP39.

Jedna zasada

Wszystko w portfelu HD prowadzi z powrotem do frazy seed. Model bezpieczeństwa jest prosty: kto ma frazę seed, ten jest właścicielem środków. Bez resetu hasła. Bez wsparcia klienta. Bez opcji odzyskiwania. To praktyczne serce samodzielnej pieczy.

Zapisz ją na papierze lub stali. Przechowuj w fizycznie bezpiecznym miejscu. Nie trzymaj jej na zdjęciu, w aplikacji do notatek, na dysku w chmurze ani w mailu. To wszystko. To cały model bezpieczeństwa: zarazem jego największa siła i jedyna rzecz, której nie da się odzyskać, jeśli coś pójdzie nie tak.

Chcesz zaprząc portfel HD do pracy? Bramka niepowiernicza wyprowadza świeży adres dla każdego zamówienia prosto z twojego xPub: na Shopify lub WooCommerce. Załóż darmowe konto, aby zacząć.

Najczęściej zadawane pytania

Ile adresów może wygenerować jedna fraza seed?

Praktycznie nieograniczoną liczbę. Każdy indeks derywacji daje nowy adres, a przestrzeń indeksów sięga miliardów na konto, w wielu kontach i monetach, wszystko z jednej frazy seed.

Czym różni się fraza seed od klucza prywatnego?

Fraza seed to główna kopia zapasowa, z której wyprowadzany jest każdy klucz prywatny w twoim portfelu. Klucz prywatny kontroluje pojedynczy adres. Tracąc frazę seed, tracisz dostęp do wszystkich naraz.

Czy mogę odtworzyć portfel HD w innym oprogramowaniu portfela?

Tak, o ile oba stosują te same standardy BIP. Fraza seed BIP39 odtworzy te same adresy w każdym zgodnym portfelu i dlatego kopię z Ledgera można przenieść do Trezor Suite albo innej aplikacji.

Czy portfel HD jest bezpieczny do przyjmowania płatności?

Tak. Możesz przekazać procesorowi niepowierniczemu wyłącznie swój xPub, co pozwala mu generować adresy odbiorcze bez dotykania twoich kluczy prywatnych i bez możliwości wydawania twoich środków. Tak działa niepowiernicza bramka płatności.

Czym różnią się frazy seed 12-wyrazowe od 24-wyrazowych?

Obie są w praktyce bezpieczne. Fraza 12-wyrazowa koduje 128 bitów entropii, a 24 słowa kodują 256 bitów. Dodatkowe słowa zwiększają margines bezpieczeństwa, ale nie są konieczne do codziennego użytku.

Co się stanie, jeśli utracę frazę seed?

Jeśli nie masz żadnej innej kopii ani wciąż załadowanego portfela, środki są nie do odzyskania. W samodzielnej pieczy nie ma resetu ani infolinii i dlatego frazę zabezpiecza się offline w więcej niż jednym miejscu.

Free checklist

Is your processor about to freeze you?

Get the 7 warning signs — plus the plain-English way to get paid in crypto that can't be frozen. No spam, unsubscribe anytime.

Ready to accept crypto payments?

Set up in minutes. No KYC required. Non-custodial — funds go directly to your wallet.

Get started free →