Zum Hauptinhalt springen

Ethereums Shanghai (Shapella) Upgrade, Entmystifiziert

· 6 Minuten Lesezeit
Dora Noda
Software Engineer

Auszahlungen, Gas-Anpassungen und was danach kam – ohne den Hype.


Die Kurzfassung

Das Shapella Upgrade, ein Kofferwort aus Shanghai (für die Ausführungsschicht) und Capella (für die Konsensschicht), wurde am 12. April 2023 auf Ethereum aktiviert. Sein wegweisendes Merkmal war die erstmalige Ermöglichung von Staking-Auszahlungen seit dem Start der Beacon Chain.

Die wichtigste Änderung, EIP-4895, führte ein System ein, bei dem Validator-Auszahlungen automatisch von der Konsensschicht zur Ausführungsschicht "gepusht" werden, ohne dass eine Benutzer-Transaktion oder Gasgebühren erforderlich sind. Daneben wurden vier kleinere EIPs implementiert, um die EVM zu optimieren, darunter Gas-Kosten-Reduzierungen (Warm COINBASE), Bytecode-Optimierungen (PUSH0) und Beschränkungen für die Vertragserstellung (Initcode metering). Das Upgrade diente auch als letzte Warnung an Entwickler, dass der SELFDESTRUCT-Opcode abgeschafft werden würde.

Shapella schloss den Kreis der Merge effektiv ab, und das nächste große Upgrade, Dencun, folgte am 13. März 2024, wobei der Fokus des Netzwerks mit EIP-4844 "Blobs" auf Skalierbarkeit verlagert wurde.


Warum Shapella ein entscheidender Meilenstein war

Von der Einführung der Beacon Chain bis April 2023 war das Staking von ETH eine Einbahnstraße. Man konnte 32 ETH einzahlen, um das Netzwerk zu sichern und Belohnungen zu verdienen, aber man konnte weder das Kapital noch die Belohnungen der Konsensschicht wieder abheben. Diese gebundene Liquidität war eine erhebliche Verpflichtung und ein Hindernis für viele potenzielle Staker.

Shapella änderte alles, indem es die Ausfahrt öffnete.

Der Kern des Upgrades war EIP-4895, das auf geniale Weise eine systemweite "Auszahlungsoperation" konzipierte. Anstatt von Stakern zu verlangen, eine Transaktion zu erstellen und Gas zu zahlen, um abzuheben, zieht das Protokoll selbst nun automatisch berechtigte Gelder von der Konsensschicht ab und pusht sie in die Ausführungsschicht. Dieses saubere, Push-basierte Design minimierte Komplexität und Risiko, wodurch die Änderung viel einfacher sicher zu testen und zu implementieren war.


Was sich tatsächlich geändert hat: Die EIPs einfach erklärt

Shapella war ein Bündel von fünf wichtigen Ethereum Improvement Proposals (EIPs):

  • EIP-4895 — Beacon Chain Auszahlungen (Push-basiert) Dies war das Hauptereignis. Es ermöglichte sowohl teilweise (Belohnungen) als auch vollständige (Kapital + Belohnungen) Auszahlungen, die von der Konsensschicht an die angegebene Auszahlungsadresse eines Stakers fließen. Die zentrale Neuerung ist, dass dies keine vom Benutzer initiierten Transaktionen sind; es sind automatische Operationen, die in vorgeschlagenen Blöcken eingebettet sind.

  • EIP-3651 — „Warm COINBASE“ Dieses EIP führte eine kleine, aber wichtige Gas-Optimierung ein. In der EVM bezieht sich COINBASE auf die Adresse des Blockproduzenten (des Validators), nicht auf die Börse. Vor Shapella verursachte der erste Zugriff eines Smart Contracts auf diese Adresse innerhalb einer Transaktion höhere Gaskosten. EIP-3651 machte die COINBASE-Adresse standardmäßig "warm", wodurch die Gaskosten für Protokolle reduziert wurden, die häufig mit ihr interagieren, wie z. B. solche, die MEV-Trinkgelder direkt an den Block-Builder zahlen.

  • EIP-3855 — PUSH0 Opcode Eine einfache, aber elegante Ergänzung zur EVM. Dieser neue Opcode, PUSH0, tut genau das, was er sagt: Er legt den Wert Null auf den Stack. Zuvor mussten Entwickler schwerere, teurere Opcodes verwenden, um dies zu erreichen. PUSH0 macht den Bytecode etwas kleiner und gas-effizienter, insbesondere für die zahlreichen Verträge, die Variablen auf Null initialisieren.

  • EIP-3860 — initcode begrenzen & messen Diese Änderung führte zwei Regeln für den Code ein, der zur Erstellung eines Smart Contracts (initcode) verwendet wird. Erstens wurde die maximale Größe von initcode auf 49.152 Bytes begrenzt. Zweitens wurde eine kleine Gasgebühr für jeden 32-Byte-Block dieses Codes hinzugefügt. Dies verhindert Denial-of-Service-Angriffe mit übermäßig großen Verträgen und macht die Kosten für die Vertragserstellung vorhersehbarer.

  • EIP-6049 — SELFDESTRUCT verwerfen (Warnung) Dies war keine Code-Änderung, sondern eine formelle Warnung an die Entwicklergemeinschaft. Sie signalisierte, dass die Funktionalität des SELFDESTRUCT-Opcodes, der es einem Vertrag erlaubt, sich selbst zu löschen und seine ETH an eine Zieladresse zu senden, in einem zukünftigen Upgrade drastisch geändert werden würde. Dies gab Entwicklern Zeit, ihre Abhängigkeit davon schrittweise zu reduzieren, bevor das Dencun-Upgrade später sein Verhalten mit EIP-6780 änderte.


