Autor: Wuyue, Geek Web3

Herausgeber: Faust

Seitdem die AA-Erzählung im Jahr 2022 in der Ethereum-Community populär wurde, ist das Konzept der Kontoabstraktion in der Web3-Community populär geworden. Es handelt sich eigentlich um ein Designkonzept für das Kontosystem, das darauf abzielt, Standards auf einer höheren Ebene zu etablieren und die Funktionalität des Kontos zu verbessern. In Mainstream-Blockchains wie Ethereum sind die Flexibilität und Vielseitigkeit des Kontosystems aufgrund der Einschränkungen fester Regeln sehr gering, zum Beispiel:

  1. Sie müssen ETH und andere Gas-Tokens im Voraus auf Ihrem Konto haben, sonst können Sie keine Transaktionen starten, was für neue Konten offensichtlich sehr unfreundlich ist;

  2. Die durch das EVM-System repräsentierten öffentlichen Ketten unterstützen nur ein Einzelkontosystem, und andere öffentliche Ketten oder Web2-Benutzer müssen neue Kontotools und -eingänge verwenden.

Der EIP-4337-Vorschlag, der zuvor in der Ethereum-Community beliebt war, wurde als in der Lage angesehen, die oben genannten Probleme zu lösen. Aufgrund von Faktoren wie seinem technischen Modell, seinem historischen Ballast, seiner ökologischen Entwicklung und der Erkenntnis der Entwickler wurde jedoch davon ausgegangen, dass der EIP-4337-Vorschlag in der Lage ist, die oben genannten Probleme zu lösen. Der Patch-Plan 4337 ist eher ein Flickenteppich als eine grundsätzliche Lösung des Problems; er versucht, dem EVM neue Opcodes hinzuzufügen, er bringt jedoch auch neue Probleme mit sich Die Machbarkeit ist höchst umstritten.

Aus verschiedenen Gründen hat das Gründungsteam von Ethereum das Kontosystem zu Beginn des Mainnet-Starts nicht vollständig berücksichtigt und viel Ballast hinterlassen, wie zum Beispiel: EOA-Konten und Vertragskonten sind getrennt, es werden keine Gastransaktionen unterstützt und es gibt mehrere Konten werden nicht unterstützt. Dieser historische Ballast hat die Umsetzung der AA-Roadmap von Ethereum offensichtlich behindert. Man kann sogar sagen, dass der AA-Plan von Ethereum nicht zulässt, dass sein Kontosystem die späteren neuen öffentlichen Ketten übertrifft, sondern nur die Lücke zwischen beiden schließt. Wenn eine öffentliche Kette die Kontogestaltung bei der ersten Konzeption vollständig berücksichtigt, besteht keine Notwendigkeit, Umwege wie bei Ethereum zu gehen.

Anders als die öffentlichen EVM-Ketten hat sich Nervos zu Beginn des Entwurfs eingehend mit dem Problem des Kontosystems befasst. Nach der Durchführung von Untersuchungen sind wir der Meinung, dass das Kontosystem von Nervos stärker auf die unterste Ebene und das Wesentliche des AA-Kontos ausgerichtet ist und die Unterstützung mehrerer OmniLock, einer Verifizierungsmethode, steht von Anfang bis Ende im Einklang mit den Zielen von AA und hat keine historischen Nachteile. Sie unterstützt natürlich die Kontosysteme anderer öffentlicher Ketten wie BTC, ETH und sogar Solana.

Darüber hinaus ist es für das kürzlich beliebte BTCFi notwendig, mit gängigen Bitcoin-Wallets und anderen peripheren Einrichtungen von CKB kompatibel zu sein, da es selbst Defi und andere Szenarien für native Bitcoin-Assets einführt Die native AA-Lösung erreicht dies auf natürliche Weise und schafft die notwendigen Voraussetzungen für die groß angelegte Einführung von BTCFi.

Im Folgenden interpretieren wir das Kontoabstraktionssystem von Nervos aus verschiedenen Perspektiven wie Designkonzept, Systemarchitektur, Anwendung und Ökologie.

