BIP-39 (ang. Bitcoin Improvement Proposal 39) to standard, który opisuje, jak zapisać losowy materiał kluczy portfela w postaci 12, 15, 18, 21 lub 24 słów z ustalonej listy 2048 wyrazów, i jak z tych słów odtworzyć tzw. seed – liczbę, z której portfel wylicza wszystkie klucze i adresy. Frazę BIP-39 nazywa się potocznie frazą odzyskiwania albo seed phrase. Standard powstał w 2013 r. i dziś używa go większość portfeli sprzętowych i programowych, także dla Ethereum i innych sieci.
Ważne rozróżnienie: fraza nie jest kluczem prywatnym. To zapis entropii, z którego dopiero w kolejnych krokach powstaje seed, a z niego – drzewo kluczy według BIP-32 i ścieżek z BIP-44 i pokrewnych.
Jak powstaje fraza
- Portfel losuje entropię: od 128 do 256 bitów, co 32 bity.
- Liczy skrót SHA-256 entropii i dokleja jego pierwsze bity jako sumę kontrolną – 1 bit na każde 32 bity entropii.
- Całość dzieli na kawałki po 11 bitów. Każdy kawałek to liczba od 0 do 2047, czyli numer słowa na liście.
| Entropia | Suma kontrolna | Razem bitów | Liczba słów |
|---|---|---|---|
| 128 bitów | 4 bity | 132 | 12 |
| 160 bitów | 5 bitów | 165 | 15 |
| 192 bity | 6 bitów | 198 | 18 |
| 224 bity | 7 bitów | 231 | 21 |
| 256 bitów | 8 bitów | 264 | 24 |
Suma kontrolna sprawia, że nie każda kombinacja słów jest poprawna. Portfel od razu wykryje większość literówek i pomyłek w kolejności.
Od frazy do kluczy
Fraza nie trafia do SHA-256, jak czasem się pisze. Seed powstaje przez funkcję PBKDF2-HMAC-SHA512 z 2048 iteracjami. Hasłem jest fraza, a solą napis „mnemonic” połączony z opcjonalnym passphrase. Wynik to 512-bitowy seed. Z niego portfel wylicza klucz główny według BIP-32, a potem klucze konkretnych kont i adresów według ścieżek derywacji, np. BIP-44, BIP-84 czy BIP-86. Dzięki temu jedna fraza obsługuje wiele kryptowalut i tysiące adresów. Proces działa w jedną stronę – z seeda nie da się odtworzyć frazy.
Passphrase – 25. słowo
Passphrase to dodatkowe hasło doklejane do soli PBKDF2. Każde inne passphrase daje zupełnie inny seed i inny portfel, a portfel nie zgłosi błędu przy złym haśle – po prostu pokaże pusty portfel. To chroni przed kradzieżą samej kartki ze słowami, ale utrata passphrase oznacza utratę środków tak samo jak utrata frazy.
Listy słów
Oficjalne listy istnieją w kilku językach, m.in. angielskim, hiszpańskim, francuskim, włoskim, czeskim, portugalskim, japońskim, koreańskim i chińskim. Polskiej listy nie ma. Sam standard odradza listy inne niż angielska, bo wiele portfeli ich nie obsługuje. Na liście angielskiej pierwsze cztery litery jednoznacznie wskazują słowo, co ułatwia zapis na metalowych płytkach.
Przykład: ile kombinacji i co daje suma kontrolna
Fraza z 12 słów to 204812 = 2132 możliwych ciągów, ale tylko 2128 z nich ma poprawną sumę kontrolną – co szesnasty. Załóżmy, że zgubiłeś ostatnie słowo frazy z 12 słów. Ostatnie słowo niesie 7 bitów entropii i 4 bity sumy, więc spośród 2048 kandydatów poprawnych będzie tylko 128. Każdy z nich daje inny, poprawny portfel – trzeba sprawdzić adresy, żeby znaleźć właściwy. Brak jednego słowa da się więc odtworzyć, ale przy trzech brakujących słowach liczba kombinacji rośnie do ponad 8,5 mld (20483), a poprawnych jest nadal kilkaset milionów. Z kolei zgadnięcie całej frazy z 12 słów przy 2128 możliwościach jest poza zasięgiem jakiejkolwiek mocy obliczeniowej.
Najczęstsze błędy
- Zdjęcie frazy telefonem, zapis w notatkach lub chmurze.
- Wymyślanie własnych słów „dla bezpieczeństwa” – portfel wygeneruje frazę sam, ludzka losowość jest słaba.
- Wpisywanie frazy na stronie internetowej lub w formularzu „weryfikacji portfela” – to zawsze oszustwo.
- Zapisanie passphrase w tym samym miejscu co frazę.
- Jedna kopia w jednym miejscu, narażona na pożar, zalanie lub zgubienie.
- Zakładanie, że każdy portfel odtworzy konto – inna ścieżka derywacji może pokazać pusty portfel, choć środki są na miejscu.
Perspektywa tradera
Trader trzymający środki poza giełdą powinien oddzielić portfel do bieżących wpłat i wypłat od portfela na kapitał długoterminowy, każdy z własną frazą. Portfel sprzętowy z frazą na metalowej płytce i passphrase zapisanym osobno to rozsądny standard przy większych kwotach. Przed przelaniem dużej sumy zrób test odtworzenia: wyczyść urządzenie, odtwórz portfel z frazy i sprawdź, czy adresy się zgadzają.
Najczęstsze pytania
Czy fraza BIP-39 to klucz prywatny?
Nie. To zapis entropii, z którego przez PBKDF2 powstaje seed, a z seeda – klucze prywatne według BIP-32.
12 czy 24 słowa?
12 słów daje 128 bitów bezpieczeństwa i to wystarcza. 24 słowa dają zapas, ale dłuższa fraza to więcej miejsca na błąd przy zapisie.
Czy mogę odtworzyć frazę w innym portfelu?
Zwykle tak, jeśli oba portfele obsługują BIP-39. Czasem trzeba ręcznie wybrać ścieżkę derywacji, żeby zobaczyć te same adresy.
Co się stanie, jeśli wpiszę złe passphrase?
Portfel otworzy inny, pusty portfel. Nie ma komunikatu o błędzie, bo każde passphrase jest poprawne.
Czym różni się BIP-39 od SLIP-39?
SLIP-39 dzieli sekret na kilka udziałów, z których do odtworzenia wystarcza część, np. 2 z 3. Nie jest zgodny z BIP-39 i obsługuje go mniej portfeli.
Tekst ma charakter edukacyjny i nie stanowi rekomendacji inwestycyjnej.


