Fingerprint BIP32 — первые 4 байта HASH160 сжатого открытого ключа: SHA-256, затем RIPEMD-160. Это 32 бита, обычно записанные как 8 шестнадцатеричных символов. Chain code в отпечаток не включается.
Расчёт использует сериализованный открытый ключ, а не слова seed или закрытый ключ как прямой вход. Короткий отпечаток — вспомогательный идентификатор; это не адрес получения, он не позволяет подписать транзакцию и не содержит данных для восстановления кошелька. [BIP32 — Key identifiers and serialization]
Запись xpub или xprv содержит отпечаток родительского ключа. Для главного ключа поле равно 00000000, поскольку родителя нет; это не собственный отпечаток главного ключа. Приложение может показывать именно собственный главный отпечаток, поэтому при сравнении проверяйте смысл поля и уровень выведения. [BIP32 — Key identifiers and serialization]
У главного ключа публичного тестового вектора BIP32 номер 1 собственный отпечаток равен 3442193e. При этом родительское поле его главного xpub остаётся 00000000. Это публичный тестовый пример, а не безопасная основа кошелька для собственных средств. [BIP32 — Key identifiers and serialization]
По BIP174, PSBT связывает главный отпечаток с путём выведения соответствующего открытого ключа. Output Descriptor также может указывать отпечаток и путь происхождения. Для распознавания сдачи одного совпадения отпечатка недостаточно: подписывающее устройство должно вывести и сравнить настоящий ключ и соответствующие условия скрипта. [BIP174 — Key origins and change detection] [BIP380 — Output Script Descriptors]
Для 32 битов существует всего 4294967296 возможных значений, поэтому разные ключи могут иметь один отпечаток. BIP32 требует учитывать коллизии в программном обеспечении. Совпадение не проверяет полный набор счетов, пути выведения, типы скриптов или доступность закрытых ключей. [BIP32 — Key identifiers and serialization] [BIP380 — Output Script Descriptors]
Сравнивайте одинаковый тип отпечатка на одинаковом уровне выведения. Различие может указывать на другой seed или passphrase, но сначала исключите путаницу между главным и родительским полями. Дополните совпадение проверкой известных адресов, правильных путей и скриптов; сам отпечаток не заменяет безопасную копию и проверенный порядок восстановления. [BIP32 — Key identifiers and serialization] [BIP380 — Output Script Descriptors]
Для полной картины прочитайте эту статью вместе с HD Wallet, PSBT, BIP39 passphrase, Output Descriptor.