Ist die Kontoabstraktion sicher? Ein Leitfaden zur Risikominderung

Einsteiger12/12/2023, 4:51:36 PM
Dieser Artikel analysiert die konzeptionellen Merkmale und Anwendungsfälle der Account Abstraction (AA), veranschaulicht die Praxis am Beispiel von ERC-4337 und erläutert mögliche Risiken und Gegenmaßnahmen.

Vor der Kontoabstraktion gab es in Ethereum zwei Arten von Konten: External Owned Accounts (EOA) und Smart Contracts. Ein EOA ist ein typisches Benutzerkonto, das über einen privaten Schlüssel verfügt. Dies ist auch der einzige Kontotyp, der eine Transaktion initiieren kann. Beispielsweise muss ein Benutzer über ETH verfügen, um eine Transaktion senden zu können. Das Erstellen von Batch-Transaktionen ist schwierig und es gibt keine Wiederherstellungsoptionen, wenn ein Benutzer seinen privaten Schlüssel verliert. Um diese Probleme zu lösen, wurde die Kontoabstraktion (AA) erstellt. Aber ist es eine risikofreie Lösung? Dieser Leitfaden behandelt die Grundlagen von AA, bevor er seine Risiken und Möglichkeiten zu deren Minderung detailliert beschreibt.

In diesem Leitfaden:

  • Was sind die Hauptmerkmale der Kontoabstraktion?
  • Anwendungsfälle der Kontoabstraktion
  • Implementierungen der Kontoabstraktion
  • Kontoabstraktionsrisiko vs. Ertrag?
  • Häufig gestellte Fragen

Was sind die Hauptmerkmale der Kontoabstraktion?

Die Kontoabstraktion ist eine Technologie, die es Smart Contracts ermöglicht, Transaktionen selbst zu initialisieren. Es ermöglicht Benutzern, Konten zu erstellen, die durch Smart Contracts repräsentiert werden. Diese Technologie ermöglicht auch mehrere Funktionen, die die Interaktion der Benutzer mit der Kette verbessern.

  • Ein Benutzer kann die Benzingebühren mit Token bezahlen
  • Anwendungen können Gas für Benutzertransaktionen sponsern
  • Es gibt flexible Mechanismen zur Kontosicherung
  • Bridges und Cross-Chain-Dexes können ohne native Währung funktionieren.

Anwendungsfälle der Kontoabstraktion

  • Kostenlose Transaktionen: Projekte können die Transaktionsgebühren der Benutzer bezahlen.
  • Nicht-native Cross-Chain-Transaktionen: Eine Möglichkeit, einen ERC20-Token mit einer anderen Kette zu verbinden und damit für Transaktionen zu bezahlen, was bedeutet, dass das Konto nicht zusätzlich mit einheimischer Währung aufgeladen werden muss.
  • Zusätzliche Wallet- Sicherheitsfunktionen : Im Falle eines Sicherheitsrisikos können alle Vorgänge auf dem Konto angehalten und der Zugriff anschließend mit den Backup-Schlüsseln wiederhergestellt werden.
  • Kontowiederherstellung: Beispielsweise kann ein Schlüsselsatz zur Wiederherstellung des Schlüssels verwendet werden.
  • Transaktionslimits: Es kann ein Konto erstellt werden, mit dem eine bestimmte Summe ETH pro Monat ausgegeben werden kann.
  • Abonnements: Ermöglichen Sie Abonnements auf die gleiche Weise wie bei herkömmlichen Kreditkarten.

Implementierungen der Kontoabstraktion

Es gab verschiedene Vorschläge zur Implementierung von AA in das Ethereum-Netzwerk. Einige davon beinhalten erhebliche Änderungen am Ethereum-Protokoll, was die Implementierung erschwert. Die bekannteste Implementierung ist ERC-4337, die keine Änderungen der Konsensschicht mit sich bringt. Der Standard repliziert den Transaktions-Mempool auf einer höheren Ebene. Die Smart Contracts von ERC-4337 wurden im März 2023 im Ethereum-Netzwerk bereitgestellt.

