Ethereum-Entwickler haben das Glamsterdam-Upgrade im Hoodi-Testnetz verschoben, nachdem Sicherheitsforscher acht bestehende Annahmen in Smart Contracts identifiziert haben, die unter den vorgeschlagenen Änderungen der Gas-Abrechnung ungültig werden könnten.
Zusammenfassung
- Ethereum-Entwickler haben das Glamsterdam-Upgrade im Hoodi-Testnetz verschoben, nachdem ChainSecurity acht Annahmen in Smart Contracts identifiziert hat, die unter den vorgeschlagenen Gas-Änderungen ungültig werden könnten.
- EIP 8037 und EIP 8038 würden ändern, wie Ethereum Gas für bestimmte Operationen berechnet, was bestehende Verträge potenziell beeinflussen könnte, die von festen Gaskosten oder bestimmten Bedingungen für das Scheitern von Transaktionen abhängen.
- Die Ethereum Foundation hat Entwickler und Auditoren gebeten, betroffene Projekte zu überprüfen und potenzielle Probleme zu melden, bevor die Kernentwickler entscheiden, ob Änderungen an den Upgrade-Spezifikationen erforderlich sind.
- Der Hoodi-Hard-Fork bleibt auf Eis, bis die identifizierten Bedenken geklärt sind, während die Entwicklung von Ethereums nachfolgendem Hegota-Upgrade ohne Unterbrechung weiterläuft.
In einem Blogbeitrag vom 6. November erklärte die Ethereum Foundation, dass das Prüfungsunternehmen ChainSecurity mehrere Projekte identifiziert habe, die anfällig werden könnten, sobald EIP-8037 und EIP-8038 in Kraft treten.
Beide Vorschläge ändern, wie Ethereum Gas für bestimmte Operationen berechnet, insbesondere für solche, die die Erstellung und den Zugriff auf den Blockchain-Zustand betreffen. Einige bestehende Verträge hängen von festen Gaskosten oder Annahmen darüber ab, wie viel Gas nach dem Scheitern einer Operation verbleibt.
Die Ergebnisse haben die All Core Developers (ACD)-Gruppe von Ethereum dazu veranlasst, den Hoodi-Hard-Fork aufzuschieben, bis die Kompatibilitätsbedenken geklärt sind.
Entwickler prüfen nun, ob die betroffenen Verträge unabhängig aktualisiert werden können oder ob Änderungen an den Upgrade-Spezifikationen erforderlich sind.
Ethereums Glamsterdam-Upgrade steht vor acht Kompatibilitätsbedenken
Die Sicherheitsbedenken wurden in einer Analyse vom 13. Oktober von ChainSecurity detailliert dargelegt, die untersuchte, wie Glamsterdam das Verhalten von Verträgen ändern könnte, die nach dem Scheitern eines externen Aufrufs weiter ausgeführt werden.
Nach den bestehenden Regeln von Ethereum hängen einige Verträge davon ab, dass eine fehlgeschlagene Operation zu wenig Gas übrig lässt, damit nachfolgende Anweisungen abgeschlossen werden können. Die überarbeitete Abrechnung von Glamsterdam könnte es bestimmten Operationen ermöglichen, abgeschlossen zu werden, selbst wenn Entwickler ursprünglich erwarteten, dass die gesamte Transaktion zurückgesetzt wird.
ChainSecurity warnte, dass ein solches Verhalten Schutzmechanismen beeinträchtigen könnte, die verhindern sollen, dass fehlgeschlagene Transaktionen dauerhaft aufgezeichnet werden oder legitime Operationen ihre Wiederholungsoptionen verlieren.
Ein Beispiel betrifft Verträge, die eine Operation als erfolglos markieren, nachdem einem externen Aufruf das Gas ausgegangen ist. Unter den neuen Regeln könnte zuvor nicht verfügbares Gas wieder zugänglich werden, wodurch der Vertrag einen dauerhaften Fehler aufzeichnen könnte.
Die Ethereum Foundation hat ein GitHub-Repository veröffentlicht, das acht betroffene Invarianten dokumentiert, mit Erklärungen, Beispielen und Anweisungen für Entwickler, ihren eigenen Code zu überprüfen.
Zu den identifizierten Risiken gehören Verträge, die davon ausgehen, dass der Gasverbrauch sich nur in eine Richtung bewegen kann, dass feste Gaszuteilungen ausreichend bleiben oder dass zurückgesetzte Aufrufe bereits für die Erstellung von Zustand verbrauchtes Gas nicht zurückgeben können.
Das Repository identifiziert feste Gasbudgets und Gasreserven als die bisher am häufigsten gefundenen Probleme, insbesondere in Verträgen, die von vorbestimmten Transaktionskosten abhängen.
Entwickler wurden gebeten, sowohl On-Chain-Verträge als auch unterstützende Off-Chain-Systeme zu überprüfen, einschließlich Wallets, Relayer und Infrastruktur, die fest codierte Gaslimits enthalten könnten.
Hoodi-Aktivierung bleibt auf Eis, während Sicherheitsüberprüfungen fortgesetzt werden
Die neuesten Ergebnisse liefern weitere Details zu Ethereums früherer Entscheidung, die Hoodi-Aktivierung zu verschieben, die ursprünglich für den 26. Oktober um 17:42:48 UTC geplant war.
Wie crypto.news zuvor berichtete, entfernte die Verschiebung sowohl die Aktivierungen der Amsterdam-Execution-Layer als auch der Gloas-Consensus-Layer aus dem Zeitplan von Hoodi, zusammen mit einer geplanten Erhöhung des Gaslimits des Testnetzes auf 200 Millionen.
Es wurde kein Ersatztermin für die Aktivierung angekündigt.
Der Entwickler der Ethereum Foundation, Marius van der Wijden, sagte, die Organisation arbeite mit ChainSecurity und Dedaub zusammen und führe interne Audits durch, um die möglichen Auswirkungen auf bestehende Anwendungen zu bewerten.
Die Foundation räumte ein, dass ihre Prüfungen nicht jedes Ethereum-Projekt abdecken können, insbesondere dort, wo Schwachstellen Interaktionen zwischen Smart Contracts und Off-Chain-Infrastruktur betreffen könnten.
Daher hat sie Entwickler und unabhängige Prüfer gebeten, betroffene Anwendungen zu identifizieren und ihre Ergebnisse vor den nächsten All Core Developers-Diskussionen einzureichen.
Das Repository fordert Details zu betroffenen Verträgen, der jeweiligen betroffenen Invariante, möglichen Korrekturen und, sofern verfügbar, unterstützenden Tests an. Berichte können vertraulich an [email protected] eingereicht werden.
Je nach Rückmeldung könnten Entwickler Anpassungen an EIP-8037 und EIP-8038 in Betracht ziehen, bevor mit dem Upgrade fortgefahren wird.
Die Arbeit am nachfolgenden Hegotá-Upgrade von Ethereum wird laut der Foundation parallel fortgesetzt und bleibt von der Verzögerung bei Glamsterdam unberührt.
Die Skalierungsänderungen von Glamsterdam werden weiterhin getestet
Glamsterdam war bereits am 6. Oktober im Sepolia-Testnetz aktiviert worden, wo Entwickler begannen, seine Skalierungsänderungen unter einem Gaslimit von 200 Millionen zu untersuchen.
Das Upgrade führt durch EIP-7732 eine verankerte Trennung von Proposer und Builder ein, wodurch die Verantwortung für den Blockaufbau in das Konsensprotokoll von Ethereum überführt wird.
Eine weitere wichtige Komponente, EIP-7928, führt Zugriffslisten auf Blockebene ein, die Clients dabei helfen sollen, Transaktionsdaten effizienter zu verarbeiten und parallele Ausführung zu unterstützen.
Die Neubepreisung von Gas bildet einen weiteren Teil des Upgrades. EIP-8037 ändert die Kosten für die Erstellung neuen Blockchain-Zustands, während EIP-8038 die Gebühren für den Zugriff auf bestehenden Zustand anpasst.
In einer technischen Bewertung vom August erklärte die Ethereum Foundation, dass Wiedergaben historischer Transaktionen zeigten, dass die meisten Smart Contracts von den vorgeschlagenen Preisänderungen unberührt blieben.
Eine kleinere Gruppe benötigte jedoch höhere Gaslimits oder umfangreichere Änderungen, um unerwartete Fehler zu vermeiden.
Unabhängig davon haben Entwickler am 26. Oktober eine Korrektur für Validator-Einzahlungen zusammengeführt, nachdem ein Fehler identifiziert wurde, der Staking-Einzahlungen Block-Buildern mit demselben öffentlichen Schlüssel hätte gutschreiben können.
Die Korrektur betraf ein separates Problem im Zusammenhang mit den Gloas-Konsensänderungen von Glamsterdam, wobei Regressionstests zu den Spezifikationen hinzugefügt wurden, bevor Client-Implementierungen das überarbeitete Verhalten übernehmen.






