Добавление сгенерированного вручную закрытого ключа на узел биткойн

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

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

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

У меня есть 2 вопроса:

  1. Я на правильном пути?
  2. Как я могу добавить сгенерированные вручную закрытые ключи на узел, чтобы узел уведомлял меня, когда на этих ключах получена новая транзакция?

Спасибо.


person Gagandeep Singh    schedule 12.12.2020    source источник
comment
Для вопроса 2: вы можете импортировать закрытый ключ с помощью importprivkey метода rpc bitcoincore. org/en/doc/0.18.0/rpc/wallet/importprivkey. Даже вы можете импортировать адрес только для просмотра с помощью importaddress для безопасного хранения закрытых ключей bitcoincore.org/en/doc/0.18.0/rpc/wallet/importaddress   -  person Lessmore    schedule 13.12.2020
comment
@Lessmore Да, это может сработать, меня смущает опция повторного сканирования. Я думаю, нам это не понадобится, если адрес сгенерирован заново, верно?   -  person Gagandeep Singh    schedule 14.12.2020
comment
Да, новый адрес с нулевыми транзакциями не нужно повторно сканировать   -  person Lessmore    schedule 14.12.2020
comment
Кошелек bitcoind уже генерирует для вас ключи из одной исходной вещи. Таким образом, вы можете просто сделать несколько резервных копий кошелька (см. RPC-метод backupwallet). Однако на самом деле биткойны не должны храниться на веб-сайте, и если вы занимаетесь выводом средств, вам действительно нужна гораздо более безопасная настройка в целом, иначе вас будут ограблены. Если вы только принимаете платежи/депозиты и не снимаете средства, по-прежнему не рекомендуется разрешать вашему веб-сайту доступ к закрытым ключам. ...   -  person Luke-Jr    schedule 25.02.2021
comment
Вместо этого поддерживайте кошелек в автономном режиме и используйте метод RPC importaddress для сохранения копии вашего кошелька только для просмотра на веб-сервере. Убедитесь, что перед отправкой продуктов вы проверяете платежи с помощью полного узла, независимого от веб-сервера. Обратите внимание, что независимо от того, где вы храните свой кошелек, вы должны сначала сделать как минимум несколько резервных копий, и не забудьте также сделать резервную копию любых метаданных, которые вам нужны для правильной доставки ваших продуктов / услуг и минимизации ваших налоговых обязательств.   -  person Luke-Jr    schedule 25.02.2021


Ответы (1)


Кошелек bitcoind уже генерирует для вас ключи из одной исходной вещи. Таким образом, вы можете просто сделать несколько резервных копий кошелька (см. RPC-метод backupwallet).

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

Если вы только принимаете платежи/депозиты и не снимаете средства, по-прежнему не рекомендуется разрешать вашему веб-сайту доступ к закрытым ключам. Вместо этого поддерживайте кошелек в автономном режиме и используйте метод RPC importaddress для сохранения копии вашего кошелька только для просмотра на веб-сервере. Убедитесь, что перед отправкой продуктов вы проверяете платежи с помощью полного узла, независимого от веб-сервера.

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

person Luke-Jr    schedule 25.02.2021