

Depuis le lancement du mainnet de StarkNet fin 2021 et avec la poursuite de sa décentralisation, StarkNet s'est affirmé comme l'un des principaux acteurs de l'écosystème blockchain et des technologies ZK Rollup. La plateforme vise à accroître fortement la vitesse des transactions et à réduire drastiquement les coûts, tout en garantissant un environnement sécurisé et compatible avec Ethereum. StarkNet constitue ainsi l'une des solutions Layer 2 (L2) les plus en vue sur le marché.
Néanmoins, les développeurs souhaitant travailler sur cette chaîne doivent tenir compte d'une spécificité : StarkNet utilise principalement Cairo comme langage de programmation principal, contrairement à d'autres solutions ZK-Rollup telles que zkSync 2.0. Alors que zkSync permet de recompiler des smart contracts ou des applications Layer 1 écrites en Vyper ou Solidity vers Layer 2 sans modification du code source, StarkNet requiert une utilisation directe de Cairo.
Malgré la courbe d'apprentissage, Cairo affiche une adoption et une utilité remarquables. StarkNet indique que Cairo occupe la quatrième position en TVL (total value locked) parmi les langages de smart contract. Les applications développées avec Cairo ont permis plus de 300 millions de transactions, la création de 90 millions de NFT et des échanges totalisant 790 millions de dollars sur le réseau Ethereum. Ces chiffres illustrent les avantages et opportunités spécifiques offerts par Cairo, que nous détaillerons dans cet article.
Cairo est un langage de programmation de haut niveau conçu pour être accessible aux développeurs expérimentés sur des langages tels que Python et JavaScript. Dédié à la plateforme StarkNet, il intègre des fonctionnalités spécifiques permettant d'exploiter les atouts distinctifs de StarkNet.
Parmi ces atouts : une scalabilité exceptionnelle, bien supérieure à celle des solutions Layer 1 traditionnelles, et la possibilité d'effectuer des calculs complexes hors chaîne tout en maintenant des garanties cryptographiques. La philosophie de Cairo est de rendre la génération de preuves zero-knowledge accessible à un large public de développeurs, sans exigence d'expertise approfondie en cryptographie, permettant ainsi de se concentrer sur la logique applicative tandis que le système de preuve STARK gère la sécurité computationnelle et l'intégrité.
Première architecture universelle Von Neumann STARK déployée sur le mainnet Ethereum, Cairo marque une avancée technique majeure et est souvent qualifié de MVL (minimum viable language) pour les systèmes STARK. L'approche Von Neumann assure à Cairo une grande flexibilité grâce au partage de la mémoire entre instructions et données, permettant un ajustement dynamique selon les besoins de chaque tâche computationnelle.
Ce choix contraste avec l'architecture Harvard, structure opposée de Cairo, qui sépare la mémoire des données et des instructions, limitant ainsi la flexibilité. Dans l'architecture Harvard, la mémoire dédiée aux données et aux instructions est fixe et ne peut être réallouée selon les besoins de calcul.
L'approche Von Neumann permet à Cairo une utilisation optimisée de la mémoire, essentielle pour générer des preuves STARK où les exigences computationnelles varient selon la complexité des opérations à vérifier. Cette flexibilité se traduit par une allocation dynamique des ressources et une génération de preuves plus efficace.
Cairo applique le « principe de Goldilocks » pour offrir un équilibre optimal entre expressivité du code et efficacité du STARK prover. Ce principe, inspiré du conte où l'on recherche le juste milieu, vise à éviter excès et insuffisance.
D'un côté, Cairo est « not-too-hot » grâce à une liste de registres réduite au strict minimum : Program Counter (PC), pointeur d'allocation et frame pointer. Son jeu d'instructions minimal permet d'effectuer des opérations bas niveau très efficacement, ce qui réduit la consommation mémoire et accélère la génération des preuves.
De l'autre, Cairo est aussi « not-too-cold », proposant suffisamment de fonctionnalités de haut niveau pour le développement d'applications pratiques : fonctions, récursions, accès mémoire aléatoire et contrôle de flux sophistiqué. Ce juste équilibre garantit l'efficacité sans sacrifier l'expressivité nécessaire à la création d'applications décentralisées complexes.
Cairo est prêt pour la production : un écosystème d'outils complet et mature soutient le développement (compilateur, machine virtuelle, tracer de débogage, extensions IDE, exemples applicatifs). Toute DApp souhaitant utiliser l'infrastructure de StarkNet doit être écrite en Cairo, rendant cet ensemble d'outils indispensable à l'adoption et à la productivité des développeurs.
La principale force de Cairo en tant que langage de programmation réside dans son approche de l'intégrité computationnelle (CI) : garantir qu'un calcul est correctement exécuté via différents mécanismes.
Les systèmes traditionnels reposent souvent sur la réputation et une responsabilité déléguée (cas des grands établissements financiers), ou sur des preuves de fraude comme dans les Optimistic Rollups, où des « périodes de challenge » sont ouvertes pour permettre la contestation de transactions suspectes : les validateurs peuvent alors prouver qu'une transaction a été mal exécutée et déclencher une résolution de litige.
Cairo adopte une approche radicalement différente, générant des preuves d'intégrité computationnelle par des preuves cryptographiques STARK (Scalable Transparent ARgument of Knowledge) : un prover produit une preuve mathématique consolidant et vérifiant la validité de multiples transactions, transmise à un verifier qui peut attester efficacement de la validité du calcul.
L'avantage de cette méthode cryptographique : une certitude mathématique sans dépendance aux incitations économiques ou à la confiance. Le verifier peut s'assurer de la bonne exécution sans devoir rejouer le calcul. Cette propriété permet à StarkNet d'être scalable tout en offrant des garanties de sécurité équivalentes à celles du layer de base Ethereum.
Début 2023, Eli Ben-Sasson, cofondateur de StarkWare, annonçait la « re-genesis » de Cairo sur StarkNet, baptisée Cairo 1.0. Cette évolution majeure réinvente le langage pour l'aligner sur Rust, référence des langages de programmation système. L'objectif : permettre aux développeurs maîtrisant les paradigmes modernes de concevoir plus facilement des applications décentralisées sur le Layer 2 Ethereum de StarkNet.
Cairo 1.0 apporte de nombreuses améliorations : syntaxe et constructions affinées, système de types robuste pour repérer les erreurs à la compilation, bibliothèques intégrées, génération de code optimisée, et obligation de spécifier explicitement les types pour renforcer la sécurité et la maintenabilité du code.
Parmi les nouveautés majeures : l'arrivée de Sierra (« Safe Intermediate Representation »), couche intermédiaire entre le code source Cairo 1.0 et le bytecode. Elle facilite les mises à jour, prévient certaines vulnérabilités et optimise la compilation.
Grâce à cette mise à jour, l'équipe StarkNet prévoit une adoption accrue de Cairo par la communauté des développeurs généralistes, stimulant l'innovation sur la plateforme et la diversité des applications. La courbe d'apprentissage réduite et l'expérience développeur améliorée devraient accélérer la croissance de l'écosystème.
Les développeurs peuvent désormais écrire, compiler et tester des programmes avec Cairo 1.0 en utilisant les outils et la documentation disponibles. Cairo 1.0 évolue en continu avec de nouvelles fonctionnalités et optimisations. Pour se tenir informé, il suffit de consulter le dépôt officiel Cairo, point central de la communauté et du développement du langage.
StarkNet est une solution Layer 2 pour Ethereum reposant sur la technologie ZK-Rollups. Contrairement à d'autres Layer 2, StarkNet met l'accent sur les preuves à divulgation nulle de connaissance pour une confidentialité et une efficacité computationnelle accrues, tout en restant pleinement compatible avec Ethereum.
Cairo est le langage bas niveau de StarkNet, reconnu pour sa syntaxe concise et son efficacité. Pour commencer, il est recommandé de consulter la documentation officielle et les tutoriels vidéo afin de maîtriser ses concepts clés et le workflow de développement.
Rédigez vos smart contracts en Cairo, compilez-les, puis déployez-les via les outils CLI ou SDK de StarkNet pour une intégration directe sur le réseau.
StarkNet utilise les preuves à divulgation nulle de connaissance pour améliorer la scalabilité et le débit des transactions tout en assurant sécurité et confidentialité. Cette approche permet des calculs hors chaîne optimisés, vérifiés sur chaîne, pour des coûts réduits et un traitement accéléré sans compromettre la décentralisation.
StarkNet abaisse les coûts de transaction d'environ 95 % par rapport au mainnet Ethereum et accroît nettement la vitesse et la capacité de traitement pour une exécution plus efficiente.
Cairo, conçu pour StarkNet, offre une scalabilité supérieure grâce aux proofs de validité et supporte les hash maps en mémoire, contrairement à Solidity. Il propose de meilleures performances pour les calculs complexes et une syntaxe optimisée pour la vérification zero-knowledge, là où Solidity est centré sur Ethereum.
Installez Python et Rust, clonez le dépôt Protostar, configurez vos variables d'environnement et lancez les scripts d'installation pour initialiser un nœud StarkNet local.
L'écosystème StarkNet réunit 105 projets en développement, dont des solutions DeFi, des outils, GameFi et NFT. Plusieurs applications DeFi et NFT sont déjà opérationnelles sur le réseau.