Bitcoin UTXO und das Zellmodell von Nervos

Die meisten Menschen wissen, dass die Datenspeicherstruktur einer öffentlichen Kette, die auf dem UTXO-Modell basiert, nicht auf dem „Kontostand“-System basiert, sondern eine einzigartige Form annimmt. Konkret kann UTXO wie Gold geschmolzen oder geprägt werden. Bei jeder Transaktion wird altes UTXO zerstört und neues UTXO geboren. Darüber hinaus werden UTXO-Daten nicht unter einer zentralen Adresse gespeichert, sondern verteilt in der Transaktion, die das UTXO generiert hat, und können nur durch Lesen der Datensätze vergangener Blöcke gefunden werden.

Es ist keine Übertreibung zu sagen, dass Bitcoin ein Speicherparadigma geschaffen hat, das sich vom „Kontoinformations“-System der herkömmlichen Web2-Plattform unterscheidet und die Probleme der Zustandsexplosion, der geringen Effizienz beim Lesen und Schreiben von Daten und der verschwommenen Eigentumsverhältnisse lösen kann. Unter dem UTXO-Modell sind der Speicherort und der Besitz von Asset-Daten verschiedener Personen sehr klar, und es unterstützt Parallelität/Parallelität. Es ist auch einfach, Funktionen wie Speicherleasing zu unterstützen und viele Fallstricke herkömmlicher Konten zu vermeiden System.

Das Kontosystem der öffentlichen Kette Nervos hat die Vorteile von Bitcoin UTXO von Anfang an vollständig übernommen. Sein Cell-Modell ist tatsächlich eine aktualisierte Version von Bitcoin UTXO und bietet Turing-vollständige Programmierbarkeit. Darüber hinaus sind sowohl CKB als auch andere Vermögenswerte erstklassige Vermögenswerte und behandeln native Vermögenswerte nicht anders als ERC-20 wie die öffentliche EVM-Kette.

Der Funktionsmechanismus von CKBs Cell ist ungefähr der gleiche wie der von Bitcoin UTXO: Beide werden durch „Sperrskripte“ und „Entsperrskripts“ gesteuert. Wenn jedes UTXO/Cell generiert wird, gibt es ein „Sperrskript“, genau wie ein Passwort. Lock; und das „Unlock-Script“ ist der entsprechende Schlüssel, der das „Lock-Script“ entsperren kann. Solange Sie den zum „Schloss“ gehörenden „Schlüssel“ übermitteln können, steht Ihnen das zugehörige UTXO zur Verfügung.

Aber im Gegensatz zu Bitcoin UTXO fügt Cell über dem Sperrskript ein „TypeScript“-Feld hinzu. Wenn LockScript ein Identitätsauthentifikator ist, der bestimmt, ob Sie zum Umschreiben dieser Zelle qualifiziert sind, dann ist TypeScript der an die Zelle angehängte Smart Contract. Der Code von DEX und Lending-Protokollen kann in TypeScript bereitgestellt werden.

Wenn Entwickler einen AMM-ähnlichen Liquiditätspool auf CKB implementieren möchten, müssen sie lediglich den Vertragscode einer dedizierten Zelle in TypeScript schreiben und dann die Statusinformationen des Liquiditätspools (z. B. im Pool) im Datenfeld speichern dieser Zelle) und dann kann der Benutzer mit dem Code in TypeScript interagieren.

Dieses Design von CKB erweitert umfangreichere Szenarien über das Bitcoin UTXO-Modell hinaus und ist viel besser programmierbar. Da CKB selbst die virtuelle RISC-V-Maschine verwendet, unterstützt es außerdem Programme, die in mehreren Programmiersprachen geschrieben sind, und kann verschiedene Logiken unterstützen mächtiger als Bitcoin.

