Zum Inhalt springen

Block-Gas-Limit

Fork-spezifischer Leitfaden zu Ethereums Block-Gas-Limit, EIP-1559-Ziel, Transaktionsobergrenze, Gasverbrauch, Gebühren, Durchsatz und Node-Ressourcen.

Aktualisiert

Nur zu Bildungszwecken; keine Finanz- oder Sicherheitsberatung. Gas-Limits, Zielwerte, Zeitpläne, Transaktionsobergrenzen, Opcode-Kosten und Client-Richtlinien unterscheiden sich je nach Chain, Fork und Beobachtungszeitpunkt.

Direkte Antwort

Das Block-Gas-Limit ist die im Ethereum-Blockheader eingetragene Obergrenze für Ausführungs-Gas. Die Transaktionen müssen so in die Protokollabrechnung passen, dass ihr gesamtes gasUsed nicht über gasLimit liegt. Gas ist eine abstrakte Maßeinheit; Regeln für Opcodes, Calldata, Speicher, Storage und Erstattungen ändern sich mit Forks. Es zählt nicht direkt CPU-Befehle, Bytes oder Transaktionen.

Im Mainnet nach Fusaka liegt der koordinierte Client-Richtwert bei 60,000,000 gas je Block. Maßgeblich ist jedoch der tatsächliche Header; Validatorpräferenzen können das Limit nach der elternrelativen Regel schrittweise verschieben. Bei Elastizität 2 beträgt das langfristige EIP-1559-Ziel 30,000,000 gas; Nutzung über dem Ziel erhöht die nächste Basisgebühr. EIP-7825 begrenzt das deklarierte Gas einer Transaktion separat auf 2^24 = 16,777,216 gas, EIP-7934 die RLP-Größe eines Ausführungsblocks unabhängig auf 8,388,608 bytes. Diese Werte sind netz- und zeitabhängig.

Funktionsweise

  1. Fixiere Chain, Netzwerk, Blockhash und -nummer, aktiven Fork, Client oder RPC und Beobachtungszeit. Lies gasLimit, gasUsed und baseFeePerGas aus dem Header statt aus einer statischen Tabelle.
  2. Trenne Blocklimit, EIP-1559-Ziel, deklariertes Transaktions-Gas, tatsächlich verbrauchtes Gas und Gaspreis. Trenne ebenso Ausführungs-Gas, Blob-Gas, RLP-Bytes und L2-spezifische Messung.
  3. Reproduziere Gültigkeit und Ausführung nach aktivem Gasplan: intrinsisches Gas, Calldata, Zugriffslisten, Speichererweiterung, kalte und warme Zugriffe, Storage-Schreibvorgänge, Precompiles und Erstattungen. Schätzungen hängen von Zustand und Block-Tag ab.
  4. Gleiche Kapazität über Beleg-Gas oder den letzten kumulierten Wert ab, bestätige gasUsed <= gasLimit und berücksichtige Reihenfolge und zustandsabhängige Kosten. Transaktionszahl ist weder Gas-Limit noch fester TPS-Wert.
  5. Wende EIP-1559 an: Bei Elastizität 2 gilt Ziel = gasLimit / 2; Nutzung des Elternblocks über oder unter dem Ziel verändert die nächste Basisgebühr. Das Kindlimit muss zudem im strikten Band von ungefähr 1/1024 liegen. Basisgebühr bepreist Nachfrage, Limit begrenzt akzeptierte Arbeit.
  6. Prüfe Betriebsgrenzen. Eine Transaktion über dem aktiven Cap ist trotz Platz ungültig; ebenso ein zu großer RLP-Block trotz Gasreserve. Ungenutzte Zuteilung wird freigegeben, der Erstattungszähler ist separat und forkbegrenzt. REVERT erhält Restgas; top-level Out-of-Gas revertiert den Zustand und verbraucht die gesamte bereitgestellte Zuteilung.
  7. Teste Ausführungszeit voller Blöcke, Zustandswachstum, Propagation, verpasste Slots, Reorgs, Builder- und Validatorkapazität, Clientvielfalt und Parameteränderungen. Nutze reale Blöcke und Node-Metriken, bevor du höheren Durchsatz als nachhaltig bewertest.

