Qu'est-ce que le monde de Cairo ?

Initialement publié par StarkWare le 11 Septembre 2023

Décryptage de Cairo VM, CASM, Cairo Zero, Cairo et Sierra.

Introduction

Pour permettre une mise à l'échelle sécurisée et décentralisée d’Ethereum, les Validity Rollups rendent la vérification des lots de transactions bien plus efficace que leur ré-exécution naïve. Des nœuds spécialisés (appelés séquenceurs) sur la couche 2 (L2) regroupent les transactions en nouveaux blocs L2, tandis que les nœuds principaux d'Ethereum confirment ces transactions avec un effort minimal.

Starknet est un Validity Rollup qui exploite Cairo VM, spécifiquement conçu pour optimiser l'efficacité des preuves de validité. Starknet utilise les STARKs (Scalable, Transparent ARgument of Knowledge) comme système de preuve, permettant la génération de preuves succinctes pour des calculs complexes, réduisant ainsi considérablement la complexité des processus de vérification sur la chaîne.

Dans cet article de blog, nous plongerons dans les différents composants qui font de Starknet le L2 le plus performant en termes de Transactions par seconde - Cairo VM, CASM, Cairo Zero, Cairo et Sierra.

Cairo VM

Créer des preuves de validité pour des programmes informatiques généraux nécessite une compréhension approfondie des principes mathématiques complexes qui sous-tendent les STARKs. Pour chaque calcul, il est crucial de construire une Représentation Algébrique Intermédiaire (AIR), qui comprend un ensemble de contraintes polynomiales représentant fidèlement le calcul donné. Initialement surnommé "CPU AIR", Cairo est un CPU virtuel et un AIR singulier, capable de décrire n'importe quel calcul avec le même AIR "générique". Cairo VM est intentionnellement conçu pour les systèmes de preuve de validité et n'est pas limité par les restrictions imposées par l'EVM (Ethereum virtual machine).

CairoVM vs EVM
CairoVM vs EVM

CASM

CASM (Cairo Assembly) est le code machine exécuté par la machine virtuelle Cairo. CASM est traduit en contraintes polynomiales qui garantissent l'exécution correcte d'un programme.

CASM est un élément clé de l'écosystème, car quelle que soit la demande que l'utilisateur envoie au séquenceur Starknet, ce qui est prouvé est l'exécution correcte de CASM.

Cairo Zero, une percée

Lancé en 2020, Cairo Zero a introduit le premier langage Turing-complet au monde pour créer des programmes prouvables par les preuves STARKs, révolutionnant le calcul vérifiable.

Les programmes Cairo Zero étaient compilés localement en CASM, puis envoyés au séquenceur Starknet. Bien que révolutionnaire, Cairo Zero présentait une courbe d'apprentissage abrupte en raison de sa nature de bas niveau et ne masquait pas complètement les primitives cryptographiques nécessaires pour prouver l'exécution du programme.

Cairo : Cairo Zero, en mieux

Cairo (maintenant en v2.1.1) surmonte les limitations de Cairo Zero, promettant une rédaction de contrat plus sûre et plus efficace. Cairo améliore considérablement l'expérience du développeur avec une syntaxe similaire à Rust et en masquant les limitations présentes dans Cairo Zero (par exemple, la mémoire à écriture unique). Cairo adopte des concepts de programmation modernes du monde de Rust, tels que les traits/implémentations, les génériques et la correspondance des énumérations, sans compromettre l'efficacité de génération de preuves apportée par CairoVM sous-jacent.

Sierra

Avec Cairo est arrivé Sierra. Sierra sert de représentation intermédiaire entre Cairo et CASM. Cette couche supplémentaire garantit que le code utilisateur reste prouvable dans tous les cas. Sierra se compile en "safe CASM", un sous-ensemble de CASM qui est garanti comme prouvable pour toutes les entrées. Cette couche intermédiaire entre le code utilisateur et le code prouvé est cruciale pour protéger le séquenceur Starknet des attaques de type déni de service (DOS) sous la forme de transactions non prouvables.

Un avantage peut être surprenant de Sierra est que, grâce à cette représentation intermédiaire simple, les séquenceurs Starknet pourraient fonctionner directement sur du matériel natif au lieu de passer par CairoVM. Pour illustrer la puissance des séquenceurs exécutants Sierra, considérez l'exemple suivant : on peut utiliser les informations de type de Sierra pour travailler avec des types natifs (par exemple, u32) au lieu de travailler dans le champ principal de CairoVM.

Conclusion

Cairo s'appuie sur les fondations posées par la CairoVM pour révolutionner le calcul vérifiable. Avec une syntaxe similaire à Rust et des fonctionnalités de langages de programmation modernes, Cairo améliore considérablement l'expérience des développeurs, simplifie la rédaction de contrats et réduit les risques de bugs. Cairo émerge comme un outil puissant qui stimule l'innovation décentralisée.

Subscribe to Starknet France
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.