BlockPulseNews
Définition

KZG commitment : définition

Un engagement KZG est une technique cryptographique qui résume un grand ensemble de données en une empreinte très compacte, puis permet de prouver la valeur de n'importe quelle partie sans tout révéler ; Ethereum l'utilise pour les blobs.

Thème : Layer 2 et scalabilité

KZG commitment : comment ça marche ?

Le nom vient de ses auteurs, Kate, Zaverucha et Goldberg. Le principe : les données sont représentées sous forme de polynôme, et l'on calcule un engagement, une valeur courte qui le fixe définitivement. On peut ensuite produire une petite preuve démontrant que ce polynôme prend telle valeur en tel point, et cette preuve se vérifie rapidement. L'engagement fonctionne comme une empreinte, avec une propriété supplémentaire : il permet des vérifications partielles, ce qu'un simple hash ne permet pas sans fournir l'intégralité des données.

Avec l'EIP-4844 (proto-danksharding), les rollups publient leurs données dans des blobs, des paquets temporaires moins coûteux que le calldata. Chaque blob est accompagné de son engagement KZG, et les transactions y font référence via un hash de cet engagement. Le schéma repose sur une configuration initiale, appelée trusted setup : Ethereum a organisé une cérémonie publique à laquelle un très grand nombre de participants ont contribué, et il suffit qu'un seul ait détruit son secret pour que le système soit sûr. Ces engagements préparent aussi l'échantillonnage de disponibilité des données.

Un exemple concret

Imaginons un rollup qui publie un blob contenant des milliers de transactions compressées. Plutôt que d'intégrer ce blob pour toujours à l'historique d'Ethereum, le réseau conserve durablement son engagement KZG, très court. Si quelqu'un doit prouver plus tard qu'une donnée précise figurait dans le blob, il fournit cette donnée et une petite preuve, que n'importe qui peut vérifier par rapport à l'engagement.

Les risques à connaître

La sécurité repose sur la cérémonie de configuration initiale et sur des hypothèses mathématiques bien étudiées, mais qui ne résistent pas aux ordinateurs quantiques : une machine suffisamment puissante pourrait les remettre en cause à terme. Pour un utilisateur, le principal piège est de croire que les données des blobs sont conservées indéfiniment par le réseau, ce qui n'est pas le cas.

À ne pas confondre avec

  • EIP-4844 : L'EIP-4844 est la mise à niveau qui introduit les blobs, et KZG est le schéma d'engagement choisi pour les accompagner.
  • Arbre de Merkle : Un arbre de Merkle engage aussi des données, mais ses preuves grandissent avec la quantité de données, alors qu'une preuve KZG garde une taille constante.
  • DAS : Le DAS est une méthode de vérification par échantillonnage, qui peut s'appuyer sur les engagements KZG sans se confondre avec eux.

Questions fréquentes sur KZG commitment

Pourquoi Ethereum a-t-il eu besoin d'un trusted setup pour KZG ?

Le schéma requiert des paramètres publics générés à partir d'un secret qui doit ensuite disparaître. La cérémonie ouverte à tous permet de s'assurer qu'au moins un participant honnête a détruit sa contribution secrète.

Les blobs sont-ils stockés pour toujours ?

Non. Les nœuds ne conservent les blobs que pendant une période limitée ; seuls leurs engagements restent liés de façon permanente à la chaîne.

Termes liés

Dans le même thème : Layer 2 et scalabilité

Tous les termes du thème Layer 2 et scalabilité →

À lire

L'actualité : Layer 2 et scalabilité

Les derniers articles de BlockPulseNews sur ce sujet.

Approfondir avec l'Académie : Frais, Layer 2 & Ponts Un module gratuit, en leçons courtes et quiz, pour maîtriser ce thème pas à pas.
Découvrir le module

Les autres termes en K

← Tout le lexique crypto de A à Z