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

Мне нужно создать адрес получателя, который напрямую связан с некоторыми метаданными 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

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

7 голосов | спросил grebit 21 PM00000020000001231 2013, 14:10:12

1 ответ


2

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

Предположим, вы заставили кого-то заплатить вам за receive_public_key. Означает ли это, что он согласился заключить контракт M? Нет.

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

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

ответил rdadkins 21 MaramFri, 21 Mar 2014 10:11:56 +04002014-03-21T10:11:56+04:0010 2014, 10:11:56

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132