Einführung der Kontoabstraktion, L2 → L1 Messaging und mehr.
Heute führen wir wichtige strukturelle Änderungen ein, um die Benutzerfreundlichkeit zu verbessern, die Kompatibilität mit Ethereums EVM zu erhöhen und die Leistung des zkSync v2 Testnetzes zu steigern.
Hallo, Account-Abstraktion

Mit diesem Upgrade fügen wir Account Abstraction hinzu, ein Feature, das als „langer Traum der Ethereum-Entwicklergemeinde“ gilt.

Zusammengefasst besteht das Ziel der Kontoabstraktion darin, die Anzahl der Kontotypen bzw. der Entitäten mit einem Ether (ETH)-Guthaben, die Transaktionen senden können, zu reduzieren.

In Ethereum gibt es derzeit zwei Kontotypen – Konten, die durch private Schlüssel kontrolliert werden, und Vertragskonten.

Durch die Abstraktion von Konten wird ein einziger Kontotyp, nämlich Vertragskonten, durchgesetzt und Funktionen wie Signaturüberprüfung, Gaszahlung und Replay-Schutz aus dem Kernprotokoll in den EVM verlagert. Dies unterscheidet sich von Ethereum, wo alle Transaktionen von einem EOA oder einem durch einen privaten Schlüssel kontrollierten Konto ausgehen müssen.

Auf einer sehr hohen Ebene erlaubt uns die Kontoabstraktion, Autorisierungen programmierbar zu machen, was eine größere Vielfalt an Wallets und Protokolldesigns mit Anwendungsfällen wie diesen ermöglicht:

Die Implementierung von Smart-Contract-Wallets, die die Benutzererfahrung bei der Speicherung und Wiederherstellung privater Schlüssel verbessern (z. B. Social Recovery, Multisig)
Die Möglichkeit, Gasgebühren nativ in anderen Token als ETH zu bezahlen
Die Möglichkeit für Konten, öffentliche und private Schlüssel zu ändern
Die Hinzufügung von nicht-kryptographischen Modifikationen, bei denen die Benutzer Verfallszeiten für Transaktionen verlangen können, die leicht außer der Reihe bestätigt werden, und mehr
Vielfalt an Signaturprüfsystemen gegenüber dem aktuellen ECDSA, einschließlich sicherer Post-Quantum-Signaturalgorithmen (z.B. Lamport, Winternitz)

Mit anderen Worten: Die Abstraktion von Konten bringt erhebliche Verbesserungen für den Benutzer mit sich und erweitert den Gestaltungsspielraum für die Entwickler. Wenn es darum geht, wie dies genutzt werden kann, werden wir sicherlich zahlreiche kreative Anwendungsfälle sehen, die hier nicht behandelt wurden.

Hinweis: AA EOAs wie Metamask werden weiterhin unterstützt.
Aufruf von Layer 1, L2 -> L1 Messaging ist live

Vor diesem Upgrade konnten Entwickler mit Ethereum kommunizieren und Nachrichten von Ethereum an zkSync v2 weitergeben, aber keine Nachrichten von v2 zurück an Ethereum. Dieses Upgrade schließt die Kommunikationsschleife und ermöglicht es Entwicklern, Informationen an Ethereum zu senden, wenn etwas auf L2 passiert, auf die dann reagiert werden kann.

So können DAOs beispielsweise Abstimmungs-Token in einem Tresor auf L1 aufbewahren, die Abstimmung aber auf zkSync durchführen, wo die Gebühren weitaus günstiger sind. Sobald die Abstimmung abgeschlossen ist, kann zkSync das Ergebnis nachweislich zurück an Ethereum übermitteln, wo diese Information verarbeitet werden kann.
Wir haben Unterstützung für msg.value hinzugefügt

msg.value ist eine Transaktionseigenschaft, die definiert, wie viel ETH in einer Transaktion gesendet wurde. Da ETH ein spezieller Token-Typ ist (kein ERC20), der auf diese Eigenschaft angewiesen ist, bedeutete dies, dass native Ethereum-Transaktionen auf zkSync v2 bisher nicht möglich waren, so dass Entwickler gezwungen waren, Änderungen an bestehenden Codebases vorzunehmen und stattdessen Wrapped ETH zu verwenden. Mit dieser Ergänzung können native ETH-Transaktionen auf zkSync v2 durchgeführt werden, und es ist für Entwickler einfacher denn je, ihre Codebase zu migrieren.
Neue Opcodes

Die Hinzufügung von L2 -> L1 Nachrichten ermöglicht es uns, die Schnittstelle des Protokolls zu vereinfachen und hart kodierte Operationen (z.B. Abhebungen) durch generische L1 <> L2 Kommunikation zu ersetzen.

Die folgenden Opcodes werden nun vom Compiler unterstützt, was die Migration von L1 Smart Contracts zu zkSync vereinfacht.

EXTCODESIZE
CALLVALUE (msg.Wert)
BALANCE
SELFBALANCE
EXTCODEHASH

Wir haben eine Regenese durchgeführt

Um diese Änderungen zu implementieren, haben wir eine Regeneration von zkSync 2.0 testnet durchgeführt. Das bedeutet, dass die Verträge neu bereitgestellt werden müssen und der Status der Kontostände und Transaktionen zurückgesetzt wurde. Wir werden eine weitere Regenese durchführen, bevor wir das Mainnet starten.

Kategorien: Finanzmarkt