Exchanges décentralisés (DEX) : comparatif entre 0x, Komodo et Waves
Suivant le même besoin de décentralisation que les autres applications basées sur des blockchains, de nombreux projets émergent pour créer des plateformes d’échanges de cryptomonnaies décentralisées. L’objectif étant de rendre ces plateformes plus sécurisées et de permettre aux utilisateurs un trading en toute confiance, sans intermédiaires.
Afin de répondre à cette problématique, plusieurs solutions sont envisageables. Dans cet article nous allons nous concentrer sur deux méthodes :
- Les plateformes d’échange basées sur des smart-contracts – contrats intelligents.
- Les plateformes d’échange basées sur l’atomic-swap – échange atomique.
Chacune de ces méthodes présente des avantages et des inconvénients; nous allons à travers l’étude de différents protocoles découvrir leur fonctionnement, et mieux comprendre les choix techniques sous-jacents.
Les exchanges décentralisés basés sur « 0x protocol »
Le premier protocole que je vais vous faire découvrir est 0x protocol. Créé en 2017, il permet de développer des plateformes d’échanges décentralisées sur la blockchain Ethereum.
Pendant longtemps, les échanges décentralisés ont présenté un cruel manque de performances comparé aux solutions centralisées. La surcharge de transactions dans la blockchain, due au trade matching – processus par lequel un exchange permet aux ordres des vendeurs et des acheteurs de se rencontrer pour qu’il y ait un échange – était la principale cause. Pour pallier à ce problème, 0x utilise des state channels – canaux d’état – qui sont des solutions off-chains. Ces canaux sont créés pour réduire la charge de transaction dans la blockchain, en échangeant des messages signés cryptographiquement pour le trade matching, et en écrivant uniquement le résultat final de la transaction dans la blockchain.
L’atout le plus important des plateformes d’échanges créées en utilisant le protocole 0x réside dans les shared liquidities (liquidités partagées). Cette partie du protocole permet aux différents exchanges d’avoir un carnet d’ordre et des liquidités partagés, permettant notamment des trades inter-plateformes.
Comment fonctionne le protocole 0x ?
Le déroulement d’une transaction entre Alice et Bob se fait en 7 étapes :
- Alice accepte le smart-contrat de l’échange décentralisé pour accéder à son solde d’un token A.
- Alice crée un ordre pour échanger son token A contre un token B, en spécifiant le taux d’échange, le temps d’expiration – après lequel l’ordre sera fermé – et signe l’ordre avec sa clé privée.
- Alice broadcast – diffuse – l’ordre à travers le réseau.
- Bob intercepte l’ordre et décide qu’il souhaite le remplir.
-
Bob accepte le smart-contrat de l’échange décentralisé et accède à son solde en token B.
- Bob soumet l’ordre signé par Alice au smart contract de l’échange décentralisé.
- L’échange authentifie la signature d’Alice, vérifie que l’ordre n’a pas expiré, vérifie qu’il n’a pas déjà été rempli et transfère les tokens entre Alice et Bob au taux d’échange spécifié.
Comme le protocole est basé sur Ethereum, il fonctionne uniquement avant des tokens respectant le standard ERC-20, et utilise des smart-contracts pour échanger les tokens.
Comment gérer les tokens non-ERC 20 ?
-
Créer un token ERC-20, lequel représenterait un autre actif. Par exemple, la création d’un ERC-20 représentant le bitcoin ayant un taux de change de 1:1 entre l’ERC-20-Bitcoin et un bitcoin. Cette solution est déjà implémentée dans le protocole 0x avec W-ETH (Wrapped ETH).
- L’atomic swap pourrait également être une solution pour utiliser d’autres tokens que les ERC-20, ces tokens pourraient être échangés en utilisant des hash time-locked smart-contracts.
Les exchanges décentralisés principaux basés sur 0x
Radar relay
- Volume journalier : 800 000 $
- Tokens échangeable : 51
- Type de solution : décentralisée
DDEX
- Volume journalier : 300 000 $
- Tokens échangeable : 63
- Type de solution : décentralisée
Barterdex : l’exchange décentralisé basé sur le protocole Komodo (KMD)
Komodo est un protocole permettant le fonctionnement d’échanges décentralisés basé sur la blockchain Komodo. Contrairement à 0x, cette solution utilise l’atomic swap afin de réaliser les trades.
Cette solution est un fork du projet Zcash créé en février 2017, conservant de nombreuses propriétés propres à Zcash comme le Zero Knowledge protocol. Ce dernier permet à deux nœuds de faire un atomic-swap en peer-to-peer – pair à pair – sans connaissance de l’IP de chacun, assurant l’anonymat des parties.
Au cours du dernier « speed test », le réseau Komodo était capable de gérer 18 000 tx/s et plus de 800 000 payements par seconde grâce à CHIPS, la version Komodo du Lightning Network. Et tout comme le 0x, le protocole de Komodo utilise les shared liquidities, qui permettront aux futurs plateformes d’échange construites sur le protocole d’interagir et de trade entre eux.
Comment fonctionne le protocole Komodo ?
Voici les différentes étapes pour réaliser le « swap » d’un token à un autre, ces étapes représentent un groupe de 7 transactions :
- Alice envoie une requête à Bob, avec la paire d’UTXOs – Unspent Transaction Output – d’actifs qu’elle souhaite échanger, le prix et la quantité.
- Bob valide la requête pour être sûr que l’UTXO d’Alice est valide, et que le prix est acceptable.
- Alice valide le paquet « réservé », vérifie que les UTXO sont valides, que le prix et le volume sont corrects, et envoie un paquet « connect » à Bob.
- Bob valide le « connect » et commence la procédure de l’atomic swap.
- Alice reçoit la validation et l’atomic swap se fait.
La problématique de l’atomic swap pour faire un exchange décentralisé
L’atomic swap est une fonctionnalité du logiciel spécifique à chaque blockchain. Les développeurs doivent en créer une nouvelle version pour chaque blockchain à laquelle ils souhaitent se rattacher.
Les exchanges décentralisés principaux basés sur Komodo
Pour l’instant il n’y en a qu’un, BarterdDEX.
- Volume journalier : 6000 $
- Tokens échangeable : 120+
- Type de solution : décentralisé
WavesDEX : l’exchange décentralisé basé sur Waves
Waves est un réseau permettant aux développeurs de créer et exécuter des applications décentralisées. WavesDEX est l’exchange décentralisé qui a été réalisé sur cette blockchain, il permet aux utilisateurs le trading de cryptomonnaies, mais dispose également de paires fiat (USD, EUR, etc.).
Créée en 2016, cela fait d’elle une des plus vieilles plateformes d’échange décentralisées. Son protocole est capable de traiter environ 1000 transactions par seconde. Comme Ethereum, Waves a créé son propre standard de tokens, appelé CAT tokens, ce qui rend possible l’échange de ces jetons standardisés aisément à travers des smart-contracts Waves.
Afin de gérer les cryptomonnaies comme Bitcoin ou Ethereum, qui ne sont pas conformes au standard Waves, l’équipe a créé des trusted tokens – tokens de confiance – WBTC et WETH représentant les tokens BTC et ETH. Lorsqu’un utilisateur souhaite retirer des BTC – ou ETH – de la plateforme, il passe par une passerelle de confiance qui va convertir les WBTC en BTC avec un ratio de 1 pour 1.
Cependant, l’équipe a prévu l’implémentation d’atomic-swaps pour mi-2018, ce qui permettra une meilleure gestion des tokens non-CAT et l’ajout des tokens ERC-20. Tout comme 0x, Waves utilise une solution off-chain pour le trade-matching, afin de réduire la charge sur la blockchain.
Comment fonctionne le protocole Waves ?
Voici les étapes nécessaires afin d’échanger un token contre un autre :
- Lorsqu’un ordre est créé, si aucun autre ordre n’a une correspondance de prix, l’ordre est placé dans le carnet d’ordre.
- Si un contre-ordre correspondant est trouvé, l’exécution du trade est alors lancée.
- Le contre-ordre est enlevé de l’order-book et son propriétaire crée une transaction signée avec sa clé privée, et l’envoie sur le réseau Waves.
- La transaction est alors validée par la deuxième partie de la transaction et le résultat est écrit sur la blockchain.
Les exchanges décentralisés principaux basés sur Waves
WavesDEX
- Volume journalier : $6,6 millions
- Tokens échangeable : 65
- Type de solution : décentralisé
Statistiques et performances des exchanges décentralisés
Le point le plus important pour une plateforme d’échange est l’adoption, laquelle débouchera sur un volume de trading haut et de meilleurs taux de change. Dans cette étude, aucune solution n’a été définie comme étant la meilleure, chacune d’entre elles ayant ses avantages et ses inconvénients. Voici un tableau récapitulatif permettant de comparer les différentes solutions, avec l’ajout de Binance pour comparer les performances des systèmes décentralisés et centralisés.
Conclusion sur les exchanges décentralisés
Il y a de nos jours de nombreux projets visant à développer des plateformes d’échange décentralisées. Comme aucune solution n’est parfaite, chacune de ces initiatives souhaite apporter des fonctionnalités correspondantes à leurs besoins.
- Le protocole 0x va avoir un gros volume journalier, mais n’a pas la possibilité de gérer beaucoup de transactions par seconde (environ 15).
- Le protocole Komodo a le meilleur taux de transaction par seconde, mais a un volume journalier relativement bas.
- Le protocole Waves est une solution qui vient se placer au milieu des deux autres, avec un bon taux de transactions par seconde et un bon volume journalier.
Sources : Coinsutra ; reddit ; Komodo ; Weth || Image from Shutterstock