Auszahlungen 101: Teilweise vs. Vollständig

Shapella führte zwei Arten von automatischen Auszahlungen ein, jede mit ihren eigenen Regeln.

  • Teilweise Auszahlungen Dies sind automatische Belohnungsabzüge. Wenn das Guthaben eines Validators durch Konsensschicht-Belohnungen über 32 ETH steigt, "schöpft" das Protokoll den überschüssigen Betrag automatisch ab und sendet ihn an die vorgesehene Auszahlungsadresse. Der Validator bleibt aktiv und setzt seine Aufgaben fort. Dies geschieht ohne erforderliche Aktion des Stakers.

  • Vollständige Auszahlungen (Beenden) Dies ist für Staker, die die Validierung beenden und ihr gesamtes Guthaben abrufen möchten. Der Staker muss zuerst eine freiwillige Exit-Nachricht senden. Nach einer Wartezeit wird der Validator für eine vollständige Auszahlung berechtigt. Sobald diese im Abzugsprozess verarbeitet wurde, wird das gesamte Guthaben an die Auszahlungsadresse gesendet, und der Validator ist nicht mehr Teil des aktiven Sets.

Durchsatz und Kadenz

Das Netzwerk ist so konzipiert, dass Auszahlungen reibungslos verarbeitet werden, ohne Instabilität zu verursachen.

  • Bis zu 16 Auszahlungen können in jedem Block (alle 12 Sekunden) enthalten sein, was ein Maximum von ungefähr 115.200 Auszahlungen pro Tag ermöglicht.
  • Der Block-Proposer scannt die Liste der aktiven Validatoren und nimmt die ersten 16 berechtigten Auszahlungen auf. Der nächste Block-Proposer macht dort weiter, wo der letzte aufgehört hat, um sicherzustellen, dass jeder Validator an die Reihe kommt.
  • Um einen Massenexodus zu verhindern, der das Netzwerk destabilisieren könnte, ist die Anzahl der Validatoren, die pro Epoche (alle ~6,4 Minuten) austreten können, durch ein Churn-Limit begrenzt. Dieses Limit ist dynamisch und basiert auf der Gesamtzahl der aktiven Validatoren, wodurch Austrittswellen geglättet werden.

Es ist auch wichtig zu beachten, dass Konsensschicht-Belohnungen durch diesen EIP-4895-Auszahlungsmechanismus abgewickelt werden, während Ausführungsschicht-Belohnungen (Prioritätsgebühren und MEV) direkt an die konfigurierte Gebührenempfängeradresse eines Validators gesendet werden und sofort verfügbar sind.


Was danach kam: Dencun und der Weg zur Skalierbarkeit

Shapella markierte den erfolgreichen Abschluss der "Merge-Ära". Da Staking nun ein vollständig liquider, zweiseitiger Prozess ist, wandten sich die Entwickler der nächsten großen Herausforderung von Ethereum zu: der Skalierbarkeit.

Das nächste große Upgrade, Dencun (Deneb + Cancun), wurde am 13. März 2024 aktiviert. Sein Kernstück war EIP-4844, das "Blobs" einführte – eine neue, günstigere Methode für Layer-2-Rollups, Transaktionsdaten im Ethereum-Mainnet zu veröffentlichen. Dies senkte die Transaktionsgebühren auf L2s drastisch und war ein großer Schritt auf dem Rollup-zentrierten Fahrplan. Dencun erfüllte auch das Versprechen von EIP-6049 durch die Implementierung von EIP-6780, das die Macht des SELFDESTRUCT-Opcodes erheblich einschränkte.


Das Gesamtbild

Shapella war der entscheidende Vertrauens-Meilenstein für Ethereums Proof-of-Stake-Konsens. Durch die Ermöglichung von Auszahlungen wurde das Staking ent-riskiert, die Liquidität wiederhergestellt und die Fähigkeit des Netzwerks bestätigt, komplexe, koordinierte Upgrades durchzuführen. Es lieferte auch eine Reihe pragmatischer EVM-Verbesserungen, die technische Schulden bereinigten und den Weg für zukünftige Optimierungen ebneten.

Kurz gesagt, Shapella öffnete nicht nur die Ausfahrt für Staker – es festigte das Fundament der Post-Merge-Ära und ebnete den Weg für Ethereum, sich auf seine nächste Grenze zu konzentrieren: die Massenskalierbarkeit.