Das Sperrskript LockScript von Cell steht heute in direktem Zusammenhang mit unserem Kernthema AA. Denn eine der von AA befürworteten Funktionen besteht darin, On-Chain-Konten die Unterstützung flexibler und vielfältiger Authentifizierungsmethoden zu ermöglichen. Um diese Funktion zu erreichen, muss UTXO an dem LockScript arbeiten, das als Authentifikator fungiert. Zu diesem Zweck hat CKB das OmniLock-Skript gestartet, das speziell mehrere Authentifizierungsschemata unterstützt.

Werfen wir einen Blick auf das spezifische Design von OmniLock.

OmniLock und Kontoabstraktion

Wir haben bereits erwähnt, dass die Nutzungsberechtigungen für CKBs Cell und Bitcoin UTXO durch das Sperrskript definiert werden. Das LockScript bestimmt, wer die Zelle umschreiben kann, was bei der Identitätsüberprüfung eine Rolle spielt. Um mehrere Authentifizierungsmethoden zu unterstützen, stellt CKB ein universelles Sperrskript namens OmniLock bereit, das mit mehreren Signaturalgorithmen und Überprüfungsmechanismen kompatibel ist.

OmniLock modularisiert unterschiedliche Verifizierungslogiken. Solange unterschiedliche Parameter festgelegt werden, können unterschiedliche Verifizierungsalgorithmen flexibel konfiguriert werden. Benutzer können Vermögenswerte in der CKB-Kette mithilfe von Konten, Wallets/Authentifizierungsmethoden wie BTC, ETH und sogar WebAuthn direkt manipulieren.

Wie wird OmniLock implementiert und verwendet? Um es einfach zu erklären: OmniLock ist ein Code, den Nervos offiziell direkt in der CKB-Kette angeordnet hat. Dieser Code ist auf einer bestimmten Zelle geschrieben und kann von anderen Zellen verwendet werden, genau wie der „Systemvertrag“. in der öffentlichen EVM-Kette. Wenn eine Zelle OmniLock verwenden möchte, kann sie in ihrem eigenen Sperrskript einen Verweis auf OmniLock deklarieren.

Im Folgenden können wir das Funktionsprinzip des Sperrskripts und von OmniLock anhand eines Pseudocodes verstehen.

Das Sperrskript von CKB enthält drei Felder: Code-Hash, Hash-Typ und Argumente. Da Code-Hash und Hash-Typ für den Inhalt dieses Abschnitts kaum relevant sind, werden sie hier nicht erläutert. Im Folgenden konzentrieren wir uns auf das Feld Args. Durch die flexible Konfiguration von Args können Sie verschiedene in OmniLock definierte Verifizierungsalgorithmen verwenden.

Der dem Args-Feld entsprechende Inhalt kann in zwei Teile unterteilt werden, die speziell für die Authentifizierung verwendet werden. Seine Länge beträgt 21 Byte, einschließlich einer 1-Byte-Flag-ID und 20 Bytes Authentifizierungsdaten. Die Authentifizierungsdaten der Authentifizierung enthalten einen voreingestellten öffentlichen Schlüssel-Hash. Nur der Besitzer des öffentlichen Schlüssels, der dem öffentlichen Schlüssel-Hash entspricht, kann die Identitätsüberprüfung bestehen und berechtigt sein, die Daten in der Zelle neu zu schreiben.

Das Flag in Auth ist eine Kennung, die zur Auswahl verschiedener Authentifizierungsmethoden verwendet wird. Die hier erwähnte Authentifizierungsmethode bezieht sich nicht nur auf die Überprüfung der kryptografischen Signatur, sondern umfasst auch die Informationsverarbeitung und andere umfassende Prozesse: Wenn das Flag 0x01 ist, repräsentiert es die Ethereum-Authentifizierungsmethode für externe Mitteilungen. Neben Ethereum unterstützt OmniLock auch umfangreiche Formulare zur Nachrichtenüberprüfung wie Bitcoin, Dogecoin, Tron und Multi-Signatur.

