Zum Hauptinhalt springen

3 Posts getaggt mit "ERC-4337"

Alle Tags anzeigen

Zwei Wege zu einem benutzerfreundlicheren Ethereum: ERC‑4337 Smart Accounts + ERC‑4804 Web3 URLs

· 9 Minuten Lesezeit
Dora Noda
Software Engineer

TL;DR

Ethereum hat gerade zwei leistungsstarke Primitive erhalten, die die Benutzererfahrung über Seed-Phrasen und bookmarkbare DApps hinaus zu „anklickbaren On-Chain-Erlebnissen“ vorantreiben.

  • ERC-4337 bringt Account Abstraction ins heutige Ethereum, ohne Änderungen am Kernprotokoll. Dies macht Funktionen wie Smart Contract Accounts, Gas-Sponsoring, gebündelte Aufrufe und Passkey-basierte Authentifizierung nativ für Wallets.
  • ERC-4804 führt web3:// URLs ein – menschenlesbare Links, die direkt zu Vertrags-Lese-Aufrufen auflösen und sogar On-Chain-HTML oder SVG rendern können, alles ohne einen traditionellen Webserver als Mittelsmann. Stellen Sie es sich als „HTTP für die EVM“ vor.

Zusammen verwendet, handhabt ERC-4337 Aktionen, während ERC-4804 Adressen handhabt. Diese Kombination ermöglicht es Ihnen, einen Link zu teilen, der seine Benutzeroberfläche nachweislich von einem Smart Contract abruft. Wenn ein Benutzer bereit ist zu handeln, übergibt der Ablauf an ein Smart Account, das Gas sponsern und mehrere Schritte in einem einzigen, nahtlosen Klick bündeln kann.


Warum das jetzt wichtig ist

Dies ist nicht nur eine theoretische Zukunft; diese Technologien sind live und gewinnen erheblich an Bedeutung. ERC-4337 ist bereits skaliert und in der Praxis bewährt. Der kanonische EntryPoint-Vertrag wurde am 1. März 2023 im Ethereum-Mainnet bereitgestellt und hat seitdem zig Millionen Smart Contract Accounts betrieben und über 100 Millionen User Operations verarbeitet.

Gleichzeitig konvergiert das Kernprotokoll mit diesen Ideen. Das im Mai 2025 ausgelieferte Pectra-Upgrade enthielt EIP-7702, das es standardmäßigen extern verwalteten Konten (EOAs) ermöglicht, sich vorübergehend wie Smart Accounts zu verhalten. Dies ergänzt ERC-4337, indem es den Übergang für bestehende Benutzer erleichtert, anstatt den Standard zu ersetzen.

Im Bereich der Adressierung ist web3:// nun formalisiert. ERC-4804 spezifiziert genau, wie eine URL in einen EVM-Aufruf übersetzt wird, und web3 wurde von der IANA als provisorisches URI-Schema gelistet. Die Tools und Gateways, die benötigt werden, um diese URLs praktisch zu machen, sind jetzt verfügbar und verwandeln On-Chain-Daten in teilbare, verlinkbare Ressourcen.


Primer: ERC-4337 auf einer Seite

Im Kern führt ERC-4337 eine parallele Transaktionsschiene in Ethereum ein, die auf Flexibilität ausgelegt ist. Anstelle traditioneller Transaktionen reichen Benutzer UserOperation-Objekte in einen alternativen Mempool ein. Diese Objekte beschreiben, was das Konto tun möchte. Spezialisierte Knoten, sogenannte „Bundler“, nehmen diese Operationen auf und führen sie über einen globalen EntryPoint-Vertrag aus.

Dies ermöglicht drei Schlüsselkomponenten:

  1. Smart Contract Accounts (SCAs): Diese Konten enthalten ihre eigene Logik. Sie definieren, was eine Transaktion gültig macht, und ermöglichen benutzerdefinierte Signaturschemata (wie Passkeys oder Multisig), Session Keys für Spiele, Ausgabenlimits und soziale Wiederherstellungsmechanismen. Das Konto, nicht das Netzwerk, setzt die Regeln durch.
  2. Paymasters: Diese speziellen Verträge können Gasgebühren für Benutzer sponsern oder ihnen ermöglichen, in ERC-20-Tokens zu bezahlen. Dies ist der Schlüssel, um ein echtes „kein ETH im Wallet“-Onboarding zu ermöglichen und Ein-Klick-Erlebnisse zu schaffen, indem mehrere Aufrufe in einer einzigen Operation gebündelt werden.
  3. DoS-Sicherheit & Regeln: Der öffentliche ERC-4337-Mempool wird durch standardisierte Off-Chain-Validierungsregeln (definiert in ERC-7562) geschützt, die Bundler daran hindern, Ressourcen für Operationen zu verschwenden, die zum Scheitern verurteilt sind. Während alternative Mempools für spezielle Anwendungsfälle existieren können, halten diese gemeinsamen Regeln das Ökosystem kohärent und sicher.

