BitVM : tout comprendre à la prochaine révolution de Bitcoin
La révolution BitVM – Depuis sa naissance en janvier 2009, le réseau Bitcoin a grandement évolué. Néanmoins, la communauté a rapidement décidé de s’orienter vers un modèle de protocole dit ossifié. En pratique, cela signifie que les évolutions et possibilités du protocole sont limitées afin de prioriser sa sécurité.
En effet, plus un protocole dispose de fonctionnalités, plus il peut être sujet aux failles. Toutefois, une nouvelle proposition émanant du développeur Robin Linus, via BitVM pourrait bien démultiplier les possibilités sur Bitcoin sans affecter sa sécurité.
Bitcoin : un protocole ossifié
Comme nous venons de le voir, le protocole Bitcoin limite volontairement les fonctionnalités pour prioriser sa sécurité. Par conséquent, Bitcoin a longtemps été limité à son usage monétaire simple, contrairement à des réseaux plus complexes tels qu’Ethereum.
Mais alors qu’est-ce qui limite réellement les capacités de Bitcoin ? Sous le capot, Bitcoin utilise un langage de programmation appelé Script pour exprimer les conditions de dépense des fonds. Script est intentionnellement non Turing-complet. Cela signifie qu’il ne peut pas exprimer tous les programmes possibles, contrairement à des langages comme Solidity sur Ethereum.
Cette caractéristique a été choisie pour éviter des boucles infinies et d’autres comportements indésirables qui pourraient perturber le réseau.
Bien que Script permette des conditions de dépense comme les multisig (transactions nécessitant plusieurs signatures), il est limité dans sa capacité à réaliser des opérations complexes.
En particulier, certaines opérations arithmétiques, comme la multiplication, sont désactivées. Cette simplicité est à la fois une force. En effet, elle réduit les angles d’attaque. Cependant, c’est aussi une limitation, car elle empêche la création de contrats intelligents complexes comme ceux que l’on trouve sur Ethereum.
>> Vous êtes plus rugby que AI ? Composez votre dream team avec OVAL3 (lien commercial) <<
2023 : l’année des changements pour Bitcoin
Toutefois, les choses ont drastiquement changé depuis le début de l’année. Mais avant cela, il convient de revenir à novembre 2021 et le déploiement de Taproot sur Bitcoin.
Dans les faits, Taproot a introduit les arbres syntaxiques abstraits merkélisés (MAST). Une des propriétés des MAST est de permettre l’exécution de scripts plus complexes.
De surcroît, Taproot a également permis une meilleure optimisation de l’utilisation de l’espace sur la blockchain. Une composante de taille pour toutes les solutions qui voudraient utiliser Bitcoin comme settlement layer.
Il aura cependant fallu attendre début 2023 pour voir se multiplier les initiatives tirant parti des fonctionnalités apportées par Taproot. Dans un premier temps, nous avons été témoin de l’apparition d’Ordinals, un protocole qui permet la création de NFT sur Bitcoin.
Par la suite, cela a permis l’apparition du standard de jeton BRC-20, ouvrant la voie à la création de jetons sur Bitcoin.
Finalement, le 9 octobre le développeur Robin Linus a dévoilé une nouvelle application qui pourrait s’avérer révolutionnaire.
Intitulée BitVM, la solution est présentée à la communauté dans un whitepaper concis, à l’image de celui de Bitcoin.
Pour faire simple, BitVM est un paradigme de calcul permettant la création de contrats Turing-complets sur Bitcoin. Il a la particularité de ne nécessiter aucune modification sur le protocole et peut ainsi être développé et déployé sans soft fork.
Qu’est-ce que BitVM ?
Comme nous l’avons brièvement vu, BitVM peut être une avancée majeure pour Bitcoin. Ce nouveau paradigme de calcul permettrait de décupler les possibilités de Bitcoin et du langage Script.
La beauté de BitVM réside dans le fait qu’il permet des contrats et des applications Turing-complets sans nécessiter de modifications du protocole Bitcoin. En d’autres termes, il n’y a pas besoin d’un soft ou hard fork pour le mettre en œuvre.
BitVM permet ainsi l’expression, l’exécution et la vérification de n’importe quel type de contrat ou d’application. Et ce, quel que soit leur degré de complexité. Son approche repose sur la vérification hors chaîne des calculs, ce qui permet de ne pas surcharger la blockchain Bitcoin tout en garantissant la véracité et la sécurité des transactions.
« BitVM crée un nouvel espace de conception pour des contrats Bitcoin plus expressifs et pour des calculs hors chaîne. De plus, il permet la vérification des preuves de validité dans les contrats Bitcoin. »
Comment ça marche ?
Pour réaliser la prouesse d’ajouter de nouvelles fonctionnalités complexes à Bitcoin, BitVM se base sur une computation off-chain. De plus, BitVM prend le parti de la validation plutôt de l’exécution.
Calcul hors-chaine
Traditionnellement, la validité d’un contrat ou d’une transaction est obtenue en exécutant le script associé directement sur la blockchain. Une solution coûteuse en temps et en ressources, qui du fait de la nature de Bitcoin, ne permettrait pas d’exécutions complexes.
BitVM contourne ce problème en déportant l’utilisation de ressources hors-chaîne. Au lieu d’exécuter le calcul on-chain, BitVM va vérifier off-chain la réalisation de ce calcul, allégeant la charge sur la blockchain.
Une fois les calculs off-chain vérifiés, une preuve est publiée on-chain. Cependant, leur véracité doit également être éprouvable on-chain.
Le rôle du prouveur et du vérificateur
BitVM introduit deux entités principales pour assurer la validité des transactions : le prouveur et le vérificateur.
- Le prouveur : Cette entité effectue un calcul hors de la chaîne et produit une affirmation sur le résultat. Cette affirmation est ensuite publiée sur la blockchain pour que tout le monde puisse la vérifier. Le prouveur s’engage à fournir une preuve de l’exactitude de son affirmation en cas de contestation.
- Le vérificateur : Son rôle est de surveiller et de vérifier les affirmations publiées par les prouveurs. Si un vérificateur détecte une affirmation incorrecte, il peut publier une preuve de fraude, qui annule l’affirmation du prouveur.
Cette approche garantit que, même si un prouveur essaie de tricher, il sera rapidement détecté par les vérificateurs. De plus, grâce à l’utilisation de preuves cryptographiques, même si un seul vérificateur vérifie une affirmation, cela suffit pour garantir la validité de l’affirmation à l’ensemble du réseau.
Circuits et preuves
BitVM utilise ce que l’on appelle des « circuits » pour décrire des calculs. En cryptographie, un circuit est une représentation structurée d’un calcul sous forme de réseau d’opérations élémentaires. Plutôt que de penser à un programme comme une séquence d’instructions exécutées les unes après les autres, un circuit représente le calcul sous forme de graphe, où les entrées traversent une série de portes logiques (comme ET, OU, NOT) pour produire une sortie.
BitVM utilise ces circuits pour décrire les calculs de manière à ce qu’ils soient compatibles avec les preuves cryptographiques. Lorsqu’un prouveur veut faire une affirmation, il utilise un circuit approprié pour produire une preuve que le calcul a été effectué correctement.
La preuve est ensuite vérifiée par le contrat BitVM sur la blockchain. Cette vérification ne nécessite pas la réexécution du calcul original, mais seulement la vérification de la preuve, ce qui est beaucoup plus efficace.
BitVM : un optimistic rollup pour Bitcoin
Ce mécanisme vous rappellera peut-être le fonctionnement des optimistic rollups.
En effet, dans les deux cas l’idée centrale est de traiter un maximum d’opérations hors chaîne, et d’utiliser la blockchain comme source de vérification puis de vérité.
Toutefois, alors que les optimistic rollups ont pour principale mission d’augmenter la scalabilité, BitVM quant à lui vise uniquement à étendre les capacités de programmation de Bitcoin.
Néanmoins, comme souligné par Robin Linus, BitVM n’est qu’une première ébauche de l’implémentation de ce type de système sur Bitcoin. Par conséquent, il existe des modèles plus efficaces, en fonction de l’application souhaitée.
« Le modèle est conçu pour illustrer simplement le fait que cette approche permet des calculs universels sur Bitcoin. Pour les applications pratiques, nous devrions envisager des modèles plus efficaces. »
Quelles applications pour BitVM ?
Tout ça, c’est bien beau, mais concrètement, qu’est-ce que BitVM peut apporter ? Hé bien, une multitude d’applications.
Rollups et layers 2
La plus logique et potentiellement la plus intéressante serait la création de layers 2 et autres rollups sur Bitcoin.
Vous l’aurez compris, BitVM permet par essence la création de rollups pour Bitcoin, où les transactions sont exécutées hors chaîne et les preuves soumises et vérifiées on-chain. Cela permettrait comme sur Ethereum d’augmenter le débit de transaction de la blockchain Bitcoin.
Néanmoins, quand on pense rollups d’Ethereum, on pense DeFi. En pratique, que ce se soit sur Ethereum ou ses layers 2, la DeFi est possible grâce à l’EVM.
Pour rappel, l’EVM (Ethereum Virtual Machine) est l’environnement de runtime décentralisé d’Ethereum qui exécute les contrats intelligents à l’aide d’un langage d’instructions basé sur un ensemble d’opérations prédéfinies.
Toutefois, cela n’est pas impossible. En effet, BitVM permet la création de contrats Turing-complet sur Bitcoin. Intégrer une EVM nécessiterait probablement une couche supplémentaire, où celle-ci gère l’exécution des contrats intelligents et où BitVM peut être utilisé pour soumettre et vérifier les preuves d’exécution sur la blockchain Bitcoin.
Un tel système permettrait la création d’un rollup permettant des applications DeFi complexes, tout en étant sécurisé par Bitcoin.
Covenants : des ponts vers des sidechains
Dans la foulée de la publication du whitepaper de BitVM, l’internaute Super_testnet a présenté son projet basé sur les logiques de BitVM.
En pratique, celui-ci vise à créer une sorte de pont sécurisé entre Bitcoin et une sidechain. Pour cela, il utilise un type de transaction appelé Covenants. Celle-ci permet de garantir le respect d’un engagement entre deux parties d’une transaction.
Ainsi, Super_testnet propose de créer un pont bidirectionnel entre Bitcoin et une sidechain. Lorsqu’un utilisateur souhaite transférer des bitcoins de Bitcoin vers la sidechain, il gèle les fonds sur Bitcoin et reçoit le même montant sur la sidechain. Lors du processus inverse, l’utilisateur doit brûler les jetons sur la sidechain pour récupérer l’équivalent du montant en BTC sur Bitcoin.
« Comment faire des sidechains avec BitVM : Créer un circuit qui oblige Prover à envoyer 1 btc à Verifier si Verifier prouve qu’il a brûlé 1 “btc sidechain”. Prover et Verifier doivent tous deux le faire dans les 3 mois suivant le peg-in. Maintenant Verifier peut se retirer en prenant les fonds de Prover si nécessaire. »
Lors de ce processus, BitVM est utilisé pour garantir la validité des transactions et pour assurer que les fonds sont bien verrouillés et déverrouillés lorsque nécessaire. De plus, le Covenant permet, par exemple, de définir un accord, si l’une des parties ne publie pas de preuve qu’il a bien honoré sa part du contrat, l’autre partie est en mesure, via BitVM de forcer l’autre partie à tenir son engagement.
Conclusion
Vous l’aurez compris, BitVM pourrait transformer Bitcoin et décupler ses possibilités. De plus, BitVM ouvre la voie du calcul hors chaîne avec preuve de validité. Une solution qui a déjà fait ses preuves sur Ethereum, et qui pourrait à terme ouvrir les portes de Bitcoin à la DeFi.
Avant cela, il va falloir prendre son mal en patience pour laisser le temps aux développeurs de proposer des implémentations efficaces de ce système. Certaine, comme celle présentée par Super_testnet pourrait arriver dans les mois à venir.
Quoi qu’il en soit, 2023 continue d’être une année excitante pour le réseau Bitcoin. Apportant à la fois son lot d’innovation et de débat au sein de la communauté.
Pas le temps pour les cryptos, vous préférez la coupe du monde de rugby ? Pour la 3ᵉ mi-temps, découvrez le rugby fantasy et les cartes NFT d’OVAL3. Composez votre équipe et mesurez-vous aux joueurs du monde entier pour des récompenses bien réelles. Prêts à chausser les crampons du Web3 ? (lien commercial).