Le Bitcoin Cash a connu hier son premier atomic swap, comme l’indique cette annonce publiée par un développeur.
Cela signifie que la monnaie peut désormais être échangée contre d’autres monnaies, comme le Bitcoin, sans avoir à s’appuyer sur un tiers de confiance, et avec un risque très faible. Cette échange peut se conduire au travers d’un processus s’appuie sur le langage de script du Bitcoin et de ses dérivés.
Ceci permet donc de contracter dans le cadre d’un hash time-locked contract (HTLC), un contrat intelligent permettant de mettre en place des accords basiques.
La transaction doit se dérouler avec une limite de temps. Si ce temps est dépassé, alors le contrat d’échange n’est pas exécuté.
Du fait de l’utilisation d’une clé privée, l’échange peut s’effectuer sans qu’aucun des utilisateurs ne puisse tricher.
Prenons un exemple simple. Deux individus, Alice et Bob, aimeraient s’échanger 1BTC contre 15BCH.
- Alice va donner à Bob des crypto-monnaies sur la chaîne A (ici 1 Bitcoin )
- En échange, Bob va donner à Alice des crypto-monnaies sur la chaîne B (ici 15 BCH)
Mais ils ne souhaitent pas pour cela s’adresser à un tiers, et aimeraient contracter seuls. Ils ne peuvent toutefois pas se faire confiance pour l’échange, puisqu’ils ne se connaissent pas.
Ils vont donc s’appuyer sur une Atomic Cross Chain Swap (ACCS) :
Alice va créer une transaction conditionnelle : celle-ci consiste à donner 1 Bitcoin à Bob s’il peut signer avec son secret hash (sa clé privée), ou si les deux parties la signent. Elle va ensuite créer une seconde transaction, qui pourra lui permettre de récupérer ses fonds, mais seulement dans un délai de 48 heures.
Bob va faire la même chose, mais cette fois avec 15 Bitcoin Cash (BCH).
Pour obtenir le fruit de l’échange, chaque individu va ensuite devoir fournir une preuve cryptographique de leur paiement, ce qu’ils sont, à ce moment-là, tous les deux capables de faire. Ils ont également la possibilité de signer tous les deux un accord pour que chacun puisse obtenir la monnaie de l’autre.
Si ce n’est pas le cas – autrement dit si la preuve cryptographique ne peut pas être envoyée au réseau, ou s’il ne signent pas tous les deux un accord, les monnaies sont tout simplement rendues à leur propriétaires d’origine.
L’avantage est clair : cet échange ne nécessite aucun tiers de confiance.
En effet, durant cette période 48 heure, ils peuvent chacun obtenir la crypto-monnaie de l’autre. Et si, pour une raison ou une autre, ils ne le font pas, les monnaies numériques sont renvoyées à leur propriétaire d’origine.
Cette fenêtre temporelle est importante. En effet, on ignore si le réseau Bitcoin pourra gérer ces atomic swaps s’ils sont initiés lors d’un engorgement du réseau, qui pourrait étendre les délais de transaction à plusieurs jours.
C’est la raison pour laquelle ce type d’échange nécessite toutefois de faire confiance à une entité : le réseau sur lequel il se déroule. En effet, les parties contractantes doivent avoir confiance en la capacité du réseau à pouvoir gérer leur preuve cryptographique pendant la fenêtre temporelle prévue, et de pouvoir éventuellement renvoyer les fonds si la transaction n’a pas lieu.
Cette fonctionnalité peut toutefois s’avérer particulièrement utile, puisqu’elle permet de mettre en place des échanges décentralisées, sans tiers de confiance, entre différentes crypto-monnaies qui supportent ces swaps.
Référence : Trustnodes, Jonas Nick