Mentales Modell: ERC-4337 verwandelt Wallets in programmierbare Apps. Anstatt nur rohe Transaktionen zu signieren, reichen Benutzer „Intents“ ein, die der Code ihres Kontos validiert und der EntryPoint-Vertrag sicher und atomar ausführt.


Primer: ERC-4804 auf einer Seite

ERC-4804 bietet eine einfache, direkte Zuordnung von einer web3://-URL zu einem schreibgeschützten EVM-Aufruf. Die URL-Grammatik ist intuitiv: web3://<name-or-address>[:chainId]/<method>/<arg0>?returns=(types). Namen können über Systeme wie ENS aufgelöst werden, und Argumente werden automatisch basierend auf der ABI des Vertrags typisiert.

Hier sind ein paar Beispiele:

  • web3://uniswap.eth/ würde den Vertrag unter der Adresse uniswap.eth mit leeren Calldata aufrufen.
  • web3://.../balanceOf/vitalik.eth?returns=(uint256) würde einen Aufruf der balanceOf-Funktion mit Vitaliks Adresse ABI-kodieren und ein korrekt typisiertes JSON-Ergebnis zurückgeben.

Entscheidend ist, dass dieser Standard derzeit für schreibgeschützte Aufrufe (entspricht Solitys view-Funktionen) gilt. Jede Aktion, die den Zustand ändert, erfordert weiterhin eine Transaktion – genau hier kommen ERC-4337 oder EIP-7702 ins Spiel. Da web3 als provisorisches URI-Schema bei der IANA registriert ist, ist der Weg für native Browser- und Client-Unterstützung geebnet, obwohl es vorerst oft auf Erweiterungen oder Gateways angewiesen ist.

Mentales Modell: ERC-4804 verwandelt On-Chain-Ressourcen in verlinkbare Web-Objekte. „Diese Vertragsansicht als URL teilen“ wird so natürlich wie das Teilen eines Links zu einem Dashboard.


Zusammen: „Anklickbare On-Chain-Erlebnisse“

Die Kombination dieser beiden Standards eröffnet ein leistungsstarkes neues Muster für den Aufbau dezentraler Anwendungen heute.

Zuerst stellen Sie eine verifizierbare Benutzeroberfläche über web3:// bereit. Anstatt Ihr Frontend auf einem zentralisierten Server wie S3 zu hosten, können Sie eine minimale HTML- oder SVG-Oberfläche direkt On-Chain speichern. Ein Link wie web3://app.eth/render ermöglicht es einem Client, die URL aufzulösen und die Benutzeroberfläche direkt vom Vertrag zu rendern, wodurch sichergestellt wird, dass der Benutzer genau das sieht, was der Code vorschreibt.

Von dieser verifizierbaren Schnittstelle aus können Sie eine Ein-Klick-Aktion über ERC-4337 auslösen. Ein „Mint“- oder „Abonnieren“-Button kann eine UserOperation kompilieren, die ein Paymaster sponsert. Der Benutzer genehmigt mit einem Passkey oder einer einfachen biometrischen Aufforderung, und der EntryPoint-Vertrag führt einen gebündelten Aufruf aus, der sein Smart Account bereitstellt (falls es das erste Mal ist) und die gewünschte Aktion in einem einzigen, atomaren Schritt abschließt.

Dies schafft eine nahtlose Deep-Link-Übergabe. Die Benutzeroberfläche kann Intent-basierte Links einbetten, die direkt vom Wallet des Benutzers verarbeitet werden, wodurch die Notwendigkeit entfällt, sie an eine externe Website zu senden, der sie möglicherweise nicht vertrauen. Der Inhalt ist der Vertrag, und die Aktion ist das Konto.

