Les Amis d’Ethereum France #18 — Les deuxièmes couches ft. Zksync, Starkware, Cometh

Les Amis d'Ethereum France · 17 Jan 2024 · 48:26

A French-language meetup on layer two networks with three presentations. A StarkWare engineer explains how a prover and an onchain verifier let Starknet inherit Ethereum security, then covers account abstraction, trustless bridges and a compiler route to native speed. A zkSync community manager contrasts proving each transaction with proving the whole Ethereum virtual machine state transition, and presents the ZK Stack for custom chains. A Cometh analyst compares Optimism and Arbitrum fee formulas and describes a data availability committee built to cut game transaction costs, which the team calls unaudited work in progress.

Speakers

Topics

From Les Amis d'Ethereum France, hosted by Ethereum France.

Transcript

Introduction Ethereum-France (Nathan Sexer)

en bref etherum France donc nous on est une association à loi 1901 on a but non lucratif on existe depuis 2015 on est actif depuis 2016 on fait trois choses principalement donc des événements comme celui-ci on organise également une une conférence annuelle qui est etcc on publie du contenu sur not blog on fait des traductions d'articles et plus généralement on est une on est une une petite communauté de de membres actifs sur donc un discord où vous pouvez participer le groupe Meetup où vous retrouvez t tous ces Meetup encl cel-ci nos Twitter donc on gère le twitter ettheron France on gère aussi la donc LECC et la etc Week qui est la semaine

d'événement autour d'c notre grosse conférence que j'ai mentionné et notre chaîne YouTube association é en France sur lequel vous pouvez retrouver ce Meetup en cours mais tous les Meetup précédents et aussi le tout le contenu de de de nos conférences CCI donc il y y a beaucoup de contenus super intéressants renouvelés chaque année vous pouvez rejoindre l'association même si on rencontre actuellement un petit problème technique généralement vous pouvez devenir membrre et ça vous permet de de contribuer à l'association d'écrire des des articles sur notre blog d'organiser des Meetup dans votre ville si vous n'êtes pas ici ou même à Paris vous pouvez nous aider à organiser les Meetup et plus généralement

participer euh à l'association et euh et sans plus attendre je vais vous je vais présenter vite fait les le programme de cette édition donc on aura un premier talk par euh par Lucas de stackware euh suivi par euh suivi de zkyc donc par Esteban et puis une présentation de d'une implémentation d'optimism que fait qu'a fait Comette avec avec le paludier voilà et ce sera suivi de d'un petit apéro avec des boissons et des pizzas voilà voilà donc donc je passe tout de suite la main à bah Lucas de starquare merci [Musique] beaucoup bonjour à tous donc je suis

Présentation de Starkware, par Lucas (@lucas_lvy)

Lucas je B chez starquare je suis dans l'équipe exploration et euh nous en gros notre but c'est de faire des projets open source de tout ce qui touche euh à starkware starknet et cetera et euh notamment starknet euh starknet c'est un validerollup et donc je vais vous vous expliquer assez au niveau comment ça marche ça vous aidera aussi pour la présentation d'après mais du coup en gros on arrive à un constat que on est enfin que en 2015 etherum est apparu et en fait etherum c'est vachement plus lent que les solutions de paiement qui sont sortis bien avant par exemple à l'IP ou les les cartes de crédit donc pourquoi pourquoi on en arrive à ça donc aujourd'hui on a deux solutions

soit les banques soit etherum les banques c'est tout le monde qui dit ok je crois à la banque pour maintenir l'état de mon compte pour processe mes transactions et cetera ethereum c'est l'inverse c'est je crois personne je revérifie tout ce qui se passe il y a rien qui est anonyme et tout peut être vérifié par tout le monde donc il y en a un qui est très rapide parce qu'il a une grosse machine qui exécute tout l'autre très lent parce qu'il y a plein de petites machine qui réexécute tout euh et donc la question c'est comment faire pour avoir un entre deux et pouvoir avoir un réseau rapide mais sécurisé voilà donc soit on peut

augmenter la gaz limite du bloc c'est ce qui a été fait dans plein blockchain mais en fait c'est pas ouf parce que bah tous les gens qui ont des trop petites machin il pourront pas suivre si à la fin on se retrouve avec des blocs énorme il faudra des énormes serveurs pour les process et on retombera sur les banques donc c'est pas top euh sinon il y a les euh fr proof ROP donc il y a arbitrum et pas optimism mais euh en gros on trust un gros ordinateur mais il y a quand même des gens qui peuvent vérifier que ce qui se passe c'est bon mais encore une fois pas optimisable ça va revenir vous inquiétez

pas top et donc nous ce qu'on a c'est des preuves des preuves de calcul des preuves d'exécution comme vous voulez en gros on a un un fait genre une transaction on a un prouur qui est un gros serveur qui va prouver et on a le verfier qui va vérifier la preuve c'est un peu similaire au pro of work dans le sens où il y a des machines qui vont travailler pendant un certain temps et vérifier ce que le la preuve ça prend pas longtemps parce que c'est juste recalculer un H donc c'est un peu le même concept et donc on aurait une nouvelle architecture où on aurait une blockchain qui qui reçoit toutes les

