Symbiosis Finance, l’agrégateur de liquidités multi-chaînes pour la DeFi

Collectionnez les articles du JDC en NFT

Collecter cet article

Symbiosis est un protocole décentralisé et multi-chaînes, permettant d’agréger les liquidités disponibles sur de nombreuses plateformes d’échange décentralisées (DEX).

Cette vidéo vous est proposée dans le cadre d’une campagne de communication éducative, et soutenue par Symbiosis Finance.

Grâce à Symbiosis Finance, il sera possible de transférer ses liquidités à travers toutes les chaînes compatibles avec la machine virtuelle d’Ethereum (EVM). De plus, l’utilisateur reste maître des ses actifs tout au long du processus. Dans cet article, nous vous présentons ses caractéristiques, son fonctionnement, et son jeton utilitaire (le SIS).

L’équipe de développement de Symbiosis, sous l’égide de Will Kamalov, est composée d’ingénieurs expérimentés dans l’architecture réseau et logicielle et le développement de smart contracts. Symbiosis est soutenu par un nombre impressionnant de grands noms de l’industrie.

Symbiosis Finance - Backers
Les backers de Symbiosis

Caractéristiques du protocole Symbiosis

Dans l’univers de la finance décentralisée et des transferts d’actifs cross-chain, l’utilisateur est confronté à plusieurs problèmes. En effet, s’il est possible de passer d’une blockchain à une autre, l’expérience s’avère compliquée et pénible.

Tout d’abord, nos jetons doivent être “enrobés” (wrapped tokens), c’est-à-dire qu’ils sont verrouillés sur une chaîne pour être ensuite recréés sur la suivante. Puis, lors de la transaction, le slippage (effet de glissement) est élevé, c’est-à-dire que les ordres ne sont pas exécutés au prix prévu, conséquence directe des faibles liquidités des actifs échangés. Enfin, toutes les paires de trading ne sont pas disponibles.

Symbiosis Finance vise donc à trouver des solutions à ces problèmes, pour améliorer l’expérience utilisateur du transfert de liquidités cross-chain. Les ambitions de ce protocole d’agrégation de liquidités sont les suivantes :

  • Une expérience utilisateur simple et agréable : à l’instar d’Uniswap, il n’y a pas besoin de portefeuilles crypto additionnels et de longs temps d’attente pour procéder à un transfert ;
  • Une décentralisation totale : le protocole ne dépend d’aucun entité centrale et il est résistant à la censure ;
  • L’interopérabilité : le protocole permet d’échanger des actifs à travers une multitude de blockchains, l’ambition ultime étant de relier entre eux tous les réseaux ;
  • Une liquidité cross-chain sans limite : un maximum de paires sont accessibles, avec les meilleurs frais possibles ;
  • L’utilisateur reste en tout temps maître de ses fonds (non-custodial).

Comment fonctionne Symbiosis ?

Le protocole Symbiosis repose sur 3 couches : son interface utilisateur (front-end), son moteur à liquidités cross-chain, et un réseau de relayeurs.

Symbiosis Finance - Architecture générale
Architecture générale du protocole Symbiosis

Architecture générale

Premièrement, le front-end est déployé sur une interface web et sur une application mobile. À ce niveau, le protocole collecte les informations relatives aux actifs échangés à travers les différentes chaînes. Les routes optimales pour les transferts sont ainsi calculées, afin que l’utilisateur signe et exécute ses transactions.

Deuxièmement, le moteur à liquidités cross-chain est un ensemble de smart contracts. Chaque blockchain supportée par Symbiosis possède son jeu de smart contracts, qui permet de gérer les pools de liquidités, via des mécanismes de routage. Ils permettent au faiseur de marché automatisé (AMM pour Automated Market Maker) d’accéder à ces liquidités.

Troisièmement, le réseau des relayeurs est un réseau de nœuds pair-à-pair et décentralisé. Ces nœuds reçoivent les événements émis par le moteur à liquidités pour les différentes blockchains. Ils doivent atteindre un consensus quant à ces événements afin de signer et émettre les transactions sur les blockchains correspondantes.

