Parier sur les élections présidentielles américaines en BTC – Un nouveau type de smart contract sur Bitcoin
DLC, une (r)évolution ? – Un smart contract d’un nouveau genre a fait son apparition sur le réseau Bitcoin. Nicolas Dorier, le créateur de BTCPay Server, a ainsi parié sur les élections US à venir.
Chris Stewart, le fondateur de Suredbits, a accepté le pari. Sa société est à l’origine de l’implémentation des discreet log contracts (DLC) sur Bitcoin.
Notre avis sur Bitcoin (BTC) »
Un pari scellé sur la blockchain de Bitcoin
Nicolas Dorier est bien connu des bitcoiners. Il développe en effet le serveur de paiement open source BTCPay Server. Il a eu l’idée de lancer un pari sur la blockchain de Bitcoin, grâce à un nouveau système de smart contracts, les DLC (discreet log contracts).
I just entered in a bet via a DLC (with adaptor sig) with @Chris_Stewart_5 on the US elections.
He used https://t.co/mkXCUrNHLH
I used https://t.co/wgh1tP17i4 (not ready for others but me yet, will brush up this week and next week + vid) https://t.co/CKclefvG1F
— Nicolas Dorier (@NicolasDorier) September 8, 2020
Le pari concerne le résultat des élections américaines de novembre. Si Trump gagne, Nicolas Dorier gagnera 1 bitcoin. Si Joe Biden gagne, ce sera Chris Stewart qui le remportera. Dans le cas où ni Trump ni Biden ne remporte l’élection, chacun reprendra sa mise.
When the election is finalized, the @OutcomeObserver will broadcast a signature that either I or Nicolas can use to settle the bet.
– If Trump wins, Nicolas will receive 1BTC
– If Biden wins, I will receive 1BTC
– If an "other", outcome happens we will be refunded— Chris Stewart (@Chris_Stewart_5) September 8, 2020
C’est un oracle qui permettra d’injecter le résultat de l’élection dans la blockchain. Il est mis en place par un développeur anonyme, Outcome Observer.
Cela ressemble bien à un smart contract classique qui pourrait être déployé sur Ethereum : 2 parties, un pari et un oracle pour donner le résultat. Il est désormais possible de mettre en place un tel système sur Bitcoin grâce au BIP 340. Cette amélioration proposée par Peter Wuille permet d’implémenter les signatures de Schnorr.
Qu’est qu’un discreet log contract ?
Les discreet log contracts (DLC) permettent à 2 parties de sceller un contrat sur la blockchain de Bitcoin et d’utiliser un oracle pour déterminer son issue.
Initialement proposés par Thaddeus Dryja, ils sont assez semblables à un canal de paiement sur le Lightning Network. Les parties envoient tout d’abord leurs fonds via une transaction d’ouverture. Ensuite, le contrat est codé de telle sorte qu’il y ait plusieurs transactions exécutives. On peut en créer autant qu’on le souhaite. L’oracle signera ensuite l’une d’entre elles, la transaction de fermeture, en fonction de l’issue d’un événement hors chaîne.
Aucune condition du contrat n’est révélée sur la blockchain. La transaction de fermeture est semblable à n’importe quelle transaction multi-signatures classique.
Des contrats confidentiels
C’est un schéma de signature bien particulier qui rend cette opacité possible : les signatures de Schnorr. Pour les puristes, le protocole d’authentification de Schnorr repose sur le problème de logarithme discret, d’où le nom discreet log contract.
En effet, il est capital que l’oracle ne puisse pas connaître les clauses du contrat. En cas de collusion avec un des participants, il pourrait influencer son exécution. Avec le schéma de signature classique de Bitcoin (ECDSA), il n’est pas possible d’offusquer les conditions d’exécution. En revanche, les signatures de Schnorr sont des preuves à divulgation nulle de connaissance. Il est possible d’authentifier des données sans en connaître le contenu. Elles permettent de plus d’agréger de multiples signatures entrantes, sans qu’il soit possible de connaître le nombre ou l’identité des signataires.
Dans le cas de notre pari, la clé privée du contrat est composée de la signature de Schnorr de l’oracle et des clés secrètes de Nicolas Dorier et Chris Stewart.
Ce pari semble anecdotique, mais il n’en est rien. C’est la toute première fois qu’un DLC est déployé sur Bitcoin. Les recherches des années précédentes n’ont pas été vaines. L’arrivée des signatures de Schnorr ouvre la voie à de nouvelles applications pour Bitcoin, notamment … la fameuse finance décentralisée.