Synthereum : des fiat et des actions sur Ethereum

Pascal Tallarida
Jarvis Network (France)
10 min readMar 25, 2020

Depuis 2017, notre arc narratif a toujours été l’utopie d’un Internet de la finance avec son navigateur qui rendrait toutes les opportunités d’investissement aussi accessibles qu’une page internet, et abattrait les frontières entre les actifs — la fameuse interopérabilité, ou la possibilité d’échanger ses Bitcoins pour de l’or, d’utiliser ses actions Apple pour trader le Forex, et payer ses factures avec du pétrole.

La technologie a permis à cette vision de s’échapper de l’utopie à laquelle elle appartenait : aujourd’hui la finance décentralisée tisse un réseau d’opportunités d’investissement passifs et actifs que des wallets travestis en navigateur s’empressent d’agréger, et les actifs synthétiques permettent d’entrevoir une interopérabilité entre toutes les classes d’actifs.

Dans cet article nous vous présentons la vision et le fonctionnement actuel et à venir de Synthereum, un protocole pour émettre des actifs synthétiques.

TL;DR : utilisant UMA, Chainlink et Compound, Synthereum permet d’émettre des actifs synthétiques répliquant le prix de n’importe quels actifs et d’instantanément les convertir entre eux via un mécanisme d’émission/destruction. Le collatéral en cDAI est fourni conjointement par l’utilisateur et des fournisseurs de liquidités, dans des proportions telles que ce sont ces derniers qui assurent et maintiennent la sur-collatéralisation des actifs, l’utilisateur n’ayant ainsi que la valeur de l’actif à déposer.

Vision

Any sufficiently advanced technology is indistinguishable from magic. Arthur C. Clarke

Les actifs synthétiques permettent de lier élégamment la finance traditionnelle à celle qui se veut décentralisée, et rendent cette dernière plus accessible et puissante que jamais.

Ils permettent à tous de convertir sa devise locale en sa version synthétique sur la Blockchain — une prouesse qui sera sans frais ni KYC, et dans la plupart des cas instantanée, dans le wallet Jarvis.

Ils suppriment les frontières entre les actifs et redéfinissent le concept même de monnaie en les rendant entièrement programmable ! Une action Apple pourrait être convertie en Bitcoin ou en pétrole, pourrait être utilisée pour payer une note de restaurant en euro, ou comme dépôt pour trader le Forex.

Ensemble, ces propriétés permettront aux applications Jarvis de proposer des devises locales comme monnaie de base pour acceuillir ses utilisateurs dans un environnement familier. Plus spécifiquement, ils permettront de créer des portefeuilles mêlant plusieurs classes d’actifs et de les gérer de la manière la plus souple possible. Couplés à l’intégration native de protocoles comme Coumpound et à son login universel pour se connecter à des centaines d’applications, les actifs synthétiques sont la dernière pièce du puzzle pour se rêver en Revolut de la DeFi.

Fonctionnement

Synthereum utilise UMA pour l’émission de ces actis synthétiques.

UMA is a decentralized financial contracts platform built to enable Universal Market Access. Use UMA’s self-enforcing contract design patterns and provably honest oracle mechanism to create your own financial products using standards like ERC20.

Actif synthétique?

Si la tokénisation est un concept relativement simple à comprendre, la synthétisation requiert un peu plus de concentration.

Derrière chaque USDC il y a un vrai Dollar américain sur un compte en banque ; c’est ce lien qui permet à 1 USDC de valoir 1 dollar. Derrière chaque DAI il y a au moins 1,5 dollar d’Ether sur un smart contract ; c’est la confiance dans la valeur de l’Ether qui permet à 1 DAI de valoir 1 dollar ; on parle alors de collatéral ; l’Ether collatéralise le Dai à au moins 150%.

Tant que la valeur des Ethers en collatéral vaut plus de 1 dollar, le Dai est suffisamment collatéralisé. Comme il est impossible pour un smart contract de connaître le prix de l’Ether, un oracle va le télécharger sur la Blockchain et le mettre à jour régulièrement, par le biais de transactions contenant cette information. Une fois la transaction validée, le prix est mise à jour sur la Blockchain et le smart contract peut y avoir accès, et ainsi savoir si le Dai est suffisament collatéralisé. Pour un actif synthétique répliquant le prix d’une action, il faudrait connaître également le prix de cette action et s’assurer que sa valeur est toujorus inférieure à celle des Ether en collatéral.

Puisque le prix est mis à jour uniquement via des transactions, il n’est pas possible d’avoir un prix en temps réel ; au mieux on pourrait mettre à jour le prix d’un actif à chaque bloc, soit toutes les 13 secondes environ, mais au prix d’un énorme coût ; ainsi la plupart des oracles ne mettent à jour les prix que toutes les x minutes ou x heures.

Emission des jToken

Du point de vue de l’utilisateur, cela ressemble à un échange classique : admettons un EURUSD a 1.100, il envoie 1'100 Dai et reçoit 1'000 jEUR. Pour autant, aucun échange n’a eu lieu…

