Les arbres Verkle (un mot-valise pour « engagement vectoriel » et « arbres de Merkle ») sont une structure de données qui peut être utilisée pour mettre à niveau les nœuds Ethereum afin qu'ils puissent cesser de stocker de grandes quantités de données d'état sans perdre la capacité de valider les blocs.
Absence d'état
Les arbres Verkle constituent une étape cruciale sur la voie des clients Ethereum sans état. Les clients sans état sont ceux qui n'ont pas besoin de stocker l'intégralité de la base de données d'état pour valider les blocs entrants. Au lieu d'utiliser leur propre copie locale de l'état d'Ethereum pour vérifier les blocs, les clients sans état utilisent un « témoin » des données d'état qui arrive avec le bloc. Un témoin est un ensemble d'éléments individuels des données d'état qui sont nécessaires pour exécuter un ensemble particulier de transactions, ainsi qu'une preuve cryptographique que le témoin fait réellement partie des données complètes. Le témoin est utilisé à la place de la base de données d'état. Pour que cela fonctionne, les témoins doivent être très petits, afin de pouvoir être diffusés en toute sécurité sur le réseau à temps pour que les validateurs les traitent dans un créneau de 12 secondes. La structure actuelle des données d'état n'est pas adaptée car les témoins sont trop volumineux. Les arbres Verkle résolvent ce problème en permettant de petits témoins, supprimant ainsi l'un des principaux obstacles aux clients sans état.
Qu'est-ce qu'un témoin et pourquoi en avons-nous besoin ?
Vérifier un bloc signifie réexécuter les transactions contenues dans le bloc, appliquer les modifications au trie d'état d'Ethereum et calculer le nouveau hash racine. Un bloc vérifié est un bloc dont le hash racine d'état calculé est le même que celui fourni avec le bloc (car cela signifie que le proposeur de bloc a réellement effectué le calcul qu'il prétend avoir fait). Dans les clients Ethereum d'aujourd'hui, la mise à jour de l'état nécessite l'accès à l'intégralité du trie d'état, qui est une grande structure de données devant être stockée localement. Un témoin ne contient que les fragments des données d'état qui sont nécessaires pour exécuter les transactions du bloc. Un validateur peut alors utiliser uniquement ces fragments pour vérifier que le proposeur de bloc a exécuté les transactions du bloc et mis à jour l'état correctement. Cependant, cela signifie que le témoin doit être transféré entre les pairs sur le réseau Ethereum assez rapidement pour être reçu et traité par chaque nœud en toute sécurité dans un créneau de 12 secondes. Si le témoin est trop volumineux, le téléchargement pourrait prendre trop de temps pour certains nœuds, les empêchant de suivre la chaîne. Il s'agit d'une force centralisatrice car cela signifie que seuls les nœuds disposant de connexions Internet rapides peuvent participer à la validation des blocs. Avec les arbres Verkle, il n'est pas nécessaire d'avoir l'état stocké sur votre disque dur ; tout ce dont vous avez besoin pour vérifier un bloc est contenu dans le bloc lui-même. Malheureusement, les témoins qui peuvent être produits à partir des tries de Merkle sont trop volumineux pour prendre en charge les clients sans état.
Pourquoi les arbres Verkle permettent-ils des témoins plus petits ?
La structure d'un trie de Merkle rend la taille des témoins très grande - trop grande pour être diffusée en toute sécurité entre les pairs dans un créneau de 12 secondes. Cela s'explique par le fait que le témoin est un chemin reliant les données, qui sont contenues dans des feuilles, au hash racine. Pour vérifier les données, il est nécessaire d'avoir non seulement tous les hashs intermédiaires qui relient chaque feuille à la racine, mais aussi tous les nœuds « frères ». Chaque nœud de la preuve a un frère avec lequel il est haché pour créer le hash suivant dans le trie. Cela représente beaucoup de données. Les arbres Verkle réduisent la taille du témoin en raccourcissant la distance entre les feuilles de l'arbre et sa racine, et en éliminant également la nécessité de fournir des nœuds frères pour vérifier le hash racine. Une efficacité spatiale encore plus grande sera obtenue en utilisant un puissant schéma d'engagement polynomial au lieu de l'engagement vectoriel de type hash. L'engagement polynomial permet au témoin d'avoir une taille fixe quel que soit le nombre de feuilles qu'il prouve.
Dans le cadre du schéma d'engagement polynomial, les témoins ont des tailles gérables qui peuvent facilement être transférées sur le réseau pair à pair. Cela permet aux clients de vérifier les changements d'état dans chaque bloc avec une quantité minimale de données.
Quelle est la structure d'un arbre Verkle ?
Les arbres Verkle sont des paires (key,value) où les clés sont des éléments de 32 octets composés d'une souche de 31 octets et d'un suffixe d'un seul octet. Ces clés sont organisées en nœuds d'extension et en nœuds internes. Les nœuds d'extension représentent une souche unique pour 256 enfants avec des suffixes différents. Les nœuds internes ont également 256 enfants, mais ils peuvent être d'autres nœuds d'extension. La principale différence entre la structure de l'arbre Verkle et celle de l'arbre de Merkle est que l'arbre Verkle est beaucoup plus plat, ce qui signifie qu'il y a moins de nœuds intermédiaires reliant une feuille à la racine, et donc moins de données requises pour générer une preuve.
En savoir plus sur la structure des arbres Verkle (opens in a new tab)
Progrès actuels
Les réseaux de test d'arbres Verkle sont déjà opérationnels, mais il reste encore d'importantes mises à jour en attente pour les clients, nécessaires pour prendre en charge les arbres Verkle. Vous pouvez aider à accélérer les progrès en déployant des contrats sur les réseaux de test ou en exécutant des clients de réseau de test.
Regardez Guillaume Ballet expliquer le réseau de test Verkle Condrieu (opens in a new tab) (notez que le réseau de test Condrieu utilisait la preuve de travail (PoW) et a maintenant été remplacé par le réseau de test Verkle Gen Devnet 6).
Complément d'information
- Les arbres Verkle pour l'absence d'état (opens in a new tab)
- Dankrad Feist explique les arbres Verkle sur PEEPanEIP (opens in a new tab)
- Les arbres Verkle pour le reste d'entre nous (opens in a new tab)
- Anatomie d'une preuve Verkle (opens in a new tab)
- Guillaume Ballet explique les arbres Verkle à ETHGlobal (opens in a new tab)
- « Comment les arbres Verkle rendent Ethereum svelte et efficace » par Guillaume Ballet à la Devcon 6 (opens in a new tab)
- Piper Merriam sur les clients sans état à l'ETHDenver 2020 (opens in a new tab)
- Dankrad Feist explique les arbres Verkle et l'absence d'état sur le podcast Zero Knowledge (opens in a new tab)
- Vitalik Buterin sur les arbres Verkle (opens in a new tab)
- Dankrad Feist sur les arbres Verkle (opens in a new tab)
- Documentation de l'EIP sur les arbres Verkle (opens in a new tab)
Dernière mise à jour de la page : 6 juin 2026
