Wie man Metadaten an eine Bitcoin-Empfangsadresse „anhängt“.

Ich muss eine Empfangsadresse generieren, die direkt mit einigen Metadaten M verknüpft ist, die Teil eines überprüfbaren Vertrags sind.

Ich verlange, dass Kunden überprüfen können, ob eine Adresse wirklich aus einer bestimmten Vertragsnachricht generiert wurde, aber ich möchte nicht, dass sie den privaten Schlüssel zu der Adresse haben.

Ich möchte natürlich weder die Blockchain aufblähen, noch möchte ich nicht standardmäßige Transaktionen verwenden. P2SH ist ebenfalls nicht möglich, da es von vielen Online-Wallet-Anbietern noch weitgehend nicht unterstützt wird.

Hier ist also mein erster Versuch, basierend auf ( 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

Feedback sehr geschätzt

Antworten (1)

Das ist alles schön und gut, aber es stellt sich heraus, dass Gerichte nicht an "mathematischen Beweisen" interessiert sind (aus gutem Grund). Ich empfehle, alle Bücher von Bruce Schneider zu lesen.

Nehmen wir an, Sie haben jemanden, der Sie bezahlt receive_public_key. Bedeutet das, dass er einem Vertrag zugestimmt hat M? Nein.

Die Gerichte müssten immer noch Unterlagen sehen, die Ihr Partner tatsächlich gesehen und dem Vertrag zugestimmt hat M. Sie hätten dem Typen eine E-Mail schreiben können und gesagt: „Ich gebe Ihnen 10 $, wenn Sie Bitcoins an senden receive_public_key, und später behaupten, dass er einem Vertrag zugestimmt hat M.

Dasselbe geschah in den 90er Jahren, als Anbieter behaupteten, kryptografische digitale Signaturen hätten die Eigenschaft der Nichtabstreitbarkeit . Doch die Gerichte waren sich nicht einig. Beispielsweise kann Ihnen jemand eine Waffe an den Kopf halten und Sie dazu bringen, einen Vertrag (digital oder auf andere Weise) zu „unterzeichnen“. Kein Gericht wird dies als gültigen Vertrag, ausgefallene Mathematik oder nicht ausgefallene Mathematik betrachten.

Dies ist eine nicht informative Antwort. eine reine Zeit- und Platzverschwendung.