Initialement publié en anglais par StarkWare le 6 Avril, 2021
StarkEx pour le Perpetual Trading
Il y a huit mois, nous avons annoncé notre coopération avec dYdX. Suite à cette annonce, nous avons travaillé en étroite collaboration avec l'équipe de dYdX pour porter leur plateforme de négociation de perpetual contracts (contrats perpétuels) sur StarkEx, notre moteur de scalabilité de solution L2.
La prise en charge des contrats perpétuels est une amélioration majeure de StarkEx, car jusqu'à présent, il n'a prouvé son intégrité de calcul que pour le spot trading. StarkEx continuera à évoluer pour prendre en charge les prêts (lending), le trading de futures et, bientôt, les NFT. C'est également la première fois que StarkEx offre une scalabilité en mode ZK-Rollup (données on-chain) en production.
Ce système a été développé à l'aide de Cairo, notre langage Turing-complet de scalabilité des applications utilisant les STARKs. Cairo a été notre plateforme de choix sur Ethereum Mainnet, en commençant par notre Reddit Scaling Bakeoff (juillet 2020), et en poursuivant avec la mise à niveau de la V3 de DeversiFi il y a quelques mois.
Nous avons considéré le projet dYdX comme un test important de la maturité et de l'expressivité de Cairo. Nous avons été ravis du résultat et en particulier de la vélocité des fonctionnalités offertes par Cairo : une logique commerciale complexe peut être écrite rapidement, et des preuves d'intégrité peuvent ensuite être générées pour elle-même.
Qu'est-ce que la plateforme de négociation perpétuelle de dYdX gagne grâce à StarkEx? Que gagnent ses utilisateurs?
Nous nous sommes associés à dYdX pour augmenter son volume de transactions tout en réduisant les frais de gas pour ses utilisateurs. dYdX dépensait une somme considérable en gas. Pour le payer, les utilisateurs ont dû payer des frais élevés et se soumettre à une politique de transaction minimale (10 000 dollars pour les ordres à cours limité).
StarkEx donne maintenant à dYdX la possibilité de construire une entreprise durable qui peut scaler. Moins d'argent dépensé en gas → Moins d'argent que les utilisateurs doivent payer → Frais plus bas et taille minimale de transaction plus faible.
Mais le scaling et les faibles coûts du gas sont loin d'être la fin de l'histoire. En construisant le système avec dYdX, nous avons réalisé que StarkEx apporterait à dYdX et à ses clients plusieurs autres avantages importants.
En utilisant StarkEx, dYdX considère qu'une transaction est réglée dès qu'elle entre dans la file d'attente des transactions de StarkEx. Cela signifie que les utilisateurs peuvent instantanément soumettre des transactions ultérieures ; il n'est pas nécessaire d'attendre le règlement effectif de la transaction on-chain!
Auparavant, dYdX proposait du trading par paires : un actif collatéral contre un actif synthétique (par exemple : USDC-BTC, ou USDC-ETH). Et ce pour une bonne raison : avoir une position qui comprend plus d'un actif synthétique rend la logique on-chain beaucoup plus coûteuse à exécuter. Le coût d'exécution d'une position varie de façon linéaire avec le nombre d'actifs synthétiques qu'elle contient.
Cependant, avec StarkEx comme solution de scalabilité, ces préoccupations concernant le gas appartiennent au passé. Cela signifie que les traders peuvent créer des positions qui combinent plusieurs actifs synthétiques, en regroupant potentiellement tous leurs longs/shorts en une seule position. Il s'agit simplement d'une autre démonstration des implications profondes de la scalabilité d’un L2 : Non seulement elle rend l'exécution de votre logique existante moins coûteuse, mais elle vous permet de définir une meilleure logique qui était entièrement infaisable à exécuter on-chain.
Le perpetual trading nécessite un flux de prix pour chaque actif synthétique. Les prix sont vérifiés par des oracles utilisant des signatures compatibles avec STARK, ce qui permet d'utiliser les prix dès qu'ils sont signés, plutôt que d'attendre qu'une transaction soit minée. Cela réduit considérablement la latence des mises à jour des prix de l'oracle, qui passe de quelques minutes sur le L1 Ethereum à quelques fractions de seconde sur StarkEx. En outre, le flux de prix ne doit jamais apparaître on-chain (un engagement envers le quorum de clés publiques utilisé suffit), ce qui permet d'économiser du gas.
Nous utilisons actuellement le réseau d’oracle de Chainlink pour alimenter des flux de prix sécurisés pour le L2. Chainlink s'est intégré à StarkWare pour étendre les fonctions d’oracle du réseau Chainlink aux solutions de Layer 2 à haute performance. D'ici peu, d'autres fournisseurs d'oracle tels que MakerDAO pourront être utilisés pour certains marchés.
Comme de plus en plus de dApps adoptent les avantages de la scalabilité du L2, nous espérons que ce n'est que le premier de nombreux projets à être alimentés par des oracles.
Jusqu'à présent, les plateformes de trading perpetual et de prêt étaient de deux sortes :
Le moteur de scalabilité de StarkEx peut désormais offrir le meilleur des deux mondes : des flux de prix continus et en temps réel off-chain (ce qui permet, une fois de plus, d'obtenir un effet de levier plus important), et une détention de ses actifs (self-custody).
La plateforme de trading perpetual de dYdX est désormais alimentée par StarkEx, ce qui lui permettra de faire évoluer et de développer son activité. En six mois environ, nous avons été en mesure de prendre en charge une logique de problème aussi complexe que toute autre solution exécutée sur des blockchains. Au cours de ce processus, nous avons appris que le fait de s'appuyer sur un calcul off-chain trustless permet de construire non pas simplement un système plus scalable, mais plutôt une meilleure plateforme de trading, plus riche et plus complexe.
Traduction faite par HoVa