Dies ermöglicht:

  • Gaslose Testversionen und „funktioniert einfach“-Onboarding: Neue Benutzer müssen kein ETH erwerben, um loszulegen. Ihre Anwendung kann ihre ersten Interaktionen sponsern, was die Reibung drastisch reduziert.
  • Teilbarer Zustand: Ein web3://-Link ist eine Abfrage des Blockchain-Zustands. Dies ist perfekt für Dashboards, Eigentumsnachweise oder jeglichen Inhalt, der nachweislich manipulationssicher sein muss.
  • Agentenfreundliche Abläufe: KI-Agenten können verifizierbaren Zustand über web3://-URLs abrufen und transaktionale Intents über ERC-4337 mithilfe von Session Keys mit begrenztem Umfang übermitteln, alles ohne anfälliges Screen Scraping oder unsichere Handhabung privater Schlüssel.

Designhinweise für Entwickler

Bei der Implementierung dieser Standards gibt es einige architektonische Entscheidungen zu berücksichtigen. Für ERC-4337 ist es ratsam, mit minimalen Smart Contract Account-Vorlagen zu beginnen und Funktionen über geschützte Module hinzuzufügen, um die Kernvalidierungslogik einfach und sicher zu halten. Ihre Paymaster-Richtlinie sollte robust sein, mit klaren Obergrenzen für gesponsertes Gas und Whitelists für genehmigte Methoden, um Griefing-Angriffe zu verhindern.

Für ERC-4804 priorisieren Sie menschenlesbare Links, indem Sie ENS-Namen verwenden. Seien Sie explizit bezüglich chainId, um Mehrdeutigkeiten zu vermeiden, und fügen Sie den Parameter returns=(…) hinzu, um sicherzustellen, dass Clients typisierte, vorhersehbare Antworten erhalten. Obwohl Sie vollständige Benutzeroberflächen rendern können, ist es oft am besten, On-Chain-HTML/SVG minimal zu halten und sie als verifizierbare Hüllen zu verwenden, die größere Assets aus dezentralem Speicher wie IPFS abrufen können.

Denken Sie schließlich daran, dass EIP-7702 und ERC-4337 zusammenarbeiten, nicht gegeneinander. Da EIP-7702 im Pectra-Upgrade nun aktiv ist, können bestehende EOA-Benutzer Aktionen an die Vertragslogik delegieren, ohne ein vollständiges Smart Account bereitzustellen. Die Tools im Account Abstraction-Ökosystem passen sich bereits an, um dies zu unterstützen und den Migrationspfad für alle zu ebnen.


Sicherheit, Realität und Einschränkungen

Obwohl leistungsstark, haben diese Systeme Kompromisse. Der EntryPoint-Vertrag ist konstruktionsbedingt ein zentraler Engpass; er vereinfacht das Sicherheitsmodell, konzentriert aber auch das Risiko. Halten Sie sich immer an geprüfte, kanonische Versionen. Die Mempool-Validierungsregeln aus ERC-7562 sind eine soziale Konvention, keine On-Chain-durchgesetzte Regel, gehen Sie also nicht davon aus, dass jeder alternative Mempool die gleiche Zensurresistenz oder DoS-Schutz bietet.

Darüber hinaus reift web3:// noch. Es bleibt ein schreibgeschützter Standard, und jede Schreiboperation erfordert eine Transaktion. Obwohl das Protokoll selbst dezentralisiert ist, können die Gateways und Clients, die diese URLs auflösen, immer noch potenzielle Fehler- oder Zensurpunkte sein. Echte „Unblockbarkeit“ wird von einer weit verbreiteten nativen Client-Unterstützung abhängen.


Eine konkrete Blaupause

