Как «прикрепить» метаданные к адресу получения биткойнов

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

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

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

Итак, вот моя первая попытка, основанная на ( https://bitcointalk.org/index.php?topic=108423.0 )...

# generate an EC key pair for the company
issuer_public_key = issuer_private_key * G

# create a contract message string, M
M = 'Terms of contract bla bla and also includes issuer_public_key for safety'

# generate a hash of the message
e = SHA256(M)

# create an EC point that is known to both parties
contract_point =  (e * issuer_public_key)

# generate a public key for this contract to form our receive address. Customer agrees to contract when they send BTC to receive address.
receive_public_key = contract_point + issuer_public_key

# the private key for the receive address is thus
receive_private_key = contract_point + issuer_private_key

Обратная связь очень ценится

Ответы (1)

Это все хорошо, но оказывается, что суды не интересуются "математическими доказательствами" (не без оснований). Я рекомендую прочитать все книги Брюса Шнайдера.

Допустим, у вас есть кто-то, кто заплатит вам в receive_public_key. Означает ли это, что он согласился на контракт M? Нет.

Судам по-прежнему необходимо будет ознакомиться с документацией, подтверждающей, что ваш партнер действительно видел договор и согласился с ним M. Вы могли бы написать этому парню по электронной почте и сказать: «Я дам тебе 10 долларов, если ты отправишь биткойны на адрес receive_public_key, а потом заявишь, что он согласился заключить контракт M.

То же самое произошло в 90-х, когда поставщики заявляли, что криптографические цифровые подписи обладают свойством неотказуемости . Но суды не согласились. Например, кто-то может приставить пистолет к вашей голове и заставить вас «подписать» контракт (цифровой или иной). Ни один суд не сочтет это действительным контрактом, причудливой математикой или не причудливой математикой.

это неинформативный ответ. пустая трата времени и места.