Ses 1'100 Dai sont déposés dans un smart contract où l’attendent les 200 Dai d’un fournisseur de liquidités (LP), formant un collatéral de 1'300 Dai ; ce dernier est prêté sur Compound et les intérêts générés sont redistribués aux participants grâce a l’utilisation du rDAI ; factuellement, ce sont ces derniers qui collateralisent à 118% l’euro synthétique.

Le recours aux LP optimise grandement le capital et la liquidité : ni l’utilisateur final, ni le LP, n’ont à mobiliser un surplus de capital pour sur-collatéraliser l’actif qu’il souhaite émettre ou vendre. Pour rappel le Dai (Maker) est un actif synthétique qui nécessite au moins 150% de collatéral, et le sUSD (Synthetix) en nécessite 750%.

Vous pouvez créer vos premiers EUR, CHF, GBP ou XAU synthétiques sur le testnet de Kovan (il vous faudra pour ça du kDAI et kETH).

La conversion de jToken

Il sera bien évidemment possible d’échanger ses jTokens entre eux via des pools comme Uniswap ou sur des Dex, mais avec un slippage qui grandit avec la taille de la transaction. Dès lors il sera plus intéressant pour l’utilisateur d’émettre un actif plutôt que de l’acheter, ou de les convertir via un mécanisme d’émission/destruction plutôt que dès les échanger.

Le mécanisme d’émission/destruction est une manière élégante pour convertir des actifs synthétiques sans besoin d’une contrepartie : au lieu de réaliser un échange entre un acheteur et un vendeur, l’actif vendu est détruit en même temps que l’actif acheté est émis. Pour reprendre l’exemple des 1'000 jEUR collateralisés par 1'300 Dai, ils seraient détruits et remplacés par des jGBP de même valeur, et avec le même collatéral. Le nombre de paire possible est donc infinie, il n’y a pas de spread, pas de slippage, et une liquidité théoriquement infinie.

Des jEUR peuvent être convertis instantanément en jAAPL, qui a leur tour peuvent être convertis en jGLD (or).

Du fait de la volatilité de certains actifs, il se peut qu’un actif synthétique nécessite davantage de collatéral qu’un autre, et inversement ; dans pareil cas, ce sera au LP d’apporter le collatéral manquant.

Rôle du LP

La première version du protocole ne permet qu’un seul LP, mais l’introduction d’un système de pool permettra à tout le monde de pouvoir y participer.

Son principal rôle est d’assurer la contrepartie et la sur-collatéralisation des actifs synthétiques.

Pour l’illustration, reprenons nos 1'000 jEUR collateralisés par 1'300 Dai…

  • Si l’EURUSD passait à 1,200 et que l’utilisateur décidait de les reconvertir en Dai, il en récupèrerait 1'200, soit un embonpoint de 100 Dai provenant du LP. Inversement en cas de chute équivalente il n’en n’aurait récupéré que 1'000.
  • Si l’EURUSD passait à 1,3000, les 1'000 jEUR vaudraient 1'300 Dai et seraient sous-collateralisés, le ratio de collatéralisation devant être a minima de 102% pour l’euro, soit 1'326 Dai, et seraient liquidés ; auquel cas les commissions et les intérêts générés jusqu’alors par le LP lui seront confisqués et reversés au liquidateur ; pour éviter cette situation, le LP doit ajouter du collatéral à mesure que le prix de l’actif répliqué monte.

Le LP endosse ainsi tous les risques, en échange desquels il percevra une commission de 0.1% sur chaque émission de token, et l’intégralité des intérêts générés par le collatéral soit jusqu’à dix fois plus d’intérêts que s’il s’était contenté de les placers sur Compound.

Ces paramètres pourront être modifies par la DAO une fois qu’elle sera en place.

Puisqu’il n’y a aucun slippage ou spread, les utilisateurs auront tendance à préférer émettre de nouveaux jEUR plutôt que d’en acheter sur les échanges, générant ainsi d’avantage d’intérêts et de commissions pour les LPs.

Enfin, puisqu’il est la contrepartie, le LP a une exposition vendeuse qui lui coutera si le taux l’EURUSD monte. Pour annuler ce risque, les plus expérimentés pourront ouvrir une position acheteuse sur EURUSD en utilisant le Margin Protocol, et les intérêts perçus couvrant les frais d’ouverture et de tenue de position.

Oracle

Synthereum utilise Chainlink comme source de prix.

Chainlink is a decentralized oracle network that enables smart contracts to securely access off-chain data feeds, web APIs, and traditional bank payments. It is well known for providing highly secure and reliable oracles to large enterprises (Google and Oracle) and leading smart contract development teams such as Polkadot/Substrate, Synthetix, Loopring, Aave, OpenLaw, Conflux, and many others.

Chainlink était un choix naturel : ils ont la confiance de nombreux acteurs d’envergure et règnent en maître sur le marché des oracles.