ERC-4337 verwendet intelligente Verträge namens Wallets anstelle von EOA. Dieses Smart-Contract-Wallet kann nicht nur durch einen privaten Schlüssel gesteuert werden, sondern auch durch einen beliebigen komplexen Mechanismus, der im Vertrag kodiert ist.

Anstelle von Transaktionen senden Benutzer UserOperations. Eine UserOperation enthält Anweisungen zur Ausführung, Signaturüberprüfung und andere Daten. Wie bei Transaktionen gibt ein Benutzer eine Prämie für den Bundler an, um seinen Vorgang zu priorisieren.

Miner oder Bundler bündeln Operationen in Bundle-Transaktionen, die dann in das Ethereum-Netzwerk einbezogen werden.


AA-Implementierung: HashEx

Die UserOperation enthält unter anderem den Code zum Erstellen einer Smart Contract Wallet. Wenn ein Benutzer kein Wallet hat, wird es für ihn erstellt.

Wenn ein Benutzer die Transaktion mit einem ERC20-Token bezahlen oder gar nicht bezahlen möchte, gibt er in der UserOperation eine Paymaster-Vertragsadresse an. Ein Paymaster ist ein Drittanbieterdienst, der die Transaktion im Austausch gegen ERC20-Token bezahlt.

Welche Risiken bestehen und wie können sie gemindert werden?

Obwohl die Kontoabstraktion zur Verbesserung der Benutzersicherheit erstellt wird, bestehen insbesondere in den frühen Phasen der Einführung einige Risiken. Das Ethereum-Ökosystem ist berüchtigt für Fehler in Smart Contracts, die dazu geführt haben, dass böswillige Benutzer Milliarden von Dollar gestohlen haben. Hier sind einige Risiken von AA und wie sie vermieden/gemindert werden können.

Risiko von Fehlern bei der Implementierung des Standards

Wie bei jeder neuen Technologie besteht auch bei der Kontoabstraktion das Risiko, dass die erste Implementierung Fehler enthält. Die Smart Contracts von ERC-4337 wurden von OpenZeppelin, einem führenden Blockchain-Sicherheitsunternehmen, geprüft.

Abhilfe: Die Lösung besteht in der formalen Verifizierung – einem Prozess, bei dem mathematische Methoden zum Nachweis der Korrektheit intelligenter Verträge zum Einsatz kommen. Der Prozess der formellen Verifizierung der ERC4337-Verträge ist im Gange, aber noch nicht abgeschlossen.

Fehler aufgrund von Inkompatibilitäten mit einigen Smart Contracts

Nicht jeder Smart Contract ist mit Account Abstraction Wallets kompatibel. Beispielsweise erhalten Smart Contracts, die das Feld tx.origin verwenden, um die Wallet zu überprüfen, die die Transaktion gesendet hat, einen unerwarteten Wert. Eine weitere Inkompatibilität tritt bei Smart Contracts auf, die EOA-Signaturen verwenden: Sie werden von AA-Wallets nicht unterstützt.

In solchen Verträgen können bestimmte wichtige Funktionen möglicherweise nicht ordnungsgemäß ausgeführt werden. Im schlimmsten Fall können die Gelder der Nutzer gesperrt werden.

Abhilfe: Um die Risiken zu verringern, muss ein Benutzer, der ein Kontoabstraktions-Wallet verwendet, prüfen, ob das Protokoll, mit dem er interagiert, die Technologie unterstützt.

Code eines Drittanbieters für Wallets

Der Standard ist so konzipiert, dass innerhalb der ersten UserOperation über eine Smart Contract Factory ein Smart Contract Wallet erstellt werden kann. Es besteht jedoch das Risiko, dass der Smart Contract zur Wallet-Implementierung Fehler enthält. Es ist von entscheidender Bedeutung, nur Wallet-Fabriken zu verwenden, die von den führenden Blockchain-Sicherheitsunternehmen gründlich geprüft und getestet wurden.

Schadensbegrenzung: Verwenden Sie zum Erstellen von Wallets nur vertrauenswürdige Dienste und stellen Sie sicher, dass der Code des Wallets von mindestens einem vertrauenswürdigen Blockchain-Sicherheitsunternehmen geprüft wird.