transactionsf un séquenceur qui reçoit qui ordonne et qui exécute toutes les transactions on a le pro qui va réexécuter toutes ces transactions les les prouver et on aura un verfier qui va cette preuve et ça appliquer à etherum ça donne ça l'ordi va tomber donc on a le prou au milieu je peux moner le Pr au milieu qui va poster la preuve surum et donc onérite de la sécurité d' parce que tous les nuds d' ils vont réexécuter le code du verfier le code du vfier donc en gros tous les vérifie

ok donc on poste sur etherum la preuve mais on poste aussi les state update c'est-à-dire toutes les variables d'état des smart contracts si par exemple dans un contrat on a stocké à l'emplacement 3 on a stocké de et ben on poste sur rérum update du contrat x 3 2 et donc en fait on peut reconstruire tout l'état de la chaîne seulement à partir d'etherum on a aussi les preuves donc on peut les vérifier et donc on a un réseau qui est complètement trustlest et sécurisé par Le l OK et donc ça ça nous donne quoi ça nous donne de la puissance de calcul vraiment pas cher et ça nous permet de faire euh pas mal de choses notamment le dans le

gaming on a une communauté assez active gaming donc c'est dojo je sais pas si ça parle à des gens mais c'est un framework pour faire des jeux c'est dans l'ambiance autonomous World et on a bah en en DAP qui existe déjà en AB bririck c'était un un concept de NFT où en gros on on pouvait acheter des briques et après on pouvait les assembler et bah du coup créer un peu à la Minecraft créer des des plus gros NFT et ça ça demande énormément de puissance de calcul pour calculer les formes et cetera et ça c'est possible sur starknet parce que c'est pas cher sur etherum ce serait vraiment hors de prix on peut avoir de la de liia Unchain aussi on avait un un

bot de trading Unchain fait par modulus Lab euh et du coup il tradait en envoyant des messages en L1 donc euh bah il était entraîné et euh on pouvait le ping et après il faisait des des trades euh sur etherum directement euh oui gaming art et cetera on a aussi euh la comp exstraction natif donc account abstraction c'est le fait que on n'est pas comme sur etherum on n pas une clé privée et une clé publique c'est en gros sur starknet tout est un smart contract même les comptes sauf que c'est les comptes ils ont une interface spécifique il doiv avoir une fonction de validation et une une fonction pour exécuter donc dans la fonction de

validation c'est là où on a l'équivalent de la vérification de la signature sur etherom donc on peut mettre ce qu'on veut si on veut que la validation ce soit bah je connais la préimage de ce h bah en fait on peut l'avir on peut si on veut ne PASC vérifier une une courbe spécifique par exemple on pourrait avoir plusieurs schémas de de signature donc bah par exemple vous avez tous un téléphone et il a tous une secure enclave et en gros ça c'est un petit composant sécurisé dans votre téléphone qui a une une courbe elliptique spécifique et du coup dans votre smart contract vous pouvez coder une fonction qui vérifie une signature de cette courbe elliptique et

euh ben du coup vous pourrez vérifier des signatures de votre téléphone on a un Wallet qui a fait ça bravos en gros vous avez une clé qui est h Wallet qui peut permettre de faire des transactions là vous pouvez dire bah j'autorise ce type de transaction et cetera ou machin enfin bref et ça la clé elle est stocké sur votre ordinateur et vous avez une master key qui est votre face ID qui vous permet d'envoyer une transaction pour changer la clé hwilette et cetera donc ça c'est super pratique vous pouvez aussi avoir des Keys euh c'est ben une en gros vous donnez une signature euh à une DAP et elle peut la réutiliser pour envoyer des transactions

à des contrats spécifiques à des fonctions spécifiques donc ça c'est cool pour les jeux euh aussi vous pouvez grouper des transaction au lieu par exemple si vous voulez faire un approval un transfert un swap et ben vous faites ça dans la même transaction vous avez pas trois fois ass signer une transaction euh donc en vrai c'est cool pour un peu tous les usages euh on a aussi un bridge qui est trustless euh les optimistic rollup c'est euh sur la euh sur ça repose sur la théorie des jeux en gros on stake temps et euh si on fait n'importe quoi en L2 ben on peut se faire slasher ici là c'est euh sur bah sur starknet et sur zik5 et autres en fait tout est prouvé ce qui se passe en layer 2 donc si par exemple moi

je dis je veux Bridger euh de l'ther sur starknet j'envoie un euh de l'ther sur un contrat le squencer starknet il regarde les events de ce contrat il voit reçu t de des teres machin il va consommer le message en L2 donc il va exécuter une transaction qui dit Mint t des terres à ce compte là et du coup ça va être prouvé par le prouur ensuite on renvoie la preuve en L1 et c'est vérifié et donc en fait etherum sa quein ettherom sa pas mais on a enfin c'est vérifié que le message a bien été consommé et que on s'est pas Mint 300

etther parce qu'on avait envie euh chacun peut construire son bridge parce que on a ce système de message qui du coup est assez modulaire il y a snapshotex qui a fait qui a fait une DAP Maker Dao qui a fait son propre Bridge et avav aussi vous pouvez aussi faire du Defy pooling avec ça c'est-à-dire bah par exemple si on a tous 1 € et qu'on veut le stake sur Lido et ben si on fait sur etherum Ben 1 € il passe en en gaz si on fait en L2 on se regroupe tous dans une poule on met tous no 1 € on arrive avec 100000 € on bridge ça en en L1 et on stake sur Lido et on paye beaucoup moins de F

