Создание адресов без закрытого ключа: скрытые адреса против главного открытого ключа

В моем случае у владельца магазина разные POS-терминалы. Ни на одном из терминалов не должен храниться закрытый ключ! У владельца есть один кошелек, в котором он хочет агрегировать все транзакции, совершаемые на POS-терминалах.

Согласно моим исследованиям, я придумал 2 возможности:

  • Скрытые адреса (BIP 63), которые, насколько мне известно, нигде в библиотеке не реализованы, поэтому я мог легко их использовать.
  • Главный открытый ключ: например, кошелек Electrum дает вам MPK, с помощью которого можно получить адреса (через HD Derivation).

Теперь к моим вопросам:

  • Есть ли другой подход, с помощью которого можно было бы генерировать адреса без закрытого ключа?
  • Существуют ли какие-либо проблемы, с которыми можно столкнуться при использовании подхода вывода MPK?
  • Какие кошельки раскрывают MPK и, кроме того, какие кошельки получают уведомления о транзакциях, совершенных по адресам, полученным вне их ведома (однако из начального числа, которое они знают)?
Конечно, всегда есть наивный подход, когда вы генерируете один единственный адрес (или по одному на каждый терминал) и используете этот адрес для всех входящих транзакций. Я предполагаю, что для повышения анонимности (как для владельца вашего магазина, так и для покупателей) вы хотите избежать этого?
@NateEldredge Или улучшенная возможность аудита.
@NateEldredge абсолютно, следует избегать повторного использования одного и того же адреса!
@NickODell Аудит в моем случае не проблема, так как заказы хранятся в POS-системе, только платежи должны проходить через биткойн.
Просто проверяю, если вы все еще ищете, вы можете попробовать medium.com/@blockonomics_co/… . Может генерировать адрес/счет, используя ur MPK

Ответы (1)

То, что Electrum описывает как «мастер-открытые ключи», более широко известно как «расширенные открытые ключи» и является отличным способом для терминала в точке продажи принимать платежи, не имея возможности потратить этот платеж.

Есть ли другой подход, с помощью которого можно было бы генерировать адреса без закрытого ключа?

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

Существуют ли какие-либо проблемы, с которыми можно столкнуться при использовании подхода вывода MPK?

Вы упомянули, что у вас есть несколько терминалов, а это значит, что вам нужно избегать использования одного и того же индекса с одним и тем же MPK, иначе вы сгенерируете один и тот же адрес. Вы можете избежать этого, используя разные индексы или разные MPK.

Какие кошельки раскрывают MPK и, кроме того, какие кошельки получают уведомления о транзакциях, совершенных по адресам, полученным вне их ведома (однако из начального числа, которое они знают)?

Электрум делает это. Это называется «лимит разрыва». Он будет проверять транзакции за пределами последнего адреса с балансом, о котором он знает. По умолчанию он проверяет только 5 дополнительных адресов, но вы можете увеличить это число. Наличие регулируемого предела зазора довольно распространено.