Cryptomonnaies : le rôle décisif des « rollups » à l’avenir
- Le rollup utilise une technique cryptographique nommée arbre de Merkle : en une seule transaction, il permet d’engager et de confirmer des milliers d’autres.
- Seulement, cette technique ne peut fonctionner sur toutes les cryptomonnaies, comme Ethereum qui n’accepte pas plus de 12 transactions par seconde.
- Cette limite d’utilisation fait exploser les frais et rend ce type de blockchain moins attractive.
- Automatiser les systèmes de transactions pose néanmoins des questions de sécurité : il faut s’assurer que l’opérateur des rollups soit régulé.
- L’objectif est de réduire le nombre d’informations par transaction et repousser au maximum la preuve de validité vers des mécanismes cryptographiques.
Le monde de la blockchain et celui des cryptoactifs sont en pleine ébullition. En effet, il suffit de voir la faillite retentissante du marché FTX ou encore la mise à jour récente d’Ethereum – la plus importante dans la jeune histoire de la cryptomonnaie – pour le comprendre. Néanmoins, même si ces actualités font beaucoup de bruit, d’autres évolutions sont en cours dans le monde des cryptoactifs… Plus discrètes certes, mais pas moins influentes sur le long terme. Parmi celles-ci, les « rollups » : une nouvelle technique que les chercheurs identifient comme étant décisive pour le futur de la cryptomonnaie.
Revenons aux bases…
Afin de mieux cerner l’importance de ces techniques, rappelons que la blockchain est un système de registre indestructible que tout le monde peut consulter à sa guise. De plus, tout un chacun peut écrire dessus, ce qui fait de la blockchain un système en constante évolution. Elle gagnerait néanmoins à devenir plus rapide, moins coûteuse et plus soucieuse de l’environnement, ce qui constitue une des promesses de transformations futures dans ce secteur. D’autant plus que ces améliorations se font de plus en plus pressantes dès lors que la blockchain se démocratise dans tous les secteurs : sport, commerce ou encore culture.
Cependant, ce n’est pas aussi simple qu’il n’y parait : les obstacles sont nombreux. Et c’est principalement dû au fait que ces orientations prometteuses doivent préserver les trois piliers de la blockchain : la sécurité (le réseau doit pouvoir valider l’authenticité des transactions) ; la décentralisation (il doit être suffisamment autonome pour ne pas être assujetti à un organe central) ; et la scalabilité ( c’est-à-dire sa capacité à traiter un nombre de transactions données). Cette scalabilité est la clé de voûte des recherches actuelles, notamment cryptographiques. Par exemple, le Bitcoin ne peut traiter que sept transactions par seconde contre 24 000 pour le système VISA. On comprend dès lors que la simple validation d’un banal achat peut devenir une difficulté en cas de transactions massives sur le réseau.
Afin de répondre en partie à ces enjeux, deux notions importantes liées à la cryptographie se sont imposées dans le champ des cryptomonnaies : le rollup et le zero knowledge.
Le rollup, qu’est ce que c’est ?
Le mécanisme du rollup utilise une technique cryptographique qui s’appelle un arbre de Merkle (ou arbre de hachage). Le hachage transforme n’importe quel input – un texte ou une image, par exemple – en une chaîne d’octets dont la longueur et la structure sont fixes. En une seule courte transaction, cet arbre de Merkle permet concrètement d’engager et de confirmer non pas une, mais des milliers de transactions avec elle – chose qui n’était pas possible auparavant.
Pour mieux comprendre le rôle décisif du rollup, nous avons besoin d’une autre notion essentielle : l’entête de bloc. Ce bloc, celui présent dans le terme blockchain, désigne ces liens où sont stockées chronologiquement les transactions successives effectuées entre utilisateurs depuis la création de la blockchain, chacun des blocs et leur séquence étant protégés contre toute modification.
Le cas du Bitcoin
Même au sein de la cryptomonnaie la plus connue, le Bitcoin, il existe une notion d’entête de bloc et de contenu de bloc. Cet entête ne contient que la racine de l’arbre de Merkle, au contraire du bloc qui contient toutes les transactions. Ce mécanisme permet par exemple de concevoir des applications légères afin de pouvoir gérer les cryptoactifs sur des smartphones. Ces programmes applicatifs n’utilisent, en cas de paiement avec des bitcoins par exemple, que les entêtes des blocs, car ils ne pèsent que quelques mégaoctets chacun, et n’embarquent pas la blockchain tout entière, ce qui serait impossible à gérer techniquement.
Il est possible de valider des milliers de transactions dont on peut ensuite prouver qu’elles ont bien été engagées. Et tout cela à faible coût.
Ces entêtes sont générés par du hachage cryptographique et validés par ce qu’on appelle une preuve de travail (ou Proof of Work). Il s’agit du principal mécanisme de consensus des blockchains. Le mécanisme des rollups offre la même sécurité que la preuve de travail des bitcoins, mais en réalité, l’utilisateur n’a affaire qu’à des entêtes et ne voit pas l’intégralité des transactions contenues dans les arbres de Merkle. Ici, avec très peu d’informations, il est possible de valider des milliers de transactions dont on peut ensuite prouver qu’elles ont bien été engagées. Et tout cela à faible coût.
Le cas de l’Ethereum
Cette notion de rollup, on la retrouve sur d’autres blockchains qui embarquent un opérateur : les fameux smart contracts, et en premier lieu l’Ethereum. Cette cryptomonnaie fait face à une demande d’utilisateurs de plus en plus croissante. De fait, la vitesse de traitement des transactions baisse, alors que les frais de transaction augmentent inexorablement.
Au sein de l’Ethereum, les smart contracts sont des programmes enregistrés dans la blockchain et que chaque transaction actionne automatiquement. Ils garantissent l’intégrité, la validité et l’inviolabilité des transactions, si et seulement si toutes les conditions sont remplies. L’ensemble du processus est automatisé. Mais ces smart contracts exécutés à chaque transaction ralentissent également le système de validation.
L’idée d’intégrer du rollup dans Ethereum relève de la même idée que pour le Bitcoin : libérer de la bande passante. L’opérateur de rollups, qui est en réalité en dehors de la chaîne de blocs, met régulièrement à jour la racine de l’arbre de Merkle dans une unique transaction déposée sur la blockchain principale.
Ce mécanisme cryptographique permet, en très peu d’informations, de fournir plus tard des preuves que des transactions ont bien été effectuées, de prouver leur existence dans le futur. En une seule opération, on peut ainsi faire passer 1 000 ou 10 000 transactions. Or, Ethereum accepte aujourd’hui seulement 12 transactions par seconde, ce qui fait exploser les frais de transaction et rend cette blockchain de moins en moins attractive.
Une question de sécurité
Ce mécanisme soulève un défi majeur, celui de la sécurité, car il faut s’assurer que l’opérateur de rollups ne fasse pas n’importe quoi. Ce procédé lui permet dans les faits de placer sur la blockchain un hash qui ne permet pas de valider immédiatement une transaction engagée. Or, la blockchain doit être capable de certifier le hash. À partir de là, deux philosophies se dégagent. Il y a les rollups dit optimistes d’un côté et les rollups appelés un peu abusivement « zero knowledge » (ZK) rollups de l’autre.
Côté rollups optimistes, on parle de preuves de fraude émises par des agents, généralement des programmes, qui observent la blockchain et les transactions des utilisateurs. Si le hash placé par un opérateur est frauduleux par rapport aux règles applicatives, l’opérateur est puni et l’observateur est récompensé. Tout cela se passe sur une fenêtre temporelle assez longue de plusieurs jours. Ce processus hors chaîne est qualifié d’optimiste parce que tout ce qu’on espère, c’est que ce mécanisme d’alerte ne se déclenche pas.
L’autre famille, les ZK rollups, fonctionne différemment. À chaque fois que l’opérateur de rollups place la racine de l’arbre de Merkle sur la blockchain, il dépose également une preuve, au sens cryptographique du terme, que tout est correct. Ce procédé fait appel à un concept majeur de la cryptographie baptisé les SNARK et qui prouve qu’un calcul s’est exécuté correctement. Surtout, cette preuve est très courte même si le calcul est très long. Si ce dernier comporte 100 millions d’opérations, elle ne pèse que quelques centaines d’octets au maximum. C’est un peu miraculeux.
Ces deux technologies, les rollups optimistes et les ZK rollups, relèvent de la même philosophie : réduire le nombre d’informations par transaction et repousser au maximum la preuve de validité vers des mécanismes cryptographiques.