Tout ceci paraît un peu complexe, mais nous allons peu à peu entrer dans les détails.

Le moteur à liquidités inter-chaînes (cross-chain liquidity engine)

L’ensemble des smart contracts utilisés pour effectuer les transferts d’actifs cross-chain sont créés sur-mesure et déployés par les administrateurs de Symbiosis pour chaque chaîne. Il y en a trois types :

  • Tout d’abord, les contrats qui concernent les échanges décentralisés entre wrapped tokens et stablecoins. Ils sont nécessaires au fonctionnement de l’AMM ;
  • Viennent ensuite les contrats qui assurent la création et la destruction des wrapped tokens (mint/burn) appelés Portal/Synthesis contracts ;
  • Enfin, le bridge contract assure la liaison entre les contrats précédemment cités et les relayeurs.
Symbiosis Finance - Cross-chain liquidity contracts
Les trois types de smart contracts utilisés par le moteur à liquidités cross-chain

Avant d’entrer dans le détail des mécanismes de création et de destruction des wrapped tokens, passons en revue le fonctionnement de l’AMM de Symbiosis.

Le faiseur de marché automatique (AMM) de Symbiosis

Un automated market maker (AMM) est un protocole qui permet d’assurer la liquidité d’un marché numérique. Dans le monde de la finance décentralisée, il remplace ainsi les faiseurs de marchés traditionnels. Popularisés par Uniswap et Curve, il y en a plusieurs sortes (AMM à fonction constante ou hybride).

Avec Symbiosis, les liquidités sont agrégées au sein de pools, qui sont de deux types :

  • Les pools à 2 ou 3 paires pour l’échange de stablecoins (exemple : tUSD <> BUSD) ;
  • Les pools de paires d’actifs natifs (ex : ETH <> AVAX).

Symbiosis utilise alors deux modèles d’AMM différents :

  • L’AMM à fonction constante (type Uniswap) pour l’échange des jetons de gas ;
  • L’AMM à fonction hybride (type Curve) pour les échanges de tous types de tokens, de stablecoins ou d’actifs ayant le même prix.

Le protocole Symbiosis a 4 cas d’usage :

  • Premièrement, fournir de la liquidité en stablecoins pour n’importe quel autre jeton sur les blockchains supportées (AMM de type Curve) ;
  • Deuxièmement, fournir de la liquidité en jetons natif, qui sera utilisée pour les échanges de jetons natifs et pour le gas (AMM de type Uniswap) ;
  • Troisièmement, les utilisateurs souhaitent un faible effet de glissement pour leurs échanges de stablecoins, et les fournisseurs de liquidités un risque minimum (AMM de type Curve) ;
  • Quatrièmement, les liquidités en actifs ayant le même prix, comme le WBTC et le BTCB, sont amenées via un AMM de type Uniswap.

Les mécanisme de création et de destruction des wrapped tokens

Une fois que le réseau des relayeurs fait consensus sur les événements à traiter, les smart contracts vont se charger de créer et détruire les wrapped tokens sur les différentes chaînes.

Symbiosis Finance - Symbiosis Protocol - Structure des smart contracts de création et de destruction des wrapped tokens entre deux chaînes
Structure des smart contracts de création et de destruction des wrapped tokens entre deux chaînes

Les wrapped tokens ainsi créés sont la représentation des actifs de la chaîne 1 sur la chaîne 2. À chaque fois qu’une nouvelle blockchain est intégrée au système, ces smart contracts sont déployés et exécutés par les administrateurs de Symbiosis.

Les smart contracts de liaison (BridgeV2 contracts, que nous décrirons plus bas) envoient les événements aux relayeurs lorsqu’ils sont appelés par les contrats de Portail et de Synthèse (Portal & Synthesis contracts). Après consensus, les relayeurs vont alors signer et diffuser la transaction sur la chaîne correspondante.

Contrats de Portail et de Synthèse (Portal and Synthesis contracts)

