Beginnend mit dem kommenden Gesicht harte Gabel, EIP-7825 stellt a vor Gasgrenzwert pro Transaktion von 2²⁴ (≈ 16,78 Millionen Gas).
Diese Änderung ist leben bereits auf Holesky und Sepoliaund wird aktiviert Mainnet mit Fusaka.
Entwickler und Benutzer, die auf sehr große Transaktionen angewiesen sind, sollten überprüfen, ob ihre Verträge und Transaktions-Builder der neuen Obergrenze entsprechen.
Hintergrund
Da Ethereum auf höhere Blockgaslimits skaliert und sich auf die parallele Ausführung vorbereitet (z EIP-7928 in Glamsterdam), die Gesichtsgabel führt eine Gaslimitobergrenze pro Transaktion ein.
Bisher konnte eine einzelne Transaktion das gesamte Block-Gas-Limit (~45 Millionen Gas) verbrauchen, was potenzielle DoS-Risiken mit sich brachte und eine parallele Ausführung verhinderte. EIP-7825 etabliert a harte Obergrenze von 2²⁴ Gas pro Transaktion, um die Blockpackeffizienz zu verbessern und den Weg für eine bessere Parallelverarbeitung in zukünftigen Ausführungsumgebungen zu ebnen.
Diese Obergrenze hat keinen Einfluss auf das Gesamtlimit für Blockgas, sondern beschränkt lediglich, wie viel Gas eine einzelne Transaktion verbrauchen darf. In der Praxis stellt dies sicher, dass Blöcke aus mehreren kleineren, vorhersehbareren Transaktionen bestehen und nicht aus einer sehr großen.
Auswirkungen
Für die meisten Benutzer ändert sich nichts. Die überwiegende Mehrheit der Transaktionen liegt bereits deutlich unter 16 Millionen Gas [0].
Allerdings sicher Verträge und Bereitstellungsskripteinsbesondere diejenigen, die auftreten Batch-Operationenkann diesen Grenzwert überschreiten. Solche Transaktionen werden ungültig, sobald Fusaka aktiviert wird.
Wenn Sie eine Infrastruktur unterhalten, die Transaktionen nahe der vorherigen Blockgasgrenze generiert, sollten Sie:
- Simulieren Sie Transaktionen gegen Holesky oder Sepoliadie beide bereits die 2²⁴-Obergrenze durchsetzen.
- Batch-Vorgänge umgestalten bei Bedarf in kleinere, aufeinanderfolgende Transaktionen aufteilen.
- Vorab unterzeichnete Transaktionen Möglicherweise muss die Vereinbarung mit einem niedrigeren Gaslimit neu unterzeichnet werden, wenn das Gaslimit der Transaktion das neue Limit überschreitet.
- Überprüfen Sie die Werkzeugeinsbesondere Vertragsbereitsteller, Router und Batch-Skripte, um sicherzustellen, dass der Gasverbrauch unter der neuen Obergrenze bleibt.
Sehen [1] für eine empirische Wirkungsanalyse.
Die neue Obergrenze für Transaktionsgas hat keinen Einfluss auf die Limits für eth_call.
Umsetzbare Änderungen
- Testen Sie Bereitstellungen und Transaktions-Builder Sepolia oder Holesky.
- Passen Sie jede Gasschätzungslogik an, die ein höheres Limit pro Transaktion annimmt.
- Aktualisieren Sie die Überwachungs- und Warnsysteme, um Transaktionen über dem neuen Gasgrenzwert zu kennzeichnen.
Alle großen Client-Implementierungen (Geth, Erigon, Reth, Nethermind, Besu) haben diese Änderung in ihre Implementierungen aufgenommen Fusaka-fähige Veröffentlichungen.
Ausblick
Die Gaslimitobergrenze pro Transaktion ist Teil der laufenden Umstellung von Ethereum parallele Ausführung. Auch wenn möglicherweise Anpassungen erforderlich sind, schafft es eine sicherere und vorhersehbarere Grundlage für einen höheren Durchsatz in zukünftigen Forks.
Entwickler und Ökosystemteams werden ermutigt, Tests durchzuführen öffentliche Testnetze vor der Mainnet-Aktivierung und um Diskussionen zu verfolgen AllCoreDevs Und Ethereum-Magier für kommende EIPs.
Die vollständige Diskussion und Begründung für die in EIP-7825 eingeführte Gasbegrenzung finden Sie in [2].
Eine PEEPanEIP-Folge mit Julius von Erigon finden Sie in [3].
Referenzen
[2] https://ethereum-magicians.org/t/eip-7987-transaction-gas-limit-cap-at-2-24/24746

