Мне нужно, чтобы генерировать получить адрес, который непосредственно связан с некоторыми метаданными, M, которая является частью проверяемого договора.
Я требую, чтобы клиенты могли убедиться, что адрес действительно был сгенерирован от конкретного сообщения контракта, но я не хочу их иметь закрытый ключ к адресу.
Очевидно, я не хочу, чтобы раздуть blockchain и я не хочу использовать нестандартные сделки. P2SH также не представляется возможным, поскольку это все еще в значительной степени поддерживается многими интернет-провайдерами бумажнике.
Так вот моя первая попытка, основанная на () ...
# Генерирует пару ключей EC для компании
issuer_public_key = issuer_private_key * G
# Создать контракт строку сообщения, M
M = «Условия контракта бла-бла, а также включает в себя issuer_public_key для безопасности»
# Генерировать хэш сообщения
е = SHA256 (М)
# Создать точку ЕС, который известен обеим сторонам
contract_point = (е * issuer_public_key)
# Сгенерировать открытый ключ для этого договора, чтобы сформировать наш получить адрес. Клиент соглашается с тем, чтобы заключить контракт, когда они посылают BTC получить адрес.
receive_public_key = contract_point + issuer_public_key
# Секретный ключ для получения адреса, таким образом,
receive_private_key = contract_point + issuer_private_key
Обратная связь высоко ценится