Zum Hauptinhalt springen

Ein Post getaggt mit "Shapella"

Alle Tags anzeigen

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.