Accueil / Chroniques / Cryptomonnaies : le rôle décisif des « rollups » à l’avenir
tribune04_-Julien-Prat_FR copy
π Économie π Numérique

Cryptomonnaies : le rôle décisif des « rollups » à l’avenir

AUGOT_Daniel
Daniel Augot
directeur de recherche à l'Inria et responsable de la chaire Blockchain
En bref
  • 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 blo­ck­chain et celui des cryp­toac­tifs sont en pleine ébul­li­tion. En effet, il suf­fit de voir la faillite reten­tis­sante du mar­ché FTX ou encore la mise à jour récente d’Ethereum – la plus impor­tante dans la jeune his­toire de la cryp­to­mon­naie – pour le com­prendre. Néan­moins, même si ces actua­li­tés font beau­coup de bruit, d’autres évo­lu­tions sont en cours dans le monde des cryp­toac­tifs… Plus dis­crètes certes, mais pas moins influentes sur le long terme. Par­mi celles-ci, les « rol­lups » : une nou­velle tech­nique que les cher­cheurs iden­ti­fient comme étant déci­sive pour le futur de la cryptomonnaie. 

Revenons aux bases

Afin de mieux cer­ner l’importance de ces tech­niques, rap­pe­lons que la blo­ck­chain est un sys­tème de registre indes­truc­tible que tout le monde peut consul­ter à sa guise. De plus, tout un cha­cun peut écrire des­sus, ce qui fait de la blo­ck­chain un sys­tème en constante évo­lu­tion. Elle gagne­rait néan­moins à deve­nir plus rapide, moins coû­teuse et plus sou­cieuse de l’environnement, ce qui consti­tue une des pro­messes de trans­for­ma­tions futures dans ce sec­teur. D’autant plus que ces amé­lio­ra­tions se font de plus en plus pres­santes dès lors que la blo­ck­chain se démo­cra­tise dans tous les sec­teurs : sport, com­merce ou encore culture. 

Cepen­dant, ce n’est pas aus­si simple qu’il n’y parait : les obs­tacles sont nom­breux. Et c’est prin­ci­pa­le­ment dû au fait que ces orien­ta­tions pro­met­teuses doivent pré­ser­ver les trois piliers de la blo­ck­chain : la sécu­ri­té (le réseau doit pou­voir vali­der l’authenticité des tran­sac­tions) ; la décen­tra­li­sa­tion (il doit être suf­fi­sam­ment auto­nome pour ne pas être assu­jet­ti à un organe cen­tral) ; et la sca­la­bi­li­té ( c’est-à-dire sa capa­ci­té à trai­ter un nombre de tran­sac­tions don­nées). Cette sca­la­bi­li­té est la clé de voûte des recherches actuelles, notam­ment cryp­to­gra­phiques. Par exemple, le Bit­coin ne peut trai­ter que sept tran­sac­tions par seconde contre 24 000 pour le sys­tème VISA. On com­prend dès lors que la simple vali­da­tion d’un banal achat peut deve­nir une dif­fi­cul­té en cas de tran­sac­tions mas­sives sur le réseau.

Afin de répondre en par­tie à ces enjeux, deux notions impor­tantes liées à la cryp­to­gra­phie se sont impo­sées dans le champ des cryp­to­mon­naies : le rol­lup et le zero know­ledge

Le rollup, qu’est ce que c’est ? 

Le méca­nisme du rol­lup uti­lise une tech­nique cryp­to­gra­phique qui s’ap­pelle un arbre de Merkle (ou arbre de hachage). Le hachage trans­forme n’importe quel input – un texte ou une image, par exemple –­ en une chaîne d’octets dont la lon­gueur et la struc­ture sont fixes. En une seule courte tran­sac­tion, cet arbre de Merkle per­met concrè­te­ment d’engager et de confir­mer non pas une, mais des mil­liers de tran­sac­tions avec elle – chose qui n’était pas pos­sible auparavant. 

Merkle Tree, (CC0 : Aza­ghal).

Pour mieux com­prendre le rôle déci­sif du rol­lup, nous avons besoin d’une autre notion essen­tielle : l’entête de bloc. Ce bloc, celui pré­sent dans le terme blo­ck­chain, désigne ces liens où sont sto­ckées chro­no­lo­gi­que­ment les tran­sac­tions suc­ces­sives effec­tuées entre uti­li­sa­teurs depuis la créa­tion de la blo­ck­chain, cha­cun des blocs et leur séquence étant pro­té­gés contre toute modification. 

Le cas du Bitcoin

Même au sein de la cryp­to­mon­naie la plus connue, le Bit­coin, il existe une notion d’entête de bloc et de conte­nu de bloc. Cet entête ne contient que la racine de l’arbre de Merkle, au contraire du bloc qui contient toutes les tran­sac­tions. Ce méca­nisme per­met par exemple de conce­voir des appli­ca­tions légères afin de pou­voir gérer les cryp­toac­tifs sur des smart­phones. Ces pro­grammes appli­ca­tifs n’utilisent, en cas de paie­ment avec des bit­coins par exemple, que les entêtes des blocs, car ils ne pèsent que quelques méga­oc­tets cha­cun, et n’embarquent pas la blo­ck­chain tout entière, ce qui serait impos­sible à gérer techniquement.

Il est pos­sible de vali­der des mil­liers de tran­sac­tions dont on peut ensuite prou­ver qu’elles ont bien été enga­gées. Et tout cela à faible coût. 

