Sur la route de StarkNet: Un L2 ZK-Rollup permissionless alimenté par les STARKs

Initialement publié en anglais par StarkWare le 26 Janvier, 2021

Profitez de la sécurité et de la confiance d’Ethereum avec la scalabilité d’un ZK-Rollup

TL;DR

Nous construisons StarkNet en quatre étapes :

  • Étape 0 – Fondations (terminée*)
  • Étape I – Planètes : Unique-App Rollups
  • Étape II – Constellations : Multi-App Rollups
  • Étape III – Univers : Un Rollup décentralisé

Nous prévoyons que l’étape I sera déployée d’ici quelques mois et que nous serons en bonne voie pour les étapes II et III d’ici la fin de 2021.

Introduction

StarkWare construit StarkNet, ZK-Rollup L2 décentralisé, permissionless et centorship-resistant alimenté par les STARKs, qui prend en charge le calcul général sur Ethereum. Il est basé sur le langage Cairo Turing-complet.

Les développeurs, les utilisateurs et les nœuds StarkNet seront en mesure de faire tout ce que l’on attend d’un Rollup L2 permissionless : Les développeurs peuvent créer des applications implémentant leur propre business logic et les déployer sur StarkNet. Les utilisateurs peuvent envoyer des transactions à exécuter à StarkNet , comme ils interagissent avec Ethereum aujourd’hui. Les nœuds StarkNet et les participants bénéficieront d’incitations crypto-économiques pour assurer le fonctionnement efficace et équitable du réseau.

Toutes les transactions StarkNet seront périodiquement groupées, et leur validité sera prouvée dans une preuve STARK, à vérifier sur Ethereum. Comme l’effort de calcul nécessaire pour vérifier les preuves STARKs est exponentiellement petit par rapport au calcul prouvé, StarkNet va rendre scalable Ethereum.

Étant donné que toutes les transitions d’état StarkNet seront STARK-prouvé, seuls ceux valides seront acceptés sur Ethereum. Toutes les données nécessaires pour reconstituer l’état complet de StarkNet seront publiées on-chain. N’importe qui pourra lancer son propre noeud StarkNet. Ces propriétés feront StarkNet aussi sécurisé et permisionnless qu’Ethereum.

Nous y avons été pendant trois ans, et avons déjà atteint quelques étapes remarquables dans la transformation de «Moon Math» en un logiciel efficace et développé fonctionnant sur Ethereum. La façon dont StarkWare fait les choses est de s’attaquer d’abord aux problèmes difficiles, de construire la technologie de base, puis de la mettre en production de manière fragmenté. Nous continuerons à construire de cette façon au fur et à mesure que nous avançons sur StarkNet.

Étape 0 – Fondements

StarkWare a terminé de poser quelques fondations importantes pour StarkNet.

Cairo

Cairo est notre niveau de langage et cadre de très haut niveau, Turing-Complet pour la production des preuves STARK pour le calcul général. Au lieu de fabriquer à la main des «circuits» complexes ou des AIRs, un développeur d’applications peut utiliser Cairo pour définir un business logic ,la faire prouver off-chain et la vérifier on-chain. Cairo est en production sur Mainnet, et est également disponible pour les développeurs.

Dans quelques semaines, nous allons lancer sur Ethereum testnet public une version Alpha du Generic Proof Service (GPS) de Cairo. Cela permettra aux développeurs de construire leurs propres applications en utilisant Cairo, en mettant en œuvre le business logic qu’ils souhaitent. Ils enverront leur code Cairo au GPS pour être prouvé, puis vérifié on-chain.

GPS est un test unique qui permet de montrer l’intégralité de l’exécution d’applications totalement distinctes et indépendantes, ce qui donne à ces applications la possibilité d’amortir le gas de la vérification de des preuves entre elles.

Cairo et GPS sont les bases de StarkNet – notre décision d’externaliser les deux à des développeurs leurs perment d’être rapidement exposés à cette technologie, non seulement pour qu’ils puissent commencer à la développer, mais aussi pour qu’ils puissent influencer l’évolution de StarkNet.

Nous continuerons à développer Cairo en fonction des besoins et des réactions de la communauté des développeurs. Nous enrichirons ce langage avec de nouvelles fonctionnalités, syntaxes et modules intégrés qui amélioreront son usage, et nous continuerons à développer et à améliorer les outils Cairo : compilers, tracer/debugger, et intégrations aux IDE courants.

Cairo fera fonctionner StarkNet.

Software Stack STARK

StarkWare a développé le système de preuves le plus puissant de l’écosystème, et il est en ligne sur Mainnet depuis des mois. StarkWare a également développé ethSTARK, notre prouveur open-source, qui est 20 fois plus rapide que n’importe quel autre prouveur ; il offre à la fois des signatures zero-knowledge et une sécurité post-quantique.

