Contrat intelligent Bitcoin 2.0 : Partie 2


Lisez la partie 1 ici.

Tirage au sort équitable sans dépôt

en plus de la partie conventionnelle en chaîne constituée de Bitcoin Script. en dissuadant les parties d’abandonner en utilisant le dépôt.

Il s’agit d’un autre exemple de la façon de concevoir de tels contrats intelligents hybrides avec des pièces en chaîne et hors chaîne. Le contrat intelligent est défini comme un protocole dans lequel les parties méfiantes peuvent effectuer des transactions conformément à leur accord mutuel en toute sécurité, sans tiers de confiance. La sécurité dépend du contrat spécifique et peut généralement inclure des propriétés telles que : 1) les parties honnêtes qui suivent le contrat / protocole ne devraient jamais perdre leur argent; 2) les parties malhonnêtes qui s’écartent doivent être détectées et peuvent éventuellement être pénalisées financièrement.

Contrat intelligent Bitcoin 2.0 : Partie 2

Tirage au sort équitable sans dépôt

Graphique Tx

Le nouveau contrat comprend les étapes de verrouillage suivantes:

  • Alice et Bob échangent les clés publiques, le locktime t et le hachage des nombres / nonces secrets les uns avec les autres
  • Bob crée Tx0. Avec txid de Tx0, il crée également Tx1. Il le donne à Alice. Il ne le signe pas encore, sinon Alice connaîtrait son secret
  • Alice signe Tx1 et la renvoie à Bob
  • Bob signe et ajoute son secret. Maintenant que Tx1 est terminé, il crée Tx3 et le remet à Alice
  • Alice le signe et revient à Bob, qui diffuse Tx0 et Tx1. Alice connaît maintenant le secret de Bob dans Tx1
  • Alice envoie son secret à Bob et celui qui gagne prend le pari comme dans le contrat de tirage au sort original. Si elle ne partage pas son secret avant t, Bob peut signer et diffuser Tx3 pour prendre le pari
  • À chaque étape après 2, chaque partie valide les transactions hors chaîne localement et abandonne si la validation échoue. Ces validations incluent: signature, t, hachage secret et correspondance txid. Le contrat est sécurisé car Bob doit révéler son secret pour créer Tx1. Alice doit également le faire, sinon Bob gagnera en diffusant Tx3.

    Le contrat HashLock dans Tx0 est illustré ci-dessous:

    Contrat HashLock

    Le contrat CoinToss dans Tx1 est le même qu’avant, sauf qu’une fonction déclarer forfait() est ajouté.

    Nouveau contrat CoinToss

    ***

    Calculs multipartites sécurisés sur Bitcoin · Marcin Andrychowicz, Stefan Dziembowski, L. Mazurek. Symposium IEEE 2014 sur la sécurité et la confidentialité