Ścieżki derywacji portfeli – wyjaśnienie
Ścieżka derywacji mówi portfelowi, jakie adresy ma utworzyć z Twojej frazy seed. Dowiedz się, jak działają ścieżki takie jak m/44'/60'/0'/0/0 i jak odnaleźć brakujące saldo.
Ścieżka derywacji to krótki kod, np. m/44'/60'/0'/0/0, który mówi portfelowi dokładnie, jaki klucz prywatny i jaki adres ma wygenerować z Twojej frazy seed. Ta sama fraza seed może dać miliardy różnych adresów, a ścieżka wybiera jeden z nich. Dwa portfele z tym samym seedem, ale różnymi ścieżkami, pokażą więc różne adresy i salda.
Dlatego zdarza się, że ktoś przywraca frazę seed w nowym portfelu i widzi puste saldo, choć jego środki są całkowicie bezpieczne na blockchainie. Zrozumienie ścieżek derywacji zamienia ten przerażający moment w kwestię ustawień. Pomaga też pisać lepsze notatki do kopii zapasowej.
Jak portfele HD zamieniają jeden seed w wiele adresów
Starsze portfele generowały losowe, niepowiązane ze sobą klucze, a każdy z nich trzeba było archiwizować osobno. Portfele hierarchiczne deterministyczne rozwiązały ten problem. Zdefiniowane w BIP32, wyprowadzają każdy klucz z jednego głównego seeda w strukturze drzewa. BIP39 ustandaryzował zamianę tego seeda na listę 12 lub 24 słów, czyli frazę seed, której kopię zapasową tworzysz.
Ponieważ derywacja jest deterministyczna, ten sam seed i ta sama ścieżka zawsze dają ten sam klucz. Właśnie dlatego wystarczy jedna kopia zapasowa. Oznacza to też, że portfel przeszukujący inną gałąź drzewa po prostu nie zobaczy Twoich środków. Więcej na ten temat znajdziesz w artykule Portfele multichain.
Jak czytać ścieżkę derywacji
BIP44 zdefiniował wspólny układ. Weźmy ścieżkę pierwszego konta Ethereum, m/44'/60'/0'/0/0:
| Poziom | Wartość | Znaczenie |
|---|---|---|
| m | master | Klucz główny wyprowadzony z Twojego seeda |
| purpose | 44' | Który standard jest używany (tutaj BIP44) |
| coin type | 60' | Który blockchain: 0 dla Bitcoina, 60 dla Ethereum, według rejestru SLIP-44 |
| account | 0' | Pozwala prowadzić osobne konta w ramach jednego seeda |
| change | 0 | 0 dla adresów odbiorczych, 1 dla adresów reszty (głównie Bitcoin) |
| address index | 0 | Pojedynczy adres: 0, 1, 2 i tak dalej |
Apostrof oznacza derywację utwardzoną, czyli funkcję bezpieczeństwa, która uniemożliwia użycie ujawnionego klucza potomnego do wyliczenia powiązanych kluczy. Niektóre narzędzia zapisują go zamiast tego jako „h”.
Popularne ścieżki, które zobaczysz
Typy adresów Bitcoina
Bitcoin używa różnych numerów purpose dla różnych formatów adresów:
- m/44'/0'/0' – adresy legacy zaczynające się od 1
- m/49'/0'/0' – zagnieżdżone adresy SegWit zaczynające się od 3
- m/84'/0'/0' – natywne adresy SegWit zaczynające się od bc1q
- m/86'/0'/0' – adresy Taproot zaczynające się od bc1p
Jeśli przywracasz seed i nie widzisz bitcoinów, sprawdź, czy portfel skanuje właściwy typ adresu.
Ethereum i sieci EVM
Większość portfeli EVM używa ścieżki m/44'/60'/0'/0/x i zwiększa ostatnią liczbę dla każdego nowego konta. Niektóre programy portfelowe w przeszłości zwiększały zamiast tego inny poziom, np. m/44'/60'/x'/0/0, i dlatego konta poza pierwszym mogą wydawać się „zaginione” po zmianie portfela. Ponieważ sieci EVM mają wspólny format adresów, ta sama ścieżka daje ten sam adres w Ethereum i w innych sieciach EVM. Zobacz, dlaczego Twój portfel pokazuje różne adresy w różnych sieciach.
Solana i inne sieci
Portfele Solana zwykle używają ścieżek opartych na coin type 501, ale różne portfele stosowały z czasem różne warianty. Z tego powodu wiele portfeli pokazuje podczas importu wybór ścieżek.
Jak odnaleźć brakujące saldo po przywróceniu portfela
- 1Nie panikuj i niczego nie przenoś. Twoje środki są na blockchainie, nie w aplikacji.
- 2Sprawdź adres. Porównaj pierwszy adres przywróconego portfela ze starą transakcją lub zapisanym adresem. Jeśli się różnią, problem dotyczy ścieżki lub typu adresu.
- 3Poszukaj opcji ścieżki. Wiele portfeli ma ustawienie „zaawansowane”, „własna ścieżka” lub „import”, które wymienia popularne ścieżki.
- 4Wypróbuj ustawienia domyślne pierwotnego portfela. Dokumentacja portfela zwykle podaje, jakiej ścieżki używa.
- 5Sprawdź, czy istnieje passphrase. Jeśli używałeś opcjonalnego hasła (tzw. „25. słowa”), inne lub brakujące hasło również daje zupełnie inny portfel. Zobacz passphrase – wyjaśnienie.
- 6Szukaj głębiej w drzewie. Jeśli używałeś wielu adresów, zwiększ w portfelu limit luki (gap limit) lub dodaj konta ręcznie.
Nigdy nie wklejaj frazy seed na stronie, która oferuje „znalezienie Twojej ścieżki”. Legalne narzędzia do odzyskiwania działają offline, a wiele stron typu „path finder” to strony phishingowe.
Dlaczego portfele nie skanują po prostu wszystkich ścieżek
Możesz się zastanawiać, dlaczego portfele nie sprawdzają automatycznie wszystkich możliwych ścieżek. Drzewo jest praktycznie nieskończone, a każde sprawdzenie wymaga wyszukiwania adresów na blockchainie, co jest powolne i może ujawnić usłudze wykonującej wyszukiwanie, które adresy należą do Ciebie. Dlatego portfele skanują ograniczony zestaw domyślnych ścieżek i zatrzymują się po pewnej liczbie nieużywanych adresów z rzędu, tzw. gap limit.
Takie rozwiązanie ma sens ze względu na prywatność i wydajność, ale oznacza, że nietypowe konfiguracje wymagają podczas odzyskiwania odrobiny Twojej pomocy.
Co zapisać w notatkach do kopii zapasowej
Oprócz dobrze zabezpieczonej frazy seed warto przechowywać, oddzielnie i bezpiecznie:
- Jakiego oprogramowania portfela lub portfela sprzętowego używałeś i mniej więcej kiedy
- Ścieżkę derywacji lub typ adresu, jeśli zmieniłeś ustawienie domyślne
- Informację, czy istnieje passphrase (ale nie samo hasło obok seeda)
- Jeden publiczny adres odbiorczy, aby móc potwierdzić, że przywrócenie jest poprawne
Te informacje same w sobie nie są tajne, ale mogą zaoszczędzić godziny podczas odzyskiwania. Nasz przewodnik o tym, jak działa odzyskiwanie portfela, opisuje cały proces.
Podsumowanie
Ścieżka derywacji to mapa prowadząca od Twojej frazy seed do konkretnego adresu. Gdy przywrócony portfel niczego nie pokazuje, przyczyną prawie zawsze jest inna ścieżka, inny typ adresu lub inne hasło, a nie utracone środki. Wiedz, jakiego portfela i jakich ustawień używałeś, zachowaj publiczny adres jako punkt odniesienia i skorzystaj z zaawansowanych opcji importu w portfelu, zanim założysz najgorsze.
Najczęściej zadawane pytania
Dlaczego mój przywrócony portfel pokazuje zerowe saldo?
Najczęstszym powodem jest to, że nowy portfel używa innej ścieżki derywacji lub innego typu adresu niż oryginalny, więc z tej samej frazy seed generuje inne adresy. Sprawdź, jakiej ścieżki używał pierwotny portfel, i wybierz ją w ustawieniach zaawansowanych lub ustawieniach importu nowego portfela.
Czy ścieżka derywacji jest tajna?
Nie. Ścieżki derywacji to standardowe, publiczne konwencje i nie dają dostępu do Twoich środków. W tajemnicy musisz trzymać tylko frazę seed i ewentualne hasło (passphrase). Warto zanotować ścieżkę i użyte oprogramowanie portfela razem z kopią zapasową, ale nie obok czegokolwiek, co ujawnia seed.
Co oznacza apostrof w ścieżce derywacji?
Apostrof, czasem zapisywany jako h, oznacza poziom derywacji utwardzonej (hardened). Klucze utwardzone dają dodatkową właściwość bezpieczeństwa: ktoś, kto pozna prywatny klucz potomny i publiczny klucz rozszerzony rodzica, nie może ich użyć do wyliczenia innych kluczy na tym poziomie.
Czy muszę znać ścieżkę derywacji, żeby odzyskać portfel?
Często wystarczy ustawienie domyślne, ale nie zawsze. Jeśli korzystałeś z mniej popularnego portfela, starszej wersji lub niestandardowych ustawień, notatka z nazwą portfela i ścieżką pomoże Tobie lub Twoim spadkobiercom odzyskać środki w przyszłości. Przechowuj tę notatkę oddzielnie od kopii zapasowej frazy seed.
