Протокол оплаты защищает от человека-в-середине атак, но он по-прежнему не защищает от вашего собственного сервера с часами только бумажник получать взломан. С протоколом оплаты, каждый адрес должен быть подписан серт X509 на том же сервере, распределяя адреса. Если злоумышленник получает контроль, что он также может подписывать свои собственные адреса, чтобы они выглядели нормально.
Хороший вопрос, и я не знаю, как решить, что с существующим протоколом / инфраструктурой. С вебом-кошельком проспективного несколько неподготовленного идей:
1.) требовать от пользователей ввода их BIP32 открытого ключа каждый раз, когда они хотят, чтобы сформировать адрес, но, очевидно, что не будет переходить хорошо.
2.) Шифрование открытого ключа с помощью AES256 с бумажником паролем пользователя, который не хранится в Интернете. Немного неудобно, потому что им нужно ввести их бумажник пароль каждый раз, когда они хотят, чтобы сформировать адрес, но будет работать достойно. Если хакер заменяет открытый ключ с чем-то, то это не будет дешифровать правильно, если они не знают, бумажник пароль пользователя.
3.) Есть отдельный сервер, который содержит значение контрольных сумм каждого BIP32 общественной отмычки, и рикошеты проверки от него. Довольно слабый, хотя, как если хакер на сервере, они могут легко увидеть и обводной этот.
4.) При генерации адресов, случайным образом проверить на нескольких ранее созданных адресов для обеспечения их соответствия открытого ключа используется. Кроме того, может быть, случайно вызвать несколько предыдущих сделок с blockchain и проверить сценарий выкупа на них, чтобы обеспечить открытый ключ совпадает. Едва ли дурак, но это делает его немного сложнее, как вместо того, чтобы просто изменение открытого ключа, они должны изменить все адреса и операции, связанные с учетной записью пользователя, а также.
Я не знаю, надо будет думать об этом больше.