Stellen Sie sich vor, Sie möchten einen NFT-basierten Mitgliederclub mit einer teilbaren, verifizierbaren Benutzeroberfläche und einem Ein-Klick-Beitrittsprozess aufbauen. So könnten Sie ihn in diesem Quartal veröffentlichen:

  1. Teilen Sie die Benutzeroberfläche: Verteilen Sie einen Link wie web3://club.eth/home. Wenn ein Benutzer ihn öffnet, löst sein Client die URL auf, ruft den Vertrag auf und rendert eine On-Chain-Benutzeroberfläche, die die aktuelle Mitglieder-Allowlist und den Mint-Preis anzeigt.
  2. Ein-Klick-Beitritt: Der Benutzer klickt auf einen „Beitreten“-Button. Sein Wallet kompiliert eine ERC-4337 UserOperation, die von Ihrem Paymaster gesponsert wird. Diese einzelne Operation bündelt drei Aufrufe: Bereitstellung des Smart Accounts des Benutzers (falls er noch keines hat), Zahlung der Mint-Gebühr und Registrierung seiner Profildaten.
  3. Verifizierbare Quittung: Nachdem die Transaktion bestätigt wurde, wird dem Benutzer eine Bestätigungsansicht angezeigt, die nur ein weiterer web3://-Link ist, wie web3://club.eth/receipt/<tokenId>, wodurch ein permanenter On-Chain-Link zu seinem Mitgliedschaftsnachweis erstellt wird.

Der größere Bogen

Diese beiden Standards signalisieren einen fundamentalen Wandel in der Art und Weise, wie wir auf Ethereum aufbauen. Konten werden zu Software. ERC-4337 und EIP-7702 verwandeln „Wallet UX“ in einen Raum für echte Produktinnovationen und führen uns über Vorträge zum Schlüsselmanagement hinaus. Gleichzeitig werden Links zu Abfragen. ERC-4804 stellt die URL als Primitiv zur Adressierung verifizierbarer Fakten On-Chain wieder her, nicht nur der Frontends, die sie proxen.

Zusammen verkleinern sie die Lücke zwischen dem, was Benutzer anklicken, und dem, was Verträge tun. Diese Lücke wurde einst von zentralisierten Webservern und Vertrauensannahmen gefüllt. Jetzt kann sie durch verifizierbare Codepfade und offene, erlaubnislose Mempools gefüllt werden.

Wenn Sie Krypto-Anwendungen für Endverbraucher entwickeln, ist dies Ihre Chance, die erste Minute des Benutzers zu einem Vergnügen zu machen. Teilen Sie einen Link, rendern Sie die Wahrheit, sponsern Sie die erste Aktion und halten Sie Ihre Benutzer in einer verifizierbaren Schleife. Die Wege sind da – jetzt ist es Zeit, die Erlebnisse zu liefern.

Die Wallet-Revolution: Die drei Wege der Account Abstraction navigieren

· 6 Minuten Lesezeit
Dora Noda
Software Engineer

Seit Jahren wird die Krypto-Welt durch ein kritisches Usability-Problem behindert: die Wallet. Traditionelle Wallets, bekannt als Externally Owned Accounts (EOAs), sind unerbittlich. Eine einzige verlorene Seed-Phrase bedeutet, dass Ihre Gelder für immer verloren sind. Jede Aktion erfordert eine Signatur, und Gasgebühren müssen im nativen Token der Kette bezahlt werden. Dieses klobige, risikoreiche Erlebnis ist ein großes Hindernis für die Massenadoption.

Hier kommt die Account Abstraction (AA) ins Spiel, ein Paradigmenwechsel, der die Art und Weise, wie wir mit der Blockchain interagieren, neu definieren wird. Im Kern verwandelt AA das Konto eines Benutzers in einen programmierbaren Smart Contract, der Funktionen wie soziale Wiederherstellung, Ein-Klick-Transaktionen und flexible Gaszahlungen ermöglicht.

Der Weg in diese intelligentere Zukunft entfaltet sich entlang dreier unterschiedlicher Pfade: der kampferprobte ERC-4337, die effiziente Native AA und der mit Spannung erwartete EIP-7702. Lassen Sie uns aufschlüsseln, was jeder Ansatz für Entwickler und Benutzer bedeutet.


💡 Pfad 1: Der Pionier — ERC-4337

ERC-4337 war der Durchbruch, der die Account Abstraction auf Ethereum und EVM-Ketten ohne das Kernprotokoll zu ändern, brachte. Stellen Sie es sich vor wie das Hinzufügen einer intelligenten Schicht über dem bestehenden System.

Es führt einen neuen Transaktionsfluss ein, der Folgendes umfasst:

  • UserOperations: Ein neues Objekt, das die Absicht eines Benutzers darstellt (z. B. „100 USDC gegen ETH tauschen“).
  • Bundlers: Off-Chain-Akteure, die UserOperations aufnehmen, bündeln und an das Netzwerk übermitteln.
  • EntryPoint: Ein globaler Smart Contract, der die gebündelten Operationen validiert und ausführt.