Ce sont eux qui exécutent les appels de l’utilisateur afin de créer et de brûler les wrapped tokens. Ils sont ainsi les seuls à accepter des appels de la part de l’utilisateur au sein de tout le protocole.

Structure des smart contracts permettant de créer et de brûler des wrapped tokens sur la chaîne 1 et la chaîne 2.

Mécanisme de création des wrapped tokens (minting)

Disons qu’un utilisateur possédant des actifs sur la chaîne 1 souhaite forger leur représentation sur la chaîne 2. Il y a 3 possibilités :

  • L’utilisateur possède des jetons ERC-20 sur la chaîne 1 et des jetons natifs pour payer les frais de gas. Il va alors signer une transaction vers l’adresse de Portal pour dépenser la quantité de jeton natif requise. Une fois la transaction exécutée, l’utilisateur appelle Portal sur la chaîne 1 pour forger ses wrapped tokens sur la chaîne 2.
  • S’il possède des jetons natifs sur la chaîne 1, il appelle Portal sur la chaîne 1 pour forger ses wrapped tokens sur la chaîne 2.
  • Si l’utilisateur a des ERC-20 sur la chaîne 1 mais pas de jetons natifs, il ne pourra donc pas payer les frais de gas. Il va alors déléguer cela à un autre utilisateur de la chaîne 1, prêt à l’aider, qui possède des jetons natifs. L’utilisateur signe une transaction vers l’adresse de Portal, et dépense ses ERC-20. Le deuxième utilisateur appelle ensuite Portal sur la chaîne 1, pour forger les wrapped tokens du premier sur la chaîne 2.

Le troisième cas est assez intéressant. Voici comment fonctionne l’algorithme :

Tout d’abord, la TXN1 (étapes 2 à 5) permet de verrouiller les actifs de l’utilisateur sur la chaîne 1. Ensuite, les relayeurs observent cet événement sur la chaîne 1, font consensus, puis signent la TXN2 et la diffusent sur la chaîne 2. Enfin, lors des étapes 7 à 9, la TXN2 est exécutée pour créer les wrapped tokens de l’utilisateur sur la chaîne 2.

Mécanisme de destruction (burn)

L’utilisateur possédant des wrapped tokens sur la chaîne 2, et souhaitant des actifs sur la chaîne 1, fait ainsi appel à Synthesis pour brûler ses jetons.

Destruction des wrapped tokens via Synthesis
  • Premièrement, TXN1 correspond à l’appel de l’utilisateur pour brûler les jetons. Elle correspond aux étapes 2 à 5 et une fois exécutée, les jetons sont brûlés ;
  • Deuxièmement, les relayeurs observent l’événement sur la chaîne 2, font consensus, et signent la transaction TXN2 ;
  • Troisièmement, la transaction TXN2 sur la chaîne 1 concerne les étapes 7 à 9 et permet alors de déposer les actifs de l’utilisateur sur la chaîne 1.

Ingénieux n’est-ce pas ? Le protocole Symbiosis permet également d’appréhender les cas d’urgence :

  • L’utilisateur verrouille des actifs sur la première chaîne, mais aucun wrapped token correspondant n’est forgé sur la deuxième ;
  • L’utilisateur brûle des jetons sur la chaîne 2, mais ne reçoit pas les fonds en retour sur la chaîne 1.

Le contrat de liaison (BridgeV2 contract)

Ce contrat est un proxy entre les relayeurs et les contrats Portal/Synthesis. Il est déployé sur chaque chaîne supportée par Symbiosis :

Interactions entre le contrat de liaison et les relayeurs.

Le contrat de liaison (BridgeV2) accepte des appels de la part des contrats de Portail et de Synthèse, mais aussi de la part des relayeurs. Les relayeurs ne reçoivent les événements que de la part du contrat de liaison : ils contiennent toutes les informations nécessaires au routage des messages vers les chaînes concernées.

Algorithme des interactions avec le contrat de liaison.

Le réseau des relayeurs de Symbiosis