Code von Drittanbietern für Zahlmeister

Wenn ein Benutzer oder ein Projekt Paymaster nutzt, ist es darauf angewiesen, dass ein Dritter die Transaktionen bezahlt. Bei der Implementierung des Paymasters kann es zu Fehlern kommen, und ein böswilliger Paymaster kann die Gelder der Benutzer stehlen.

Es ist zu beachten, dass der gewählte Paymaster-Dienst auch unter böswilligen Benutzern leiden kann, die Wege finden, den Paymaster dazu zu bringen, für ihre Transaktionen zu bezahlen.

Schadensbegrenzung: Wallets verwenden nur Paymaster von vertrauenswürdigen Anbietern und stellen sicher, dass der Code des Paymasters vor der Verwendung geprüft wurde.

Empfohlene Vorgehensweise

Die Kontoabstraktion auf der Ethereum-Blockchain ist ein relativ neues Konzept. Daher befinden sich die Best Practices und Entwickler-Frameworks für die Nutzung noch in der Entwicklung. Es gibt nur sehr wenige Beispiele für die Verwendung der Kontoabstraktion, aus denen Entwickler lernen können.

Schadensbegrenzung: Nach der Verbreitung des Standards wird sich schließlich die beste Vorgehensweise entwickeln. Für Entwickler ist es von entscheidender Bedeutung, Erfahrungen mit der neuen Technologie auszutauschen, insbesondere in den frühen Phasen der Einführung.

Entwurfsmodus des Standards

ERC-4337 befindet sich noch im Entwurfsmodus, obwohl die Verträge bereits im Mainnet bereitgestellt wurden. Es besteht die Möglichkeit, dass sich der Standard ändert. Es ist zu beachten, dass sich diese Änderungen auf kleinere Details auswirken sollen und keine Auswirkungen auf bereits implementierte Smart Contracts haben.

Abhilfe: Entwickler sollten die Entwicklung des Standards im Auge behalten und den Code ihrer Projekte entsprechend den Standardänderungen aktualisieren, falls diese auftreten.

Zentralisierung

Obwohl ERC-4337 so konzipiert ist, dass jeder zumindest in der Anfangsphase einen Bundler starten kann, ist das Kontoabstraktions-Ökosystem ziemlich zentralisiert, da es nur wenige produktionsreife Implementierungen von Bundlern gibt.

Abhilfe: Um das Risiko zu vermeiden, dass sich ein Fehler in einer Bundler-Implementierung auf das Kontoabstraktionsnetzwerk auswirkt, sollten mindestens einige Bundler-Implementierungen verwendet werden. Viele Bundler-Implementierungen befinden sich derzeit in der Entwicklung und viele davon werden bald produktionsbereit sein.

Kontoabstraktionsrisiko vs. Ertrag?

Die Kontoabstraktion ist eine potenziell großartige Technologie, die die Akzeptanz von Ethereum steigern kann. Gleichzeitig ist es eine der Entwicklungen, die die Blockchain sicherer machen können. Dennoch sollten Benutzer, wie bei jeder neuen Ergänzung der Blockchain-Technologie in ihrem Anfangsstadium, besonders wachsam sein. Die Überprüfung und Erforschung von AA ist die beste Wahl für jeden, der diese Technologie übernehmen möchte.

Haftungsausschluss:

  1. Dieser Artikel ist ein Nachdruck von [Beincrypto]. Alle Urheberrechte liegen beim ursprünglichen Autor [Gleb Zykov]. Wenn Sie Einwände gegen diesen Nachdruck haben, wenden Sie sich bitte an das Gate Learn-Team, das sich umgehend darum kümmern wird.
  2. Haftungsausschluss: Die in diesem Artikel geäußerten Ansichten und Meinungen sind ausschließlich die des Autors und stellen keine Anlageberatung dar.
  3. Übersetzungen des Artikels in andere Sprachen werden vom Gate Learn-Team durchgeführt. Sofern nicht anders angegeben, ist das Kopieren, Verbreiten oder Plagiieren der übersetzten Artikel verboten.

Ist die Kontoabstraktion sicher? Ein Leitfaden zur Risikominderung

