Environ la taille du bloc: limite supérieure du gaz et évolutivité

Auteur: Toni Wahrstätter

Récemment, il existe de nombreuses discussions sur l’amélioration de la limite supérieure du gaz de bloc Ethereum.Certaines personnes préconisent la taille du bloc en fonction de la loi de Moore, certaines personnes sont basées sur l’intuition personnelle, certaines personnes diffusent simplement des nouvelles à volon .

Ensuite, je veux montrer des graphiques et des données, ce qui peut nous aider à prendre une décision de maximiser la limite de gaz sur la prémisse que l’Ethereum est décentralisé.

Dès le début

Contrairement à Bitcoin, Ethereum n’a pas de limite de taille de bloc fixe, mais dépend d’un mécanisme de taille de bloc flexible.Dans Ethereum, le gaz est une unité qui mesure le calcul requis pour les opérations d’exécution (telles que les transactions ou les contrats intelligents).Chaque opération dans Ethereum nécessite une certaine quantité de gaz pour terminer.

Au début, en 2015, Ethereum avait une limite de 5000 gaz à Ethereum.Cette limite supérieure a été rapidement augmentée à environ 3 millions, puis a augmenté à environ 4,7 millions plus tard en 2016.Avec la mise en œuvre de Tangerine Whistle Hard Fork (EIP-150) en 2016, en réponse aux attaques DOS, en réduisant divers codes d’exploitation à forte intensité de l’Io, la limite de gaz a été augmentée à 5,5 millions.Après ces attaques, les mineurs ont continué d’augmenter la limite supérieure du gaz, de juillet 2017 à environ 6,7 millions, de décembre 2017 à environ 8 millions, de septembre 2019 à environ 10 millions, août 2020 à 12,5 millions, et enfin en 2021 en 2021 du 3 avril à environ 15 millions.

>

L’utilisation du gaz qui change avec le temps

Depuis lors, avec l’activation de Dragon, Byzance, Constantinople, Isstanbul et Berlin, la tarification de certains codes de fonctionnement a été détaillée.Ces exemples raffinés comprennent EIP-145, EIP-160, EIP-1052, EIP-108, EIP-1884, EIP-2028, EIP-2200, EIP-2565 et EIP-2929.

Les changements les plus importants du marché des coûts Ethereum ont eu lieu dans l’introduction de la Fork Hard London (EIP-1559) en août 2021.L’EIP-1559 introduit les frais de base, qui seront ajustés dynamiquement en fonction de la demande d’espace de bloc au fil du temps / du bloc.Dans le même temps, la «taille cible» a été introduite pour la fixer sur 15 millions de gaz par bloc.Cet objectif est utilisé pour guider l’ajustement dynamique des frais de base.Si le nombre total de gaz utilisé dans un bloc dépasse cet objectif, les frais de base du bloc suivant augmenteront.Au lieu de cela, si le nombre total de gaz utilisé est inférieur à la cible, la sensation de base est réduite.Ce mécanisme vise à créer un marché des coûts plus prévisible et à améliorer l’expérience utilisateur grâce à des dépenses de transaction stables.En outre, l’EIP-1559 a également introduit le mécanisme de destruction des frais de base, qui a supprimé définitivement la partie de l’éther du volume d’écoulement.Cela améliore la durabilité du protocole et crée le ventilateur de monnaie ultra-stable,

Dans le cadre de l’EIP-1559, il y a également une limite supérieure maximale (ou «limite supérieure dure»), qui est le double de celle de la cible, soit 30 millions de gaz.Cela signifie qu’un bloc peut emballer une transaction avec une utilisation totale allant jusqu’à 30 millions de gaz.

>

Utilisation du gaz après une fourche à Londres

Depuis lors, la limite supérieure du gaz de bloc d’Ethereum est restée inchangée.

Sommes-nous prêts à augmenter la taille du bloc?

Récemment, certaines personnes ont exprimé leurs préoccupations concernant le gaz d’Ethereum et ont demandé à l’augmenter.Dans la dernière Fondation Ethereum AMA sur Reddit, Vitalik a déclaré que l’idée d’augmenter la limite de gaz de 33% à 40 millions.Son raisonnement est basé sur la loi de Moore.Ce principe montre que les performances du réseau, y compris la possibilité de gérer et d’exécuter des transactions, peuvent également augmenter avec le temps.

Des chercheurs de la Fondation Ethereum Dankrad et d’Ansgar ont également soutenu l’idée d’augmenter la limite de gaz après avoir évalué la mise à niveau de Dencun.De plus, Pari of the Ethereum Foundation a publié un article pour explorer la limite supérieure du gaz potentielle.D’autres comme Peter et Maris de Geth sont préoccupés par l’augmentation de la limite de gaz, en particulier lorsqu’il n’y a pas d’outil / surveillance approprié en place.Ces préoccupations sont principalement liées à ces questions: la croissance accélérée du statut, le temps de synchronisation et le taux de blocs de réorganisation.

Quelle est la taille du bloc?

La taille du bloc peut être mesurée de deux manières:

Utilisation du gaz

Taille du bloc (en octet-par ligne)

Bien que ces deux mesures soient associées, elles doivent être considérées de manière indépendante.

Par exemple, un bloc contenant de nombreux octets CallData non zéro peut être grand en taille d’octets, et l’utilisation réelle du gaz (16 gaz par octet non zéro) peut toujours être relativement faible.

Ne considérez pas la situation après la compression en premier, sous la prémisse de respecter la limitation de 128 Ko par transaction de Geth,La plus grande taille de bloc pouvant être atteinte est d’environ 6,88 MoEssenceUn tel bloc maximisera le nombre de transactions de 128 Ko.Le résultat du calcul réel est que 55 trading contient environ 130 900 octets de l’octet CallData (4 gaz par octet) et une transaction qui remplit l’espace restant.Cependant, après la compression de Snappy, un tel bloc est d’environ 0,32 Mo à la fin, qui peut être ignoré.

Dans un autre cas, compte tenu de la taille de la possibilité maximale, il contient 15 transactions transportant l’octet non-nombre CallData, et la taille peut atteindre environ 1,77 Mo après la compression.

Par conséquent, à ce jour, 1,77 Mo représente la limite supérieure de la taille du bloc réel du bloc de couche d’exécution.

Note du traducteur:

Dans les paragraphes ci-dessus, l’auteur veut faire de la taille du bloc le maximum dans le cas d’une limite de gaz fixe de 30 m.

Si la limite supérieure du gaz est fixe et que la taille du bloc est plus grande, vous ne pouvez appeler que CallData (car le code d’octet tel que le calcul / le magasin ne consommera pas un espace de stockage de bloc).

Par conséquent, pour agrandir le bloc, ce n’est rien de plus que d’essayer d’être échangé comme calldata.Ensuite, il existe deux méthodes: « Pluging 0 CallData » et « Pilot non -0 CallData ».Le résultat final est que la taille du bloc de « Safeli 0 calldata » est plus grande.

Sur la base du client Geth pour limiter la prémisse allant jusqu’à 128 Ko chaque transaction, deux exemples ont commencé ci-dessous.

Cas 1:56 transactions avec une taille de 130 900 b (& lt; 128 kb) (qui sont toutes nulles, 4 gaz / b): 56 * (130 900 * 4 + 21000) = 30497600 & gt; Ainsi, seulement 55 transactions ci-dessus peuvent être branchées 55 transactions inférieures aux transactions ci-dessus.La taille du bloc correspondante est d’environ 55 * 128 = 7040 Ko = 6,875 Mo.Cependant, parce que le calldata est tout 0, la taille du bloc après compression est d’environ 0,32 Mo.