euh les storage proof aussi c'est important en gros ça ça découle de la computation qui est pas cher du tout les storage proof c'est euh prouver euh la l'apparten enfin prouver qu'on a une feuille dans un de mercul en gros euh en gros si on a la State rot d'etherum c'est euh je sais pas si tout le monde est famili avec mais en gros c'est en gros ettherum c'est un arbre de Merkel c'est un arbre et on rehâche tout bref et ça nous donne du coup un exa et on peut prouver que on a enfin qu'il y a une feuille qui a qui a un endroit dans cet arbre en donant tout le chemin et cetera et ce sera reconstruit et ça c'est hyper cher parce que du coup il y a énormément de

H et donc sur c'est très cher mais sur starknet c'est possible de le faire et donc en fait ce qu'on peut voir avec ça c'est qu'on peut par exemple dire ben moi je veux Minter 30 et à un mec qui a 30 et sur en en L1 et donc avec cette s proof donc et ben il pourra la la mettre enfin enfin l'envoyer au contrat sur sur starknet ce sera vérifiable et on pourra Minter 30 et ça c'est si on veut pas utiliser le le bridge mais si on peut faire la même chose pour Solana on peut faire la même chose sur toutes les blockchain et ça peut faire permettre de faire des

transactions multiain ça hodotus ils font pas mal les les interactions cross chain euh et ben je vous invite à regarder ce qu'ils font parce qu'en vrai c'est assez cool euh ensuite le fractile scaling ça c'est les layers 3 les appchain et cetera en gros chacun peut déployer son appchain bah par exemple on peut mettre un starx sur un starknet il suffit d'avoir un contrat verfier enfin la même Archie qu'en L1 mais en L2 et bah ça ça permet d'avoir du coup des des des des réseaux qui sont qui sont optimisés pour certains use case donc bah je disais STARC c'est optimisé pour le trading ça permet du coup de d'avoir un bah par exemple

soraire on pourrait le mettre en en layer 3 euh qui se po sur starknet et ça réduirait encore leur fis par rapport à etherum parce que la la data availability elle serait beaucoup moins cher et le coût de vérification de la preuve même s'il est marginal ce serait moins cher euh et donc en fait tout ça c'est possible parce queon a notre langage de programmation qui s'appelle Kairo euh en gros c'est un un langage Turing complete qui euh nativement permet d'être prouvé qui est optimisé pour ça donc par exemple eux ils transpilent du solidity vers leur langage donc ils ont leur DSL aussi enfin qui est l'équivalent de KO mais ça c'est pas enfin en soi personne l'utilise ils utilisent que le

compiler solidity ver ver zin voilà mais du coup il y a de l'overad parce qu'il faut compiler le le solidity vers le zinc alors que nous ko il y a pas d'over c'est nativement nativement optimisé pour ça mais c'est un peu lent parce qu'en fait on a enfin on a notre code notre c'est notre langage du coup c'est lent parce qu'on a notre VM qui a une surcou enfin bref et du coup ce qu'on veut faire c'est le rendre aussi rapide que les autres les autres étant cc++ Go rust et cetera et en fait tous ces langages ils sont rapides parce que ils utilisent du toling qui existe depuis super longtemps ce que nous on peut pas faire parce qu'on a notre propre langage et en gros ils utilisent tous une

représentation intermédiaire qui est l VM a donc représentation intermédiaire LLVM et donc là il y a optimiseur coverage compilation en web assembly en ris 5 enfin bref il y a énormément de tooling et euh du coup on fait un compiler pour compiler vers LVM et pouvoir pouvoir compiler en x86 donc ce qui serait exécuté nativement par les les processeurs et ce qui ferait gagner énormément de dps euh là il y a une petite explication de comment ça marche je suis pas sûr qu'il y ait des masses de gens que ça intéresse lever la main ça ok bon il y en a un ça me suffit donc ça en gros

c'est un programme ko qui est assez débile qui fait 1 + 2 ça c'est sa représentation en Sira sia c'est notre représentation intermédiaire c'est en gros un un ensemble de de de bout de code d'assembleur ko qui seront toujours prouvables parce que avant en fait on pouvait faire ACERT 1 é= 2 et en fait c'est pas possible de prouver ça donc si on avait une transaction qui était super chère et à la fin il y avait ACERT 1 é= 2 bah c'était riverte mais on pouvait pas l'inclure dans un bloc parce qu'on n'aurait pas pu le prouver donc le séquenceur bah il se faisait dos et du coup on a créé notre représentation intermédiaire et donc là on a les types qui sont utilisés dans le programme là c'est les Lip funk donc ça c'est les

bout code casum enfin co assembly euh qui sont déclarés ici là c'est le corps du euh programme et en dessous c'est le nom de la fonction avec la ligne où ça commence donc là c'est le main et ça commence ligne Z0 donc instruction Z0 et ensuite on suit ce qui se passe mais voilà et donc ça c'est le bout de code en LLVM donc là on retrouve un peu tout c'est extrêmement beau mais du coup je vais vous épargner ça parce que comme j'ai dit tout à l'heure on a un Optimizer et l'optimizer du coup il transforme le gros truc dégueu avant en juste ça en fait juste le résultat donc un truc qui nous aurait pris beaucoup de

temps en CO parce Queen fait chaque lipfunk c'est plusieurs instructions Cairo et ben c'est transformé en une instruction une instruction LLVM qui ensuite du coup sera compilé en en natif donc x86 pour être directement exécuté par le CPU euh c'est assez assez rapide parce que sinon c'est assez long mais je vous invite à regarder cette présentation de Aki de lambda class eux il bossent sur Ciro native en gros moi je vous ai parlé de Cairo en LLVM mais eux ils ont fait enfin de Sierra en LLVM eux ils ont fait Sira tout ml c'est une autre représentation intermédiaire un peu plus

moderne et du coup il à qui a fait une présentation qui est assez intéressante à la starknet CC de cet été si vous y étez pas et voilà c'est la fin ça c'est le lien vers le starknet book donc c'est l'équivalent du rostbook mais pour starknet donc si vous voulez commencer quelque part c'est en bon [Applaudissements] endroit bonsoir à tous Tout d'abord merci beaucoup à France à Nathan pour l'organisation de ce Meetup c'est chouette d'être ici avec vous ce soir je m'appelle Esteban en ligne si je suis community manager chez zing ça fait maintenant enfin chez malur las la team qui est derrière le protocole ZK

Présentation de ZkSync, par Estevan (@zKsisyfos)

ça fait maintenant 2 ans que que je suis chez malorlabs ce soir j'aimerais vous parler de trois sujets euh premièrement le zik credo deuxièmement zik syn et troisièmement le zik stack eu récemment on il y a eu un article dans sur le blog de de vitalque qui appelait la communauté à rendre ethereum cyherpk again c'est cyherpk c'est c'est vague mais en même temps il y a quelques valeurs euh dans le mouvement cherpk sur lequel les gens sont pas prêts à faire du compromis l'une d'entre elles par exemple c'est la résistance à la censure ou bien avoir des systèmes où on a pas besoin de confiance dans lequel on peut vérifier l'intégrité des transactions

l'intégrité l'intégrité du de la blockchain la sécurité la protection de la vie privée ce sont des valeurs qui sont dans le mouvement cyherpk et la team de matateur la en septembre déjà on a publié un document qui s'appelle le zik credo il est aujourd'hui disponible sur Github en français euh Z github/ziking/cedo et vous pourrez le trouver en français dans lequel on on met par écrit en fait notre notre engagement envers les valeurs cyherpunk et la technologie zero zero proof eu et voilà c'est j'aimerais voilà je voulais partager ça et puis les valeurs du zic et CRÉO sont aussi les valeurs qui guident le développement euh notre développement du protocole euh mais

maintenant on trend dans le vif de sujet euh je vais vous parler de de rollup vous savez peut-être la qu'il y a une grande famille de de rollup de layer two ou de deuxème couche les deux grandes familles sont en fait les les optimistic roll up et puis les Ike rollup comme l'a dit Nathan comme l'a dit Lucas avant les optimistic rollup c'est un peu de la game theory ils sont ils sont sécurisés par un consensus social tandis que les ik rollup sont sécurisé par des par des maths au sein de la famille zik rollup on a aussi a une vitalique a créé une distinction les types 0 type 1 type 2 type 3 type 4 qui sont en fait différentes on va dire différentes compatibilités avec

lesvm ou équivalence avec les VM mais on pourrait introduire une autre distinction c'est qu'est-ce qui est prouvé au fait par le système de Zero proof si on a des il y a des solutions comme le polygon zkvm ou le scrollvm dans lequel chaque transaction ou chaque chaque transaction en fait la validité action est prouvé par une zeroledge proof dans les systèmes tels que starare ou Z ce qu'on prouve c'est pas la validité d'une transaction ce qu'on prouve c'est la validité de la transition de l'UM de la machine virtuelle eum en fait ce qu'on prouve c'est qu'on que l'Ethereum la machine virtuelle etherum àant T et qui passe à instant t + 1 on prouve que cette

transac transition est valide il y a beaucoup d'avantages en fait à utiliser ce type d' ure je vais vous passer quelques minutes en fait à présenter cette architecture mais l'un deeux c'est chip fees des gas fe qui sont plutôt bas la vie privéef la confidentialité des transactions et en fait starquare zikera et le zik St utilise ce type d'architecture où nous prouvons que la transition de l'etherum virtuel machine est correcte en utilisant des fait une combinaison de Stark et de Snark alors il y a il y a trois avantages en fait que ici que je vais mentionner pour

d'utiliser en fait de prouver la la transition de de la machine virtuelle ethereum le premier c'est lorsqu'on doit fréquemment mettre à jour des storage slots en fait ça devient vraiment très bon marché sur sur Z casing ou sur Star qu parce que on a seulement besoin de en fait d'un storage slot à temp un storage slot à la fin et entre deux on peut en fait le mettre à jour autant de fois qu'on veut ça c'est c'est ça devient un bon marché alors par exemple on va vooir des oracles qui sont qui sont hyper rapides aujourd'hui je crois qu'on met un jour un oracle à peu près chaque 20 minutes on peut imaginer des oracles qui sont mis à jour chaque seconde parce que

c'est bien en fait très bon marché la deuxième raison c'est que comme on met ensemble on a pas besoin en fait de l'intégrité de la transaction euh on a pas besoin de l'intégralité de la transaction on a seulement besoin en fait d'un batch et puis de prouver que que la transition est correcte en théorie on pourrait rendre les données de ces transactions seulement accessible par les personnes qui émettent une transaction et donc avoir nativement une une certaine forme de de confidentialité ou de vie privée en fait sur le layer to sur la deuxième couche finalement et je pense que c'est la plus importante et la plus intéressante c'est ce qu'on appelle horizontal scalling mise à l'échelle horizontale peut-être ce qui c'est-à-dire que on peut avoir du vertical scalling dans les

cas des blockchain monoloi comme comme Solana ou bien on peut avoir du ce qu'on appelle horizontal scing c'està-dire d'avoir une infinité d'application d'applications qui qui tourn mais qui sont pas constreint constraint par un par un par un goulot d'étranglement par exemple comme un Squer ou par votre P on l'a vu par exemple sur récemment je crois que entre Octobre et et janvier il y a EUC beaucoup de chaînes VM qui ont été spammé par des les inscription je sais pas si vous avez vu ça on a vu les gas F qui ont qui ont pique sur optimism arbitrom sur sur polygone zikvm mais mais pas sur zik et en fait c'est c'est une une des raisons pour laquelle ça

s'est passé c'est parce que justement ét de state difference et que que on batche les transactions on les batch et puis contrairement au layer one plus il y a transaction qui se passe sur layer moins en fait moins moins cher sera la transaction le gasf par transaction je crois qu'il y a un consensus au sein de la communauté é que la plupart des coûts des gazfis dans le futur enfin dans dans le futur cours et à moyen temps il sera principalement dû au data data availability cost on a des solutions comme Celestia comme ler qui commence à émerger qui pour pour pour

justement ce ces coups bon marché euh on peut le faire et puis dépendre après avoir des on va dire des trust assumption qui sont un peu plus qui sont différentes de du layer one ou bien on peut utiliser des architectures qui mettent ensemble toutes ces transaction et puis qui qu'il prouve la validité de ses transactions comme comme comme ce qu'on fait sur ZK je vous invite à voir deux articles qui je pense super intéressant ici un il est écrit par paulinaya je sais pas si vous vous connaissez le chercheur et le deuxième il écrit par onekx et les deux en fait je pense que en fait il il font l'argument que que state transition c'est peut-être un design qui peut être très intéressant pour rendre ethereum

scalable et et cheap h les l'implémentation pratique euh ça cétait la théorie l'implémentation pratique première implémentation pratique ça été zik sera qui est un layer two deième couche euh qui utilise les zero knowledge proof on a upgradé notre prouur en décembre une solution qu'on appelle bouum boujum et depuis décembre de façon consistante zikera et la le layer tu avec les f les plus bas du marché et par une grand par une grande marge par rapport à autres ZVM sont même pas sur le gra polygone ou

scroll parce que justement on utilise cette architecture euh un autre perx pour vous si vous développez des applications sur lesvm vous pouvez les déployer sur ZK syn euh il y a beaucoup d'utilisateurs je crois qu'on a une des plus hautes activités utilisateur depuis depuis depuis qu'on est sur Mnet en avril l'année passée et finalement et là là c'est entre guillemets on est sécurisé on s'est jamais on n jamais assez sécurisé mais on a fait beaucoup d'audit avec code for Arena on a eu un un bounty je crois de 1 million alborn open zeplin plusieurs audit trail of bits pour sécuriser en fait les les divers éléments de de de ZK Sync h zking c'est un layer to il a été créé

par matterlabs mais vous avez aussi la possibilité de créer votre propre layer two vous avez peut-être entendu parler de Lopy stack qui permet de créer des super chain il y a une solution similaire mais au lieu d'utiliser les fr proof et puis des optimistic rollup vous pouvez utiliser les zik roll et on appelle ça le zik stack zik stack c'est aussi un stack qui a été euh créé produit par mat je vous euh montre euh je vous invite à visiter le site Web zkestac.io essentiellement vous permet de déployer votre propre layer 2 ou layer 3 qui settle donc sur zik sera euh avec de façon totalement personnalisée vous pouvez avoir euh un rollup qui a un un séquenceur centralisé vous pouvez

avoir vous pouvez payer vos gas fees en n'importe quel erc20 euh vous pouvez avoir une blockchain qui est totalement privée ou bien vous pouvez enfin voilà quel que soit vos besoins vous pouvez utiliser le zik stack la technologie derrière zikera pour déployer vos blockchain en layer ou bien en layer 3 qui s sur sur Z comme l' mentionné fractal scing c'est très similaire à ce que présenté avant c'est le concept de fractal scalling à partir du moment où des blockchain partagent le même architecture le même proover le même verifier on peut imaginer des

écosystèmes dans lequels on peut bridge entre les blockchain de façon sans sans sans trustless trustless fashion sans sans confiance et voilà on on peut imaginer ça on peut imaginer on n pas besoin de fragmenter les liquidités entre les différentes blockchains non plus si vous avez si vous partagez de nouveau le la même architecture le même prou les mêmes circuits et et voilà donc le le zicestac ouvre des possibilités de scaling qui sont en dit limitless dans le sens que on pouvait scaler de façon très horizontale avec n'importe quel type d'application ou bien aussi de façon verticale en mettant en mettant d'autres d'autres application au sein du

par exemple sur layer voilà je sais pas si vous avez des questions sur sur la technologie on peut en parler juste après je voulais juste donner un petit mot sur la communauté zking on a une grosse on a des gros hubs de communautés en Asie euh aussi en au sein en Europe de l'Est euh ziking Japon ziking Chine ziking Ukraine ziking Indonésie sont des grosses communautés euh peut-être un jour ziking France on aimerait on est toujours à la recherche d'ambassadeurs ou de personnes qui sont prêts à représenter Z casing euh dans le monde entier et puis donc si vous êtes intéressé fa n'hésitez pas à m'écrire un DM soit sur discord soit sur Twitter et puis on peut en discuter merci à vous

Présentation d'une implémentation d'Optimism, par @Le_Paludier de Cometh

bonjour à tous euh je m'appelle Augustin je travaille chez Comè depuis un an et demi euh en tant que data analyste à la base mais aujourd'hui je travaille sur les rollup comme vous pouvez le constater h vous devez savoir que chez Comè on a un jeu vidéo on chain et que faire tourner un jeu vidéo on chain ça coûte beaucoup d'argent euh notre jeu tourne actuellement sur polygone et il a été question à un moment de migrer ce jeu vers un rollup et mon c est venu me voir il m'a demandé combien ça coûterait de faire tourner ce jeu sur un rollup et j'ai cru naïvement que cette question était facile à répondre et en fait beaucoup moins que ça et il se trouve que les rollup optimisme comme optimisme

et arbitrum ont des façons de calculer les frais de transaction très différents et je vous expliquer je vais vous expliquer du coup un peu l'histoire du jeu Comet et comment nous sommes arrivés à prendre la décision de de de migrer vers un rollup je vous expliquerai après dans les grandes lignes comment fonctionne un rollop comme optimisme et arbitrum et je vous expliquerai avec plus de précision après comment les frais de transaction sont calculés sur ce genre de rollop après je vous expliquerai une implémentation d'un DAC qu'on a fait sur optimisme et donc forcément la modification du calcul des frais de transaction pour prendre en compte cette implémentation et enfin je veux vous parlerai de la solution qu'on a choisi pour notre prochain

jeu donc com commence en 2021 avec un jeu entièrement on chain où toutes les actions des des joueurs sont fait on chain sur polygone et une époque où le coût de d'utilisation de polygone était particulièrement faible notamment le Matic était très très bas et le nombre de transaction de sur polygone était extrêmement bas pour les joueurs c'était assez rentable de jouer surtout c une époque en début 2021 play to earn donc il fallait que les joueurs puissent gagner de l'argent sauf que quelques mois après le le le réseau explose et pour les joueurs ça devenait plus compliqué de gagner de l'argent déjà il y avait une une player base de plus en plus importante donc le reward par joueur était de moins en moins important et surtout le coût du matique et le gas

price explosé ce qui fait que le coût pour jouer au jeu était hyper important et les joueurs N G plus l'argent en 2022 on a sorti un nouveau jeu toujours sur polygone un Comet battle qui est en fait un trading card game où il y a moins d'interaction Unchain mais il y a quand même les assets donc av vous avez des va qui sont un peu votre personnage vous avez les cartes qui sont des NFT et vous avez aussi des crafting ressources qui sont des erc20 qui sert à crafter des cartes en fait à chaque fin de partie le gagnant d'une d'une partie contre un autre joueur recevait des transactions recevait des rewards et cette transaction est sponsorisée par Comet mais malheureusement le coût de cette transaction était toujours trop

important par exemple on avait un système de location de de vaisseaux et le locataire pouvait prendre une partie des reward et le et le propriétaire prenait une autre partie ce qui faisait que les transactions des reward étaient assez importantes avec beaucoup de transfère de rc20 et ça nous coûtait à un certain moment quasiment 10 centimes par partie gagné euh pour un jeu où il y a quasiment eu il eu plus de 500000 parties ça a commencé à revenir extrêmement cher pour nous de maintenir ce genre de jeu et enfin nous allons bientôt sortir une version redesignée de de de Comette battle qui s'appellerera Cosmic battle et on a pour objectif de le déployer sur un

rollup donc euh les rollup comme optimiste et arbitrom fonctionne de cette manière quand vous payez une transaction sur etherum vous avez deux principaux coûts qui est le coût d'exécution de la la transaction et le coût de la data avability euh si je devais prendre une un exemple euh par exemple si vous voulez faire une transaction qui serait l'addition de 1 et 2 sur etherum le coût d'exécution serait le calcul 1 + 2 et le coût de la data avability serait les paramètres de cette addition qui seraiit 1 et 2 la majorité du temps la la grosse partie du coût d'une transaction sur etherum correspond à l'exécution mais vous pouvez quand même avoir des transaction où la dataability

est très importante typiquement lorsque vous mettez un NFT en vente vous avez dans les paramètres de la transaction toute tous les paramètres de cette mise en fente et et c'est c'est le coût le plus important dans cette transaction c'est pour ça que aujourd'hui sur openc quand vous mettez en vente à NFT la majorité du temps c'est des ordres off chain vous avez juste à signer une transaction et C transaction n'est plus exécutée par le réseau ce que fait optimis et arbitrum c'est qu'il décale ce coûp d'exécution sur le rollup mais garde la data avability sur etherum ce qui permet d'économiser des coûts sur l'exécution parce que l'exécution est faite sur le rollup avec un gaz Price qui est extrêmement bas donc quand sur un r quand vous