Einsteiger12/12/2023, 4:51:36 PM
Dieser Artikel analysiert die konzeptionellen Merkmale und Anwendungsfälle der Account Abstraction (AA), veranschaulicht die Praxis am Beispiel von ERC-4337 und erläutert mögliche Risiken und Gegenmaßnahmen.

Vor der Kontoabstraktion gab es in Ethereum zwei Arten von Konten: External Owned Accounts (EOA) und Smart Contracts. Ein EOA ist ein typisches Benutzerkonto, das über einen privaten Schlüssel verfügt. Dies ist auch der einzige Kontotyp, der eine Transaktion initiieren kann. Beispielsweise muss ein Benutzer über ETH verfügen, um eine Transaktion senden zu können. Das Erstellen von Batch-Transaktionen ist schwierig und es gibt keine Wiederherstellungsoptionen, wenn ein Benutzer seinen privaten Schlüssel verliert. Um diese Probleme zu lösen, wurde die Kontoabstraktion (AA) erstellt. Aber ist es eine risikofreie Lösung? Dieser Leitfaden behandelt die Grundlagen von AA, bevor er seine Risiken und Möglichkeiten zu deren Minderung detailliert beschreibt.

In diesem Leitfaden:

  • Was sind die Hauptmerkmale der Kontoabstraktion?
  • Anwendungsfälle der Kontoabstraktion
  • Implementierungen der Kontoabstraktion
  • Kontoabstraktionsrisiko vs. Ertrag?
  • Häufig gestellte Fragen

Was sind die Hauptmerkmale der Kontoabstraktion?

Die Kontoabstraktion ist eine Technologie, die es Smart Contracts ermöglicht, Transaktionen selbst zu initialisieren. Es ermöglicht Benutzern, Konten zu erstellen, die durch Smart Contracts repräsentiert werden. Diese Technologie ermöglicht auch mehrere Funktionen, die die Interaktion der Benutzer mit der Kette verbessern.

  • Ein Benutzer kann die Benzingebühren mit Token bezahlen
  • Anwendungen können Gas für Benutzertransaktionen sponsern
  • Es gibt flexible Mechanismen zur Kontosicherung
  • Bridges und Cross-Chain-Dexes können ohne native Währung funktionieren.

Anwendungsfälle der Kontoabstraktion

  • Kostenlose Transaktionen: Projekte können die Transaktionsgebühren der Benutzer bezahlen.
  • Nicht-native Cross-Chain-Transaktionen: Eine Möglichkeit, einen ERC20-Token mit einer anderen Kette zu verbinden und damit für Transaktionen zu bezahlen, was bedeutet, dass das Konto nicht zusätzlich mit einheimischer Währung aufgeladen werden muss.
  • Zusätzliche Wallet- Sicherheitsfunktionen : Im Falle eines Sicherheitsrisikos können alle Vorgänge auf dem Konto angehalten und der Zugriff anschließend mit den Backup-Schlüsseln wiederhergestellt werden.
  • Kontowiederherstellung: Beispielsweise kann ein Schlüsselsatz zur Wiederherstellung des Schlüssels verwendet werden.
  • Transaktionslimits: Es kann ein Konto erstellt werden, mit dem eine bestimmte Summe ETH pro Monat ausgegeben werden kann.
  • Abonnements: Ermöglichen Sie Abonnements auf die gleiche Weise wie bei herkömmlichen Kreditkarten.

Implementierungen der Kontoabstraktion

Es gab verschiedene Vorschläge zur Implementierung von AA in das Ethereum-Netzwerk. Einige davon beinhalten erhebliche Änderungen am Ethereum-Protokoll, was die Implementierung erschwert. Die bekannteste Implementierung ist ERC-4337, die keine Änderungen der Konsensschicht mit sich bringt. Der Standard repliziert den Transaktions-Mempool auf einer höheren Ebene. Die Smart Contracts von ERC-4337 wurden im März 2023 im Ethereum-Netzwerk bereitgestellt.

