Vous avez peut-être remarqué que presque tous les développeurs participent et retweetent la cérémonie KZG, alors qu'est-ce que la cérémonie KZG ?
En termes simples, KZG Ceremony est la configuration de confiance de l'engagement EIP-4844 KZG, et EIP-4844 est la préversion du partage complet d'Ethereum.

1. Sharding : une solution à long terme pour la mise à l'échelle d'Ethereum
Alors que les rollups font évoluer Ethereum à partir de la couche d’exécution, le partitionnement améliore l’évolutivité et la capacité d’Ethereum du point de vue de la disponibilité des données.
Le graphique de tendance ci-dessous montre que la taille moyenne des blocs fluctue autour de 90 Ko malgré l’itération rapide d’Ethereum ces années-là. Bien que les rollups réduisent considérablement la congestion du réseau, les performances globales sont toujours limitées par la capacité de stockage de données de couche 1.

Compte tenu de la sécurité et de la complexité de la mise en œuvre, le partitionnement est divisé en plusieurs phases, parmi lesquelles le proto-danksharding et le danksharding. L'ensemble du processus pourrait prendre plusieurs années.
Compte tenu du schéma de stockage actuel, seuls quelques matériels hautes performances sont capables de participer en tant que nœuds. Après la mise en œuvre du partitionnement, les nœuds ne sont plus tenus de stocker l'intégralité du contenu des données historiques, ce qui exploite la sécurité d'Ethereum en abaissant le seuil pour devenir un nœud (un coût de stockage de données inférieur et un degré de décentralisation plus élevé).
2. EIP-4844 : retour remarquable à court terme, une avant-première du partage complet d'Ethereum
EIP-4844 = Proto-Danksharding;
Étant donné que la mise en œuvre complète du sharding est encore trop complexe et pourrait prendre des années, le proto-danksharding est le meilleur plan intermédiaire pour réduire la congestion d'Ethereum à court terme.

2.1 Résumé du proto-danksharding
Proto-Danksharding introduit un nouveau type de transaction appelé transaction de transport de blob. Bénéficiant de cette mise à jour, les rollups peuvent utiliser le « blob » pour transférer des données vers L1 et les stocker provisoirement à un coût relativement inférieur. La taille d’un blob est beaucoup plus grande que les données d’appel actuelles.
À propos du blob :
Chaque transaction peut contenir au maximum 2 blobs
Chaque bloc contient normalement 8 blobs d'une capacité de 1 Mo.
Un bloc peut contenir 16 blobs, ce qui conduit à une taille de bloc de 2 Mo.
Un blob n’est pas stocké de manière permanente en tant que journal d’historique comme les données d’appel.
Dans la conception du proto-danksharding, les nœuds doivent toujours télécharger le contenu complet des données et vérifier la disponibilité des données.
2.2 Transactions portant des Blob en profondeur

Fonctionnalité
La fonctionnalité d'un blob de données est similaire à celle d'un calldata, qui permet au cumul de transférer les données de transaction et les preuves vers L1.
Coût
L’intention initiale du blob est de prendre en charge des TPS élevés dans les cumuls. Par rapport aux données d'appel, qui utilisent le stockage en chaîne, ces données blob ne sont téléchargées et stockées que pendant un certain temps. Par conséquent, les dépenses en gaz pour les cumuls visant à garantir la disponibilité des données seront, comme on pouvait s’y attendre, inférieures.
Capacité
La taille de chaque blob est de 125 Ko.
2.3 La valeur et le défi des transactions porteuses de blob
Valeur
Il est certain que l’émergence de blobs fait des données de transaction une sorte de cache, ce qui réduit encore les besoins en matériel de stockage pour les nœuds et réduit les frais de gaz en fournissant à Ethereum un stockage de données supplémentaire.
Défi : calculons la configuration matérielle requise
Le fait est que la taille actuelle des blocs est d’environ 90 Ko, mais la taille d’un blob peut atteindre 125 Ko.
Selon la conception de l'EIP-4844, la taille de chaque emplacement est normalement de 1 Mo, ce qui signifie que la taille totale des données peut être calculée comme suit :
1 Mo/bloc * 5 blocs/min * 43 200 min/mois * 12 mois/an = 2,47 To par an
Il est évident que l’augmentation annuelle des données est bien supérieure au total des données Ethereum, ce qui implique que ce plan naïf de stockage de données n’est pas efficace.
Que peut-on optimiser ?
À court terme, chaque nœud doit toujours stocker l'intégralité du contenu des données historiques, mais la couche de consensus est implémentée avec un schéma selon lequel les données blob seront supprimées dans un certain laps de temps (30 jours ou 1 an, à déterminer).
Pour des avantages à long terme, EIP-4444 doit être implémenté, ce qui indique que les nœuds ne sont plus tenus de stocker l'intégralité des données. Au lieu de cela, un nouveau mécanisme est adopté, qui permet aux nœuds de stocker uniquement des parties de données pendant un certain temps, en se référant à ce que l'on appelle un schéma d'expiration de l'historique.
2.4 Engagement de KZG
KZG Commitment est un schéma d'engagement polynomial adopté par le proto-danksharding EIP-4844.
La cérémonie KZG est le processus d'établissement de la confiance pour KZG Commitment, qui attire plus de 30 000 participants.
2.4.1 Qu'est-ce que l'engagement de KZG
KZG est une abréviation d'Aniket Kate, Gregory M. Zaverucha et Ian Goldberg, qui ont publié l'essai d'engagement polynomial « Constant-Size Commitments to Polynomials and Their Applications » en 2010. KZG Commitment est largement appliqué dans le style plonk zk-snark. protocole.

