Biconomy hat Klaster übernommen, um eine modulare Ausführungsumgebung für Smart Accounts zu schaffen, die Entwicklern erlaubt, Funktionen einfach zu integrieren und die Account Abstraction zu nutzen. Dies soll Web3 durch vereinfachte Transaktionen, verbesserte Sicherheit und flexible Validierung für die breite Masse zugänglich machen.
Biconomy, ein Anbieter von Web3-Transaktionsinfrastruktur, hat Klaster übernommen, um eine modulare Ausführungsumgebung für Smart Accounts zu starten. Laut Cointelegraph ermöglicht diese Akquisition Biconomy, Smart Accounts von einer Wallet-Ebene zu einer Plattform weiterzuentwickeln. Die Smart Account Plattform erlaubt Entwicklern, programmierbare Module einfach und sicher einzubinden, um die Fähigkeiten von Smart Accounts zu erweitern. Diese Module nutzen Account Abstraction, um benutzerdefinierte Validierungsschemata und Ausführungsumgebungen zu ermöglichen.
Account Abstraction löst laut Biconomy mehrere Probleme, die die Massenadoption von Web3 bisher behindert haben. Durch die Vereinfachung der Transaktionsabwicklung, die Verbesserung der Sicherheit, Flexibilität und Interoperabilität sowie die Beseitigung von Gas-Zahlungsbeschränkungen soll Web3 für Mainstream-Nutzer zugänglicher gemacht werden. Account Abstraction ermöglicht es, Smart Contract Wallets zu Smart Accounts weiterzuentwickeln: unabhängig von EOAs (Externally Owned Accounts), agnostisch gegenüber dem Verschlüsselungsalgorithmus, wiederherstellbar und benutzerfreundlich.
Die Modularität von EIP-4337-kompatiblen Smart Accounts bietet laut Biconomy entscheidende Vorteile. Benutzerdefinierte Validierungsalgorithmen sind ein Kernmerkmal von Account Abstraction. So wird beispielsweise die Möglichkeit geboten, Transaktionen nicht nur mit dem privaten Schlüssel des ECDSA-basierten EOA, sondern auch mit einem vom Smartphone ausgestellten Passkey zu signieren. Session Keys, temporäre private Schlüssel mit anpassbaren Berechtigungen und Ablaufzeiten, sind eine weitere Möglichkeit, Benutzeraktionen im Namen eines Smart Account-Besitzers zu autorisieren. Auch die Wiederherstellung von Konten (in Form von Social Recovery oder anderweitig) ist eine sichere Methode, den Zugriff auf den Smart Account wiederherzustellen, was für EOAs nicht verfügbar ist.
Die modulare Architektur von Biconomy ermöglicht es, Validierungsmodule als einzige Instanz zu verwenden, die Benutzeraktionen validieren kann. Die Smart Account Plattform von Biconomy umfasst eine Smart Account-Implementierung mit modularer Architektur, zahlreiche Module und ein verbessertes Client-SDK für den Zugriff auf die Plattform.
Bei der Bereitstellung eines neuen Smart Accounts speichert dieser keine Eigentumsinformationen im eigenen Speicher und verfügt über keinen Standardalgorithmus zur Validierung von Signaturen. Um UserOps zu validieren, benötigt der Smart Account mindestens ein Validierungsmodul. Das Validierungsmodul implementiert die IAuthorizationModule-Schnittstelle. Dadurch kann ein Modul UserOp-Daten empfangen und Validierungsergebnisse an den Smart Account zurückgeben.
Um sicherzustellen, dass jeder Smart Account direkt nach seiner Bereitstellung UserOps validieren kann, konfiguriert und aktiviert der Biconomy Smart Accounts Factory-Contract das erste Validierungsmodul bei der Erstellung des neuen Smart Accounts. Aufgrund der Anforderungen von ERC-4337, nur Associated Storage während der Validierungsphase zu verwenden, gibt das Modul in den meisten Fällen seine eigene Adresse als configured_module_address zurück. Sollten sich diese Anforderungen ändern, kann eine ModuleFactory erstellt werden, die für jeden SA eine neue Proxy-Instanz des Moduls bereitstellt.
Als erstes Validierungsmodul kann jedes Modul aktiviert werden. Dies kann das ECDSA Ownership Module sein, das das Verhalten der EOA-eigenen Smart Contract Wallets nachahmt und UserOps basierend auf der von einem privilegierten EOA ausgestellten Signatur validiert. Es kann aber auch ein Passkey Module sein, das eine cp256r1-konforme Signatur erwartet, ein Session Key Module oder jedes andere Modul, das sicherstellt, dass UserOp von einer vertrauenswürdigen Partei initiiert wurde oder bestimmte Bedingungen wie wiederkehrende Zahlungen erfüllt.
Die Modulverwaltungsfunktionalität wird von SmartAccount.sol von ModuleManager.sol übernommen. Ersteres ist eine modifizierte Version von Safe Module Manager, die an die Gegebenheiten von AA angepasst wurde. Die Daten über aktivierte Module werden in einer verknüpften Zuordnung gespeichert. Das bedeutet, dass jedes nächste aktivierte Modul mit dem vorherigen verknüpft ist. SENTINEL_MODULES mit der Adresse 0x00…01 wird verwendet, um das erste und letzte Element in der Liste zu markieren.
In der Validierungsphase wird SmartAccount.validateUserOp vom EntryPoint aufgerufen.
Quellen: