Ścieżka derywacji (ang. derivation path) to „adres” konkretnego klucza w drzewie kluczy portfela deterministycznego (HD). Z jednego seeda portfel może wyprowadzić praktycznie nieograniczoną liczbę kluczy, a ścieżka mówi, który z nich wybrać. Mechanizm opisuje standard BIP32, a kolejne BIP-y ustalają konwencje ścieżek dla różnych typów adresów. Ten sam seed z inną ścieżką daje zupełnie inne adresy.
Budowa ścieżki
Typowa ścieżka natywnego SegWit to m/84’/0’/0’/0/0. Kolejne poziomy oznaczają:
| Poziom | Wartość w przykładzie | Znaczenie |
|---|---|---|
| m | – | klucz główny wyprowadzony z seeda |
| purpose | 84′ | standard i typ adresów |
| coin type | 0′ | sieć: 0 to Bitcoin, 1 to testnet, 60 to Ethereum |
| account | 0′ | numer konta w portfelu |
| change | 0 | 0 – adresy do odbioru, 1 – adresy reszty |
| address index | 0 | kolejny adres: 0, 1, 2… |
Apostrof oznacza derywację utwardzoną (ang. hardened). Klucze utwardzone nie dają się wyprowadzić z publicznego klucza rodzica, co chroni pozostałe konta, gdyby jeden klucz prywatny wyciekł.
Standardy ścieżek w Bitcoinie
| Standard | Ścieżka konta | Typ adresu | Prefiks |
|---|---|---|---|
| BIP44 | m/44’/0’/0′ | legacy P2PKH | 1… |
| BIP49 | m/49’/0’/0′ | SegWit zagnieżdżony w P2SH | 3… |
| BIP84 | m/84’/0’/0′ | natywny SegWit P2WPKH | bc1q… |
| BIP86 | m/86’/0’/0′ | Taproot P2TR | bc1p… |
Ścieżki w multisig i innych sieciach
Portfele multisig używają osobnych konwencji ścieżek, np. opisanych w BIP48, a każdy uczestnik wyprowadza swój klucz z własnego seeda. Inne sieci mają własny coin type i często inne zwyczaje: w Ethereum większość portfeli tworzy kolejne konta, zmieniając ostatni indeks ścieżki, ale niektóre zmieniają indeks konta. Dlatego ten sam seed może pokazać różne adresy ETH w różnych aplikacjach, choć każda działa poprawnie.
Dlaczego portfel „nie widzi” środków
To najczęstszy scenariusz po odtworzeniu portfela z seeda w innej aplikacji. Seed jest poprawny, a saldo wynosi zero. Przyczyny:
- Inna ścieżka lub typ adresu – środki leżą na adresach bc1q (BIP84), a nowy portfel domyślnie skanuje bc1p (BIP86) albo 1… (BIP44).
- Passphrase – seed z dodatkowym hasłem i bez niego to dwa zupełnie różne portfele.
- Inne konto – środki są na koncie 1′, a portfel skanuje tylko 0′.
- Limit luki (gap limit) – portfel przestaje szukać po zwykle 20 kolejnych pustych adresach. Jeśli wcześniej wygenerowałeś wiele nieużywanych adresów, dalsze środki pozostaną niewidoczne.
- Niestandardowa ścieżka – niektóre starsze lub nietypowe portfele używały własnych ścieżek.
Rozwiązanie: w portfelu docelowym wybierz właściwy typ adresu, ręcznie wskaż ścieżkę lub zwiększ gap limit. Porównaj pierwszy adres odbiorczy ze starym portfelem – jeśli się zgadza, ścieżka jest właściwa.
Przykład
Załóżmy, że przez lata odbierałeś BTC na adresy bc1q w portfelu sprzętowym, a teraz odtwarzasz seed w aplikacji, która domyślnie tworzy konto Taproot. Aplikacja wyprowadza klucze z m/86’/0’/0′, pokazuje adresy bc1p i saldo 0. Po dodaniu konta natywnego SegWit (m/84’/0’/0′) pojawiają się Twoje UTXO. Nic nie zginęło – szukałeś w innej gałęzi drzewa.
Najczęstsze błędy
- Brak zapisu, jakiego typu adresów i jakiej ścieżki używał portfel.
- Wpisywanie seeda na stronach internetowych, które „znajdują środki” – to prosta droga do kradzieży. Seed wpisuj wyłącznie w zaufanym portfelu, najlepiej sprzętowym, nigdy online.
- Zapominanie o passphrase lub brak jego kopii zapasowej.
- Wnioskowanie, że środki przepadły, zanim sprawdzisz inne ścieżki.
Perspektywa tradera
Kapitał, którego nie możesz odtworzyć, jest dla Ciebie stracony, niezależnie od tego, jak dobrze handlujesz. Oprócz seeda zapisz w kopii zapasowej nazwę portfela, typ adresów, ścieżki kont i informację, czy używasz passphrase (samo hasło przechowuj osobno). Raz na jakiś czas przeprowadź próbne odtworzenie na małej kwocie. To tania procedura, która eliminuje jedno z ryzyk niezwiązanych z rynkiem, a potrafiących zniszczyć wynik lat pracy.
Najczęstsze pytania
Co oznacza zapis m/84’/0’/0’/0/0?
Pierwszy adres odbiorczy pierwszego konta Bitcoin w standardzie BIP84, czyli natywnego SegWit z adresami bc1q.
Czy ten sam seed działa dla Bitcoina i Ethereum?
Tak, jeśli portfel obsługuje obie sieci. Klucze dla Ethereum powstają ze ścieżki z coin type 60, np. m/44’/60’/0’/0/0, więc adresy są zupełnie inne.
Czy muszę zapisywać ścieżkę derywacji?
Przy standardowych portfelach zwykle wystarczy seed, ale zapis typu adresów i ścieżki bardzo ułatwia odtworzenie w innej aplikacji. Przy portfelach multisig jest niezbędny.
Co to jest gap limit?
Liczba kolejnych pustych adresów, po której portfel przestaje szukać dalej. Standardowo wynosi 20.
Co oznacza litera h zamiast apostrofu w ścieżce?
To samo – derywację utwardzoną. Zapis m/84h/0h/0h jest równoważny zapisowi z apostrofami i bywa używany tam, gdzie apostrof sprawia kłopoty.
Tekst ma charakter edukacyjny i nie stanowi rekomendacji inwestycyjnej.


