Перейти к содержимому
buybitcoinsmart

Глоссарий / Адреса и ключи

Родительский ключ

Другие названия: Родительский публичный ключ, Родительский приватный ключ, Parent key.

Что такое родительский ключ?
Родительский ключ расположен на один уровень непосредственно выше другого ключа в дереве HD-кошелька, и каждый расширенный ключ несет четыре байта с отпечатком собственного родительского ключа.

Определено в BIP-32.

Родительская связь в BIP-32 является отношением, а не рангом. Мастер-ключ является единственным ключом без родителя, и он фиксирует это с помощью отпечатка родителя из четырех нулевых байтов и глубины 0. Все остальные ключи называют своего родителя в начальных байтах собственной сериализации, и именно так программное обеспечение определяет, куда относится случайно найденный ключ.

Как это работает

Родительский ключ идентифицируется по отпечатку, а не по самому ключу. Возьмите сжатый публичный ключ родителя, вычислите его хеш с помощью SHA-256, затем RIPEMD-160 и сохраните первые четыре байта результата. Эти четыре байта занимают фиксированную позицию в расширенном ключе дочернего ключа длиной 78 байт, сразу после байта глубины и перед индексом дочернего ключа.

Четыре байта дают 4 294 967 296 возможных значений, поэтому отпечаток представляет собой метку, а не доказательство. BIP-32 прямо указывает, что отпечатки могут совпадать и что реализации не должны полагаться на них для безопасности. Они существуют для того, чтобы кошелек мог быстро распределять ключи по нужному дереву, а любая настоящая проверка включает в себя вывод ключа и сравнение результата.

Родитель также предоставляет оба компонента, необходимые для вывода: свой цепной код и свой ключевой материал. Именно поэтому расширенные ключи передаются в паре. Если передать кому-либо публичный ключ родителя без цепного кода, то ни один дочерний ключ из него вычислить будет нельзя.

Где это встречается

Отпечаток мастер-ключа является идентификатором, который встречается чаще всего, потому что его указывают и дескрипторы, и устройства подписи.

Дескриптор выходного скрипта записывает его в скобках перед расширенным ключом, как в wpkh([1a2b3c4d/84h/0h/0h]xpub.../0/*). Часть в скобках указывает, из какого кошелька происходит ключ и по какому пути, поэтому подписывающее устройство, читая дескриптор, может понять, просят ли его подписать ключом, который у него действительно есть. Частично подписанные транзакции биткоина по BIP-174 несут такое же соответствие для каждого входа и выхода, и именно это позволяет аппаратному кошельку офлайн определить, что выход является его собственной сдачей, а не адресом постороннего.

Мультиподпись является той областью, где это перестает быть мелочью. Схема два из трех в Sparrow показывает отпечаток мастер-ключа для каждого соподписанта, и для последующего восстановления этого кошелька нужны все три расширенных публичных ключа, а также сид-фразы. Запись отпечатка каждого устройства на его карточке резервной копии является самым дешевым способом различить три в остальном одинаковые карточки с сид-фразами спустя годы, и те, кто этого не сделал, проводили выходные за выводом ключей, чтобы выяснить, какая карточка принадлежит какому устройству.

Последнее практическое замечание. Восстановленный кошелек, показывающий незнакомый отпечаток, обычно означает не поврежденную резервную копию, а неправильно введенную кодовую фразу (passphrase). Кодовая фраза BIP-39 создает другой мастер-ключ и, следовательно, другой отпечаток, поэтому сравнение этого короткого значения является быстрым и безопасным способом убедиться, что кодовая фраза введена правильно, прежде чем проверять баланс.

Не путать с

Часто задаваемые вопросы

Что такое отпечаток мастер-ключа и почему его показывает мой кошелек?

Это первые четыре байта хеша вашего мастер-публичного ключа, которые служат меткой, указывающей, из какого кошелька происходит ключ. Схемы с мультиподписью и аппаратные устройства подписи указывают его, чтобы каждое устройство могло распознать свои собственные ключи в дескрипторе или частично подписанной транзакции.

Мой отпечаток изменился после восстановления из сид-фразы. Резервная копия повреждена?

Обычно нет. Кодовая фраза (passphrase) BIP-39 создает другой мастер-ключ и, следовательно, другой отпечаток, поэтому неправильно введенная или пропущенная кодовая фраза является частой причиной. Проверьте кодовую фразу, прежде чем предполагать, что слова неверны.

Связанные термины

Еще в разделе «Адреса и ключи»

Читать эту страницу на английском