Der andere Teil von Args heißt Omnilock args. Es handelt sich um eine Schaltfläche, mit der Sie zwischen den voreingestellten Funktionsmodi von OmniLock wählen können, z. B. dem Administratormodus (z. B. der Administrator-Einfrierfunktion von USDT) und dem Modus „Jeder kann für Mikrozahlungen bezahlen“. (für kleine Spenden), Zeitsperrmodus usw. Solange Sie jedoch die Omnilock-Argumente anpassen, können Sie die verschiedenen in OmniLock vorab geschriebenen Funktionen verwenden.

Zusammenfassend können wir verschiedene Parameter in die Felder Auth und Omnilock args des Cell Locking-Skripts eingeben, um Authentifizierungsmethoden für verschiedene öffentliche Ketten oder Plattformen auszuwählen und CKB verschiedene Authentifizierungsmethoden einzuführen. Zusätzlich zu den verschiedenen in OmniLock vordefinierten Authentifizierungsmethoden können Entwickler natürlich auch eigene Authentifizierungsschemata definieren.

Abstraktes Ökosystem des Nervos-Kontos: CCC, Mobit und JoyID

Wir wissen oben bereits, dass OmniLock die Grundlage für Nervos ist, um eine Kontoabstraktion zu erreichen, und OmniLock-basierte Wallets wie Mobit, .bit, Omiga und Middleware CCC (Common Chains Connector) bilden zusätzlich zu Did das reichhaltige BTCFi-Kontoabstraktions-Ökosystem von Nervos .id, eine DID-Plattform, die sichere Datenschutz- und Identitätsverwaltungsdienste bietet, und Dobby, eine dezentrale Dobs-Asset-Handelsplattform.

Die guten Eigenschaften von AA bieten auch großen Komfort für ökologische BTCFi-Anwendungen, da Projekte im CKB-Ökosystem die BTC-Wallet-Interaktion direkt unterstützen und so die Nutzungsschwelle senken können. Im Folgenden untersuchen wir anhand eines konkreten Falles das AA-Ökosystem der CKB.

Gemeinsamer Kettenverbinder (CCC)

Nehmen wir zunächst CCC als Beispiel. Hierbei handelt es sich um eine Wallet-Verbindungs-Middleware, die Wallets und dApps speziell die Funktionsfähigkeit verschiedener öffentlicher Ketten auf CKB bietet.

Das Bild unten ist das Verbindungsfenster von CCC. Hier nehmen wir MetaMask als Beispiel. Wenn Sie ein Ethereum-Konto haben, erfahren Sie, wie Sie das entsprechende Konto in der CKB-Kette betreiben.

Wenn Sie CCC zum Durchführen von Transaktionen in der CKB-Kette verwenden, ruft die Demo zum Signieren die Methode personal_sign der MetaMask-Brieftasche auf. Diese Methode wird zum Signieren einer Textnachricht verwendet, die nicht direkt in die Kette hochgeladen wird.

Wir können sehen, dass diese Informationen eine Reihe von Hexadezimalcodes für die CKB-Transaktion enthalten. Von MetaMask signierte Nachrichten werden an die Nervos CKB-Kette übermittelt und durch Mechanismen wie OmniLock überprüft.

Wie bereits erwähnt, unterstützt Nervos selbst die Überprüfung des Nachrichtenformats von Ethereum. Man kann sagen, dass CKB von Grund auf eine Verbindung mit anderen Ökosystemen der öffentlichen Kette in Betracht gezogen hat. Benutzer können das CKB-Ökosystem über bestehende und vertraute Eingänge und Tools betreten;

Für Entwickler hat Nervos den OmniLock-Standard auf der untersten Ebene definiert und die Implementierungsdetails von Multi-Chain-Wallets über CCC abstrahiert, was die Schwierigkeit der Entwicklung erheblich reduziert und es Anwendungsentwicklern der oberen Ebene ermöglicht, sich besser auf die Entwicklung der oberen Ebene zu konzentrieren Geschäftslogik: Konzentrieren Sie sich nicht zu sehr auf Details auf niedriger Ebene.