En se référant au diagramme de la présentation de Dankrad, la racine KZG est similaire à la racine de Merkle, sauf que la racine KZG s'engage sur un polynôme, où chaque position repose sur ce polynôme. Sur la base du scénario de proto-danksharding, la racine KZG valide un ensemble de données, dans lequel chaque point de données peut être vérifié comme faisant partie de l'ensemble complet.
Un aperçu rapide du fonctionnement interne de l'engagement KZG
Prouveur : Responsable du calcul de l’engagement. Pour des raisons de sécurité, un prouveur ne peut pas modifier le polynôme donné, et l'engagement n'est valable que pour le polynôme courant ;
Vérificateur : Responsable de la vérification de l'engagement envoyé par le prouveur.
2.4.2 Cérémonie KZG (configuration de confiance)

Le déroulement de la cérémonie KZG

Tout le monde peut participer à la cérémonie KZG et apporter son secret. Le secret nouvellement ajouté sera mélangé avec la sortie précédente pour former un nouveau résultat et, enfin, générera un SRS pour la configuration de la confiance d'engagement KZG. (Consultez le schéma fourni par Vitalik pour une meilleure compréhension)
Configuration de la confiance
KZG Ceremony est une configuration de confiance multi-participants très utilisée appelée pouvoir de tau ;
Cette configuration suit le modèle de confiance 1 sur N, ce qui signifie que quel que soit le nombre de participants contribuant au processus de génération de la configuration finale, tant qu'une personne garde son secret, la validité de la configuration peut être garantie.
Importance de la cérémonie KZG
La valeur de la configuration de confiance de l'engagement KZG peut être interprétée comme suit : générer un paramètre nécessaire à chaque exécution du protocole cryptographique.
Lorsque le prouveur calcule l'engagement, l'engagement KZG C = f(s)g1, où f est la fonction d'évaluation et s est le résultat final de la configuration de la confiance KZG. Par conséquent, le secret final généré par la cérémonie KZG actuelle est crucial pour la mise en œuvre ultérieure du sharding.
2.4.3 Avantage de l'engagement KZG
Coût
L'engagement KZG est moins complexe et peut être vérifié efficacement.
Aucune preuve supplémentaire n'est nécessaire, ce qui entraîne un coût inférieur et supprime le besoin de bande passante.
Coût encore plus faible en tirant parti de la précompilation de l'évaluation des points.
Sécurité
Si l’échec se produit, seul le blob correspondant à l’engagement actuel est infecté et il n’y a plus d’effet de chaîne.
Compatibilité
L'engagement de KZG est plus favorable au DAS, ce qui évite la redondance dans le développement.
2.5 L'avantage de l'EIP-4844
Cumul
Comme le montre l'image ci-dessous, le rollup doit soumettre le delta d'état et le hachage versionné de l'engagement KZG via calldata (zk-rollup doit toujours télécharger le zkp).
Après la mise en œuvre d'EIP-4844, les données d'appel coûteuses ne transportent que quelques petites données telles que le delta d'état et les engagements, tandis que les données volumineuses telles que les lots de transactions sont placées dans le blob.
réduire le coût ;
réduire l’utilisation de l’espace de stockage en bloc.