Cas 2:15 transactions avec une taille de 130 900 b (& lt; 128 kb) (qui sont toutes -zero calldata, 16 gaz / b): gaz = 15 * (130900 * 16 + 21000) = 31731000 & gt;La taille du bloc correspondante est d’environ 14 * 128 = 1792 kb = 1,75 Mo ~ 15 * 128 = 1,875 m.Cependant, comme CallData n’est pas -zer, il n’est pas facile de compresser, donc la taille du bloc après compression est d’environ 1,77 Mo.Guérir

En ce qui concerne cette plus grande taille de bloc, nous pouvons identifier plusieurs facteurs qui l’affectent:

Limite supérieure au gaz: La limite supérieure du gaz affectera la taille maximale du bloc, ce qui est hors de doute.Plus la limite supérieure est élevée, plus les données peuvent être branchées dans le bloc.

Fonctionnement et prix des données: Plus l’opération de l’opération est chère, plus les opérations peuvent être effectuées dans le bloc.Bien queCaldataloadouCalldatacopyDans cette opération, leurs dépenses sont de 3 gaz, ce qui est relativement bon marché; mais d’autres codes d’opération tels queCréerC’est plus cher.Plus le code d’opération utilisé dans le bloc est cher, plus il est cher.Calldata(Ou autres opérations) moins d’espace.

Limite du client: Bien que l’impact des limites du client ne soit pas si évident, la limite de 128 Ko de chaque transaction telle que le client Geth peut également affecter la taille finale du bloc.Étant donné que le coût fixe de chaque transaction est de 21k de gaz, plus la taille de chaque transaction du client est faible, plus les frais fixe sont inférieurs, de sorte que le « déchet » peut être utilisé pour une utilisation pour une utilisation « déchets » qui peuvent être utilisés pour Utiliser pour « déchets ».CalldataGaz.Ainsi, à la fin, cette limite peut entraîner une taille de bloc maximale d’environ 0,07 Mo.Il convient de noter que la restriction du client n’affecte que la diffusion de la transaction et n’affecte pas le bloc confirmé.

Tout d’abord, jetons un coup d’œil à la limite supérieure de chaque bloc:

>

L’impact de la limite supérieure du gaz de bloc sur la taille maximale du bloc

La blockchain comme Ethereum, l’amélioration de la limite supérieure du gaz de bloc est la méthode d’expansion la plus directe et la plus évidente.Une limite plus élevée signifie plus d’espace de données.Cependant, cela signifie également que les personnes qui exécutent le nœud entier pour diffuser et télécharger des blocs plus grands.Comme le montre la figure ci-dessus, la taille du bloc dans la « pire situation (la plus grande taille de bloc obtenue par les calculs avant) » est à peu près linéairement liée à l’augmentation de la limite supérieure du gaz de bloc.En créant un bloc qui est autant que possible, il peut atteindre une telle taille de bloc maximale.

Ensuite, jetons un coup d’œil à un autre facteur d’influence – le mécanisme de tarification d’Ethereum.Dans l’exemple actuel, c’est spécifiquement que les octets non-nombre actuellement définis comme 16 gazCalldataÉchange:

>

L’impact des dépenses de chaque CallData non-nombre sur la taille maximale du bloc

Comme le montre la figure ci-dessus, augmenter non -zerCalldataLes dépenses réduiront la taille du bloc.En d’autres termes, la réduction des dépenses à 8 gaz par octet doublera la taille du pire des cas.Ceci est très intuitif, car la réduction du prix permet des données doubles dans le bloc.

Alors qu’en est-il de l’EIP-4844 (proto-danksharding)?

Je ne présenterai pas 4844 ici en détail, car il y a de bons documents sur eip4844.com, mais simplement parlant, l’EIP-4844 présente le type de données similaire à la structure « sidecar », appelée blob, chaque blob peut être disponible sur environ Données de 125 Ko.Le mécanisme de coût des données BLOB est similaire à l’EIP-1559, et il existe également une « cible » pour ancrer le nombre de blob.Dans Dencun Hard Fork, la cible est définie sur 3 blocs de chaque bloc, et les restrictions maximales sont définies sur 6 blob chaque bloc.Il convient de noter que Blob possède son propre marché des coûts et crée le marché des coûts multidimensionnels si appelés.Cela signifie que Blob n’a pas besoin de rivaliser avec les transactions standard, mais découplée avec le coût du mécanisme EIP-1559.