Mobit

Mobit ist eine auf Nervos basierende DID- und Asset-Management-Plattform. Wenn Sie eine Metapher verwenden, ist Mobit wie eine Tür für die Außenwelt, um in das Nervors-Ökosystem einzutreten, und die Schwelle für diese Tür ist sehr niedrig. Mit Mobit benötigen Benutzer nahezu keine Vorkenntnisse und benötigen nur einige einfache Vorgänge, um Interaktionen im Nervos-Ökosystem mithilfe von Konten anderer öffentlicher Ketten abzuschließen.

Das Bild unten ist das Verbindungsfenster von Mobit. Es ist ersichtlich, dass Mobit derzeit die Kontosysteme mehrerer gängiger öffentlicher Ketten unterstützt und diese Liste ständig erweitert wird.

Nehmen wir immer noch das Metamask-Wallet als Beispiel. Die verbundene Schnittstelle kann auch die EVM- und CKB-Adresse des Benutzers sehen und die Token- und DOBs-Assets anzeigen, die von der Adresse in der CKB-Kette gehalten werden.

Lassen Sie uns hier über DOBs sprechen, die einzigartig für das Nervos-Ökosystem sind und NFT-Assets ähneln, sich jedoch grundlegend von NFTs unterscheiden. Erstens werden die Daten von DOBs vollständig in der Kette gespeichert, was als „Full-Chain-NFT“ betrachtet werden kann, während die Daten vieler Ethereum-NFTs nicht vollständig in der Kette gespeichert werden;

Darüber hinaus kann jeder DOB mit einem Chatbot eingerichtet werden, der an interaktiven Szenarien wie dem Dialog mit dem Inhaber teilnehmen kann. Bei unterschiedlichen Entwicklungspfaden verschiedener Inhaber bietet jeder DOB größere Vorteile im Vergleich zu herkömmlichen NFTs.

Was Omiga betrifft, die Handelsplattform für DOBs im Nervos-Ökosystem, können Benutzer mit einem Klick direkt über die Mobit Apps-Oberfläche darauf zugreifen.

Omiga nutzt auch die Kontoabstraktionsfunktionen von Nervos.

Die einfache Bedienung und die umfassenden Funktionen von Mobit erleichtern die Interaktion mit BTCFi. Der Kern von BTCFi-Produkten besteht darin, ein vielfältiges Defi-Erlebnis für native Bitcoin-Assets bereitzustellen. Ob es mit gängigen Bitcoin-Wallets kompatibel ist, wird ein wichtiger zu berücksichtigender Faktor für BTCFi-Peripherieeinrichtungen sein, und CKB ist derzeit bereit.

Einführung von WebAuthn

WebAuthn ist ein Netzwerkstandard, der gemeinsam vom World Wide Web Consortium (W3C) und der FIDO (Fast IDentity Online) Alliance entwickelt wurde. Ziel ist es, die Sicherheit der Benutzerauthentifizierung zu verbessern, den Anmeldevorgang zu vereinfachen und die Abhängigkeit von herkömmlichen oder privaten Passwörtern zu verringern Schlüssel.

Die in einige gängige Desktop- oder Mobilbetriebssysteme wie iOS und Android integrierte Schlüsselverwaltungssoftware kann lokale Sicherheitsmodule oder Cloud-Speicher verwenden, um Schlüssel zu speichern und Signaturen durchzuführen. Derzeit unterstützt die Mainstream-Praxis von WebAuthn im Allgemeinen P-256, P-384, P-521 usw. Da OmniLock von Nervos benutzerdefinierte kryptografische Grundelemente unterstützt, können diese ebenfalls abgedeckt werden.

