Как можно попытаться проверить, кому принадлежит данный биткойн-адрес?

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

Предполагая, что никому в Интернете нельзя доверять только на основании их слов, как следует проверить, что человеку принадлежит данный адрес? (методы, которые могут работать автономно, без участия администратора, предпочтительнее)

Ответы (2)

Клиент v0.5 (все еще экспериментальный на момент написания статьи) поддерживает функцию, с помощью которой вы можете подписать текстовое сообщение закрытым ключом.

Таким образом, вы могли бы: а) иметь кнопку «зарегистрироваться» рядом с адресом. б) предоставить пользователю сообщение для подписи, которое включает некоторую идентифицирующую информацию (имя учетной записи, адрес электронной почты и т. д.) и адрес. c) пользователь запустит bitcoind signmessage "" d) это подпишет сообщение закрытым ключом пользователя.

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

Элигиус использует этот метод для привязки платежных адресов NMC к платежным адресам BTC для своего пула.

http://eligius.st/

Очевидно, что это будет иметь большую ценность после публичного выпуска Bitcoind v0.05.

Это классная функция. Есть ли и «обратное» (шифрование сообщения чужим открытым ключом)? Открытый ключ не может быть получен из биткойн-адреса, но он включается в цепочку блоков после того, как этот адрес используется, поэтому такую ​​функцию можно использовать для отправки конфиденциальных сообщений кому-то, кто уже отправлял вам (или кому-либо) биткойны.
@Thilo Я не знаю, включена ли эта функция в настоящее время, но если нет, то нет причин, по которым она не может быть включена в будущую версию. Подписание сообщения — это просто шифрование хэша сообщения с помощью закрытого ключа (чтобы его можно было расшифровать с помощью открытого ключа и проверить). Если это можно сделать, шифрование всего сообщения с помощью открытого ключа (чтобы его можно было расшифровать с помощью закрытого ключа), безусловно, возможно.
Для RSA верно то, что подпись приравнивается к «шифрованию закрытым ключом»; однако это не относится к алгоритмам на основе DSA, таким как ECDSA. За исключением шифрования кошелька, добавленного в версии 0.4.0, биткойн нигде не использует шифрование.

Есть и другие предложения о том, как это можно сделать без функции «подписать сообщение», появившейся в версии 0.5. - http://forum.bitcoin.org/index.php?topic=4411.0

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