ERC-4337: Revolutionierung von Ethereum mit Account Abstraction
Hallo und willkommen zurück in unserem Blockchain-Blog! Heute tauchen wir in einen spannenden neuen Vorschlag namens ERC-4337 ein, der Account Abstraction in Ethereum einführt, ohne Änderungen am Konsensschicht-Protokoll zu erfordern. Stattdessen stützt sich dieser Vorschlag auf eine höhere Infrastrukturschicht, um seine Ziele zu erreichen. Lassen Sie uns erkunden, was ERC-4337 zu bieten hat und wie es die Einschränkungen des aktuellen Ethereum-Ökosystems angeht.
Was ist ERC-4337?
ERC-4337 ist ein Vorschlag, der Account Abstraction in Ethereum durch die Verwendung eines separaten Mempools und eines neuen Typs von Pseudo-Transaktionsobjekten, genannt UserOperation, einführt. Benutzer senden UserOperation-Objekte in den alternativen Mempool, wo eine spezielle Klasse von Akteuren, sogenannte Bundler, diese zu einer Transaktion bündeln, die einen handleOps-Aufruf an einen dedizierten Smart Contract tätigt. Diese Transaktionen werden dann in einen Block aufgenommen.
Der Vorschlag verfolgt mehrere Ziele:
- Benutzern ermöglichen, Smart-Contract-Wallets mit beliebiger Verifizierungslogik als ihre primären Konten zu verwenden.
- Die Notwendigkeit für Benutzer, Externally Owned Accounts (EOAs) zu besitzen, vollständig beseitigen.
- Dezentralisierung gewährleisten, indem jeder Bundler am Prozess der Aufnahme von Account-Abstracted User Operations teilnehmen kann.
- Ermöglichen, dass alle Aktivitäten über einen öffentlichen Mempool stattfinden, wodurch die Notwendigkeit entfällt, dass Benutzer direkte Kommunikationsadressen bestimmter Akteure kennen.
- Vertrauensannahmen gegenüber Bundlern vermeiden.
- Keine Ethereum-Konsensänderungen erfordern, um eine schnellere Akzeptanz zu ermöglichen.
- Andere Anwendungsfälle unterstützen, wie datenschutzfreundliche Anwendungen, atomare Multi-Operationen, das Bezahlen von Transaktionsgebühren mit ERC-20-Tokens und von Entwicklern gesponserte Transaktionen.
Abwärtskompatibilität
Da ERC-4337 die Konsensschicht nicht ändert, gibt es keine direkten Abwärtskompatibilitätsprobleme für Ethereum. Allerdings sind Konten vor ERC-4337 nicht ohne Weiteres mit dem neuen System kompatibel, da ihnen die erforderliche validateUserOp-Funktion fehlt. Dies kann behoben werden, indem ein ERC-4337-kompatibles Konto erstellt wird, das die Verifizierungslogik als Wrapper neu implementiert und es als vertrauenswürdigen Op-Submitter des ursprünglichen Kontos festlegt.
Referenzimplementierung
Für diejenigen, die tiefer in die technischen Details von ERC-4337 eintauchen möchten, ist eine Referenzimplementierung unter https://github.com/eth-infinitism/account-abstraction/tree/main/contracts verfügbar.
Sicherheitsaspekte
Der Entry Point Contract für ERC-4337 muss umfassend geprüft und formal verifiziert werden, da er als zentraler Vertrauenspunkt für das gesamte System dient. Obwohl dieser Ansatz den Prüf- und formalen Verifizierungsaufwand für einzelne Konten reduziert, konzentriert er das Sicherheitsrisiko im Entry Point Contract, der robust verifiziert werden muss.
Die Verifizierung sollte zwei primäre Behauptungen abdecken:
- Sicherheit gegen willkürliche Übernahme: Der Entry Point ruft ein Konto nur generisch auf, wenn validateUserOp für dieses spezifische Konto erfolgreich war.
- Sicherheit gegen Gebührenentzug: Wenn der Entry Point validateUserOp aufruft und dies erfolgreich ist, muss er auch den generischen Aufruf mit calldata gleich op.calldata tätigen.
Fazit
ERC-4337 ist ein spannender Vorschlag, der darauf abzielt, Account Abstraction in Ethereum einzuführen, ohne Änderungen am Konsensschicht-Protokoll zu erfordern. Durch die Nutzung einer höheren Infrastrukturschicht eröffnet es neue Möglichkeiten für Dezentralisierung, Flexibilität und verschiedene Anwendungsfälle. Obwohl Sicherheitsaspekte zu berücksichtigen sind, hat dieser Vorschlag das Potenzial, das Ethereum-Ökosystem und die Benutzererfahrung erheblich zu verbessern.