Hier sind einige der von WebAuthn unterstützten Clients:

  • Apple-Schlüsselanhänger:

  • Sicherheits-Enklave: Apple-Geräte nutzen die sichere Enklave, um kritische kryptografische Vorgänge abzuwickeln, einschließlich der Speicherung und Signierung privater Schlüssel.

  • iOS und macOS: Apples Systeme können die Schlüsselbund-API für Authentifizierungs- und Signierungsvorgänge sowie für die Benutzerauthentifizierung über Face ID oder Touch ID verwenden.

  • Windows Hello:

  • TPM (Trusted Platform Module): Windows-Geräte können TPM für die Generierung privater Schlüssel und das Signieren über Windows Hello nutzen.

  • Biometrische Authentifizierung: Windows Hello unterstützt Fingerabdruckerkennung und Gesichtserkennung zur Überprüfung der Benutzeridentität.

  • Android Keystore: Android-Geräte können Hardware-Sicherheitsmodule zum Speichern und Signieren von Schlüsseln sowie zur Authentifizierung über biometrische Daten wie Fingerabdruck oder Gesichtserkennung nutzen.

  • Ubisoft-Sicherheitsschlüssel: Sicherheitsschlüssel-Hardwaregeräte wie YubiKey unterstützen sichere Authentifizierungs- und Signaturvorgänge über USB oder NFC.

Die ökologische Geldbörse JoyID von CKB ist eine Anwendung, die mithilfe der WebAuthn-Technologie implementiert wird. Mit JoyID können sich Benutzer direkt durch biometrische Daten wie Fingerabdruck oder Gesichtserkennung authentifizieren und so eine nahtlose und hochsichere Anmeldung und Identitätsverwaltung ermöglichen.

.bit im Nervos-Ökosystem ist auch ein Szenario, in dem die WebAuthn-Implementierung von Apple zum Anmelden und Verwenden der Blockchain verwendet wird.

Aus den oben genannten Fällen können wir ersehen, dass die AA-Lösung von CKB von Natur aus andere öffentliche Ketten und Web2-Benutzer unterstützt. Für die Mehrheit der Web2-Benutzer ist die Unterstützung von WebAuthn von entscheidender Bedeutung. Dadurch entfällt die Last der Verwaltung privater Schlüssel und mnemonischer Phrasen und die Schwelle für die Verwendung wird erheblich gesenkt. Je früher das Ökosystem der öffentlichen Kette Anstrengungen in diese Richtung unternimmt, desto mehr Vorteile wird es in Zukunft haben.

Zusammenfassen

Ethereum ist durch seinen historischen Ballast eingeschränkt. Die bestehende AA-Lösung behandelt grundsätzlich die Symptome, aber nicht die Grundursache, und kann das Problem nicht von der Grundursache her lösen. Allerdings hat Nervos das Design des Kontosystems vollständig berücksichtigt und bereitgestellt Die OmniLock-Funktion kann jede Form der Authentifizierungsmethode unterstützen.

Das Cell-Modell von Nervos ist im Wesentlichen eine funktionale Erweiterung von Bitcoin UTXO. Sein Sperrskript kann eine Vielzahl von Signaturverifizierungsalgorithmen unterstützen. OmniLock unterstützt den direkten Aufruf jeder Zelle im Sperrskript und bietet so eine Plattform für Entwickler bieten Benutzern Erfahrungen auf Web2-Ebene.

Derzeit verfügt das abstrakte Ökosystem des Nervos-Kontos bereits über Produkte wie CCC, Mobit und Joyid, die im Wesentlichen vollständig sind.

Der Kern von BTCFi besteht darin, ein vielfältiges Defi-Erlebnis für native Bitcoin-Assets bereitzustellen. Ob es mit gängigen Bitcoin-Wallets kompatibel ist, wird ein wichtiger Faktor sein, den es für BTCFi-Peripherieeinrichtungen zu berücksichtigen gilt. Als wichtige Einrichtung im BTCFi-Ökosystem verfolgt CKB einen integrativen Ansatz Der Ansatz besteht darin, so weit wie möglich die notwendigen Voraussetzungen für eine Masseneinführung von BTCFi sowohl auf der Entwicklerseite als auch auf der Benutzerseite zu schaffen.