ERC-4337 verwendet intelligente Verträge namens Wallets anstelle von EOA. Dieses Smart-Contract-Wallet kann nicht nur durch einen privaten Schlüssel gesteuert werden, sondern auch durch einen beliebigen komplexen Mechanismus, der im Vertrag kodiert ist.

Anstelle von Transaktionen senden Benutzer UserOperations. Eine UserOperation enthält Anweisungen zur Ausführung, Signaturüberprüfung und andere Daten. Wie bei Transaktionen gibt ein Benutzer eine Prämie für den Bundler an, um seinen Vorgang zu priorisieren.

Miner oder Bundler bündeln Operationen in Bundle-Transaktionen, die dann in das Ethereum-Netzwerk einbezogen werden.


AA-Implementierung: HashEx

Die UserOperation enthält unter anderem den Code zum Erstellen einer Smart Contract Wallet. Wenn ein Benutzer kein Wallet hat, wird es für ihn erstellt.

Wenn ein Benutzer die Transaktion mit einem ERC20-Token bezahlen oder gar nicht bezahlen möchte, gibt er in der UserOperation eine Paymaster-Vertragsadresse an. Ein Paymaster ist ein Drittanbieterdienst, der die Transaktion im Austausch gegen ERC20-Token bezahlt.

Welche Risiken bestehen und wie können sie gemindert werden?

Obwohl die Kontoabstraktion zur Verbesserung der Benutzersicherheit erstellt wird, bestehen insbesondere in den frühen Phasen der Einführung einige Risiken. Das Ethereum-Ökosystem ist berüchtigt für Fehler in Smart Contracts, die dazu geführt haben, dass böswillige Benutzer Milliarden von Dollar gestohlen haben. Hier sind einige Risiken von AA und wie sie vermieden/gemindert werden können.

Risiko von Fehlern bei der Implementierung des Standards

Wie bei jeder neuen Technologie besteht auch bei der Kontoabstraktion das Risiko, dass die erste Implementierung Fehler enthält. Die Smart Contracts von ERC-4337 wurden von OpenZeppelin, einem führenden Blockchain-Sicherheitsunternehmen, geprüft.

Abhilfe: Die Lösung besteht in der formalen Verifizierung – einem Prozess, bei dem mathematische Methoden zum Nachweis der Korrektheit intelligenter Verträge zum Einsatz kommen. Der Prozess der formellen Verifizierung der ERC4337-Verträge ist im Gange, aber noch nicht abgeschlossen.

Fehler aufgrund von Inkompatibilitäten mit einigen Smart Contracts

Nicht jeder Smart Contract ist mit Account Abstraction Wallets kompatibel. Beispielsweise erhalten Smart Contracts, die das Feld tx.origin verwenden, um die Wallet zu überprüfen, die die Transaktion gesendet hat, einen unerwarteten Wert. Eine weitere Inkompatibilität tritt bei Smart Contracts auf, die EOA-Signaturen verwenden: Sie werden von AA-Wallets nicht unterstützt.

In solchen Verträgen können bestimmte wichtige Funktionen möglicherweise nicht ordnungsgemäß ausgeführt werden. Im schlimmsten Fall können die Gelder der Nutzer gesperrt werden.

Abhilfe: Um die Risiken zu verringern, muss ein Benutzer, der ein Kontoabstraktions-Wallet verwendet, prüfen, ob das Protokoll, mit dem er interagiert, die Technologie unterstützt.

Code eines Drittanbieters für Wallets

Der Standard ist so konzipiert, dass innerhalb der ersten UserOperation über eine Smart Contract Factory ein Smart Contract Wallet erstellt werden kann. Es besteht jedoch das Risiko, dass der Smart Contract zur Wallet-Implementierung Fehler enthält. Es ist von entscheidender Bedeutung, nur Wallet-Fabriken zu verwenden, die von den führenden Blockchain-Sicherheitsunternehmen gründlich geprüft und getestet wurden.

Schadensbegrenzung: Verwenden Sie zum Erstellen von Wallets nur vertrauenswürdige Dienste und stellen Sie sicher, dass der Code des Wallets von mindestens einem vertrauenswürdigen Blockchain-Sicherheitsunternehmen geprüft wird.

Code von Drittanbietern für Zahlmeister