Amélioration de la sécurité
Disponibilité des données : Blob est stocké dans la chaîne de balises, qui partage la même sécurité qu'Ethereum L1.
Données historiques : les nœuds ne stockent les blobs que pendant un certain temps et le cumul de couche 2 est responsable du stockage permanent des données, ce qui indique que la sécurité des données historiques repose sur le cumul.
Coût
La fonctionnalité à faible coût de la transaction transportant des objets blob peut optimiser le coût global de x10 à x50.
Pendant ce temps, EIP-4844 introduit des frais de blob
Le gaz et le blob auront des prix et des limites de gaz ajustables distincts ;
L'unité de prix d'un blob est le gaz, la quantité de gaz flottera en fonction du trafic réseau, qui vise à maintenir le nombre que transporte chaque bloc (8 en moyenne).
Implémentation de la précompilation
L'exécution d'EVM ne peut afficher que l'engagement d'un blob généré par le prouveur et ne peut pas accéder directement aux données du blob. Par conséquent, le cumul doit utiliser un schéma de précompilation pour vérifier la validité de l'engagement.
Il existe deux algorithmes de précompilation mentionnés dans EIP-4844
Précompilation d'évaluation de points
Prouver que plusieurs engagements concernent le même ensemble de données.
La précompilation d'évaluation des points est principalement adoptée par zk-rollup, le rollup doit fournir deux engagements, l'engagement KZG et l'engagement zk-rollup
En ce qui concerne le cumul optimiste, la plupart d'entre eux ont adopté une méthode anti-fraude à plusieurs tours, et la dernière série anti-fraude contient une taille de données plus petite, ce qui signifie qu'ils peuvent également utiliser la précompilation d'évaluation de points à moindre coût.
Précompilation de la vérification des objets blob
Prouver que le hachage versionné est valide pour le blob correspondant
Le cumul optimiste doit accéder à l'intégralité des données lors de la soumission anti-fraude, il est donc rationnel de vérifier la validité du hachage versionné, puis la vérification anti-fraude.
3. Danksharding : une étape cruciale vers le sharding complet
Mise à l'échelle
Grâce à la nouvelle conception de type de transaction du proto-danksharding, qui introduit un blob de données, chaque bloc dispose désormais d'un cache supplémentaire de 1 Mo. Ce nombre augmentera de 16 à 32 fois après la mise en œuvre du danksharding.
Disponibilité des données : stockage et vérification des données hautes performances
Comparé au proto-danksharding, où les nœuds doivent stocker l'intégralité du contenu des données historiques, le danksharding permet aux nœuds de stocker les données uniquement après échantillonnage.
LE
Tirant parti de la technologie de codage d'effacement, la proposition de danksharding permet aux nœuds de découvrir plus facilement la perte de données (chaque nœud n'a besoin que de télécharger des parties de données).
Sécurité : presque la même
Étant donné que les nœuds ne sont plus tenus de stocker l'intégralité du contenu des données historiques, la sécurité n'est pas soutenue par un seul nœud mais dépend de plusieurs nœuds qui stockent des parties de données et peuvent ensuite être composés et récupérer l'intégralité des données.
Bien qu'un système de dépendance à point unique soit plus sécurisé qu'une dépendance à plusieurs points, le nombre de nœuds dans le réseau Ethereum est bien plus que suffisant, ce qui est qualifié pour atteindre l'objectif consistant à garantir la disponibilité des données.

Nouveau défi : l'exigence plus élevée pour les constructeurs de blocs
Alors que les validateurs téléchargent et stockent uniquement une partie des données complètes, le générateur de blocs doit toujours télécharger le contenu complet des données, qui constitue le blob contenant toutes les données de transaction.
D'après le diagramme des diapositives de Dankrad, nous pouvons voir comment le PBS (séparation proposant/constructeur), initialement conçu pour l'anti-MEV, aide à réduire les besoins en bande passante lors de la construction de blocs.
4. Un autre schéma de partitionnement : le partitionnement dynamique de l'état de Shardeum
Shardeum est une blockchain L1 compatible EVM, qui utilise le partitionnement d'état dynamique pour améliorer l'évolutivité et la sécurité. Parallèlement, le réseau Shardeum est en mesure d’assurer un niveau de décentralisation plus élevé.

