Wyobraź sobie jeden klucz główny, który otwiera wszystkie drzwi w budynku: wejściowe, do biura i do sejfu. A teraz wyobraź sobie, że nie da się go zastąpić. Żaden ślusarz nie dorobi kopii, a zarządca budynku nie ma zapasowego klucza. Właśnie tym jest fraza seed w świecie kryptowalut. Jeśli ją zgubisz, stracisz wszystko, co chroni. Jeśli powierzysz ją komuś innemu, ta osoba przejmie nad tym wszystkim kontrolę.
Ten poradnik omawia cały temat w jednym miejscu: wyjaśnia, co tak naprawdę koduje 12 lub 24 słów, jak powstają z nich klucze do dziesiątek blockchainów, jak je przechowywać, co można dzięki nim odzyskać, a czego nie, oraz jakie problemy mogą ujawnić się dopiero podczas przywracania portfela. Jeśli masz przeczytać tylko jeden artykuł o bezpieczeństwie portfela, wybierz ten.
Mówiąc najprościej
Fraza seed (nazywana też mnemonikiem lub frazą odzyskiwania) to lista 12 lub 24 zwykłych angielskich słów, na przykład correct horse battery staple, które razem kodują główny sekret stojący za całym portfelem kryptowalutowym. To nie jest hasło wybrane przez Ciebie. To czytelna dla człowieka postać tak dużej liczby losowej, że odgadnięcie jej jest obliczeniowo niemożliwe.
Gdy przywracasz portfel na nowym urządzeniu, wpisujesz słowa we właściwej kolejności, a odzyskujesz wszystkie adresy i klucze prywatne, które kiedykolwiek utworzył ten portfel. Bez odzyskiwania konta, zgłoszenia do pomocy technicznej czy okresu oczekiwania. Na tym polega cała zaleta — i całe ryzyko.
Czym właściwie jest fraza seed
Proces ten jest standaryzowany przez BIP-39 (Bitcoin Improvement Proposal 39), który określa, jak oprogramowanie portfela przekształca surową losowość w listę słów.
- Portfel generuje losową liczbę zwaną entropią: 128 bitów w przypadku frazy 12-wyrazowej lub 256 bitów w przypadku frazy 24-wyrazowej. Zdefiniowano łącznie pięć długości: 128 bitów daje 12 słów, 160 — 15, 192 — 18, 224 — 21, a 256 — 24.
- Dodawana jest krótka suma kontrolna. Portfel oblicza skrót entropii za pomocą SHA-256 i pobiera kilka pierwszych bitów wyniku: 4 bity dla entropii 128-bitowej i 8 bitów dla 256-bitowej.
- Entropia wraz z sumą kontrolną jest dzielona na fragmenty po 11 bitów. Każdy fragment jest indeksem na ustalonej liście 2048 angielskich słów, więc każde słowo koduje dokładnie 11 bitów. Dlatego frazy seed zawsze składają się ze słów ze słownika, a nie z dowolnych ciągów znaków.
- Wynikiem jest 12 słów dla 128 bitów entropii albo 24 słowa dla 256 bitów.
W praktyce znaczenie mają dwa szczegóły konstrukcji. Pierwsze cztery litery każdego słowa na liście są unikalne, więc można wpisywać skróty bez ryzyka pomyłki. Suma kontrolna pozwala też wykrywać literówki: gdy portfel odrzuca frazę podczas importu, oznacza to, że suma kontrolna się nie zgadza. Zwykle wskazuje to na błędne słowo albo niewłaściwą kolejność, a nie na utratę środków.
Lista słów jest taka sama we wszystkich portfelach zgodnych z BIP-39. Dzięki temu frazę seed z Zelcore można odtworzyć w innych zgodnych portfelach i odwrotnie.
Aby dowiedzieć się, co przywraca fraza seed na nowym urządzeniu, przeczytaj poradnik o synchronizowaniu Zelcore między urządzeniami.
Fraza 12-wyrazowa zapewnia 128 bitów bezpieczeństwa, czyli tyle samo co pojedynczy klucz prywatny Bitcoin. Fraza 24-wyrazowa zapewnia 256 bitów. Przy obecnym i przewidywalnym sprzęcie złamanie obu metodą brute force jest niewykonalne, więc wybór między nimi zależy od modelu zagrożeń i tego, czy chcesz zapisywać więcej słów, a nie od tego, że jedna z opcji jest „niebezpieczna”.
Od słów do frazy głównej: PBKDF2 i hasło dodatkowe
Słowa nie są używane bezpośrednio jako klucz. Są danymi wejściowymi funkcji wydłużającej klucz.
PBKDF2 przyjmuje mnemonik jako ciąg znaków i 2048 razy oblicza dla niego HMAC-SHA512. Solą jest słowo mnemonic, po którym następuje opcjonalne hasło dodatkowe, czasem nazywane 25. słowem. Wynikiem jest 512-bitowa wartość zwana frazą główną. Ten etap wydłużania sprawia, że próby złamania metodą brute force są kosztowne, nawet jeśli atakujący zna większość frazy.
Hasło dodatkowe bywa źródłem poważnych problemów, dlatego warto dokładnie wyjaśnić, jak działa:
- Nie jest nigdzie przechowywane. Ani w portfelu sprzętowym, ani w aplikacji, ani w kopii zapasowej. Istnieje wyłącznie w Twojej pamięci lub w osobnym, zapisanym miejscu.
- Każde inne hasło dodatkowe, także puste, tworzy zupełnie inną frazę główną, a w konsekwencji zupełnie inny portfel. Dwa portfele utworzone z tych samych słów, ale z różnymi hasłami dodatkowymi, nie mają ze sobą żadnego związku kryptograficznego.
- Puste hasło dodatkowe jest prawidłowe i tworzy standardowy portfel, z którego korzysta większość użytkowników.
Model bezpieczeństwa opiera się na dwóch czynnikach: osoba, która ukradnie słowa, ale nie zna hasła dodatkowego, trafi do domyślnego portfela, który może służyć za portfel-wabik z niewielkim saldem. Wiąże się z tym poważny kompromis. Zapomnienie hasła dodatkowego jest nieodwracalne. Nie da się go zresetować ani uzyskać pomocy w jego odzyskaniu. Artykuł 25. słowo wyjaśnia, kiedy warto korzystać z tej funkcji. W skrócie: początkujący powinni najpierw opanować bezpieczne przechowywanie zwykłej frazy seed.
Od frazy głównej do każdego klucza: BIP-32 i BIP-44
512-bitowa fraza główna jest przetwarzana przez HMAC-SHA512 ze stałym ciągiem znaków jako kluczem: Bitcoin seed. Wynik dzieli się na dwie części: pierwsze 256 bitów tworzy główny klucz prywatny, a pozostałe 256 bitów — kod łańcucha, czyli porcję entropii używaną na każdym kolejnym etapie wyprowadzania kluczy. Razem stanowią korzeń hierarchicznego, deterministycznego portfela (HD) zdefiniowanego w BIP-32.
Z tego korzenia portfel wyprowadza praktycznie nieograniczone drzewo kluczy podrzędnych. Na każdym etapie kolejna operacja HMAC-SHA512 łączy klucz nadrzędny, kod łańcucha i numer indeksu. Istnieją dwa tryby:
- Wyprowadzanie wzmocnione wykorzystuje prywatny klucz nadrzędny. Kluczy podrzędnych uzyskanych w ten sposób nie da się obliczyć nawet na podstawie rozszerzonego klucza publicznego (xpub) rodzica. Dzięki temu wyciek xpub nie prowadzi do ujawnienia kluczy prywatnych.
- Zwykłe wyprowadzanie wykorzystuje publiczny klucz nadrzędny. Pozwala to portfelom tylko do odczytu i giełdom generować adresy wpłat bez dostępu do klucza prywatnego.
BIP-44 standaryzuje układ ścieżek dla różnych monet:
m / 44' / coin_type' / account' / change / address_index
Wartość coin_type zależy od blockchaina: dla Bitcoin wynosi 0, dla Ethereum 60 i tak dalej — dla setek zarejestrowanych monet. Apostrofy na pierwszych trzech poziomach oznaczają wyprowadzanie wzmocnione, które chroni klucze na poziomie konta nawet w razie wycieku xpub dla adresu. Dzięki temu jedna fraza seed może zabezpieczać cały portfel wielołańcuchowy: każdy blockchain znajduje się pod inną ścieżką wyprowadzania w obrębie tego samego korzenia. W ten sposób Zelcore wyprowadza konta dla ponad 80 łańcuchów z jednej frazy. Więcej na ten temat znajdziesz w artykule Problem z przechowywaniem aktywów w wielu blockchainach.
Ponieważ każdy etap jest deterministyczny, ta sama fraza seed zawsze prowadzi do tych samych kluczy. Znajomość samego głównego klucza prywatnego nie ujawnia wszystkich kluczy podrzędnych, ponieważ do każdego etapu wyprowadzania potrzebny jest również kod łańcucha. Fraza seed zapewnia jednak dostęp do obu tych elementów. Kto ma frazę seed, ten ma wszystko.
Dlaczego jej utrata oznacza koniec
W blockchainach nie ma opcji resetowania hasła. Żadna firma nie przechowuje kopii Twoich kluczy, a formularz pomocy technicznej nie odzyska utraconych środków. Podpisując transakcję w blockchainie, używasz klucza prywatnego wygenerowanego na podstawie frazy seed. Jeśli fraza seed zniknie, znikną też klucze, a środki na tych adresach zostaną na zawsze zablokowane.
Badacze szacują, że od 2.3 do 3.7 miliona BTC jest na stałe niedostępnych. Znaczna część tych środków została utracona, ponieważ w początkowych latach Bitcoina nie tworzono prawidłowych kopii zapasowych fraz seed i kluczy prywatnych.
PIN portfela sprzętowego Cię przed tym nie chroni. Po zbyt wielu nieudanych próbach wpisania PIN-u portfel sprzętowy kasuje swoją zawartość. Urządzenia nie ma, ale fraza seed przechowywana offline pozwala w kilka minut odtworzyć portfel na nowym urządzeniu. Bez frazy samo posiadanie fizycznego urządzenia nie wystarczy.
Dlatego podczas konfiguracji każdego poważnego portfela od razu zapisujesz frazę, a następnie weryfikujesz ją, zanim wpłacisz choć jedną monetę.
Co można odzyskać za pomocą frazy seed, a czego nie
Stwierdzenie „Mam frazę seed, więc wszystko jest w porządku” jest prawdziwe w przypadku standardowych kont, ale niektórych rzeczy ludzie błędnie oczekują od frazy seed.
Można odzyskać na podstawie samej frazy seed:
- Salda w blockchainie i historię transakcji dla każdego standardowego konta BIP-44
- Wszystkie wygenerowane adresy we wszystkich obsługiwanych łańcuchach
- Możliwość wydawania środków z każdego z tych adresów
Nie można odzyskać na podstawie frazy seed:
- PIN-ów portfela sprzętowego, własnych etykiet kont ani wpisów w książce adresowej. To metadane zapisane lokalnie na urządzeniu.
- Stanu kanałów Lightning Network. Lightning działa poza łańcuchem, więc do otwartych sald kanałów oprócz frazy seed potrzebny jest plik static channel backup (SCB).
- Konfiguracji tylko do odczytu, które korzystały z niestandardowych ścieżek derywacji.
- Danych specyficznych dla aplikacji, takich jak etykiety portfela, alerty cenowe i własne adresy RPC. W Zelcore kontakty i ustawienia trzeba utworzyć ponownie po przywróceniu; salda pozostają bez zmian.
Reset portfela sprzętowego można w pełni odwrócić, jeśli fraza seed jest nienaruszona, a zapomniany został tylko PIN. Jeśli nie masz już także frazy seed, urządzenie staje się bezużyteczne.
Jak przechowywać frazę seed
Gdy wiesz już, czym jest fraza, zasady stają się oczywiste.
Zrób:
- Zapisz frazę na papierze, w odpowiedniej kolejności, gdy tylko pojawi się podczas konfiguracji.
- Wykonaj weryfikację wymaganą przez portfel, a następnie przetestuj przywracanie na prawdziwym portfelu, zanim wpłacisz znaczące środki.
- Przechowuj co najmniej dwie kopie w bezpiecznych miejscach, które są od siebie oddalone fizycznie: w ognioodpornym sejfie, skrytce bankowej lub zaufanej lokalizacji poza domem.
- W przypadku środków przechowywanych długoterminowo wygraweruj frazę na metalowej płytce do tworzenia kopii zapasowych. Stal lub tytan wytrzymują temperaturę typowego pożaru domu i zalanie. Papier nie.
Nigdy:
- Nie rób zdjęć frazy. W większości telefonów zdjęcia automatycznie synchronizują się z usługami w chmurze.
- Nie wpisuj jej w żadnej aplikacji, rozszerzeniu ani witrynie, chyba że celowo przywracasz portfel. Nawet wtedy sprawdź źródło oprogramowania.
- Nie wysyłaj jej e-mailem ani nie zapisuj w aplikacji do notatek, dokumencie w chmurze czy internetowym menedżerze haseł.
- Nie udostępniaj jej nikomu. Żaden dostawca portfela, giełda ani pracownik pomocy technicznej nigdy o nią nie poprosi. Każdy, kto to robi, próbuje ukraść Twoje środki. Pomoc techniczna Zelcore nigdy nie poprosi o frazę seed.
Wybierz nośnik odpowiedni do zagrożeń, z którymi naprawdę się mierzysz
Pytanie nie brzmi „która kopia zapasowa jest najlepsza?”, lecz „przed czym chcę się zabezpieczyć?”. Dla większości osób realnym zagrożeniem nie są ukierunkowane ataki. To pożar domu, powódź, włamanie albo zapomnienie, gdzie znajduje się kopia zapasowa.
- Papier jest tani i czytelny, ale z czasem niszczeje i nie przetrwa ognia ani wody.
- Metal wytrzymuje oba te zagrożenia, ale kosztuje więcej i jego przygotowanie zajmuje więcej czasu. Gdy utrata środków byłaby już dotkliwa, metal jest praktycznym wyborem.
- Kopie cyfrowe (zdjęcia, przechowywanie w chmurze, notatki w menedżerze haseł) sprawiają, że wystarczy włamać się na jedno konto, by stracić wszystko. Nie zaleca się ich do przechowywania samej frazy seed.
Dzielenie frazy to pułapka
Przechowywanie połowy słów w jednym miejscu, a drugiej połowy w innym jest powszechną praktyką, która osłabia bezpieczeństwo. Znalezienie połowy frazy składającej się z 12 słów zawęża zakres poszukiwań na tyle, że można ją odgadnąć metodą brute force. Jeśli chcesz rozłożyć ryzyko między różne lokalizacje, przechowuj oddzielne, pełne kopie albo użyj Shamir's Secret Sharing (SLIP-39). Metoda ta dzieli sekret na N udziałów, z których dowolne M pozwalają go odtworzyć, nie osłabiając żadnego pojedynczego udziału. Trezor obsługuje SLIP-39, ale nie wszystkie inne portfele.
Błędy przy odzyskiwaniu, o których nikt nie ostrzega
Ujawniają się dopiero podczas przywracania portfela, gdy stawka jest najwyższa.
Zapomniane hasło dodatkowe. Słowa są wpisywane prawidłowo. Portfel generuje adresy bez salda. Nie pojawia się żaden komunikat o błędzie. Środki znajdują się w portfelu chronionym hasłem dodatkowym, do którego nie ma dostępu. To najczęstszy nieodwracalny problem wśród osób, które włączyły hasło dodatkowe i zapamiętały je zamiast zapisać.
Nieprawidłowa ścieżka derywacji. Portfel korzystający z BIP-49 (wrapped SegWit) lub BIP-84 (native SegWit), przywrócony w aplikacji domyślnie używającej BIP-44, pokaże inne adresy wygenerowane z tej samej frazy seed. Wygląda wtedy, jakby brakowało sald. Zmiana ścieżki derywacji w zaawansowanych ustawieniach nowej aplikacji rozwiązuje problem, jeśli wiesz, gdzie jej szukać.
Niezgodność portfeli. Nie każdy portfel obsługuje każdy język BIP-39 ani każdy typ monety. Przywrócenie portfela w oprogramowaniu, które nie obsługuje ścieżki oryginalnego łańcucha, nie pokaże niczego. Środki nie zniknęły — pozostają niewidoczne, dopóki nie użyjesz oprogramowania obsługującego ten łańcuch.
Kanały Lightning bez pliku SCB. Fraza seed przywraca saldo w łańcuchu. Do wspólnego zamknięcia otwartych kanałów potrzebny jest plik SCB. Bez niego kanały mogą zostać zamknięte jednostronnie, a nieaktualna kopia zapasowa może umożliwić drugiej stronie odebranie środków z transakcji karnej.
Nośnik, który można odczytać aparatem. Kod QR z frazą seed lub zdjęcie w galerii synchronizowanej z chmurą oznaczają, że wystarczy włamać się na jedno konto, by stracić wszystko. Fraza seed nigdy nie powinna istnieć w formie, którą aparat lub zrzut ekranu mogą wysłać na serwer.
Najczęstsze błędy
- Przechowywanie cyfrowe. Zrzuty ekranu, aplikacje do notatek, wersje robocze i dokumenty w chmurze są narażone na złośliwe oprogramowanie i wycieki danych. Fraza seed powinna być przechowywana offline.
- Inżynieria społeczna. Wiadomość od „pomocy technicznej” z prośbą o frazę w celu „weryfikacji” lub „przywrócenia” konta zawsze jest oszustwem. Your Attack Surface opisuje różne jego formy.
- Tylko jedna kopia. Jedna kartka w jednym miejscu oznacza, że jeden pożar, powódź lub włamanie dzieli Cię od nieodwracalnej utraty środków.
- Pominięcie testowego przywracania. Pięć minut teraz może oszczędzić utraty wszystkiego później.
- Mylenie frazy seed z kluczem prywatnym. Klucz prywatny daje kontrolę nad jednym adresem. Fraza seed generuje je wszystkie. Utrata jednego klucza to kłopot, ale utrata frazy seed oznacza utratę wszystkiego.
Co zrobić teraz
- Sprawdź dziś swoją kopię zapasową. Znajdź frazę i upewnij się, że każde słowo jest czytelne.
- Zapisz ścieżkę derywacji, jeśli Twój portfel korzysta z niestandardowej ścieżki. W przypadku zwykłego BIP-44 nie musisz jej zapisywać.
- Przechowuj hasło dodatkowe osobno i sprawdź je. Jeśli go używasz, przetestuj pełne przywrócenie z użyciem frazy seed i hasła dodatkowego.
- Przechowuj statyczną kopię zapasową kanałów, jeśli korzystasz z Lightning. Trzymaj ją w innym miejscu niż frazę seed i aktualizuj po każdym otwarciu lub zamknięciu kanału.
- Dobierz nośnik do wartości środków. Papier wystarczy przy niewielkich kwotach i niskim ryzyku; gdy wartość środków staje się znacząca, wybierz metal.
- Przygotuj plan przechowywania środków. Your Personal Custody Plan zamienia te zasady w konkretne progi, których możesz przestrzegać, a poradnik Tworzenie kopii zapasowej i odzyskiwanie portfela pokazuje dokładne kroki w Zelcore.
Najważniejsze informacje
- Fraza seed to czytelny dla człowieka zapis entropii głównej, z której generowany jest każdy klucz w portfelu. Jej standard określają BIP-39, BIP-32 i BIP-44.
- 12 słów odpowiada 128 bitom entropii, a 24 słowa — 256 bitom. Odgadnięcie frazy jest w obu przypadkach praktycznie niemożliwe.
- Utrata frazy oznacza trwałą i nieodwracalną utratę dostępu. To samo dotyczy zapomnienia hasła dodatkowego.
- Fraza przywraca salda i adresy. Nie przywraca kodów PIN, etykiet, kanałów Lightning ani niestandardowych ścieżek.
- Przechowuj co najmniej dwie kopie offline w osobnych, bezpiecznych miejscach. Przy większych zasobach wybierz metalowy nośnik. Nigdy nie dziel słów ani nie zapisuj ich w miejscu dostępnym dla kamery lub podłączonym do internetu.



