Initialement publié en anglais part StarkWare le 3 Juin, 2020
Le DEX de DeversiFi propulsé par StarkEx est maintenant actif sur le Mainnet
Aujourd’hui, nous lançons StarkEx, l’outil de scalabilité de StarkWare sur Ethereum Mainnet. StarkEx alimente désormais l’échangeur décentralisé de DeversiFi. C’est notre premier produit commercial et le premier déploiement de STARKs sur le Mainnet. Ce lancement est le résultat de plus de deux ans de développement qui nous ont emmené d’une théorie mathématiques passionnante à un produit robuste.
Nous avons eu la chance de recevoir le soutien de l’écosystème durant notre long chemin sous la forme de prises de participation, de subventions, de dialogue fructueux et de concurrence de qualité. Nous sommes heureux de faire ce premier pas aux côtés de l’équipe DeversiFi, qui partage notre vision de la scalabilité du trading non-custodial en tant qu’évolution naturelle de l’espace blockchain. Comme annoncé il y a quelques semaines, nous faisons déjà notre deuxième pas, cette fois avec l’équipe Immutable, créateurs de Gods Unchained, pour propulser Immutable X, l’échangeur qu’ils construisent pour le trading et le mint de NFTs.
StarkEx supprime le plafond actuel de l'échelle native d'Ethereum, qui est de 4 transactions par seconde. StarkEx traite des lots de transactions off-chain, produit une preuve STARK attestant de la validité de chaque lot, et soumet ces preuves à une vérification on-chain.
En janvier, nous avons affiché un taux de plus de 9 000 transactions par seconde, ou plus de 18 000 paiements par seconde. Ce qui était intéressant dans cette démonstration, ce n’était pas seulement les chiffres de débit, mais la suppression des ressources Ethereum comme facteur limitant la capacité de StarkEx. Nous sommes actuellement limités strictement par les ressources de cloud, en particulier par la puissance et le coût des machines de preuve sur lesquelles StarkEx fonctionne.
Nous lançons StarkEx après des mois de tests approfondis et la sécurisation de plus de 50 millions de transactions sur Ethereum testnets et 1.3M de transferts sur le Mainnet. Parallèlement à cet article, nous avons publié la série Self-Custody, qui décrit en détail les efforts que nous avons déployés pour assurer la sécurité de notre système et sa nature self-custody.
Le self-custody, ou le non-custody comme on l’appelle fréquemment, est un principe directeur de StarkEx. Dans chaque décision de conception que nous avons prise, nous nous sommes assurés de respecter notre engagement à l’égard de ce principe, et veiller à ce que l’utilisateur n’ait jamais besoin de service de custody pour ses fonds. Pour ce faire, nous avons mis au point de nouveaux mécanismes dans de nombreux domaines : des intégrations de portefeuilles, en passant par une solution de data-availability, à la mise à jour des contrats.
Dans ce post, nous allons donner un aperçu de StarkEx, et expliquer les flux de base tels que le retrait et le dépôt (voir la documentation de StarkEx pour une description plus approfondie).
Le moteur StarkEx a des composants on-chain et off-chain. En règle générale, nous faisons off-chain les calculs et le stockage lourd, tandis que nous faisons on-chain les calculs légers de vérification et le state commitment.
Composants off-chain
L’exchange envoie les transactions à StarkEx Cloud, qui les vérifie, et met à jour l’état off-chain en conséquence. Lorsque suffisamment de transactions se sont accumulées ou que suffisamment de temps s’est écoulé, les transactions sont regroupées et une preuve de leur validité est créée. Cette preuve est envoyée on-chain avec le nouvel état de la racine.
Composants on-chain
On-chain, le vérifieur STARK vérifie la preuve et le Data Availability Committee’s (voir ci-dessous) La Verifieur vérifie les signatures des membres du comité. Les contrats de vérification envoient leurs approbations au contrat principal StarkEx Application Smart Contract (ASC). L’ASC met à jour l’état seulement s’il a reçu ces deux approbations.
Flux d’utilisateurs
Décrivons les actions courantes de l’utilisateur sur StarkEx. Il est important de noter que tout transfert significatif de fonds de l’utilisateur vers, à l’intérieur ou à partir de StarkEx ne peut pas avoir lieu sans la signature explicite de l’utilisateur - cela va au cœur de notre approche self-custodial.
Dépôt
Pour commencer à trader sur StarkEx, l’utilisateur dépose des fonds sur son compte on-chain dans l’ASC de StarkEx. Une fois que StarkEx a transféré ces fonds au compte off-chain de l’utilisateur, il peut commencer à trader. Notez que contrairement aux exchanges centralisés, les fonds déposés sont toujours totalement contrôlés par les utilisateurs, et ne peuvent pas être déplacés sans leur signature explicite.
Trade
Les utilisateurs envoient des ordres signés à l’exchange, comme ils le feraient normalement, et l’exchange match ces ordres. Lorsqu’un ordre est matché, une opération est envoyée à StarkEx Cloud. Une fois que la taille minimale du lot est atteinte, ou que suffisamment de temps est passé, StarkEx génère une preuve d’une transition d’état valide, et envoie une nouvelle racine d’état à la blockchain.
Retrait
Pour retirer leurs fonds, les utilisateurs lancent une demande de retrait. Les fonds de l’utilisateur sont ensuite transférés du compte off-chain au compte on-chain dans l’ASC de StarkEx sous le nom de cet utilisateur, et une preuve contenant cette transaction est soumise à la blockchain. Une fois la preuve acceptée (environ 10 minutes), les utilisateurs peuvent immédiatement retirer leurs fonds de l’exchange. Nous mettrons en place la possibilité de retrait rapide prochainement.
Ce premier déploiement de StarkEx au service de DeversiFi a une disponibilité des données off-chain : les trades passées ne sont pas publiées sur la blockchain, mais plutôt off-chain. Cela offre à la fois une meilleure confidentialité (aucune donnée de transaction n’est dans le domaine public) et une plus grande scalabilité. Cela signifie que les utilisateurs comptent sur la disponibilité de leurs données off-chain.
Dans le cadre de notre engagement à faire du trading self-custodial et à éliminer la nécessité de faire confiance aux opérateurs (DeversiFi & StarkWare), nous avons formé un Data Availability Committee (DAC) chargé d’assurer la sécurité et la disponibilité des données off-chain.
Le DAC est composé d’entités réputées, dignes de confiance par la communauté et le marché, et elles sont rémunérées pour leurs services. La confiance des utilisateurs envers le DAC est limitée: les utilisateurs font confiance à leurs membres pour publier les données off-chain qu’ils stockent au cas où les opérateurs refuseraient le service aux demandes de retrait. Il est important de noter que les utilisateurs n'ont pas besoin de faire confiance aux membres du DAC pour ne pas voler leurs fonds ; même un membre malveillant du DAC ne peut pas voler les fonds des utilisateurs directement. Les risques de gel des fonds ou de certaines attaques économiques cryptographiques existent cependant. (Il faut noter que ces attaques, comme le chantage, sont quelque chose de beaucoup plus compliquée pour un pirate).
Les membres fondateurs du DAC StarkEx sont ConsenSys, Infura, Nethermind, Iqlusion et Cephalopod (si vous souhaitez devenir membre, veuillez nous contacter). Pour en savoir plus sur les principes et le fonctionnement du DAC, cliquez ici.
Les adresses Ethereum des membres
ConsenSys | 0xFBD7599fe0C3735b94c369aDF0F0045D8D4f6cB9
Infura | 0x2b6593FcFbfdeD663D7a6448d45b12C16DF6B648
Nethermind | 0xf872Cf881873029B8955b582c29b66347f3f1326
Iqlusion | 0x51AbdE72a4542500a7b1Cb32B18b13fbe1F9ff2E
Cephalopod | 0x70EEAA8b7CbF7124e349e94EaDE6188DDd2d6178
StarkWare | 0x6A8EA587133c1aA4b3bA0417b6d8AE38E61fd1E4
DeversiFI | 0x3Bf2562178eA0CeF6B3F66D971494d65561EFD36
Perspective d’avenir
L’échange de StarkEx de DeversiFi est le premier d’une longue liste de services et de produits de StarkWare. Plus de partenariats et de produits, qui utilisent notre moteur de scalabilité pour des applications autres que des exchanges, sont en cours. Restez à l’affût – de grandes choses arrivent !
Traduction faite par @Henri