Partage d'état dynamique
Avantages
Les avantages les plus intuitifs du partitionnement d’état dynamique sont la mise à l’échelle linéaire. Chaque nœud possède une plage d'adresses différente et il existe un chevauchement important entre les adresses couvertes par les nœuds. L'algorithme de partitionnement regroupe les nœuds de manière dynamique, ce qui signifie que les nœuds nouvellement ajoutés au réseau Shardeum fonctionnent immédiatement pour augmenter le TPS.
Mise en œuvre
La complexité de la mise en œuvre du partitionnement d’état dynamique est plus difficile que celle du partitionnement statique. L’équipe technique de Shardeum a étudié en profondeur les technologies de sharding. Les précédentes réalisations de R&D réalisées par l'équipe Shardeum (anciennement Shardus Technology) apportent également des contributions significatives, capables de mettre en valeur la mise à l'échelle linéaire du partitionnement d'état dynamique à un stade précoce de développement.
Résumé
Produit
Faisant référence à l'idée de diviser pour régner, le partitionnement dynamique de l'état Shardeum divise la charge de travail de calcul et de stockage, ce qui permet un niveau de parallélisation plus élevé. Par conséquent, le réseau est capable d’accueillir davantage de nœuds, ce qui améliore encore le débit et le niveau de décentralisation.
Équipe
L'équipe Shardeum possède une solide expérience en marketing et une capacité narrative. Ils ont également une compréhension approfondie des détails techniques, en particulier du partitionnement dynamique des états.
Technologie
L'équipe technique est en mesure de concevoir un schéma de partitionnement approprié et un algorithme de consensus efficace (Preuve d'enjeu + Preuve de quorum) basé sur sa compréhension du scénario, qui place la mise à l'échelle et le débit au premier plan et garantit la sécurité et le niveau de décentralisation. le plus loin possible.
Progrès
Betanet a été lancé le 02/02/2023.
5. Les perspectives
Le Sharding est une solution de mise à l’échelle à long terme pour Ethereum, il a une valeur énorme et une signification profonde pour l’ensemble du réseau. Il est pire d’y prêter une attention particulière, car la mise en œuvre du sharding est un processus itératif. Toutes les propositions actuelles, y compris le proto-danksharding et le danksharding, peuvent être mises à niveau/modifiées.
S'il est important de comprendre la méthode générale de mise en œuvre du sharding, les propositions techniques, telles que PBS, DAS, marché de frais multidimensionnels, etc., qui émergent au cours du processus méritent également d'être prises en compte. De nombreux projets exceptionnels pourraient accompagner ces projets.
Il est important de savoir que le partitionnement est un terme général qui décrit un ensemble de technologies de mise à l'échelle et qu'il existe différents schémas d'application en fonction de scénarios spécifiques. Par exemple, la conception du danksharding pourrait ne s’adapter qu’à Ethereum et pourrait probablement avoir un effet négatif s’il était appliqué à d’autres L1, car la sécurité doit être garantie par un grand nombre de nœuds dans le réseau.
Une combinaison rationnelle de partitionnement et d’autres solutions de mise à l’échelle peut produire un effet multiplicateur. La proposition actuelle de danksharding ne fonctionnera pas seule. Au lieu de cela, les rollups et le danksharding se complètent pour mieux améliorer l’évolutivité et la capacité d’Ethereum.
Référence
https://notes.ethereum.org/@dankrad/kzg_commitments_in_proofs
https://notes.ethereum.org/@dankrad/new_sharding
https://vitalik.ca/general/2022/03/14/trustedsetup.html
https://notes.ethereum.org/@vbuterin/proto_danksharding_faq#Pourquoi-utiliser-le-hash-of-the-KZG-instead-of-the-KZG-directly
https://ethresear.ch/t/easy-proof-of-equivalence-between-multiple-polynomial-commitment-schemes-to-the-same-data/8188
https://dankradfeist.de/ethereum/2020/06/16/kate-polynomial-commitments.html
https://eips.ethereum.org/EIPS/eip-4844
https://www.eip4844.com/
https://biquanlibai.notion.site/Data-Availability-caa896aae59d489b98f2448f17b01640
https://ethresear.ch/t/a-design-of-decentralized-zk-rollups-based-on-eip-4844/12434
À propos de Foresight Ventures
Foresight Ventures se consacre à soutenir l’innovation disruptive de la blockchain au cours des prochaines décennies. Nous gérons plusieurs fonds : un fonds de capital-risque, un fonds secondaire à gestion active, un FOF multistratégie et un fonds secondaire du marché privé, dont les actifs sous gestion dépassent 400 millions de dollars. Foresight Ventures adhère à la conviction d'un « état d'esprit unique, indépendant, agressif et à long terme » et fournit un soutien étendu aux sociétés de portefeuille au sein d'un écosystème en pleine croissance. Notre équipe est composée de vétérans issus de grandes sociétés financières et technologiques telles que Sequoia Capital, CICC, Google, Bitmain et bien d'autres.
Site Web : https://www.foresightventures.com/
Twitter : https://twitter.com/ForesightVen
Support : https://foresightventures.medium.com
Sous-pile : https://foresightventures.substack.com
Discord : https://discord.com/invite/maEG3hRdE3
Linktree : https://linktr.ee/foresightventures