
Einleitung
Das Konzept der Kontoabstraktion hat die Art und Weise, wie wir das Design einer digitalen Geldbörse betrachten, verändert. Die Kontoabstraktion, wie sie ursprünglich 2015 von Vitalik Buterin vorgeschlagen wurde, ist eine radikale Veränderung in der Verwaltung von Blockchain-Konten, die die strengen Beschränkungen der herkömmlichen Struktur von Benutzerkonten beseitigt.
Mit dieser Technologie können Entwickler flexiblere und benutzerfreundlichere Wallets entwickeln, die auf verschiedenen Blockchain-Netzwerken laufen.
Die Grundlage der Kontoabstraktion
Die Abstraktion von Konten verändert die Art und Weise, wie Nutzer mit Blockchain-Netzwerken interagieren, grundlegend. Anstatt vordefinierte Regeln in der Blockchain zu verwenden, können Entwickler ein auf der Speicherung von Vermögenswerten und der Verwaltung von Transaktionen basierendes Smart-Contract-Konto mit benutzerdefinierter Logik entwerfen.
In diesem Design können Wallets:
- Bearbeite Benutzertransaktionen, ohne dass die Benutzer jede Transaktion manuell unterschreiben müssen.
- Arbeitest ohne private Schlüssel physisch zu verwalten
- Mach Cross-Programming mit anderen Verträgen über die Smart-Contract-Funktion
- Bediene viele Nutzer gleichzeitig.
- Mach deine eigene Geschäftslogik
Smart Contracts können mit anderen Verträgen programmübergreifend arbeiten, viele Nutzer bedienen und einzigartige Geschäftslogik ausführen, was eine beispiellose Flexibilität beim Wallet-Design ermöglicht.
Schritt-für-Schritt-Entwicklungsprozess
Die Komplexität der Kontoabstraktion verstehen
Der Entwicklungsprozess beginnt mit einem guten Verständnis der Komplexität der Kontoabstraktion, bevor man sich mit Brückenprotokollen und kettenübergreifenden Kommunikationssystemen beschäftigt. Dazu muss man wissen, wie man benutzerfreundliche Schnittstellen entwickeln kann, ohne die Sicherheit und Funktionalität traditioneller Blockchain-Konten zu beeinträchtigen.
Auswahl der Plattform
Als Nächstes soll eine passende Plattform in der Blockchain ausgewählt werden, gefolgt von der nahtlosen Entkopplung von Benutzerkonten mit direkter Blockchain-Einbindung, die alle notwendigen Funktionen beibehält.
Ethereum ist immer noch eine beliebte Option, weil es eine breite Unterstützung für Verbesserungsvorschläge wie ERC-4337 bietet, das eine Standardabstraktion der Kontoimplementierung ermöglicht. Trotzdem müssen Entwickler je nach den folgenden Faktoren verschiedene Plattformen in Betracht ziehen:
- Ihre eigenen spezifischen Bedürfnisse
- Native Funktionsanforderungen
- Mögliche Verbesserungen und Upgrades
Einrichtung der Entwicklungsumgebung
Für die Entwicklungsumgebung musst du die erforderlichen Tools installieren:
- Node.js für JavaScript-Laufzeitumgebung
- Hardhat für die Entwicklung von Smart Contracts
- Truffle für weitere Tools für Smart Contracts
Das Einrichten von Blockchain-Knoten mit Ganache oder die Verbindung mit Testnetzen wie Rinkeby oder Ropsten bietet die erforderliche Testinfrastruktur.
Erstellung von Smart Contracts
Die Erstellung von Smart Contracts ist der Schlüssel zum erfolgreichen Entwickeln und Testen des Projektlebenszyklus. Die Entwickler müssen Verträge erstellen, die:
- Transaktionsvolumina effizient verarbeiten
- Authentifiziere Benutzer sicher.
- Stell einen zentralen Ansprechpartner für die Kommunikation mit den Account-Verträgen bereit.
- Nutze Proxy-Muster, um Verträge sicher zu aktualisieren
Solche Verträge müssen Multi-Chain-Operationen verwalten und ein sicheres und effizientes Niveau als Designanforderungen gewährleisten.
Design der Benutzeroberfläche
Die Designanforderungen zielen darauf ab, benutzerfreundliche Oberflächen für unterschiedliche Nutzergruppen zu entwickeln. Die Nutzerakzeptanz ist ein Schlüsselelement für den Erfolg eines Wallet-Projekts, da sie über den Erfolg jedes Projekts entscheidet. Der Designprozess muss sich stärker auf Einfachheit konzentrieren, aber dennoch müssen alle erforderlichen Funktionen hochverfügbar und benutzerfreundlich sein.
Sicherheitsüberprüfungen und -tests
Sicherheitsaudits und gründliche Tests sind super wichtig. Smart Contracts werden in verschiedenen Umgebungen in großer Zahl getestet, um mögliche Fehler und Schwachstellen aufzudecken. Externe Prüfer können dabei wichtige Aufgaben übernehmen:
- Schwachstellen erkennen und beheben
- Überprüfe, ob die Wallet offensichtlich sicher genug ist, um in der Branche eingesetzt zu werden
- Erstelle die benötigten Smart-Contract-Dateien.
Bist du bereit, mit dem Erstellen zu beginnen?
Hol dir mit unserem umfassenden Entwicklungstoolkit fachkundige Anleitung zur Implementierung von Account-Abstraction-Wallets.
Implementierung und technische Details
Hardhat-Projekte erstellen
Die praktische Umsetzung umfasst die Erstellung von Hardhat-Projekten und die Entwicklung der erforderlichen Smart-Contract-Dateien. Ein Standard-Multi-Chain-Wallet-Vertrag enthält:
- Einzahlungsfunktionen, die Nutzer aufrufen können, um Guthaben zu speichern
- Funktionen für den Zugriff auf Gelder auf einzelnen Kettenidentitäten zurückziehen
- Führ Funktionen aus, um Transaktionen mit anderen Verträgen zu machen, die auf signaturbasierten Authentifizierungsmechanismen basieren
Bereitstellungskonfiguration
Bereitstellungsskripte werden im Skriptverzeichnis implementiert, normalerweise mit dem Namen deploy.js, und verwalten den Bereitstellungsprozess des Vertrags. Hardhat.config.js-Dateien können so konfiguriert werden, dass sie in jeder Art von Netzwerk bereitgestellt werden können:
- Lokales Hardhat-Netzwerk
- Testnetze
- Öffentliches Mainnet
Der Bereitstellungsvorgang besteht aus der Ausführung bestimmter Befehle, die die Adressen von Verträgen ausgeben, die überprüft und abgeschlossen wurden.
Testumgebung
Teststrukturen werden verwendet, um die Funktionalität von Wallets gründlich zu testen:
- Einzahlungstests stellen sicher, dass Nutzer Ether einzahlen können und dass Aktualisierungen des Guthabens und ordnungsgemäße Ereignisausgaben funktionieren
- Tests zurückziehen: Überprüfe die Rücknahmefunktionen und sperre den unbefugten Zugriff auf Geld, das über das verfügbare Guthaben hinausgeht.
- Tests durchführen Überprüfe, ob die Eigentümer Transaktionen ausführen können und ungültige Signaturen Vorgänge korrekt rückgängig machen.
Kettenübergreifende Funktionalität
Die kettenübergreifende Funktionalität ist ein zusätzlicher Aspekt, der über die grundlegende Vertragsabwicklung hinausgeht. Vermittlungsprotokolle wie Wormhole oder LayerZero können für die Kommunikation zwischen Blockchain-Netzwerken verwendet werden.
Oracles liefern Datenfeeds, die für kettenübergreifende Vorgänge gebraucht werden, und Sicherheitskontrollen kümmern sich um Angriffsvektoren, die nur bei Multi-Chain-Setups vorkommen.
Komponenten zum Testen der Wallet
| Testtyp | Zweck | Wichtige Validierungen |
|---|---|---|
| Einzahlungstests | Einzahlungen aus dem Nutzerfonds | Aktualisierungen und Ereignismeldungen ausbalancieren. |
| Tests zurückziehen | Geld abheben | Autorisierung, Kontostände |
| Tests durchführen | Transaktionsausführung | Berechtigungen des Eigentümers, Signaturvalidierung |
Finanzielle Überlegungen und Entwicklungskosten
Die Kosten für die Entwicklung von Wallets mit Kontoabstraktion hängen von vielen Faktoren ab und können stark variieren:
Teamgröße und Fachwissen
Die Größe des Entwicklerteams hängt direkt mit den Kosten zusammen, weil Leute, die sich mit Blockchain auskennen, mehr Geld verlangen. Das Team besteht normalerweise aus:
- Blockchain-Entwickler
- UI/UX-Designer
- Blockchain-Experten
- Sicherheitsexperten
Jeder bringt das spezielle Wissen mit, das man braucht, um das Projekt erfolgreich abzuschließen.
Komplexität der Funktionen
Die Komplexität und die Funktionsanforderungen der Features werden einen großen Einfluss auf die Entwicklungskosten haben:
- Einfache Wallets haben die wenigsten Funktionen und erfordern die geringste Investition.
- Komplexe Anwendungen mit vielen Funktionen kosten deutlich mehr
- Individuelle Merkmale hängen direkt mit der Entwicklungszeit und Komplexität zusammen
Sicherheitsinvestition
Sicherheitsmaßnahmen sind wichtige und notwendige Investitionen. Höhere Sicherheitsmaßnahmen sind zwar ressourcenintensiv, bieten aber unverzichtbare Sicherheit für die Vermögenswerte der Benutzer und die Sicherheit der Wallets. Je höher die Sicherheitsstandards, desto höher die Entwicklungskosten, aber solche Investitionen bieten sowohl Entwicklern als auch Benutzern unschätzbare Sicherheit.
Rechts- und Compliance-Kosten
Durch gesetzliche und Compliance-Anforderungen kommen noch weitere Kosten dazu. Lokale und internationale Vorschriften müssen eingehalten werden, deshalb:
- Rechtliche Beratung ist nötig
- Compliance-Audits müssen durchgeführt werden.
- Diese Kosten solltest du in der Anfangsphase des Projekts berücksichtigen.
Wenn man bei der Planung nicht richtig auf rechtliche und Compliance-Anforderungen achtet, kann das zu unerwarteten Kosten bei der Projektentwicklung führen.
Herausforderungen und Einschränkungen
Es gibt ein paar Herausforderungen und Einschränkungen, denen Abstraktions-Wallets ausgesetzt sind:
Technische Komplexität
Die technischen Eigenschaften des Designs sind komplizierter als bei herkömmlichen Geldbörsen, was zu folgenden Vorteilen führen kann:
- Risiko von Implementierungsfehlern
- Herausforderungen bei der Entwicklung
- Lernkurven für Nutzer, die an traditionelle Wallet-Oberflächen gewöhnt sind
Sicherheitslücken
Smarte Verträge haben Schwachstellen, die Risiken mit sich bringen, wie zum Beispiel:
- Reentrancy-Angriffe
- Verschiedene Exploits
- Sicherheitsrisiken, die zu finanziellen Verlusten führen können
Bei der Implementierung von Off-Chain-Signaturen solltest du besonders auf die Sicherheit achten, um zu verhindern, dass private Schlüssel kompromittiert werden.
Herausforderungen bei der kettenübergreifenden Nutzung
Die Abhängigkeit von externen Orakeln und Brückendiensten bringt mehr Fehlerquellen mit sich, die man sorgfältig behandeln muss. Die Flexibilität bei kettenübergreifenden Transaktionen kann die Benutzererfahrung beeinflussen, weil sie Folgendes erfordert:
- Bestätigungen aus mehreren Netzwerken
- Interaktionen mit mehr als einem Netzwerk
- Umgang mit Inkompatibilitäten von Blockchain-Standards und -Funktionen
Einhaltung gesetzlicher Vorschriften
Die Einhaltung von Vorschriften ist zu einem Dauerproblem geworden:
- KYC- und AML-Anforderungen können die Privatsphäre der Nutzer potenziell komplexer machen.
- Die Einhaltung von Vorschriften in mehreren Rechtsordnungen braucht viel Aufwand
- Man muss die sich ändernden rechtlichen Rahmenbedingungen immer im Auge behalten
Test- und Bereitstellungsstrategien
Umfassende Testpläne
Umfassende Testpläne nutzen Frameworks wie Hardhat oder Truffle zusätzlich zu Single-Chain-Testnetzen der unterstützten Netzwerke. Das Testverfahren muss Folgendes umfassen:
- Alle Funktionen der Wallet (Einzahlungen, Auszahlungen, kettenübergreifende Vorgänge)
- Sicherheitsüberprüfungen
- Mach einen Belastungstest, um sicherzustellen, dass die Wallet die erwarteten Transaktionsmengen bewältigen kann
Produktionsbereitstellung
Die Bereitstellung beschränkt sich nicht nur auf die einfache Vertragsbereitstellung, sondern umfasst auch:
- Einrichtung der Serverumgebung
- Konfiguration der Produktionsumgebung
- Installation von Überwachungssystemen zur Leistungsüberwachung
- Überwachung der Erfolgsquote
- Analyse der Verwendungsmuster
Möglichkeiten für zukünftige Verbesserungen
Man kann Wallet-Dienste mit neuen Funktionen weiterentwickeln, zum Beispiel:
- Rollenbasierte Zugriffskontrolle für mehr Sicherheit
- Volle Unterstützung von ERC20-Token für mehr Kompatibilität
- Intensive Wiederherstellungssysteme für eine bessere Benutzererfahrung
- Cross-Chain-Protokollintegration für nahtlosen Asset-Transfer
Die Entwicklung von Benutzeroberflächen mit aktuellen Frameworks wie Web3.js oder Ethers.js macht die Benutzeroberfläche echt benutzerfreundlich.
Ständige Verbesserung
Eine konsequente Überwachung sollte Folgendes umfassen:
- Problemidentifizierung und -lösung
- Verbesserungen am Framework
- Benutzersupport bei Fragen und Problemen
- Regelmäßige Updates basierend auf Nutzer-Feedback
Durch ständige Aktualisierungen aufgrund von Nutzer-Feedback wird sichergestellt, dass die Wallet immer auf dem neuesten Stand bleibt und den sich ständig ändernden Bedürfnissen der Nutzer gerecht wird.
Sicherheit, Compliance und technische Besonderheiten der Implementierung müssen während des gesamten Entwicklungszyklus berücksichtigt und sorgfältig beachtet werden.
Effektive Planung, Entwicklungsteams aus erfahrenen Profis und ein ständiger Fokus auf die Optimierung der Sicherheit und Benutzererfahrung sind der Schlüssel zum Erfolg.


