Lundi soir, un changement d’une seule ligne sur l’EIP-7928 a été fusionné, et l’histoire derrière cette ligne offre un bon aperçu de la manière dont les deux couches de clients d’Ethereum dépendent l’une de l’autre. L’EIP-7928 ajoute des listes d’accès au niveau des blocs à Glamsterdam. Une BAL enregistre les comptes et les emplacements de stockage qu’un bloc touche, ainsi que les changements d’état après chaque transaction, permettant aux clients de lire et valider en parallèle. La règle originale stipulait que les clients d’exécution n’avaient besoin de conserver les BAL que pendant 3 533 époques, soit environ 16 jours. C’est la fenêtre de subjectivité faible, et pour la couche d’exécution, c’est largement suffisant. Un développeur de client d’exécution a fait valoir avec justesse dans la PR qu’un nœud peut valider un bloc sans aucune BAL. Le problème se situait du côté de la consensus. Certains clients de consensus ne stockent pas les charges utiles complètes. Ils conservent une version « aveuglée » et, lorsqu’un pair demande le bloc, ils appellent engine_getPayloadBodiesBy*V2 sur le client d’exécution pour reconstituer le reste. Cela fonctionne pour les transactions et les retraits, car les clients d’exécution conservent les corps de bloc pendant 14 299 époques. Mais sous Gloas, la BAL fait également partie de la charge utile d’exécution. Ainsi, après 16 jours, le client d’exécution renverrait null pour la BAL, et le client de consensus ne pourrait plus reconstituer une charge utile qu’il est toujours censé servir. Sa seule option serait de commencer à stocker les BAL lui-même, ce qui signifie que les mêmes données seraient dupliquées sur le disque. La correction fait suivre la conservation des BAL à la fenêtre des corps de blocs : 14 299 époques, soit un peu plus de deux mois. Ce n’est pas gratuit. En utilisant la taille typique de 70 Ko pour une BAL citée dans cette discussion, mon estimation approximative est d’environ 30 Go de BAL par nœud, contre environ 7,5 Go auparavant. Rien concernant la sécurité du consensus n’a changé ici. Les deux couches avaient simplement des idées différentes sur ce que signifiait « le conserver ».
Pandit | Ξ🦇🔊Partager

Source:Afficher l'original
Clause de non-responsabilité : les informations sur cette page peuvent avoir été obtenues auprès de tiers et ne reflètent pas nécessairement les points de vue ou opinions de KuCoin. Ce contenu est fourni à titre informatif uniquement, sans aucune représentation ou garantie d’aucune sorte, et ne doit pas être interprété comme un conseil en investissement. KuCoin ne sera pas responsable des erreurs ou omissions, ni des résultats résultant de l’utilisation de ces informations.
Les investissements dans les actifs numériques peuvent être risqués. Veuillez évaluer soigneusement les risques d’un produit et votre tolérance au risque en fonction de votre propre situation financière. Pour plus d’informations, veuillez consulter nos conditions d’utilisation et divulgation des risques.