faites une transaction sur le rollup les blocs sont validés petit à petit et au bout d'un certain moment toutes ces transactions qui sont passées sont concaténé compressé et envoyé sur le L1 avec une transaction qu'on appelle une batch transaction cette B transaction elle a une limite de maximum 9 m 9,5 m de Data pour que ça puisse rentrer dans un bloc sur le L1 du coup quel est le coû d'E transaction sur optimisme vous avez deux principaux composants vous avez l'execution fee qui est calculé sur le rollup avec le gas price du donc vous avez un gaz price extrêmement bas ça suit la même le même principe qu'therum

avec le IP 1559 et les fill sont collectés dir par optimisme et vous avez du coup un deuxième composant qui sont qui est le Data F donc qui va être le coût qui la la cotisation vous devez faire pour la publication de la data de votre transaction sur le L1 et cette ce L1 data fi il a comme paramètre il est calculé d'une manière il prend la taille de la data de la transaction le prix du gas price sur le L1 et ce fi est directement ponctionné de votre wallette par le réseau optimisme si vous regardez sur un explorer l'explorer de d'OP met et vous regardez un peu le détail des gaz fi vous

avez vous avez la transaction fi totale ici vous avez après le gaz price le gaz limit le gaz F un truc assez classique de l'p 1559 mais après vous avez des nouveaux champs qui sont le L1 F paid donc c'est la la le fi total que vous avez payé pour l'ppcation de votre data sur sur le L1 le gas price du L1 donc le gaz price L1 il est mise à jour à chaque bloc du du rollop le gaz US par la transaction donc en fait on calcule le gaz que ça consommerait pour publier la data sur le L1 et il y a le L1 fiscalar qui est en fait un une variable déterminée par optimisme qui permet de baisser le coût de la transaction pour vous il précise pas

exactement comment est calculé ce ce cette variable mais on peut prendre par toute logique ça comprend une partie de la compression qu'ils arrivent à à à à avoir et une petite marge qui sroit h pour calculer donc ce L1 data i euh on prend le Data de la transaction on compte toutes les octes qui sont à zéro on les multiplie par 4 et tous les OCTs qui sont à 16 à qui ne sont pas à 0 et multipis par 16 euh c'est exactement la même méthode sur etherum pour calculer le coût de la de la data que vous allez vous allez poster dessus euh c'est Tex dat gaz est après on rajoute en additionne un fixed overhead

qui est ENIT à 188 de gaz qui a encore un cût euh fixe euh pour chaque transaction euh qui devont être posté sur le L1 plus le fameux dynamic overhead qui est à 0,684 déterminé par optimis et enfin une fois que c'est fait vous avez juste à multiplier ça par le le base feed d'therum et vous avez le lin datafi que vous allez payer pour votre transaction sur Open mainnet euh cette donc ça permet d'avoir une réduction euh des transactions des coûts de transaction assez importantes mais pour le gaming malheureusement c'est pas suffisant parce que le coût de la data est encore assez important et chez Comet dans nos transactions de notre jeu on a souvent pas mal de Data qui correspondent au

paramètres de la partie qui a été gagnée qui a gagné quel token iD du vaisseau qui a gagné la partie on a un cou en data encore assez important suritrum c'est un petit peu différent il reste quand même dans un peu dans le même principe que que openet il y a toujours l'execution fee qui est exactement la même chose sauf que le L1 datafi il y a quelques différences euh notamment deux grandes différences le L1 gas Price qui n'est pas un qui n'est pas le gaz price du L1 actuel mais qui est une estimation qui a été faite avec un calcul que je montrerai après et euh le L1 datafi n'est pas directement ponctionné de votre wilette mais il est

converti en gaz L2 et vous sera additionné au total de la transaction donc si on regarde sur l'Explorer on peut voir que le gaz Lim typi c'est une transaction de transfert trans de transfer normalement c'est 2000 de gaz que la personne a payé quasiment 3 320000 de gaz en fait ce gaz supplémentaire correspond éé converti en de gaz pour expliquer un peu le système qu'ils ont mis en place à chaque fois que quelqu'un fait une transaction surbitr le datait envoyé dans un contrat s'appelle Pr et ce l pr a une variable à l'intérieur qui s'appelle le solde et ce

sold s'incrémente à chaque fois qu'un bloc est validé sur le L2 avec tous les dat une fois que le L2 veut envoyer une B transaction sur le L1 et que cette B transaction est validé sur le L1 il y a une transaction envoyée vers le L2 qui s'appelle un batch posting report qui comprend plusieurs paramètres et information comme le gaz d'utiliser le gas price de la transaction de batch informations sont envoyé au L1 pricer pricer fund pool et est déduite du sold donc typiquement ils ont récupéré les L1 datafi les ont cumulé dans ce contrat il récupèent après ce qui P ce qui a été payé sur le L1 et il soustrait ça au solde et ce solde la le le le signe de

ce sold va dépendre va va va changer la suite si le sold est négatif c'estàd queil y a un déficit et du coup l'estimation du L1 bas F qui a été utilisée pour calculer datafi va être augmenté et si le solde est positif c'est qu'il y a un surplus ils ont moins payé que ce qu'ils ont collecté donc forcément ils vont baisser le L1 bas estimate pour essayer de toujours arriver à un se de proche de zéro euh donc voilà pour arbitre malheureusement c'est toujours pareil les transactions F sont toujours basses mais pas suffisantment pour pour pour du gaming h donc il y avait une solution serait la doit yourself solution donc une