Durchgerechnete Beispiele

  • Grenze einfacher Transfers. Bei 60,000,000 gas passen theoretisch floor(60,000,000 / 21,000) = 2,857 einfache ETH-Transfers. Das Ziel von 30,000,000 gas fasst 1,428; bei idealisiertem 12-second-Slot sind das 1,428 / 12 = 119 transactions/second. Das ist eine homogene Obergrenze, kein gemessener TPS-Wert.
  • Gemischter Zielblock. Angenommen, Transfers nutzen 400 * 21,000 = 8,400,000 gas, Swaps 80 * 180,000 = 14,400,000 gas und Deployments 6 * 1,200,000 = 7,200,000 gas. Insgesamt sind es 30,000,000 gas in 486 transactions beziehungsweise 486 / 12 = 40.5 transactions/second unter der Slot-Annahme.
  • Limit und tatsächliche Belastung. Eine Transaktion deklariert 200,000 gas, verbraucht aber gasUsed = 146,000. Bei 22 gwei kostet sie 146,000 * 22 = 3,212,000 gwei = 0.003212 ETH; die übrigen 54,000 gas werden nicht berechnet. 18,000,000 gas überschreiten den aktuellen Cap von 16,777,216 gas und sind trotz Blockplatz ungültig.
  • Reaktion der Basisgebühr. Bei gasLimit = 60,000,000 ist das Ziel 30,000,000. Von 24 gwei erhöht ein voller Elternblock mit 60,000,000 gas die nächste Gebühr maximal um 12.5% auf 27 gwei; ein leerer senkt sie um 12.5% auf 21 gwei. Das ändert weder Limit noch künftige Nutzung.

Risiken

  • Veralteten Mainnet-Gas-Limit-Wert verwenden.
  • Ethereum-Parameter auf andere EVM-Chain oder L2 übertragen.
  • Blocklimit und EIP-1559-Ziel verwechseln.
  • Blocklimit und Transaktionsobergrenze verwechseln.
  • Deklariertes und tatsächlich verbrauchtes Gas verwechseln.
  • Gas als feste CPU-, Byte- oder Transaktionseinheit behandeln.
  • Veraltete Regeln nutzen oder separates RLP-Limit ignorieren.
  • eth_estimateGas ohne vorgesehenen Zustand und Block-Tag vertrauen.
  • Zustandsabhängige Ausführung und Reihenfolge ignorieren.
  • Ungenutzte Zuteilung und Erstattungszähler verwechseln.
  • Kosten bei Revert oder Out-of-Gas ignorieren.
  • Ausführungs- und Blob-Gas als eine Ressource behandeln.
  • TPS nur aus homogenen Transfers ableiten.
  • Verpasste Slots, Reorgs und Finalitätsverzögerungen ignorieren.
  • Schlimmste Ausführungs- und Propagationszeit erhöhen.
  • Zustandswachstum und Archivanforderungen beschleunigen.
  • Hardwareanforderungen für Validatoren, Builder und RPC erhöhen.
  • Zentralisierung oder Clientdivergenz verstärken.
  • Änderungen an Präferenzen, Clients oder Forks verpassen.
  • Höhere Kapazität als Garantie niedriger Gebühren oder Nachfrage behandeln.

Häufige Irrtümer

  • Das Block-Gas-Limit ist eine universelle Ethereum- oder EVM-Konstante.
  • Ein Limit von 60,000,000 gas verlangt 60 Millionen Verbrauch oder setzt auch das EIP-1559-Ziel darauf.
  • Division des Limits durch 21,000 ergibt den realen TPS-Wert.
  • Eine Transaktion darf bei Platz den ganzen Block verbrauchen; der heutige Cap gilt unabhängig.
  • Ein höheres Limit senkt Gebühren automatisch ohne Kosten für Nodes, Zustand, Propagation, Nachfrage oder Dezentralisierung.

Verwandte Themen

Quellen

Navigation

Wiki durchsuchen...