
Autor: Zeqing Guo & amp;
1, Warum brauchen wir eine Kontoabstraktion (Aa)?
Gegenwärtig gibt es im Blockchain -Feld immer noch viele unerklärliche Probleme.Unter ihnen muss die Schwierigkeit, die Blockchain zu verwenden, dh die Benutzererfahrung (UX), die mit der Blockchain interagiert, der öffentlichste Spucke sein.
Zum Beispiel glauben viele Leute, dass die Verwendung von Schlüssel komplizierter ist als ein E -Eil -Managementkonto, das Schlüsselmanagement ist schwierig und nicht sicher. Ether und Sol)
In diesem Zusammenhang werden immer mehr Menschen auf das abstrakte Kontenbereich achten, um die Benutzererfahrung der interaktiven Interaktion zu verbessern und eine umfassende Akzeptanz zu fördern.
Während des Explorationsprozesses schlug Ethereum eine abstrakte Lösung für ERC-4337, EIP-3074, EIP-7702 und andere Konten vor.Andere L1 (z. B. Solana) haben die Funktion der Unterstützung der Abstaltung der Vereinbarung -Level -Konto (z.In diesem Artikel werden wir die oben genannten Lösungen vorstellen und vergleichen, um die subtilen Merkmale verschiedener Lösungen zu verstehen und die Abwägung und Vorsichtsmaßnahmen der Vor- und Nachteile verschiedener Lösungen zu demonstrieren.
2Hintergrundeinführung
(1.EOAHarmony Account
Externe Konten (EOs) und Vertragskonten sind zwei Arten von Konten, die im Weißbuch in Ethereum definiert sind.Das EOA -Konto wird vom privaten Schlüssel gesteuert.Das Vertragskonto wird durch den Kodex des Vertragskontos selbst gesteuert.
(2) Konto abstrakt
Das Konzept der abstrakten Konten kann auf das Jahr 2016 zurückgeführt werden.Die Kontoabstraktion basiert auf den aktuellen zwei Arten von Konten in Ethereum, nämlich dem EOA -Konto und dem Vertragskonto.Dies verbessert die interaktive Erfahrung von Ethereum -Benutzern auf folgende Weise:
· Erlauben Sie Benutzern, mehrere Signaturen wie Schnorr, BLS, Post -Quantum -Signaturen usw. Zu verwenden;
· Erlauben Sie Benutzern, ERC20 -Token oder benutzerdefinierte Zahlungslogikzahlungsgasgebühren zu verwenden.
· Erlauben Sie Benutzern, E -Mails, soziale Medien usw. zu verwenden, um ihre Konten abzurufen.
· Ermöglicht Benutzern die Verwaltung von Mitteln in ihren Konten mit feiner Berechtigungen, z. B. das Einrichten der täglichen Auszahlungslimit;
· Erlauben Sie, mehrere Ketten in einer Atomtransaktion auszuführen.Beispielsweise können Benutzer eine Signatur verwenden, um die Genehmigung und den Austauschbetrieb in DEX -Transaktionen abzuschließen.
(3) Ethereum Routenkarte
Die Ethereum -Routenkarte betont die zukünftige Upgrade -Route von Ethereum.Derzeit drehen sich die meisten Studien in der Ethereum -Community um die Ethereum -Routenkarte.Account Abstract ist ein wesentlicher Bestandteil davon:
>
Die Ethereum-Community hofft, EIP-3074 oder EIP-7702 wie EIP-3074 oder EIP-7702 basierend auf ERC-4337 zu verwenden, um die abstrakte Lösung des Kontos in der Vereinbarung zu realisieren und schließlich die Endgame-Kontoabstraktion zu implementieren.
Obwohl die Benutzererfahrung verbessert wird, ist das Ende der Kontoabstraktion auch für das Anti -Quantum -Computing von Ethereum von entscheidender Bedeutung, da der im aktuelle EOA -Konto verwendete ECDSA -Algorithmus im Zeitalter des Quantencomputers nicht sicher ist.Verwenden der Kontoabstraktion zur Unterstützung der Quantensignaturen und des Schutzes von Benutzerkonten vor kontinuierlichen evolutionären Bedrohungen, die durch Quantencomputer verursacht werden.
3SowieEIP-3074UndERC-4337
Um das Konto abstrakte Konten zu verstehen, müssen wir verstehen, wie EOA funktioniert.Die folgende Abbildung zeigt die häufigsten Token in der Kette:
>
Im Allgemeinen müssen Benutzer beim Kauf von Token zwei Transaktionen ausstellen: Erst autorisieren Sie UNISWAP, um ihren USDC in den Austausch zu übertragen, und senden dann eine andere Transaktionsanforderung UNISWAP, um den Vorgang auszuführen.UNISWAP hat den USDC des Benutzerkontos übertragen und die entsprechende ETH -Menge an den Benutzer zum aktuellen Preis gesendet.
ERC-4337 fusionierte die obigen zwei Transaktionen in eine Transaktion:
>
Wie aus der obigen Abbildung hervorgeht, müssen Benutzer zweimal unterschreiben, um Bundler zu autorisieren, um die Vermögenswerte des Benutzers im 4337 -Konto zu bedienen, das sich vom EOA -Konto des Benutzers unterscheidet.Nachdem der Bundler autorisiert wurde, wird der autorisierte Inhalt in ein Handelspaket zusammengefasst und die Transaktion in eine Transaktion abgeschlossen.Wenn der Benutzer nicht zur Zahlung des Ethereum an die Gasgebühr verwendet wird, können Sie auch die Paymaster -Rolle einführen, damit der Paymaster die Gasgebühr zahlen und vom Benutzer ein ERC20 -Token erhalten kann.
EIP-3074 und ERC-4337 haben einige Ähnlichkeiten, aber die Umsetzung des EIP-3074 liegt im Ethereum-Abkommen:
>
In ERC-4337 ermächtigen wir Bundler, die Vermögenswerte in der Smart Contract Wallet auf der Smart Contract Wallet in der Kette zu bewältigen.In der EIP-3074 ist der Bundler berechtigt, die Vermögenswerte in unserer EOA-Brieftasche über die Signatur direkt zu verarbeiten.Dazu muss die Ethereum -Community dem Ethereum -Protokoll zwei neue Betriebskodizes hinzufügen: Auth und Authcall.
Auth wird verwendet, um zu überprüfen Das EOA -Konto des Benutzers.Der Vorteil davon ist, dass das Wartungspersonal von UNISWAP und USDC die Bereitstellungsverträge gleichzeitig nicht aktualisieren müssen.
(1.EIP-3074UndERC-4337Vergleich
In der Ethereum -Community bezieht sich EIP normalerweise auf einen Vorschlag, der Ethereum -Upgrades erfordert, und ERC bezieht sich auf die Spezifikationen, die ohne Ethereum -Upgrade unterstützt werden können.
Daher ist aus der Benennung der beiden Kontoabstraktionsschemata ersichtlich, dass ERC-4337 leichter zu erreichen ist als der EIP-3074, da ERC-4337 das Ethereum-Netzwerk nicht für harte Aufgaben benötigt.Dies ist auch einer der Gründe, warum ERC-4337 veröffentlicht wurde und zunehmend auf Polygon und Basis angewendet wird. Der EIP-3074 wurde jedoch gerade vom 183. Ethereum Full Core Developer Executive Meeting (ACDE) akzeptiert.
>
Darüber hinaus verlangt ERC-4337, dass Benutzer ihr Girokonto auf ein neues Vertragskonto migrieren, und DAPP ist erforderlich, um die Funktion von EIP-1271 zu unterstützen.EIP-3074 erfordert diese zusätzliche Unterstützung nicht.Dies ist der Hauptgrund für die niedrige Adoptionsrate von ERC-4337.Gleichzeitig kann ERC-4337 eine Signatur nicht unterstützen, um mehrere Ketten zu autorisieren, ohne einen Multi-Abrechnungsvertrag einzuführen, aber EIP-3074 kann, was auch die Einschränkungen von ERC-4337 verursacht.
EIP-3074 hat jedoch auch ein eigenes Problem.Das wichtigste Problem ist, dass die Autorität des Operation Code zu hoch ist, wodurch der Angreifer das EOA -Konto des Benutzers vollständig steuern kann.Solange der Hacker Sie täuscht, können Sie die Vermögenswerte in Ihrer EOA -Brieftasche behandeln.In Anbetracht der Tatsache, dass Online-Angelangriffe sehr weit verbreitet sind und die meisten Angriffe die Signaturen der Benutzer trugen, wird dies ein schwerwiegenderes Problem.
In dieser Hinsicht schlug Lightclient, einer der Autoren von EIP-3074, eine Reliefmethode vor, um böswillige Unterschriften auf der Brieftaschenebene abzufangen.ERC-4337 hat dieses Problem nicht, obwohl Hacker die Benutzer immer noch täuschen können, böswillige Benutzerops zu unterschreiben.Dies liegt daran, dass es schwierig ist, die Entsorgungsbehörde für alle Vermögenswerte auf dem Benutzerkonto zu erhalten.Beim Schreiben dieses Artikels haben ACDE-Entwickler zugestimmt, EIP-3704 aus Pectra Devnet 0 zu löschen und EIP-7702 in die nächste Pectra Devnet 1 aufzunehmen.
(2.EIP-7702Was ändert sich?
EIP-7702 versucht, die Vorteile von EIP-3074 und ERC-4337 für eine Mittelstraße zu integrieren.Der Benutzer sendet die signierte Operation an den Bundler.Wenn Bundler die Transaktion an die Kette sendet, wird das EOA -Konto des Benutzers vorübergehend zu einem intelligenten Vertragskonto wie einem 4337 -Konto.Ähnlich wie beim Auth-Prozess in EIP-3074 wird das Smart Contract-Konto die vom Benutzer autorisierte Bundler-Operation überprüfen.Führen Sie dann wie Authcall den Betrieb der Benutzerautorisierung durch.Nach der Ausführung der Transaktion rollt das Benutzerkonto zum normalen EOA -Konto zurück.
Die Vorteile von EIP-7702 sind wie folgt:
· Alle Vorteile der Erben des EIP-3074: Erfordern keine Benutzer, dass Benutzer mit einer neuen Adresse vom EOA-Konto auf ein Smart Contract-Konto wechseln. Sie können mehrere Vorgänge in einer Atomtransaktion ausführen.
· Der Smart Contract-Account-Code und die Infrastruktur von ERC-4337 können erneut verwendet werden.
· Die Durchstraktion des Smart Contract-Kontos durch ERC-4337 und die durch EIP-3074 dargestellte EOA-Konto-Abstraktionslösung kann zusammengeführt werden, um zu verhindern, dass Ethereum in zwei verschiedene Konto-abstrakte Systeme aufgeteilt wird.
· Die beiden Betriebscodes von AUTHCALL werden nicht zu EVM von Ethereum hinzugefügt: Angesichts der Ethereum -Routenkarte wird das EOA -Konto in Zukunft in abstrakten Konten umgewandelt, und diese beiden Betriebscodes werden redundant.
除此之外,EIP-7702也继承了EIP-3074的所有安全风险。
社区决定在2025年的Pectra升级中包含EIP-7702。如果实现,将极大地改变以太坊生态系统,并逐渐改进当前的ERC-4337版本的帐户抽象基础设施。
4SowieSolanaProgrammableitete Adresse (PDA.
(1.SolanaKontoabstraktion
Solanas Kontoabstraktion ähnelt dem ERC-4337 von Ethereum.Sie stammen aus dem ursprünglichen Konto (ähnlich wie das EOA -Konto), ähnlich dem 4337 -Vertragskonto.Vor dem Verständnis von Solanas Kontoabstraktion ist es notwendig, das von Solana verwendete Kontomodell zunächst zu verstehen.
In einem breiten Sinne können Konten in ausführbare Konten unterteilt werden, die Code ausführen und keine Konten ausführen können, die keinen Code ausführen können.Weitere Ansicht: Es gibt drei Arten von Konten zu Solana: native Programme, Programmkonten und Datenkonten.
Native Programme sind Teil der Validator -Implementierung und bieten Kernfunktionen für Solana -Netzwerke, z. B. das Erstellen neuer Datenkonten und benutzerdefinierte Programme.Das Programmkonto ist ein benutzerdefiniertes Programm, das ausführbarer Code enthält.Datenkonten können Daten speichern und den Programmstatus gemäß der Definition des Programmkontos ihres Eigentümers verwalten.
Mit diesem Kontomodell können Programmkonten bestimmte Konten erstellen und verwaltet und Entwicklern die Möglichkeit geben, benutzerdefinierte Regeln und Logik für die Verwaltung von Konten zu definieren.Mit der Unterstützung dieses Kontomodells erweitert das Programm abgeleitete Adresse (PDA) (ein Datenkonto) die Möglichkeit der abstrakten Funktion des Kontos auf dem Konto auf dem Konto
>
(2) Programm gesendeter Adresse
Für den Kontext befinden sich alle Konten in der ED25519 -Kurve und haben ein öffentliches und privates Schlüsselpaar.PDA befindet sich außerhalb der ED25519 -Kurve.PDA ermöglicht es Entwicklern, benutzerdefinierte Regeln und Handelssignaturmechanismen zu erstellen, wodurch PDA -Programmkonto -Eigentümer im Namen von PDA Transaktionen durchführen können, die von Solana -Netzwerken vollständig anerkannt und unterstützt werden.
>
(3.PDAUnd Kontoabstraktion
Jetzt wissen wir, wie PDA abgeleitet wird, und Sie möchten vielleicht auch wissen, wie diese Konzepte mit der Abstreckung der Account in Verbindung gebracht werden.Die Kontoabstraktion wird durch die zugrunde liegende Ebene durch die Ausführung einer Funktion namens Cross -Sequenz Call (CPI) implementiert.
CPI ist eine Funktion, mit der ein Programm die Anweisung eines anderen Programms aufrufen kann, wodurch eine Kombination aus dem Solana -Programm erreicht wird.Wenn das Programm den CPI über Invoke_signed startet, kann das Programm eine Signatur im Namen der Derivat -PDA unterzeichnen.
>
Um die Legitimität von PDA -bezogenen Transaktionen zu überprüfen, verwendet Solana Runtime (Laufzeit) die SignatureDs und Program_ID des Anrufprogramms, um es intern aufzurufen, um create_program_address zu rufen.Wenn Sie eine effektive PDA finden, wird die Laufzeit PDA mit dem Anrufprogramm in Verbindung bringen und das Programm als autorisierte Unterschrift identifizieren.
Derzeit entwickelt Squads eine abstrakte Lösung für PDA -basierte Solana -Konten.Die von Trupps bereitgestellten Produkten ähneln jedoch der Smart Contract -Kontolösung des Gnosis -Safes, der seine Kontoabstraktionsfunktion nicht vollständig entwickelt hat.
(4.PDAVorteil
· Automatische Ausführung von Smart Contracts: PDA unterstützt komplexeres Smart Contract -Design.
· Verbesserte Benutzererfahrung: Benutzer müssen nicht mehrere Transaktionen verwalten oder mit der technischen Komplexität ausgesetzt sein.
· Verbesserte Sicherheit und Flexibilität: Kein privater Schlüssel, was das Risiko einer Schlüssellecks verringert.PDA kann verwendet werden, um mehr Brieftaschen oder andere flexible Governance -Modelle zu unterzeichnen.
(5.PDAEinschränkungen
Obwohl die PDA dazu beiträgt, die Grundlage für die abstrakte Funktion des Kontos zu legen, ist sie möglicherweise komplizierter als der Schlüssel zum Konto.
Wie ERC-4337 müssen Benutzer Konten auf ein neues Konto ausführen, was die abstrakte Adoptionsrate des Solana-Kontos behindern kann.
5SowieKosmosAbstraktes Konto (AuthzUndGebührenstipendium.
(1.Cosmos X/Authz
Da die Kontoabstraktion zunehmend die Aufmerksamkeit der Entwickler einnimmt ähnlich.
Es gibt mehrere vordefinierte Autorisierungstypen von Authz.
Durch Authz können 3 Arten der Autorisierung angegeben werden:
InGenicuthorisierung: Diese Genehmigung gibt der autorisierten Person der autorisierten Person unbegrenzte Berechtigungen.
InSndauthorisierung: Wie die Genehmigung in ERC20 zielt die Autorisierung darauf ab, der autorisierten Person eine positive Ausgabengrenze vorzunehmen, die den maximalen Betrag der von der autorisierten Person genehmigten Personen darstellen kann.
InStakeAuthorisierung: Diese Genehmigung ermöglicht es der autorisierten Person, Verpfändungsoperationen zu verwalten, wie z. B. Vertreter der Verpfändung, widerrufener Provision oder der Umtragung.
Die Genehmigung besteht aus dem Adresse des Autors, dem Adressbyte durch die autorisierte Person und der Art der Genehmigung.Sie können auch den Zeitraum definieren, um die Berechtigungen innerhalb eines bestimmten Zeitraums zu begrenzen.在每个区块末端,该网络将通过一个名为pruning的过程删除过期授权。
Verstehen Sie den Betriebsgerüst
Authz kann verwendet werden, um die Genehmigung für verschiedene Operationen vorzunehmen, aber der Einfachheit halber werden wir untersuchen, wie Authz operiert, um gemeinsame Abstimmungstransaktionen zu ermöglichen.
· Implementieren Sie die Autorisierungsschnittstelle, bevor Sie eine Autorisierung ausführen.In diesem Stadium wird die Art der Nachricht definiert, die in diesem Beispiel msgvote ist.Hier sehen wir, dass Alice die Voting -Operation der Governance vergeben hat.
· Bob erzeugt eine nicht signierte Stimmenübertragung.
· Bob generiert eine Signatur und führte eine Stimmtransaktion von der autorisierten Person aus.Die Transaktion ist abgeschlossen und die abgelaufenen Transaktionen werden gelöscht.
>
AuthzWas sind die Vorteile?
· Betriebssicherheit: Überprüfungen und andere Benutzer können unabhängige Konten ermächtigen, um bestimmte Operationen für Governance -Vorschläge abzustimmen oder auszuführen, wodurch die Sicherheit der Kontos verbessert und die Sicherheitsbelastung verringert wird.
· Vereinfachung der Operation: Die Transaktion kann ohne den Schlüssel zur Überprüfung der Überprüfung ausgeführt werden.
· Keine Migration: Ähnlich wie bei EIP-3074 und EIP-7702 wird die Autorisierungsoperation im ursprünglichen Konto des Benutzers durchgeführt.Benutzer müssen ihre Vermögenswerte nicht vom ursprünglichen Konto auf das neue Konto übertragen, um die Kontoabstraktion zu aktivieren.
InDaoBetriebseffizienz und Flexibilität: Sie können einigen DAO -Mitgliedern für bestimmte Operationen geben.
· Synthese der Belohnung: AuthZ fördert die Verwendung von Re -Pledge- und gleichwertigen Diensten, um die Versprechen -Belohnungen automatisch zu synthetisieren.
AuthzEinschränkungen und Risiken:
Achten Sie auf die Art der von Authz autorisierten Transaktion.Eine böswillige Autorisierung kann verschiedene Arten der Autorisierung ausführen, die für Benutzer schädlich sein können.
InGenicuthorisierung: Bei uneingeschränkten Berechtigungen zur Darstellung mehrerer Unterschriften im Namen der autorisierten Personen.Sofern Sie den zu unterzeichnenden Inhalt nicht vollständig verstehen, wird dringend empfohlen, eine solche Genehmigung zu vermeiden.Einige Brieftaschen liefern möglicherweise keine Warnungen bei der Unterzeichnung von Authz -Transaktionen.
InSndauthorisierung: Erlauben Sie der autorisierten Person, die maximale Anzahl von Token zu senden, die die autorisierte Person ausgeben kann, wenn die autorisierte Person den spezifischen Betrag nicht angibt.Überprüfen Sie, ob die Zulassliste auch sehr wichtig ist.
(2.Gebührenstipendienmodul(Ausgabenautorisierungsmodul)
Ein weiteres Hindernis für die Benutzererfahrung ist, dass Blockchain -Benutzer verschiedene Originalwährungen innehatten müssen, um mit verschiedenen Ökosystemen zu interagieren.Dies schadet die allgemeine Benutzererfahrung, insbesondere für nicht verkürzte native Benutzer, die zuerst unzählige Ketten im Cosmos -Ökosystem kontaktieren.
Mit der Integration des Gebührenbewilligungsmoduls hat dieses Problem jedoch einen Durchbruch erzielt.Ähnlich wie der Paymaster -Vertrag, der eine Kontoabstraktion auf Ethereum implementiert, ermöglicht das Gebührenbewilligungsmodul auf dem Kosmos die autorisierte, der autorisierten Person die Gebührengeld zu gewähren und den Teil oder alle Transaktionsgebühren zu zahlen.Die Mittel stehen noch unter der Kontrolle der autorisierten Person, und die Berechtigungszulage kann jederzeit widerrufen werden.
Kostenberechtigungsklassifizierung
Die Kostenzulage kann in zwei Kategorien unterteilt werden:Basicallowance(Grundlegende Zulagen) undPeriodikum(Reguläre Zulage).
Basicallowance ermöglicht es der autorisierten Person, die Kosten des Autorkontos zu verwenden, bis sie die Ausgabengrenze oder die ordnungsgemäße Zeit erreicht, und dann wird die Genehmigung im Staat gekündigt.Es ist zu beachten, dass Basicallowance gleichzeitig durchgeführt wird.Wenn die Ausgabengrenze und -zeit auf leer sind, ist die Kostenberechtigung nicht gültig und die Obergrenze des Verbrauchs.
Die Periodicallowance ermöglicht die regelmäßige Aktualisierung der Kostenberechtigung nach jedem festgelegten Zeitraum.Period_Spend_Limit gibt die maximale Token -Nummer an, die in einem bestimmten Zeitraum ausgegeben werden kann.Period_Reset verfolgt die Zeit des nächsten Males während des nächsten Zeitraums.
Verstehen Sie den Betriebsgerüst
Erstellen Sie einen Zulassungssubvention mit erlaubtenMmsgallowance für den angegebenen Nachrichtentyp.Zulner können grundlegende Grundzertifikate oder regelmäßige Zulagen von Periodika sein.Wenn die Ablaufzeit festgelegt ist, wird FeeAllowance im Bundesstaat mit dem Ablaufpräfix angezeigt, und Endbllock überprüft den Status feaAllowanceKUEUE, um die Ablauf zu überprüfen und jede Verfallszusatz zu löschen.Zusätzlich zu MSGGrantallowance können Sie MSGrevokeAllowance verwenden, um die Kostenberechtigung zu widerrufen.
Kurz gesagt, Authz- und Fee Grant -Module haben verschiedene innovative Fälle freigeschaltet, die schließlich eine bessere Benutzererfahrung im Cosmos -Ökosystem aufbauen.
6Abschluss
Ab dem 27. Mai 2024 sind die Daten zur Abstract -Schätzung des Kontos wie folgt:
>
Mit der Zustimmung des Spot BTC ETF und dem ETF -ETF hat die Nachfrage nach Institutionen und Einzelhandel erheblich zugenommen, und es wird erwartet, dass eine neue Welle von Nutzern einleitete, die sich an die Verschlüsselungsbranche wenden möchten.Da jede Vereinbarung und Dapp versuchen, eine nahtlose Erfahrung zur Erweiterung ihrer Community -Skala zu schaffen, wird die Abstreckung in diesem Jahr eine wichtige Erzählung.