implémentation du dac avec sur la steak d'optimisme euh un DAC c'est avoir la couche de Data avability qui était avant sur etherum et de la la mettre offchain pour la mettre off chain ce qu'on fait c'est qu'on utilise on fait exactement comme avec optimis c'estàd que la data de votre transaction est compressée et au lieu d'être directement envoyé sur le L1 est envoyé vers un DAC un Data avability commit dont chaque membre va attester signer cette data et renvoyer la signature au séquenceur et ce qu'il faut comprendre là c'est que quand le membre du dac attest tesing cette data c'est il fait la promesse de rendre cette donnée disponible à quiconque la demande et et après le séquenceur prend

cette signature en fait un certificat et la poste sur le L1 donc le certificat est une taille fixe donc le coût de la data postée sur le L1 est toujours fixe et ce certificat et vous pouvez l'utiliser pour le récupérer et utiliser avec l'API d'un des membres du dac pour pouvoir récupérer la data des transactions h vu que le coût du le coût de la data qui est postée sur le L1 et fixe on peut modifier la la formule qui calcule les transactions fi pour baisser encore plus euh ces coûts euh par souci de l'objectif était de modifier le moins possible la stack d'optimisme et donc je on a décidé de modifier qu'un seul paramètre dans le calcul des des du L1

datafi qui est le Dynamic overhead et pour modifier ce dynamic overhead on a plusieurs informations on sait que une Bâ transaction ça coûte seulement 24000 de gaz et ça sera toujours pareil on sait que la data maximum qu'on peut envoyer au DAC c'est 9,5 m alors pourquoi on a ça comme maximum c'estàd que si le DAC euh tombe le rollup passe automatiquement dans un mode normal et poste toute la data sur le L1 donc donc c'est pour ça qu'on doit garder cette limite de 9,5 m c'est pour rester dans dans dans l'optique du du rollup de base on doit modifier on doit faire un petit calcul en gros qui modifie enfin

qui fait une une estimation grossière de la taille de la transaction après compression et ça nous fait un dynamique over préliminaire extrêmement bas quasiment 900 moins important que sur optimisme et je dis préliminaire parce que il y a un aspect important que n'a pas optimisme mais qui peut que nous on peut avoir pour des petites blockchain c'estd que la quand il y a un faible volume de transaction il peut se passer à un certain temps entre le moment où l'utilisateur paye sa transaction sur le rollup et le moment où on paye la publication de la data sur le L1 et ça ça peut être dangereux parce queon peut se retrouver à ne pas avoir collecté suffisamment de de fill pour sponsoriser

ces transactions et donc on a décidé de mettre une limite de temps fait que si même si on a pas atteint les 9,5 m le trigger pour enclencher cette batch transaction on a on a mis une limite de temps de 600 blocs donc ce qui est 2 he et pour limiter ce risque et du coup quelle est la variation maximum qui peut avoir sur 2 he c'est absolument énorme et on a décidé de faire une petite étude statistique des blocs des bas fi sur les blocs donc on analisé 1 25 million de blocs entre quoi entre décembre 2022 et mai 2023 et on a regardé quell étai les variations entre n bloc et N + 6 en bloc

la variation du basi on a vu que dans 9 % des cas cette variation est en dessous de 269 % d'augmentation et pour la petite anecdote la plus grosse variation qu'on a vu c'est une augmentation de 25000 % en 2 he ça fait un peu cher HH donc maintenant qu'on sait que dans 99 % des cas l'augmentation sera en dessous de 269 % on peut juste modifier si j'arrive à passer la slide suivante on peut juste modifier le calcul qu'on a vu précédemment euh le multiplier par le ce que j'appellerai le facteur d'incertitude euh qui est du coup de 3,69 et ce qui nous permet

d'avoir un dynamic overhead extrêmement bas pour comparer une transaction une approve transaction sur euh met ça coûte avec un gas price je crois à 30 qu et un une ETH à 2500 dollars le coût d'une transaction sur Open serait de 14 centimes et sur sur Comet sur notreplmentation serait de 2 cenè de centimes soit 600 fois moins cher h cette implémentation DEAC a reçu un GR de la part de optimisme donc GG à ladar qui est juste là et qui est le cerveau des cette implémentation euh vous pouvez avec le QR code aller voir cette page et il y a toute l'information le code c'est

Open Source euh et la doc en utilisant ce QR code euh et GG aussi a été rom France qui a reçu un Grun pour pendant pendant ce tour h donc là pour le coup les transactions F sont vraiment vraiment pas cheres mais par contre c'est encore work in progress on a besoin de faire auditer euh c'est c'est c'est de la recherche donc on travaille encore dessus et puis entre tempemps on a été approché par arbitrom qui était sur le point de sortir leur Orbit chain donc qui sont des L3 et on s'est dit que on allait tenter l'aventure avec eux donc aujourd'hui notre prochain jeu il va être release sur un L3 enitrus Orbit donc enitrus c'est l'implémentation

c'est du dac nous on s'est beaucoup inspiré d'eux et le L2 serait arbitom one mais avoir sa propre chaîne ça porte beaucoup de défis comme avoir un indexeur avoir des solutions d'un Drom qui est extrêmement compliqué à avoir sur des petites chaînes comme ça avoir un public r PC et cetera et c'est des challenges que je pense que nous arriverons à résoudre d'ici d'ici peu voilà merci beaucoup y