Wenn ein Benutzer oder ein Projekt Paymaster nutzt, ist es darauf angewiesen, dass ein Dritter die Transaktionen bezahlt. Bei der Implementierung des Paymasters kann es zu Fehlern kommen, und ein böswilliger Paymaster kann die Gelder der Benutzer stehlen.

Es ist zu beachten, dass der gewählte Paymaster-Dienst auch unter böswilligen Benutzern leiden kann, die Wege finden, den Paymaster dazu zu bringen, für ihre Transaktionen zu bezahlen.

Schadensbegrenzung: Wallets verwenden nur Paymaster von vertrauenswürdigen Anbietern und stellen sicher, dass der Code des Paymasters vor der Verwendung geprüft wurde.

Empfohlene Vorgehensweise

Die Kontoabstraktion auf der Ethereum-Blockchain ist ein relativ neues Konzept. Daher befinden sich die Best Practices und Entwickler-Frameworks für die Nutzung noch in der Entwicklung. Es gibt nur sehr wenige Beispiele für die Verwendung der Kontoabstraktion, aus denen Entwickler lernen können.

Schadensbegrenzung: Nach der Verbreitung des Standards wird sich schließlich die beste Vorgehensweise entwickeln. Für Entwickler ist es von entscheidender Bedeutung, Erfahrungen mit der neuen Technologie auszutauschen, insbesondere in den frühen Phasen der Einführung.

Entwurfsmodus des Standards

ERC-4337 befindet sich noch im Entwurfsmodus, obwohl die Verträge bereits im Mainnet bereitgestellt wurden. Es besteht die Möglichkeit, dass sich der Standard ändert. Es ist zu beachten, dass sich diese Änderungen auf kleinere Details auswirken sollen und keine Auswirkungen auf bereits implementierte Smart Contracts haben.

Abhilfe: Entwickler sollten die Entwicklung des Standards im Auge behalten und den Code ihrer Projekte entsprechend den Standardänderungen aktualisieren, falls diese auftreten.

Zentralisierung

Obwohl ERC-4337 so konzipiert ist, dass jeder zumindest in der Anfangsphase einen Bundler starten kann, ist das Kontoabstraktions-Ökosystem ziemlich zentralisiert, da es nur wenige produktionsreife Implementierungen von Bundlern gibt.

Abhilfe: Um das Risiko zu vermeiden, dass sich ein Fehler in einer Bundler-Implementierung auf das Kontoabstraktionsnetzwerk auswirkt, sollten mindestens einige Bundler-Implementierungen verwendet werden. Viele Bundler-Implementierungen befinden sich derzeit in der Entwicklung und viele davon werden bald produktionsbereit sein.

Kontoabstraktionsrisiko vs. Ertrag?

Die Kontoabstraktion ist eine potenziell großartige Technologie, die die Akzeptanz von Ethereum steigern kann. Gleichzeitig ist es eine der Entwicklungen, die die Blockchain sicherer machen können. Dennoch sollten Benutzer, wie bei jeder neuen Ergänzung der Blockchain-Technologie in ihrem Anfangsstadium, besonders wachsam sein. Die Überprüfung und Erforschung von AA ist die beste Wahl für jeden, der diese Technologie übernehmen möchte.

Haftungsausschluss:

  1. Dieser Artikel ist ein Nachdruck von [Beincrypto]. Alle Urheberrechte liegen beim ursprünglichen Autor [Gleb Zykov]. Wenn Sie Einwände gegen diesen Nachdruck haben, wenden Sie sich bitte an das Gate Learn-Team, das sich umgehend darum kümmern wird.
  2. Haftungsausschluss: Die in diesem Artikel geäußerten Ansichten und Meinungen sind ausschließlich die des Autors und stellen keine Anlageberatung dar.
  3. Übersetzungen des Artikels in andere Sprachen werden vom Gate Learn-Team durchgeführt. Sofern nicht anders angegeben, ist das Kopieren, Verbreiten oder Plagiieren der übersetzten Artikel verboten.
Jetzt anfangen
Registrieren Sie sich und erhalten Sie einen
100
-Euro-Gutschein!