Principe de fonctionnement d'un Atomic Cross-Chain Swap
Marlinski
A l’occasion de mon test personnel de Atomex, voici quelques explications sur le principe de fonctionnement d’un ACCS, un Atomic Cross-Chain Swap.
ACCS : Atomic Cross-Chain Swap
Le principe d’un atomic cross chain swap est de pouvoir procéder A un exchange cross chain (genre de l’eth contre du btc) sans passer par un tiers de confiance et sans possibilité que ceux-ci soient perdu.
Pour comprendre prenons d’abord la situation d’un non-atomic cross chain swap:
- user
Apossède un wallet sur EthereumethAet sur bitcoinbtcA - user
Bpossède un wallet sur EthereumethBet sur bitcoinbtcB
Le principe d’un swap c’est que par exemple A va échanger 1 BTC avec B en échange de 13 ethereum.
Une procédure non-atomic serait celle ci:
- user
Aenvoie 1 btc àB:btcA ----(1 btc)----> btcB - user
Benvoie 13 eth àA:ethB ----(13 eth)---> ethA
Le problème c’est que si l’utilisateur B est malhonnête, une fois reçu le bitcoin à l’étape 1 il peut décider de ne pas continuer l’étape 2 et de ne pas envoyer les eth.
A ne peut rien faire car une fois les btc envoyés, c’est foutu!
La solution c’est de conditionner les transactions en les lockant avec un secret et cela est possible avec un script btc hashed timelock contract (HTLC). Un atomic cross chain swap fonctionne donc de la facon suivante:
- user
Achoisit un secretSqu’il hash tel queH = hash(S) - user
Aenvoie 1 btc àBqu’il conditionne avec un HTLC :btcA ----(1 btc; HTLC(H)) ---> btcB- le principe c’est que
Bne pourra “redeem” (c’est-à-dire utiliser) ce bitcoin que si il soumet le secretStelque quehash(S) = HBien sûr à cette etape,Bne connait pas ce secretSmais uniquement son hashH
- user
Benvoie 13 eth sur un smart contract (escrow) qui fonctionne comme un HTLC c’estAdire que les eth ne peuvent etre redeem parAque si il soumet le secretSethB ---(13 eth, H) ---> escrow smart contract
- user
Aredeem ses eth et pour ce faire doit dévoiler le secretSethA ---(redeem, S) ---> escrow smart contractescrow smart contract --- (13 eth) ---> ethA
- Le secret
Sest maintenant dévoilé et public sur la chaîne ethereum,Bpeut alors utiliser ceSpour “débloquer” sa transaction et redeem son bitcoin
Le principe fonctionne pour n’importe quel chaîne pour laquelle il est possible d’implementer cette fonction de HTLC !



Échangez avec la communauté en direct, suivez nos actualités et inscrivez-vous à nos futurs évènements