Ces entêtes sont géné­rés par du hachage cryp­to­gra­phique et vali­dés par ce qu’on appelle une preuve de tra­vail (ou Proof of Work). Il s’agit du prin­ci­pal méca­nisme de consen­sus des blo­ck­chains. Le méca­nisme des rol­lups offre la même sécu­ri­té que la preuve de tra­vail des bit­coins, mais en réa­li­té, l’u­ti­li­sa­teur n’a affaire qu’à des entêtes et ne voit pas l’intégralité des tran­sac­tions conte­nues dans les arbres de Merkle. Ici, avec très peu d’in­for­ma­tions, il est pos­sible de vali­der des mil­liers de tran­sac­tions dont on peut ensuite prou­ver qu’elles ont bien été enga­gées. Et tout cela à faible coût.

Le cas de l’Ethereum

Cette notion de rol­lup, on la retrouve sur d’autres blo­ck­chains qui embarquent un opé­ra­teur : les fameux smart contracts, et en pre­mier lieu l’Ethereum. Cette cryp­to­mon­naie fait face à une demande d’utilisateurs de plus en plus crois­sante. De fait, la vitesse de trai­te­ment des tran­sac­tions baisse, alors que les frais de tran­sac­tion aug­mentent inexorablement. 

Au sein de l’Ethereum, les smart contracts sont des pro­grammes enre­gis­trés dans la blo­ck­chain et que chaque tran­sac­tion actionne auto­ma­ti­que­ment. Ils garan­tissent l’intégrité, la vali­di­té et l’inviolabilité des tran­sac­tions, si et seule­ment si toutes les condi­tions sont rem­plies. L’ensemble du pro­ces­sus est auto­ma­ti­sé. Mais ces smart contracts exé­cu­tés à chaque tran­sac­tion ralen­tissent éga­le­ment le sys­tème de validation. 

L’idée d’intégrer du rol­lup dans Ethe­reum relève de la même idée que pour le Bit­coin : libé­rer de la bande pas­sante. L’opérateur de rol­lups, qui est en réa­li­té en dehors de la chaîne de blocs, met régu­liè­re­ment à jour la racine de l’arbre de Merkle dans une unique tran­sac­tion dépo­sée sur la blo­ck­chain principale. 

Ce méca­nisme cryp­to­gra­phique per­met, en très peu d’in­for­ma­tions, de four­nir plus tard des preuves que des tran­sac­tions ont bien été effec­tuées, de prou­ver leur exis­tence dans le futur. En une seule opé­ra­tion, on peut ain­si faire pas­ser 1 000 ou 10 000 tran­sac­tions. Or, Ethe­reum accepte aujourd’hui seule­ment 12 tran­sac­tions par seconde, ce qui fait explo­ser les frais de tran­sac­tion et rend cette blo­ck­chain de moins en moins attractive. 

Une question de sécurité

Ce méca­nisme sou­lève un défi majeur, celui de la sécu­ri­té, car il faut s’assurer que l’opérateur de rol­lups ne fasse pas n’importe quoi. Ce pro­cé­dé lui per­met dans les faits de pla­cer sur la blo­ck­chain un hash qui ne per­met pas de vali­der immé­dia­te­ment une tran­sac­tion enga­gée. Or, la blo­ck­chain doit être capable de cer­ti­fier le hash. À par­tir de là, deux phi­lo­so­phies se dégagent. Il y a les rol­lups dit opti­mistes d’un côté et les rol­lups appe­lés un peu abu­si­ve­ment « zero know­ledge » (ZK) rol­lups de l’autre.

Côté rol­lups opti­mistes, on parle de preuves de fraude émises par des agents, géné­ra­le­ment des pro­grammes, qui observent la blo­ck­chain et les tran­sac­tions des uti­li­sa­teurs. Si le hash pla­cé par un opé­ra­teur est frau­du­leux par rap­port aux règles appli­ca­tives, l’opérateur est puni et l’observateur est récom­pen­sé. Tout cela se passe sur une fenêtre tem­po­relle assez longue de plu­sieurs jours. Ce pro­ces­sus hors chaîne est qua­li­fié d’optimiste parce que tout ce qu’on espère, c’est que ce méca­nisme d’alerte ne se déclenche pas. 

L’autre famille, les ZK rol­lups, fonc­tionne dif­fé­rem­ment. À chaque fois que l’o­pé­ra­teur de rol­lups place la racine de l’arbre de Merkle sur la blo­ck­chain, il dépose éga­le­ment une preuve, au sens cryp­to­gra­phique du terme, que tout est cor­rect. Ce pro­cé­dé fait appel à un concept majeur de la cryp­to­gra­phie bap­ti­sé les SNARK et qui prouve qu’un cal­cul s’est exé­cu­té cor­rec­te­ment. Sur­tout, cette preuve est très courte même si le cal­cul est très long. Si ce der­nier com­porte 100 mil­lions d’o­pé­ra­tions, elle ne pèse que quelques cen­taines d’oc­tets au maxi­mum. C’est un peu miraculeux. 

Ces deux tech­no­lo­gies, les rol­lups opti­mistes et les ZK rol­lups, relèvent de la même phi­lo­so­phie : réduire le nombre d’informations par tran­sac­tion et repous­ser au maxi­mum la preuve de vali­di­té vers des méca­nismes cryptographiques. 

Jean Zeid 

Soutenez une information fiable basée sur la méthode scientifique.

Faire un don