Zk roll ups signifie zero knowledge bundled transactions (transactions groupées sans connaissance). Grâce à cette technologie, les réseaux layer1 deviennent moins chers et plus évolutifs, car les transactions sont regroupées et traitées comme 1 seule transaction sur la chaîne principale. Aujourd'hui, nous allons parler des zk rollups. Ce n'est pas l'un des sujets les plus faciles, alors prépare-toi !
✔️ Le Zk Rollup est une solution de couche 2 qui augmente la vitesse de la blockchain en agrégeant et en traitant plusieurs transactions dans un seul bloc.
✔️ La preuve de connaissance zéro consiste à prouver que l'on connaît une chose particulière, comme le hash (code) d'un bloc, sans révéler plus d'informations.
✔️ Un rollup zk est souvent utilisé lorsque le réseau principal devient trop lent et trop coûteux. Cela permet de décongestionner le réseau, de le rendre plus rapide et moins cher.
✔️ Les rollups Zk deviendront plus courants en raison de leur évolutivité et des économies qu'ils permettent de réaliser, bien qu'ils soient encore difficiles à mettre en œuvre.
Un rollup zk se compose de deux parties. Zk est l'abréviation de zéro connaissance. En néerlandais, cela signifie n'avoir aucune information. La preuve de connaissance zéro consiste à prouver que tu connais une chose particulière, par exemple le hash (code) d'un block, sans connaître d'autres informations, telles que le nom, l'adresse, etc.
La partie rollup signifie rouler. Dans ce contexte, cela signifie que plusieurs transactions sont regroupées et traitées en un seul bloc.
Les deux parties concernent la vitesse. Avec les rollups zk, la vitesse d'une blockchain est considérablement augmentée.
Un roll up zk est une solution de couche 2. Elle est souvent mise en œuvre lorsque le réseau principal devient trop lent et trop coûteux, comme c'est le cas avec Ethereum. Le réseau principal de la blockchain, la couche 1, est alors pris en charge par le zk rollup, ce qui le soulage et le rend plus rapide et moins cher.
Imagine que tu sois un développeur à Ethereum. Tu dois rendre le réseau plus rapide et moins coûteux à exploiter. Tu décides de mettre en place des rollups zk pour décharger la chaîne principale.
Désormais, lorsque des transactions sont effectuées, elles seront regroupées hors chaîne dans un rollup sur une sous-chaîne. Sur cette sous-chaîne, le nouvel état du réseau est ensuite communiqué à la chaîne principale (Ethereum), plus quelques données supplémentaires (zero knowledge proof) pour prouver qu'il est correct.
Par conséquent, la chaîne principale n'aura que le rollup et la preuve zk à traiter et non des milliers de transactions. Tu peux donc faire évoluer Ethereum de 10-15 transactions à des milliers par seconde.
Les données de transaction seront donc stockées sur la chaîne principale, afin que l'état de la blockchain soit toujours correct et communiqué à tous ceux qui suivent le réseau. Ainsi, chaque validateur saura toujours combien d'ETH tout le monde possède.
L'état du rollup zk est suivi sur le réseau Ethereum par un smart contracts. Pour prouver ce statut, ils doivent apporter la preuve cryptographique qu'ils ont également effectué toutes ces transactions. Les Zk roll ups utilisent également la compression des données, telles que les adresses, pour rendre le tout encore plus rapide et moins cher. Une fois la preuve fournie, le paquet de transactions collectées sera instantanément exécuté sur la chaîne principale.
Étant donné que les mises à jour de l'état de sécurité sont effectuées sur la chaîne principale (Ethereum), les rollups zk sont beaucoup plus sûrs que les rollups zk. chaînes latérales.
La plupart des rollups zk utilisent un supernode, une sorte de superutilisateur qui agrège toutes les transactions. Il y a un risque que quelqu'un soit censuré, ce qui signifie dans ce cas que le superutilisateur ne veut pas valider tes transactions. Si cela se produit, quelqu'un peut envoyer ses transactions directement au contrat de rollup sur Mainnet.
Les utilisateurs peuvent s'inscrire pour être inclus dans le prochain roll up et ainsi être moins chers.
Les opérateurs ou superutilisateurs vérifient une transaction et voient si un utilisateur fait partie du statut du réseau. En outre, ils vérifient s'il y a suffisamment de fonds sur un compte. La transaction doit être correcte et la clé publique doit correspondre à celle de l'expéditeur dans le roll up. Le nonce (pour éviter les doubles dépenses) est également inclus dans le roll up.
Lorsque le rouleau a recueilli suffisamment de transactions, il les regroupe. Un zk SNARK est utilisé pour fournir une preuve que les données sont correctes.
Après cela, un circuit de preuve se met au travail sur ces données et vérifie si tout est correct. Une fois que c'est fait, l'opérateur envoie les données au smart contracts de vérification sur la couche 1 de la blockchain. Ici, tout est à nouveau testé pour vérifier si tout est correct, après quoi les transactions sont mises dans le grand livre et le nouvel état de la blockchain est connu.
Il est même possible de créer des preuves. Ces preuves dites récursives regroupent zk preuves à la couche 2, puis à la couche 1 toutes les preuves sont acceptées ensemble, après quoi une batterie de blocs est instantanément acceptée, ce qui ajoute encore à l'évolutivité d'un réseau roll up.
Si tu veux aussi rejoindre un roll up en tant qu'utilisateur pour réduire tes coûts de transaction, tu dois staken des fonds dans un smart contract roll up à la couche 1. Une fois que l'opérateur a accepté tes fonds, tu peux effectuer des transactions moins chères dans ce roll up.
Les roll ups Zk augmentent ainsi l'évolutivité et réduisent les coûts d'utilisation. Cependant, ils sont assez difficiles à mettre en œuvre, c'est pourquoi ils ne sont encore que peu utilisés. Les risques que des superutilisateurs malhonnêtes menacent le réseau sont également plus élevés. Au fur et à mesure que les développeurs deviennent plus habiles, les zk roll ups deviendront certainement plus courants, car de nombreux utilisateurs de certains réseaux trouvent les coûts de transaction et la vitesse inacceptables.