Toutefois, la version 2 se passera des oracles la plupart du temps : en effet, aussi excellente est leur solution, la manière dont Synthereum fonctionne rend notre protocole, et ses fournisseurs de liquidités, vulnérables au front-running…

Lorsque Chainlink soumet une transaction pour modifier le prix de l’EURUSD, un attaquant pourrait tenter d’émettre du jEUR avec une transaction plus rapide ; cela lui permettrait d’émettre du jEUR juste avant que le prix ne change puis de revendre juste après qu’il le soir, encaissant à coup sûr un gain de 1% à la défaveur du LP.

Des solutions existent pour éviter ce type d’attaque. La première consiste à empêcher l’émission d’actifs synthétiques lorsque Chainlink envoie une transaction mais cela impliquerait le recours à de la centralisation. La seconde, inspirée par Synthetix, s’agirait d’ajouter une commission élevée de 1% dans le cas où un utilisateur reconvertisse ses jEUR nouvellement émis en Dai, ou les transfère vers une autre adresse, avant une nouvelle mise à jour des prix, pour annuler son gain induement pris.

Ces solutions pourraient être implémentées mais couteraient plus chères à développer que ce que le front-running couterait, et la version 2 de Synthereum résoud ces problèmes élégamment :

« Le meilleur oracle est celui que l’on utilise le moins » martèle Allison Lu, fondatrice de UMA.

Les oracles sont effectivement les éléments les plus sensibles d’un système et le principal vecteur d’attaque ; pour cette raison, l’objectif à moyen terme est d’adopter le priceless framework de UMA : il n’y a pas besoin d’oracle à partir du moment ou tout le monde est d’accord sur le prix ; ce n’est que lorsqu’une dispute survient que l’on a besoin de les utiliser.

Plus détails seront fournis lors de la sortie de Synthereum version 2, nommée Opatijia.

Les différentes versions de nos protocoles portent toute le nom d’une ville entourée d’eau.

Risques

Puisque Synthereum combine plusieurs protocoles entre eux, il combine tous les risques qui y sont associés.

Le collatéral utilisé pour synthétiser les actifs est du Dai, lui-même un actif synthétique collatéralisé par de l’Ether ; lors du dernier krach provoqué par la crise du Covid-19, les oracles de Maker se sont mal comportés et pendant plusieurs heures certains Dai n’étaient sous-collatéralisés ; à cela s’est ajouté un second problème, et près de 6M de Dai n’étaient plus collatéralisés par aucun Ether. Maker corrige ces problèmes de manières à ce qu’ils ne se reproduisent plus, mais d’autres pourraient survenir dans le futur.

Le collatéral en Dai est prêté sur Compound ; bien que tous les prets soient sur-collateralisés, que le protocole se soit très bien comporté lors du dernier krach, que de nombreux audits aient été conduits et que l’équipe derrière soient très sérieuse le risque zéro n’existe pas et fournir de la liquidité sur Compound comporte des risques ; risques auxquels s’ajoutent ceux du rDAI, un petit protocole qui permet de rediriger les interets collectés vers des adresses tierces ; rDAI a été audité par Quantstamp, une des sociétés les plus sérieuses.

Et bien évidemment, il existe un risque sur les smart contracts de Synthereum et de UMA. Ce dernier est administré par une DAO dont les détenteurs de tokens peuvent voter pour apporter des modifications au code ; le processus de vote prend 2 à 4 jours et les effets sont immédiats.

Conclusions

Si aujoud’hui la technologie ne permet pas encore à Synthereum de créer des applications capables de rivaliser avec un Robinhood ou un Revolut, son évolution le permettra à coup sûr d’ici un an ou deux maximum. D’ici là, les oracles et les solutions de scalabilité devront être améliorer.

Bien que Synthereum ait débuté comme un projet secondaire pour répondre à une simple problématique précise — pouvoir trader avec un compte en euro sur le Margin Protocol — il a reçu beaucoup d’attention et a pris de plus en plus de place dans le Jarvis Network, au point d’en être devenu la pierre angulaire. On espère qu’il aura autant de valeur pour nous que pour l’écosystème DeFi et seront intégrés à plusieurs applications et protocoles.

On rêve déjà à Set Protocol, qui combiné à 3box et Synthereum permettrait de créer un Etoro décentralisé ; une carte Monolith qui permettrait de dépenser ses jGBP ou ses jAPPL ; un Curve qui proposerait des pools jEUR/USDB et enfin un Paraswap qui permettrait d’échanger des n’importe quel token ERC20 pour n’importe lequel de nos actifs, et dont l’API ou le SDK serait utilisé par de nombreux wallets.

Pascal.

Les possibilités sont infinies
Rejoignez notre Discord
Suivez-nous sur Facebook
Et sur Twitter
Participez sur Bitcointalk
Espionnez-nous sur Instagram
Et visitez notre site jarvis.network

--

--