Резервное копирование биткойн-кошелька только с использованием расширенного приватного мастер-ключа

Если я правильно понимаю, bitcoindиспользуется для extended private masterkeyдетерминированной генерации закрытых/открытых ключей для кошелька.

Используя dumpwalletкоманду, я могу получить доступ к этому extended private masterkey.

Мои вопросы:

1) Если я сделаю резервную копию только этого extended private masterkey, смогу ли я полностью воссоздать кошелек в случае сбоя моего приложения? Или мне действительно нужно сделать резервную копию самого файла кошелька ? (Допустим, я не импортирую адреса, которые не были сгенерированы им bitcoindсамим.)

2) Я слышал, что смена passphraseкошелька изменит extended private masterkey... Это правда?

3) Если № 2 верно, могу ли я просто сделать резервную копию всех сгенерированных extended private masterkeys(каждый раз, когда я меняю passphrase), чтобы иметь возможность полностью воссоздать кошелек, используя эти несколько extended private masterkeys? Какую команду нужно запустить для воссоздания кошелька из более чем одного extended private masterkeys?

Ответы (1)

1) Если я сделаю резервную копию только этого extended private masterkey, смогу ли я полностью воссоздать кошелек в случае сбоя моего приложения? Или мне действительно нужно сделать резервную копию самого файла кошелька ? (Допустим, я не импортирую адреса, которые не были сгенерированы им bitcoindсамим.)

Нет. Bitcoin Core не позволяет вам создать кошелек с помощью мастер-приватного ключа. Невозможно импортировать его во вновь созданный кошелек или создать новый кошелек с мастер-расширенным закрытым ключом.

2) Я слышал, что смена passphraseкошелька изменит extended private masterkey... Это правда?

Только установка пароля изменит его. Последующие изменения пароля не изменят ни один из закрытых ключей в вашем кошельке.


Здесь важно отметить, что Bitcoin Core не использует расширенный закрытый ключ. Вместо этого он использует начальное значение HD (как определено в BIP 32). Когда ключи генерируются, это начальное число хэшируется для получения расширенного главного закрытого ключа, и из него получаются дочерние ключи. Этот расширенный главный закрытый ключ никогда не хранится в самом файле кошелька.

Вместо резервного копирования главного закрытого ключа вы можете сделать резервную копию начального числа HD. Это также можно найти в dumpwalletвыводе, и оно будет указано как hdseed=1. Он будет выглядеть как обычный закрытый ключ и будет представлен в формате импорта кошелька.

Получив начальное число, вы можете создать новый кошелек и настроить его на использование резервного начального числа с помощью sethdseedкоманды.

Если я правильно понимаю, я делаю резервную копию этого специального hdseed=1приватного ключа, и тогда я смогу воссоздать кошелек с нуля, даже если я passphraseпосле этого установлю и изменю? (Большое спасибо за помощь!)
Да. Семя HD — это фактически то же самое, что и расширенный главный закрытый ключ. Однако другие кошельки, вероятно, не смогут его импортировать.
@AndrewChow: Вы имеете в виду, что точные алгоритмы HD Bitcoin Core не являются стандартными (или могут считаться стандартом де-факто), и любой поставщик действительно может реализовать HD любым способом, отличным от того, что делает Bitcoin Core?
@Mercedes Нет, Bitcoin Core следует BIP 32. Просто Bitcoin Core не предоставляет ту же информацию, что обычно делают другие кошельки.