Ethereum verwendet zwei Arten von Konten: extern verwaltete Konten (EOAs) und Vertragskonten. EOAs werden durch private Schlüssel kontrolliert und von Einzelpersonen oder Anwendungen verwendet, um Transaktionen zu signieren. Diese Konten sind in der Struktur einfach. Sie enthalten eine Nonce, ein Guthaben und den zugehörigen öffentlichen Schlüssel, aber keinen internen Code. Wenn ein Benutzer eine Transaktion von einem EOA signiert, überprüft die Ethereum Virtual Machine (EVM) die Signatur und zieht die Gasgebühr ab, bevor die Transaktion ausgeführt wird. Vertragskonten hingegen werden durch Code kontrolliert und initiieren keine Aktionen von sich aus. Sie reagieren nur auf Transaktionen, die von EOAs ausgelöst werden. Die EVM verarbeitet Vertragslogik und speichert den Zustand, aber ein Vertrag kann Transaktionen nicht unabhängig signieren oder sie ohne externe Eingaben initiieren.
Diese Architektur beschränkt die Funktionalität von Konten auf Ethereum. Da alle Aktivitäten von EOAs ausgehen müssen und jede Transaktion eine gültige kryptografische Signatur erfordert, benötigen erweiterte Funktionen wie Multi-Faktor-Authentifizierung, soziale Wiederherstellung und gebündelte Operationen komplexe Umgehungen. Diese Einschränkungen motivierten das Konzept der Kontenabstraktion – um alle Konten programmierbar zu machen und die Unterscheidung zwischen benutzerkontrollierten und vertragskontrollierten Aktivitäten zu vereinheitlichen.
Die Kontenabstraktion verändert den Validierungsweg von Transaktionen, indem sie dem Konto selbst ermöglicht, zu definieren, wie Aktionen genehmigt und ausgeführt werden. Anstatt eine Unterschrift von einem bestimmten privaten Schlüssel durchzusetzen, kann eine Smart-Contract-Brieftasche ihre eigene Logik für die Authentifizierung definieren. Diese Logik könnte Schwellenwertsignaturen, Überprüfungen von Hardwaregeräten oder Regeln für Ausgabenobergrenzen und Zeitverriegelungen umfassen.
Eine der wirkungsvollsten Veränderungen, die durch die Kontenabstraktion eingeführt wurden, ist die Entkopplung der Gaszahlung vom Absender. Traditionell muss der Transaktionsinitiator die Gasgebühren in ETH bezahlen. Unter der Kontenabstraktion kann die Validierungslogik Dritten, den sogenannten Paymastern, erlauben, die Gasgebühren im Auftrag des Nutzers zu übernehmen. Dies eröffnet neue Möglichkeiten wie das Sponsoring von Transaktionen für Erstbenutzer, die Ermöglichung gasloser dApp-Interaktionen oder die Zahlung von Gebühren in Stablecoins oder nativen Projekt-Token.
Darüber hinaus ermöglicht die Kontenabstraktion die Bündelung mehrerer Operationen in einer einzelnen Transaktion. Zum Beispiel kann ein Benutzer ein Token genehmigen, einen Tausch durchführen und Gelder in einer einzigen Aktion übertragen, wodurch die Anzahl der erforderlichen Bestätigungen reduziert und das Benutzererlebnis verbessert wird. Diese Verbesserungen verringern erheblich die Reibung bei dApp-Interaktionen und gewährleisten gleichzeitig Sicherheit und Komponierbarkeit.
ERC-4337, das 2023 finalisiert wurde, stellt einen Meilenstein in der Reise von Ethereum zur Kontenabstraktion dar. Im Gegensatz zu früheren Vorschlägen wie EIP-2938 erfordert ERC-4337 keine Änderungen an der Konsensschicht von Ethereum. Stattdessen funktioniert es vollständig innerhalb der bestehenden Smart-Contract-Umgebung, indem es einen parallelen Transaktionsfluss mit einem alternativen Mempool und einer spezifischen Vertragsarchitektur einführt.
Unter ERC-4337 werden Transaktionen durch UserOperations ersetzt – Datenobjekte, die gewünschte Aktionen beschreiben, aber nicht an den traditionellen Mempool übermittelt werden. Diese UserOperations werden von spezialisierten Off-Chain-Akteuren, die als Bundler bekannt sind, erfasst. Ein Bundler aggregiert mehrere UserOperations zu einer standardmäßigen Ethereum-Transaktion und reicht sie an die Blockchain ein.
On-Chain verifiziert und verarbeitet ein Singleton-Vertrag namens EntryPoint diese gebündelten Operationen. Der EntryPoint interagiert mit den Smart Accounts der Benutzer, die ihre eigene Validierungslogik definieren und die Ausführung von Transaktionen nach der Validierung delegieren. Um Gasgebühren zu zahlen, können Konten optional mit Paymasters interagieren, die die Ausführungskosten unter den im Code festgelegten Bedingungen sponsern.
Diese Struktur ermöglicht eine dezentrale, erlaubnisfreie Möglichkeit, die Kontenabstraktion zu unterstützen, ohne das Basisprotokoll von Ethereum zu ändern. Infolgedessen können Entwickler Smart-Contract-Wallets bereitstellen, die aus der Perspektive des Benutzers wie EOAs agieren, aber weitaus reichhaltigere Funktionen bieten.
Solana verfolgt einen grundsätzlich anderen Ansatz zur Kontenabstraktion, indem es diese auf Protokollebene unterstützt. Solana-Konten sind nicht in EOAs und Vertragskonten unterteilt. Stattdessen sind alle Konten auf Solana allgemeine Speichereinheiten, die Daten halten, Eigentum zugewiesen bekommen und mit Programmen interagieren können.
Im Modell von Solana ist die Validierung von Aktionen in den Programmen (Smart Contracts) selbst eingebettet. Programmabgeleitete Adressen (PDAs) sind ein Schlüsselelement dieses Systems. Dies sind deterministische Adressen, die aus Seeds und Programmen generiert werden und kein zugehöriges privates Schlüssel haben. Stattdessen werden sie durch die Programmlogik gesteuert und können Aktionen ausführen, wenn die entsprechenden Bedingungen erfüllt sind.
Aufgrund dieser nativen Flexibilität bietet Solana Funktionen wie Multi-Signatur-Autorisierung, Kontodelegierung und die Zahlung von Gebühren durch Dritte, ohne externe Standards oder simulierte Transaktionsflüsse zu erfordern. Wallets wie Phantom und Solflare haben diese Fähigkeiten frühzeitig integriert und demonstrieren eine nahtlose Benutzererfahrung sowie programmierbare Kontrolle über Mittel. Dies steht im Gegensatz zu Ethereum, wo ähnliche Funktionalität von Overlays wie ERC-4337 und Bundler-Netzwerken abhängt.
Ethereum verwendet zwei Arten von Konten: extern verwaltete Konten (EOAs) und Vertragskonten. EOAs werden durch private Schlüssel kontrolliert und von Einzelpersonen oder Anwendungen verwendet, um Transaktionen zu signieren. Diese Konten sind in der Struktur einfach. Sie enthalten eine Nonce, ein Guthaben und den zugehörigen öffentlichen Schlüssel, aber keinen internen Code. Wenn ein Benutzer eine Transaktion von einem EOA signiert, überprüft die Ethereum Virtual Machine (EVM) die Signatur und zieht die Gasgebühr ab, bevor die Transaktion ausgeführt wird. Vertragskonten hingegen werden durch Code kontrolliert und initiieren keine Aktionen von sich aus. Sie reagieren nur auf Transaktionen, die von EOAs ausgelöst werden. Die EVM verarbeitet Vertragslogik und speichert den Zustand, aber ein Vertrag kann Transaktionen nicht unabhängig signieren oder sie ohne externe Eingaben initiieren.
Diese Architektur beschränkt die Funktionalität von Konten auf Ethereum. Da alle Aktivitäten von EOAs ausgehen müssen und jede Transaktion eine gültige kryptografische Signatur erfordert, benötigen erweiterte Funktionen wie Multi-Faktor-Authentifizierung, soziale Wiederherstellung und gebündelte Operationen komplexe Umgehungen. Diese Einschränkungen motivierten das Konzept der Kontenabstraktion – um alle Konten programmierbar zu machen und die Unterscheidung zwischen benutzerkontrollierten und vertragskontrollierten Aktivitäten zu vereinheitlichen.
Die Kontenabstraktion verändert den Validierungsweg von Transaktionen, indem sie dem Konto selbst ermöglicht, zu definieren, wie Aktionen genehmigt und ausgeführt werden. Anstatt eine Unterschrift von einem bestimmten privaten Schlüssel durchzusetzen, kann eine Smart-Contract-Brieftasche ihre eigene Logik für die Authentifizierung definieren. Diese Logik könnte Schwellenwertsignaturen, Überprüfungen von Hardwaregeräten oder Regeln für Ausgabenobergrenzen und Zeitverriegelungen umfassen.
Eine der wirkungsvollsten Veränderungen, die durch die Kontenabstraktion eingeführt wurden, ist die Entkopplung der Gaszahlung vom Absender. Traditionell muss der Transaktionsinitiator die Gasgebühren in ETH bezahlen. Unter der Kontenabstraktion kann die Validierungslogik Dritten, den sogenannten Paymastern, erlauben, die Gasgebühren im Auftrag des Nutzers zu übernehmen. Dies eröffnet neue Möglichkeiten wie das Sponsoring von Transaktionen für Erstbenutzer, die Ermöglichung gasloser dApp-Interaktionen oder die Zahlung von Gebühren in Stablecoins oder nativen Projekt-Token.
Darüber hinaus ermöglicht die Kontenabstraktion die Bündelung mehrerer Operationen in einer einzelnen Transaktion. Zum Beispiel kann ein Benutzer ein Token genehmigen, einen Tausch durchführen und Gelder in einer einzigen Aktion übertragen, wodurch die Anzahl der erforderlichen Bestätigungen reduziert und das Benutzererlebnis verbessert wird. Diese Verbesserungen verringern erheblich die Reibung bei dApp-Interaktionen und gewährleisten gleichzeitig Sicherheit und Komponierbarkeit.
ERC-4337, das 2023 finalisiert wurde, stellt einen Meilenstein in der Reise von Ethereum zur Kontenabstraktion dar. Im Gegensatz zu früheren Vorschlägen wie EIP-2938 erfordert ERC-4337 keine Änderungen an der Konsensschicht von Ethereum. Stattdessen funktioniert es vollständig innerhalb der bestehenden Smart-Contract-Umgebung, indem es einen parallelen Transaktionsfluss mit einem alternativen Mempool und einer spezifischen Vertragsarchitektur einführt.
Unter ERC-4337 werden Transaktionen durch UserOperations ersetzt – Datenobjekte, die gewünschte Aktionen beschreiben, aber nicht an den traditionellen Mempool übermittelt werden. Diese UserOperations werden von spezialisierten Off-Chain-Akteuren, die als Bundler bekannt sind, erfasst. Ein Bundler aggregiert mehrere UserOperations zu einer standardmäßigen Ethereum-Transaktion und reicht sie an die Blockchain ein.
On-Chain verifiziert und verarbeitet ein Singleton-Vertrag namens EntryPoint diese gebündelten Operationen. Der EntryPoint interagiert mit den Smart Accounts der Benutzer, die ihre eigene Validierungslogik definieren und die Ausführung von Transaktionen nach der Validierung delegieren. Um Gasgebühren zu zahlen, können Konten optional mit Paymasters interagieren, die die Ausführungskosten unter den im Code festgelegten Bedingungen sponsern.
Diese Struktur ermöglicht eine dezentrale, erlaubnisfreie Möglichkeit, die Kontenabstraktion zu unterstützen, ohne das Basisprotokoll von Ethereum zu ändern. Infolgedessen können Entwickler Smart-Contract-Wallets bereitstellen, die aus der Perspektive des Benutzers wie EOAs agieren, aber weitaus reichhaltigere Funktionen bieten.
Solana verfolgt einen grundsätzlich anderen Ansatz zur Kontenabstraktion, indem es diese auf Protokollebene unterstützt. Solana-Konten sind nicht in EOAs und Vertragskonten unterteilt. Stattdessen sind alle Konten auf Solana allgemeine Speichereinheiten, die Daten halten, Eigentum zugewiesen bekommen und mit Programmen interagieren können.
Im Modell von Solana ist die Validierung von Aktionen in den Programmen (Smart Contracts) selbst eingebettet. Programmabgeleitete Adressen (PDAs) sind ein Schlüsselelement dieses Systems. Dies sind deterministische Adressen, die aus Seeds und Programmen generiert werden und kein zugehöriges privates Schlüssel haben. Stattdessen werden sie durch die Programmlogik gesteuert und können Aktionen ausführen, wenn die entsprechenden Bedingungen erfüllt sind.
Aufgrund dieser nativen Flexibilität bietet Solana Funktionen wie Multi-Signatur-Autorisierung, Kontodelegierung und die Zahlung von Gebühren durch Dritte, ohne externe Standards oder simulierte Transaktionsflüsse zu erfordern. Wallets wie Phantom und Solflare haben diese Fähigkeiten frühzeitig integriert und demonstrieren eine nahtlose Benutzererfahrung sowie programmierbare Kontrolle über Mittel. Dies steht im Gegensatz zu Ethereum, wo ähnliche Funktionalität von Overlays wie ERC-4337 und Bundler-Netzwerken abhängt.