Die Vorteile:

  • Universelle Kompatibilität: Es kann auf jeder EVM-Kette eingesetzt werden.
  • Flexibilität: Ermöglicht umfangreiche Funktionen wie Session Keys für Spiele, Multi-Signatur-Sicherheit und Gas-Sponsoring über Paymaster.

Der Kompromiss:

  • Komplexität & Kosten: Es führt einen erheblichen Infrastruktur-Overhead ein (Betrieb von Bundlern) und hat die höchsten Gasgebühren der drei Ansätze, da jede Operation die zusätzliche EntryPoint-Logik durchläuft. Aus diesem Grund hat sich seine Akzeptanz hauptsächlich auf gasfreundlichen L2s wie Base und und Polygon entwickelt.

ERC-4337 ebnete den Weg, damit andere AA-Lösungen folgen konnten. Es bewies die Nachfrage und legte den Grundstein für ein intuitiveres Web3-Erlebnis.


🚀 Pfad 2: Das integrierte Ideal — Native Account Abstraction

Wenn ERC-4337 ein Add-on ist, baut Native AA intelligente Funktionen direkt in das Fundament der Blockchain ein. Ketten wie zkSync Era und Starknet wurden von Grund auf mit AA als Kernprinzip konzipiert. In diesen Netzwerken ist jedes Konto ein Smart Contract.

Die Vorteile:

  • Effizienz: Durch die Integration der AA-Logik in das Protokoll werden zusätzliche Schichten entfernt, was zu deutlich niedrigeren Gasgebühren im Vergleich zu ERC-4337 führt.
  • Einfachheit für Entwickler: Entwickler müssen keine Bundler oder einen separaten Mempool verwalten. Der Transaktionsfluss fühlt sich viel mehr wie ein Standardfluss an.

Der Kompromiss:

  • Ökosystem-Fragmentierung: Native AA ist ketten-spezifisch. Ein Konto auf zkSync unterscheidet sich von einem Konto auf Starknet, und keines von beiden ist nativ zum Ethereum-Mainnet. Dies schafft eine fragmentierte Erfahrung für Benutzer und Entwickler, die über mehrere Ketten hinweg arbeiten.

Native AA zeigt uns das „Endspiel“ für Effizienz, aber seine Akzeptanz ist an das Wachstum seiner Host-Ökosysteme gebunden.


🌉 Pfad 3: Die pragmatische Brücke — EIP-7702

EIP-7702, das in das Ethereum-Upgrade „Pectra“ von 2025 aufgenommen werden soll, ist ein Game-Changer, der darauf abzielt, AA-Funktionen den Massen bestehender EOA-Benutzer zugänglich zu machen. Es verfolgt einen hybriden Ansatz: Es ermöglicht einem EOA, seine Autorität vorübergehend an einen Smart Contract zu delegieren für eine einzelne Transaktion.

Stellen Sie es sich so vor, als würden Sie Ihrem EOA vorübergehend Superkräfte verleihen. Sie müssen Ihre Gelder nicht migrieren oder Ihre Adresse ändern. Ihre Wallet kann einfach eine Autorisierung zu einer Transaktion hinzufügen, wodurch sie gebündelte Operationen durchführen kann (z. B. Genehmigen + Tauschen mit einem Klick) oder ihre Gasgebühren gesponsert werden.

Die Vorteile:

  • Abwärtskompatibilität: Es funktioniert mit den Milliarden von Dollar, die durch bestehende EOAs gesichert sind. Keine Migration erforderlich.
  • Geringe Komplexität: Es verwendet den Standard-Transaktionspool, wodurch die Notwendigkeit von Bundlern entfällt und die Infrastruktur drastisch vereinfacht wird.
  • Katalysator für die Massenadoption: Indem intelligente Funktionen jedem Ethereum-Benutzer über Nacht zugänglich gemacht werden, könnte die Einführung besserer UX-Muster schnell beschleunigt werden.

Der Kompromiss:

  • Keine „volle“ AA: EIP-7702 löst das Schlüsselmanagement für das EOA selbst nicht. Wenn Sie Ihren privaten Schlüssel verlieren, haben Sie immer noch Pech. Es geht mehr darum, die Transaktionsfähigkeiten zu verbessern, als die Kontosicherheit grundlegend zu überarbeiten.

Kopf-an-Kopf: Ein klarer Vergleich

