Kontoabstraktion
Kontoabstraktion ist der Prozess, der es Nutzern erleichtert, mit der Blockchain zu interagieren, indem bestimmte Elemente von Smart-Contract-Konten angepasst werden.
Was ist Kontoabstraktion?
Kontoabstraktion ist der Prozess, der es Nutzern erleichtert, mit Blockchain zu interagieren, indem bestimmte Elemente von
Smart-Contract-Konten angepasst werden, von Gebührenzahlungsmethoden bis hin zu Transaktionsgenehmigungsmechanismen.
Dies wurde in der Ethereum-Community ausführlich diskutiert, wobei Vitalik Buterin mehrere Vorschläge (unter anderem ERC 4337, EIP 2938) vorlegte, die skizzieren, wie Transaktionen für den Endnutzer einfacher gestaltet werden können.
Hintergrundinformationen zu Ethereum-Konten
Um den Nutzwert der Kontoabstraktion zu begreifen, ist es notwendig, zuerst einige Grundlagen von Ethereum-Konten zu verstehen. Auf Ethereum gibt es zwei Arten von Instanzen: External Owned Accounts (EOA) und Smart-Contract-Konten.
Ein EOA besteht aus einem kryptografischen Schlüsselpaar: öffentlich und privat. Es wird durch eine Adresse dargestellt, die erstellt wird, nachdem ein Nutzer sein/ihr Schlüsselpaar eingerichtet hat. Ein
privater Schlüssel wird zum Signieren von Transaktionen verwendet; er gewährt Nutzern die Verwaltung für die mit ihren Konten verbundenen Gelder.
Das Schlüsselpaar kann dann Transaktionen von einer bestimmten Adresse aus signieren. Das liegt daran, dass der Schlüssel und das Konto eins sind. Daraus ergeben sich spezifische Einschränkungen. Zum Beispiel, dass man nur einen Schlüssel hat, um Transaktionen zu autorisieren und das Konto zu verwalten. Bei Verlust oder Diebstahl ist das Konto im Normalfall für immer verloren.
EOAs stellen auch ein Problem dar, da sie als individuelle Konten einzelne Transaktionen ausgeben können, die verifiziert werden müssen und jedes Mal Gasgebühren verursachen.
Letztendlich gibt es wenig Spielraum oder Anpassungsmöglichkeiten, da Nutzer keine benutzerdefinierte Logik erstellen können, um mehr Unterzeichner einzubeziehen oder verschiedene Schlüssel für die Anmeldung bei ihren Konten zu autorisieren. Dies schafft einen sehr begrenzten Rahmen für Transaktionen.
Kontoabstraktion für verbesserte Benutzererfahrung
Kontoabstraktion ist eine Möglichkeit, diese Hindernisse zu überwinden, indem ein EOA in einen Smart Contract mit eigener Logik zum Entscheiden, was eine verifizierte Transaktion darstellt, umgewandelt wird. Das bedeutet, dass der Unterzeichner und das Konto entkoppelt werden können, was ein breiteres Spektrum an Möglichkeiten für die Kontonutzung eröffnet.
Zum Beispiel könnte die Kontoabstraktion es dem EOA ermöglichen, eine breite Palette von Aktionen durchzuführen, wie z. B. die Verwendung mehrerer oder gar keiner Schlüssel, um Transaktionen zu autorisieren, oder man könnte jede Woche einen anderen Unterzeichner festlegen.
Ein wesentlicher Vorteil der Kontoabstraktion ist die verbesserte Benutzererfahrung (UX) und Sicherheit aufgrund der nahtlosen Interaktionen, die sie ermöglicht.
Sie hat mehrere Anwendungsfälle und löst einige der Probleme, die insbesondere bei der Projektskalierung und dem Onboarding auftreten.
„Social Recovery“ und Kontoabstraktion
„Social Recovery“ (wortwörtlich: soziale Wiederherstellung) ist eine der UX-Verbesserungen, die die Kontoabstraktion bietet, indem sie das Problem eines Single Point of Failure mit dem privaten Schlüssel vermeidet. Kontoabstraktion kann dabei helfen, ein besseres Sicherheitsnetz durch mehrere Unterzeichner (das ist der „soziale“ Aspekt) zu schaffen.
Die Kontoabstraktion kann auch verwendet werden, um bessere Blockchain-Spiele mit Mikroökonomien zu entwickeln.
Play-to-Earn ist bereits ein unglaublich lukrativer Bereich, wird jedoch durch die Anzahl der Mikrotransaktionen aufgehalten, die erforderlich sind, um das Gameplay mit mehreren spielinternen
NFT-Assets für Tausende von Nutzern aufrechtzuerhalten. Die Kontoabstraktion geht dies durch den Mechanismus der kollektiven Unterzeichnung an.
Verbesserte Transaktionen und Kontoabstraktion
Außerdem ermöglichen es Atomic-Transaktionen (Batch-Transaktionen) durch Kontoabstraktion Nutzern, Gebühren in einem nativen Token zu zahlen, anstatt ETH zu verwenden, wie es derzeit der Fall ist. Das macht die Interaktion mit
L2s einfacher und erfordert kein umfangreiches Buy-in durch den Nutzer, bevor er eine Chain verwendet.
Die Kontoabstraktion ermöglicht auch
Metatransaktionen. Diese sind wie ein Butler, der eine von einer anderen Partei unterzeichnete Transaktion im Namen des ursprünglichen Unterzeichners ausführt. Komplexitäten und Gaskosten auf
öffentlichen Blockchains werden beseitigt, indem ein Relayer-Netzwerk diese handhabt, während der Nutzer die Transaktion nur mit einem Klick signieren muss.
Diese Metatransaktionen sorgen dafür, dass die Zahlung für die Transaktion vom Nutzer weg abstrahiert und an die
dApp übergeben wird, wodurch der Transaktionsprozess vereinfacht wird. Dies ist besonders nützlich in Bereichen wie Play-to-Earn-Gaming und Onboarding-Tools.
Diese Gebührenabstraktion kann auch die Komplexität der Zahlung von On-Chain-Transaktionen über dApps beseitigen, indem Zahlungen über native Tokens zugelassen werden. Wenn ein Nutzer mit einem nativen Token anstelle der Kryptowährung der Blockchain (zum Beispiel $ETH) bezahlen möchte, macht die Kontoabstraktion dies möglich. Außerdem ermöglicht sie eine bessere Kontrolle der Interaktionen mit einer dApp in Form von Sitzungsschlüsseln. Ein Sitzungsschlüssel ist ein symmetrischer kryptografischer Schlüssel, der zum Verschlüsseln einer Kommunikationssitzung verwendet wird. Einfacher gesagt handelt es sich um einen Einwegschlüssel zum
Verschlüsseln und Entschlüsseln von Daten, die zwischen zwei Parteien gesendet werden. Wenn man beispielsweise mit einer dApp interagieren, aber nicht ständig Transaktionen unterzeichnen möchte, um jeden Schritt zu genehmigen, legt ein Sitzungsschlüssel die Parameter dafür fest, was die dApp in Bezug auf das eigene Konto tun kann und was nicht.
So muss man die eigenen Logins und Genehmigungen keinem Dritten anvertrauen und kann sich auch den Aufwand ersparen, alles mühsam neu zu genehmigen.
Kontoabstraktion für erhöhte Sicherheit
Die Kontoabstraktion kann die Interaktion mit dApps und die Benutzererfahrung im
Web3 einfacher machen und bietet darüber hinaus auch eine verbesserte Sicherheit.
Mit der Kontoabstraktion kann man die eigenen Konten so anpassen, dass sie nur funktionieren, wenn bestimmte Bedingungen, einschließlich der Anzahl der Unterzeichner, erfüllt sind. Dies ist über Konten hinweg anpassbar, sodass Nutzer mehr Kontrolle haben als beispielsweise beim klassischen
Multi-Sig.
Einige Beispiele für Anpassungen können Aktionen wie das Festlegen von Beschränkungen für Überweisungen und Multi-Faktor-Authentifizierung sein. Dadurch wird der derzeitige massive Fehlerpunkt beseitigt: dass Nutzer alles verlieren können, wenn sie nicht äußerst vorsichtig sind.
Die Kontenabstraktion eröffnet Benutzerfreundlichkeit, ohne die Sicherheit zu beeinträchtigen, und verbessert sie mit ihren anpassbaren Optionen noch weiter.