Comme nous l’avons évoqué précédemment, le réseau des relayeurs est un réseau pair-à-pair et décentralisé. Il est blockchain-agnostique et repose sur des mécanismes d’incitations crypto-économiques. De même, il est sans permission : n’importe qui peut devenir un relayeur. Aucun nœud ne possède de droits supérieurs aux autres.

Sécurisation

Sa sécurité repose sur 3 piliers :

  • Le cross-chain multi-party computation (MPC) ou calcul multipartite cross-chain, qui permet à plusieurs parties d’effectuer des calculs sur leurs données combinées sans toutefois révéler leurs entrées ;
  • Un protocole de signature à seuil ou threshold signature scheme protocol (TSS) : un protocole cryptographique pour assurer la génération de clefs et les signatures de manière distribuée ;
  • Le mécanisme d’incitation économique appelé proof of bond.

Les validateur sont indépendants et reçoivent les événements des différentes chaînes simultanément. Chaque événement doit obtenir le consensus des 2/3 des nœuds afin d’être pris en compte. Les transactions sont signées via le MPC sur la chaîne de destination.

Deux types de nœuds composent le réseau :

  • Les bootstrap nodes (nœud d’initialisation) servent à lancer le réseau ;
  • Les relayer nodes (nœuds relayeurs) servent à propager l’information d’une blockchain à l’autre.

Génération des clés et signatures

Les nœuds composent des groupes dits groupes TSS. Chaque groupe a son propre ensemble de transactions et sa propre clef de signature distribuée. Les transactions sont signées via le TSS :

  • La clef privée est générée à chaque changement des membres du groupe. Grâce au TSS, elle est générée de manière distribuée, mais est inconnue de chaque membre. En revanche, la clef publique est connue de tous et sert à générer les adresses de source et de destination pour le contrat de liaison (bridge).
  • Le mécanisme de signature repose sur le TSS pour élire un nœud leader. C’est lui qui sera chargé d’acheminer la signature vers le smart contract de la blockchain de sortie.

Fait intéressant, les métriques des différents nœuds sont encapsulées directement au sein du protocole de communication pair à pair du réseau tout entier. C’est donc un système de monitoring décentralisé, les métriques pouvant être visualisées ensuite sur un tableau de bord Grafana, par exemple.

Le jeton SIS

Le jeton SIS est le jeton utilitaire du protocole Symbiosis. Déployé sur Ethereum, son smart contract est visible ici. Il assure deux fonctions :

  • Le staking via la preuve d’enjeu, nécessaire pour déployer un nœud sur le réseau Symbiosis ;
  • La gouvernance de la DAO Symbiosis et la DAO Treasure.

La distribution du jeton SIS est la suivante :

Le système d’incitations économiques repose sur la preuve d’enjeu : il faut donc placer sous séquestre des SIS pour déployer un nœud, participer au consensus et signer des transactions. Déployé sur Ethereum, le système tolère jusqu’à 1/3 d’acteurs malicieux.

En plus des récompenses distribuées aux nœuds, il existe un mécanisme de slashing : en cas de triche, les nœuds sont punis et perdent donc une partie de leur stake. Les récompenses sont proportionnelles à la quantité de travail fourni par chaque nœud.

Conclusion

L’équipe de développement de Symbiosis nous livre un protocole haut de gamme pour un produit prometteur. Cet agrégateur de liquidités cross-chain est encore en développement, mais devrait ravir les aficionados de la finance décentralisée. En l’état actuel des choses, l’application Testnet de Symbiosis est accessible ici. Le smart contract du SIS est déjà audité, tandis que ceux qui composent le protocole sont encore confidentiels et en cours d’audit.

Symbiosis intègre d’ores et déjà les blockchains Ethereum, Binance, Avalanche, Polygon et HECO Chain. L’intégration de Solana, Arbitrum, Fantom, Cardano et d’Optimism est à venir.

Le jeton SIS peut être obtenu sur le Launchpad de Bybit.

Ressources

Morgan Phuc

Cofounder @ 8Decimals &amp; Partner @ Node Guardians - Making crypto great again - Journal du Coin / BitConseil

Recevez un condensé d'information chaque jour