FunktionERC-4337 (Der Pionier)Native AA (Das Ideal)EIP-7702 (Die Brücke)
KernideeExternes Smart-Contract-System über BundlerSmart Accounts auf ProtokollebeneEOA delegiert vorübergehend an einen Smart Contract
GasgebührenAm höchsten (aufgrund des EntryPoint-Overheads)Niedrig (protokolloptimiert)Moderat (geringer Overhead bei einer Transaktion für Batching)
InfrastrukturHoch (erfordert Bundler, Paymaster)Niedrig (wird von den Validatoren der Kette gehandhabt)Minimal (nutzt bestehende Transaktionsinfrastruktur)
HauptanwendungsfallFlexible AA auf jeder EVM-Kette, insbesondere L2s.Hocheffiziente AA auf speziell entwickelten L2s.Upgrade aller bestehenden EOAs mit intelligenten Funktionen.
Am besten für...Gaming-Wallets, dApps, die jetzt gasloses Onboarding benötigen.Projekte, die ausschließlich auf Ketten wie zkSync/Starknet aufbauen.Batching & Gas-Sponsoring für Mainstream-Benutzer.

Die Zukunft ist konvergent und benutzerzentriert

Diese drei Pfade schließen sich nicht gegenseitig aus; sie konvergieren zu einer Zukunft, in der die Wallet kein Reibungspunkt mehr ist.

  1. Soziale Wiederherstellung wird Standard 🛡️: Die Ära der „verlorenen Schlüssel, verlorenen Gelder“ geht zu Ende. AA ermöglicht eine wächterbasierte Wiederherstellung, wodurch die Selbstverwahrung so sicher und nachsichtig wird wie ein traditionelles Bankkonto.
  2. Gaming UX neu gedacht 🎮: Session Keys ermöglichen nahtloses Gameplay ohne ständige „Transaktion genehmigen“-Pop-ups, wodurch sich Web3-Gaming endlich wie Web2-Gaming anfühlt.
  3. Wallets als programmierbare Plattformen: Wallets werden modular. Benutzer könnten ein „DeFi-Modul“ für automatisiertes Yield Farming oder ein „Sicherheitsmodul“ hinzufügen, das eine 2FA für große Überweisungen erfordert.

Für Entwickler und Infrastrukturanbieter wie Blockeden.xyz ist diese Entwicklung unglaublich spannend. Die Komplexität von Bundlern, Paymastern und verschiedenen AA-Standards schafft eine enorme Chance, robuste, zuverlässige und abstrahierte Infrastruktur bereitzustellen. Ziel ist ein einheitliches Erlebnis, bei dem ein Entwickler AA-Funktionen einfach integrieren kann und die Wallet intelligent ERC-4337, Native AA oder EIP-7702 im Hintergrund verwendet, je nachdem, was die Kette unterstützt.

Die Wallet erhält endlich das Upgrade, das sie verdient. Der Übergang von statischen EOAs zu dynamischen, programmierbaren Smart Accounts ist nicht nur eine Verbesserung – es ist die Revolution, die Web3 für die nächsten Milliarden Benutzer zugänglich und sicher machen wird.

ERC-4337: Revolutionierung von Ethereum mit Account Abstraction

· 3 Minuten Lesezeit
Dora Noda
Software Engineer

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:

  1. Benutzern ermöglichen, Smart-Contract-Wallets mit beliebiger Verifizierungslogik als ihre primären Konten zu verwenden.
  2. Die Notwendigkeit für Benutzer, Externally Owned Accounts (EOAs) zu besitzen, vollständig beseitigen.
  3. Dezentralisierung gewährleisten, indem jeder Bundler am Prozess der Aufnahme von Account-Abstracted User Operations teilnehmen kann.
  4. Ermöglichen, dass alle Aktivitäten über einen öffentlichen Mempool stattfinden, wodurch die Notwendigkeit entfällt, dass Benutzer direkte Kommunikationsadressen bestimmter Akteure kennen.
  5. Vertrauensannahmen gegenüber Bundlern vermeiden.
  6. Keine Ethereum-Konsensänderungen erfordern, um eine schnellere Akzeptanz zu ermöglichen.
  7. 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:

  1. Sicherheit gegen willkürliche Übernahme: Der Entry Point ruft ein Konto nur generisch auf, wenn validateUserOp für dieses spezifische Konto erfolgreich war.
  2. 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.