Jusqu’à présent, tout se passe bien.Voyons comment cette mise à niveau affecte la taille moyenne du bloc d’Ethereum.

>

L’impact du comprimé la taille moyenne du bloc de la chaîne d’étiquette après le nouveau blob

À ce jour, la taille moyenne du bloc du bloc de chaîne de signaux avec Snappy est d’environ 125 Ko.Avec 4844, chacun de nos blocs a augmenté de 375 Ko, ce qui a augmenté la taille du bloc moyenne actuelle de 4 fois.Si le nombre maximum de blob est atteint, nous augmentons en fait la taille du bloc actuel de sept fois.

Dans le pire des cas, la taille du bloc augmente d’environ 1,77 Mo à environ 2,5 Mo.Cette estimation ne tient pas compte de la partie CL (couche consensus) du bloc.Mais en tout cas, dans le cas de l’attaque DOS, nous devons être prêts à faire face à cette plus grande taille de bloc.

Résumer

En fin de compte, si nous voulons augmenter la limite actuelle du gaz de bloc, nous devons effectuer des recherches et une analyse approfondies avant la mise en œuvre.Bien que des entités matures telles que les opérateurs de Coinbase, Binance, Kraken ou Lido peuvent faire face à la limite supérieure de plus de 40 millions de gaz de bloc, les engagements indépendants peuvent être plus difficiles.

Par conséquent, de telles décisions doivent être réfléchies pour garantir que nous ne sacrifierons pas la décentralisation.

Enfin, il est relativement facile de renforcer une grande capacité et de fortes performances comme Facebook, mais il est important qu’il ne soit pas possible de perdre des choses que la plupart d’entre nous poursuivent: la décentralisation.

  • Related Posts

    Le potentiel d’Ethereum n’est pas seulement passé dans le SPOT ETF

    Jessy, royaume de la vision de Bitchain En ce qui concerne les chants unanimes d’Ethereum et le déclin, une transformation s’est produite après le passage du FNB d’Ethereum Spot. Il…

    Reflection de la gouvernance Ethereum: Pourquoi êtes-vous insatisfait de l’incident de l’EIP-3074?

    Source: Buyu dit Cet article explique ma réflexion sur le récent incident EIP-3047, grâce à Vitalik et Yoav pour examen du contenu. Si vous ne connaissez pas cet incident,Prenons-le iciLe…

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

    You Missed

    Tendance historique: Bitcoin est un actif en toute sécurité

    • By jakiro
    • avril 19, 2025
    • 2 views
    Tendance historique: Bitcoin est un actif en toute sécurité

    Qu’est-ce qui fait que les événements de traction de tapis de crypto-monnaie se produisent fréquemment?

    • By jakiro
    • avril 18, 2025
    • 5 views
    Qu’est-ce qui fait que les événements de traction de tapis de crypto-monnaie se produisent fréquemment?

    Wintermute Ventures: Pourquoi investissons-nous dans Euler?

    • By jakiro
    • avril 18, 2025
    • 4 views
    Wintermute Ventures: Pourquoi investissons-nous dans Euler?

    Trump peut-il tirer Powell? Quels risques économiques cela apportera-t-il?

    • By jakiro
    • avril 18, 2025
    • 2 views
    Trump peut-il tirer Powell? Quels risques économiques cela apportera-t-il?

    Glassnode: Sommes-nous en train de vivre une transition de taureau?

    • By jakiro
    • avril 18, 2025
    • 4 views
    Glassnode: Sommes-nous en train de vivre une transition de taureau?

    Le premier lot de 8 projets sélectionnés de l’accélérateur Web Post

    • By jakiro
    • avril 17, 2025
    • 4 views
    Le premier lot de 8 projets sélectionnés de l’accélérateur Web Post
    Home
    News
    School
    Search