Мне интересно, как лучше всего создавать и поддерживать пулы ключей для кошелька.
Какое максимальное количество ключей/адресов можно создать для одного кошелька? Другими словами, какое максимальное значение можно безопасно указать для keypool
опции в bitcoin.conf
?
Если я сгенерирую некоторые ключи, а bitcoind keypoolrefill
затем сгенерирую несколько новых адресов, а затем позвоню keypoolrefill
снова, будут ли исходные адреса по-прежнему работать, и будет ли теперь мой закрытый ключ работать для всех адресов, которые я когда-либо создавал?
Есть ли способ определить, сколько ключей осталось в текущем пуле ключей?
В документации Биткойн говорится, что эта функция активно прекращается. Когда это произойдет и какой будет новая система?
Этот тип кошелька постепенно прекращается, и его использование не рекомендуется из-за проблем с резервным копированием.
Ответы на любой из этих вопросов очень ценятся.
Гэвин Андресен (главный научный сотрудник Биткойн) сказал по этому поводу :
Сделайте резервную копию каждые 30 sendtoaddress или generatenewaddress, и все будет в порядке — у вас всегда должно быть не менее 3 резервных копий всех ваших ключей.
Если вы используете очень загруженный сервис, поэтому резервное копирование каждые 30 – это слишком часто, тогда запустите параметр -keypool=1000 и выполняйте резервное копирование как минимум каждые 300 отправок/генераций.
Какое максимальное количество ключей/адресов можно создать для одного кошелька? Другими словами, какое максимальное значение можно безопасно указать для
keypool
опции вbitcoin.conf
?
Тип этого параметра int64_t
таков, что максимальное значение равно 2^(64-1)-1. На практике вы можете указать любое число, которое хотите, и это не должно привести к поломке программного обеспечения. Однако наличие большого количества ключей (сотни тысяч) приведет к очень большому кошельку и потенциально замедлит фазу загрузки кошелька.
Если я сгенерирую некоторые ключи, а
bitcoind keypoolrefill
затем сгенерирую несколько новых адресов, а затем позвонюkeypoolrefill
снова, будут ли исходные адреса по-прежнему работать,
Да. Все хранится в кошельке и ключи никогда не удаляются.
и будет ли теперь мой закрытый ключ работать для всех адресов, которые я когда-либо создавал?
Это не то, как работают закрытые ключи. У каждого адреса есть закрытый ключ, поэтому, если у вас есть один закрытый ключ, он соответствует одному адресу. Каждый адрес, сгенерированный в пуле ключей, будет иметь собственный закрытый ключ, который хранится в файле кошелька.
Есть ли способ определить, сколько ключей осталось в текущем пуле ключей?
bitcoin-cli getwalletinfo
сообщит вам, сколько ключей осталось в пуле ключей. Пул ключей автоматически пополняется, когда ваш кошелек разблокирован.
В документации Биткойн говорится, что эта функция активно прекращается. Когда это произойдет и какой будет новая система?
Эта система с пулом ключей все еще используется, и по-прежнему рекомендуется делать периодические резервные копии, поскольку кошелек содержит данные транзакций, которые не поддерживаются детерминированными кошельками. «Новая система» заключается в использовании иерархического детерминированного вывода BIP 32 вместо случайно сгенерированных закрытых ключей. Начальное число сначала генерируется случайным образом, а затем из него извлекаются все закрытые ключи. Это означает, что для резервного копирования всех ваших закрытых ключей необходима только одна резервная копия, но, как указано выше, по-прежнему рекомендуется периодическое резервное копирование.
Эта функция была добавлена в Bitcoin Core в версии Bitcoin Core 0.13.0. Большинство других современных кошельков используют кошельки BIP 32 HD.
Наюки