490 / 736FP

Wallet Fingerprint

Krótki odcisk głównego klucza portfela

Po odtworzeniu portfela chcesz wiedzieć, czy korzystasz z tych samych kluczy co wcześniej. Wallet Fingerprint to krótki identyfikator, który pomaga w takim sprawdzeniu. Zwykle oznacza główny klucz publiczny portfela zgodnego z BIP32. Traktuj go jako wskazówkę do porównania, a nie zastępstwo kopii zapasowej czy ostateczny dowód zgodności całego portfela.

Fingerprint BIP32 to pierwsze 4 bajty HASH160 skompresowanego klucza publicznego. HASH160 oznacza SHA-256, a następnie RIPEMD-160, dwie funkcje obliczające skróty danych. Uzyskane 32 bity zwykle wyświetla się jako 8 znaków szesnastkowych, czyli cyfr i liter. Chain code, dodatkowa informacja do wyprowadzania dalszych kluczy, nie wchodzi do tego krótkiego identyfikatora.

Wyobraź sobie zapiski dotyczące kilku portfeli, które musisz rozróżnić. Fingerprint jest krótką etykietą obliczoną z klucza publicznego zapisanego w ściśle określony sposób. Nie jest bezpośrednim haszem słów kopii ani klucza prywatnego. Sama etykieta nie jest adresem odbiorczym, nie podpisze płatności i nie pozwoli odtworzyć kluczy. Zapisanie jej nie zastępuje więc kopii, z której można naprawdę odzyskać portfel. [1]

BIP32 tworzy drzewo kluczy: z klucza głównego wyprowadza się następne, podobnie jak gałęzie wyrastają ze wspólnego pnia. Zapis rozszerzonego klucza publicznego xpub lub prywatnego xprv zawiera fingerprint klucza nadrzędnego, położonego poziom wyżej. Klucz główny nie ma takiego rodzica, dlatego w tym polu widnieje 00000000. Nie jest to jednak jego własny fingerprint. Aplikacja może pokazywać właśnie własny identyfikator klucza głównego; przed porównaniem ustal, który odczytujesz. [1]

Klucz główny z publicznego wektora testowego BIP32 numer 1 ma własny fingerprint 3442193e. Tymczasem pole rodzica w jego głównym xpub zawiera 00000000. To nie sprzeczność: jedna wartość opisuje sam klucz, a druga jego nieistniejącego rodzica. Wektor testowy to opublikowane dane wejściowe i oczekiwane wyniki służące do sprawdzania programu. Nigdy nie używaj tych powszechnie znanych danych jako podstawy portfela na własne pieniądze. [1]

PSBT to pakiet danych transakcji, który można przekazać urządzeniu do podpisania. Według BIP174 łączy główny fingerprint ze ścieżką wyprowadzania, czyli instrukcją dojścia do konkretnego klucza publicznego. Pochodzenie klucza może też zapisać Output Descriptor, tekstowy opis kluczy i zasad wydawania środków. Gdy urządzenie podpisujące sprawdza resztę z płatności, zgodny fingerprint nie wystarcza. Musi wyprowadzić i porównać rzeczywisty klucz oraz odpowiednie warunki, żeby nie uznać cudzego wyjścia za własne. [2] [3]

Krótki identyfikator oszczędza miejsce, lecz ma ograniczony zakres: 32 bity pozwalają zapisać tylko 4294967296 wartości. Różne klucze mogą więc mieć ten sam fingerprint. To kolizja, a BIP32 wyraźnie wymaga, by programy ją uwzględniały. Zgodność nie sprawdza wszystkich kont, ścieżek ani typów skryptów, czyli reguł wydawania środków. Nie dowodzi też, że dysponujesz potrzebnymi kluczami prywatnymi. [1] [3]

Najpierw upewnij się, że porównujesz ten sam rodzaj identyfikatora na tym samym poziomie drzewa. Różnica może wskazywać na inny seed, tajną podstawę kluczy, albo inną passphrase, dodatkowe hasło. Zanim to uznasz, wyklucz pomylenie pola głównego z polem rodzica. Zgodność uzupełnij sprawdzeniem znanych adresów, ścieżek i zasad wydawania środków. Fingerprint to użyteczna kontrola częściowa, ale nie zastąpi dobrze przechowywanej kopii i sprawdzonej procedury odzyskiwania. [1] [3]

Pełniejszy obraz uzyskasz, czytając to hasło razem z HD Wallet, PSBT, BIP39 passphrase, Output Descriptor. Do tego hasła prowadzą również odsyłacze z SeedQR.

DOC · 001BIP32 — Key identifiers and serializationSpecyfikacja DOC · 002BIP174 — Key origins and change detectionSpecyfikacja DOC · 003BIP380 — Output Script DescriptorsSpecyfikacja
Zaktualizowano: Najpierw źródła · To nie jest porada inwestycyjna