Des ZK-rollups sur Bitcoin ? Citrea dévoile sa solution
Depuis plusieurs mois, le réseau Bitcoin est au cœur de l’attention. En effet, les Ordinals puis les BRC-20 ont ouvert un nouveau champ des possibles sur la blockchain reine. En parallèle, des solutions telles que BitVM tirent parti de ces innovations pour permettre la création de smart contracts plus complexes sur Bitcoin. Désormais, les premières applications de BitVM voient le jour. Notamment sous la forme de Citrea un zk-rollup évoluant en parallèle de Bitcoin.
Citrea : le premier zk-rollup de Bitcoin
Mardi 6 février, les équipes du projet Citrea ont fait une annonce de taille. Ainsi, elles ont dévoilé l’un, si ce n’est le premier zk-rollup de Bitcoin. En pratique, ce zk-rollup a pour but d’améliorer la scalabilité de Bitcoin en déportant une partie des transactions hors chaîne. Un schéma que l’on a déjà l’habitude d’observer sur d’autres blockchains telles qu’Ethereum.
Pour rappel, un zk-rollup est une solution de seconde couche qui permet de traiter un grand nombre de transactions hors de la chaîne principale. Le tout en garantissant leur sécurité et leur validité. Pour cela, ces rollups utilisent des preuves de connaissance nulle (zero-knowledge proof). Il s’agit d’une méthode cryptographique qui permet de prouver qu’une information est vraie sans avoir à la révéler. Dans le cas de Citrea, cela signifie que les transactions peuvent être traitées de manière plus efficace et à moindre coût. Cela, tout en bénéficiant de la sécurité et de la décentralisation de la blockchain Bitcoin.
En pratique, pour hériter de la sécurité de Bitcoin, Citrea utilise des zk-knowledge proof. Celles-ci assurent la vérifiabilité et la disponibilité des données sur Bitcoin.
Pour l’instant, le projet Citrea en est encore à la phase de développement et de test. Ainsi, le projet fait l’objet d’un Devnet interne afin de tester intensivement l’ensemble des fonctionnalités. En pratique, ce Devnet utilise un BTC natif synthétique pour les intégrations et les tests d’infrastructure critiques.
À termes, Citrea a pour objectif d’utiliser des BTC natifs via un pont bidirectionnel à confiance minimale basé sur BitVM. Néanmoins, celui-ci est encore en cours de développement.
Un testnet public de l’ensemble de la solution devrait ouvrir ses portes dans les mois à venir, pour permettre aux utilisateurs de tester la solution.
Comment fonctionne Citrea ?
À l’instar des rollups sur Ethereum, Citrea va traiter les transactions hors-chaîne. De plus, elle assure leur validité en publiant une preuve de validité succincte sur Bitcoin.
En pratique, le rollup va regrouper des milliers de transactions et les traiter dans une zkVM. Pour rappel, une zkVM est une machine virtuelle qui supporte les preuves zero-knowledges. Une fois l’exécution des transactions finalisées, le système va produire et publier une preuve de validité. Celle-ci atteste à la fois de la justesse de l’exécution ainsi que des données nécessaires au calcul de l’état du rollup.
« Pour la première fois dans l’histoire de Bitcoin, les preuves de validité de Citrea sont inscrites et vérifiées nativement dans la blockchain Bitcoin. Citrea est livré avec un contrat intelligent de vérification de la preuve ZK sur Bitcoin L1, construit dans BitVM. »
Du côté de la machine virtuelle, à savoir l’environnement qui va exécuter les transactions sur le rollup, Citrea a fait le choix de l’équivalence-EVM.
L’objectif à terme étant de proposer une machine virtuelle qui présente une équivalence complète à l’Ethereum Virtual Machine (EVM). Cela permettra aux développeurs d’applications décentralisées de facilement déployer leurs dapps sur le L2, sans y apporter de modifications majeures.
En pratique, Citrea embarque une zkEVM de type 2, totalement équivalent à l’EVM, construit sur RISC Zero. Toutefois, le rollup n’est pas limité à une seule VM. Celui-ci pourra adopter de nouvelles VM telles que WASM à l’avenir grâce à son architecture modulaire.
Citrea et BitVM : Une alliance puissante
Pour fonctionner, Citrea se base sur un smart contract déployé sur le L1 de Bitcoin. Celui-ci a pour mission de vérifier les preuves ZK de manière native sur Bitcoin. Sous le capot, ce contrat est basé sur la solution BitVM.
« Contrairement aux sidechains monolithiques, Citrea crée un monde modulaire pour Bitcoin avec son shard d’exécution qui maintient le règlement et la disponibilité des données sur la chaîne, sur Bitcoin. »
Le cas des sidechains
Jusqu’à présent, les solutions de seconde couche de Bitcoin reposaient sur l’hypothèse de la majorité honnête d’une multi-signature. C’est notamment le cas de sidechains telles que Liquid. En effet, ces sidechains sont des blockchains qui évoluent en parallèle de Bitcoin et qui sont connectées via un pont.
En pratique, ce pont va prendre les BTC déposés par l’utilisateur, les bloquer et émettre le même montant d’actif synthétique sur la sidechain. Toutefois, ce mécanisme n’est pas décentralisé et nécessite de faire confiance à la Liquid Federation, qui contrôle l’adresse du pont. De surcroît, la validité et les données relatives aux transactions qui sont effectuées sur la sidechain ne sont jamais publiées ou vérifiées sur Bitcoin. Par conséquent, celles-ci n’héritent pas de la sécurité de Bitcoin.
L’approche de Citrea
« Avec Citrea, les preuves de validité sont vérifiées dans Bitcoin en utilisant le paradigme BitVM. BitVM est basé sur des preuves de fraude, ce qui signifie que les preuves ZK de Citrea sont vérifiées de manière optimiste sur le réseau Bitcoin. À l’avenir, un opcode de vérification des preuves ZK permettrait de mettre en place un mécanisme d’échange bidirectionnel sans aucune confiance. »
Toutefois, le contrat de vérification publié par Citrea sur Bitcoin reste un point de défaillance unique qu’il sera nécessaire de décentraliser à l’avenir.
Citrea vient ainsi rejoindre la liste grandissante des solutions de rollups sur Bitcoin. En octobre dernier, le projet ChainWay avait, lui aussi, dévoilé ses travaux concernant la création d’un zk-rollup sur Bitcoin.