Nos mesures de scalabilité – et non des extrapolations, ni des promesses – incluent le traitement de 300K transactions en une seule preuve sur le Mainnet, atteignant ainsi le record du monde de débit Rollup: 3K tps. Dans le processus, nous avons atteint le record mondial d’efficacité du gas : 315 gaz/transaction sur Rollup, des ordres de grandeur moins chers que les transactions sur Ethereum L1.

Cette technologie sera la pierre angulaire de la layer d’essai décentralisée de StarkNet, et donc nous publierons des prouveurs supplémentaires et améliorés dans le cadre du développement de StarkNet (plus d’informations sur cela dans un prochain poste du blog).

StarkEx

StarkEx est notre moteur de scalabilité L2. Elle dessert les clients de DeversiFi sur Mainnet depuis juin 2020. Il alimentera à la fois dYdX et ImmutableX dans quelques semaines. StarkEx peut gérer des logic de trading complexes (spot trading, dérivés, NFTs) ainsi que des paiements.

Développer StarkEx était notre façon d’alimenter notre boite d’outils et de la tester par rapport aux besoins du monde réel. Rien ne vaut les exigences des applications réelles et des utilisateurs en direct pour aider les outils à mûrir et à évoluer. Elle nous aide également à comprendre les éléments à aborder pour mieux servir l’écosystème – par exemple, les intégrations avec les portefeuilles et les explorateurs de blocs.

StarkEx est un exemple concret de la capacité de mise à l’échelle des applications à l’aide d’un ZK-Rollup basé sur les STARKs, et est la première application en production sur Mainnet écrite avec Cairo. En tant que tel, il sera également l’une des applications fonctionnant sur StarkNet.

Le chemin à parcourir

Étape I – Planètes: Unique-App Rollups

Cette étape permettra aux développeurs de construire et de déployer leurs propres applications scalable sur StarkNet.

À ce stade, chaque instance de StarkNet pourra exécuter une seule application. Différentes instances peuvent exécuter différentes applications. Le cadre StarkNet comprendra les éléments suivants:

  • Mécanismes nécessaires pour générer des preuves STARK pour la logique arbitraire de Cairo, puis les soumettre et les vérifier sur Ethereum.
  • Interactions avec L1 Ethereum: dépôts et retraits de tokens L1, publication des données on-chain, mécanismes d’évacuation protégeant les utilisateurs StarkNet contre les opérateurs StarkNet malveillants, etc.
  • Gestion des soldes utilisateur L2, du stockage et de la mémoire de l’application.

Les développeurs pourront se concentrer uniquement sur la construction d’une business logic de leur application, puis passer à la production: déployer et exécuter à grande échelle sur StarkNet.

Ce qui nous permet de construire un ZK-Rollup scalable en calcul général est la combinaison de :

  • Cairo, qui est un langage de programmation Turing-complet à usage général
  • Notre solide stack STARK (proveur and verifieur), qui permet de regrouper d’énormes calculs en une seule épreuve

Étape II – Constellations: Multi-App Rollups

L’étape suivante prendra en charge plusieurs applications s’exécutant sur la même instance StarkNet et accédant au même état L2 global. Cela permettra l’interopérabilité entre les différentes applications et réduira le coût du gas grâce à de meilleures économies de scalabilité.

Cairo, la puissante STARK Stack et GPS amplifient l’avantage concurrentiel de StarkNet en soutenant un Rollup multi-app.

À ce stade, StarkNet sera un cadre pleinement fonctionnel pour exécuter plusieurs applications avec tout business logic quelconque sur Ethereum, avec chaque instance dirigée par un opérateur unique.

Un opérateur peut désormais faire tourner un noeud StarkNet, et les développeurs d’applications peuvent y déployer leurs contrats. Du point de vue des utilisateurs, StarkNet ressemble et se sent comme Ethereum, avec une scalabilité plus élevée.

Étape III – Univers: déploiement décentralisé

La dernière étape de l’évolution de StarkNet est la décentralisation de son fonctionnement.

Parmi les questions intrigantes de R&D auxquelles nous nous attaquons à présent et qui touchent cette étape :

(i) l’utilisation de ZK-Rollups pour améliorer les mécanismes de consensus.

(ii) la conception de mécanismes crypto-économiques pour inciter les contributeurs et les opérateurs décentralisés de StarkNet (séquenceurs de transactions, prouveur, etc.) à fonctionner efficacement, équitablement ainsi qu’en toute sécurité.

Conclusion

StarkWare construit StarkNet, un ZK-Rollup décentralisée permissionless alimenté par les STARKs sur Ethereum, qui prend en charge le calcul général basé sur le langage Cairo.

StarkNet permettra aux applications d’évoluer sans compromettre la sécurité, aux utilisateurs de payer des frais de transaction raisonnables et à l’ensemble de l’écosystème de croître considérablement et de tenir sa promesse.

Nous invitons volontiers la communauté des développeurs à se joindre à nous.

Mise à jour (Nov. 2021) : StarkNet Alpha est live sur Ethereum Mainnet

Traduction faite par @cleminso

Subscribe to Starknet France
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.