2022 年に AA の物語がイーサリアム コミュニティで普及して以来、アカウント抽象化の概念が Web3 コミュニティでも普及しました。これは実際にはアカウント システムの設計コンセプトであり、より高いレベルの標準を確立し、アカウントの機能を強化することを目的としています。イーサリアムなどの主流のブロックチェーンでは、固定ルールの制限により、アカウント システムの柔軟性と汎用性が非常に低くなります。例:
イーサリアムコミュニティで以前に人気があったEIP-4337提案は、上記の問題を解決できると考えられていましたが、その技術モデル、歴史的な問題、生態学的開発、開発者の認識、その他の要因により、EIP-4337は解決されませんでした。パッチによる解決策は、問題を根本的に解決するというよりは、パッチを適用することに似ています。EVM に新しいオペコードを追加しようとする EIP-3074 は、新しい問題を作成しながら古い問題を解決するものであり、その実現可能性は高いと考えられています。物議を醸す。
さまざまな理由により、イーサリアム創設チームはメインネット立ち上げ当初にアカウントシステムを十分に考慮しておらず、EOAアカウントと契約アカウントの分離、ガスフリートランザクションのサポートなしなどの多くの荷物を残しました。 、およびいいえ 複数の暗号化プリミティブなどをサポートします。これらの歴史的な重荷は、イーサリアムの AA ロードマップの実装に明らかな障害を引き起こしました。イーサリアムの AA 計画は、そのアカウント システムが後の新しいパブリック チェーンを超えることを可能にするものではなく、両者の間のギャップを埋めるだけであるとさえ言えます。パブリックチェーンが初期設計時にアカウント設計を十分に考慮していれば、イーサリアムのように回り道をする必要はありません。
EVM パブリック チェーンとは異なり、Nervos は設計の開始時にアカウント システムの問題を深く検討しました。調査を行った結果、Nervos アカウント システムは AA の最下層と本質に偏っていると考えられます。複数の検証方法をサポートするアカウント モデルと OmniLock は、最初から最後まで AA の目標と深く一致しており、BTC、ETH、さらには Solana などの他のパブリック チェーンのアカウント システムも当然サポートしています。
また、最近人気のBTCFiは、それ自体がネイティブビットコイン資産のDefiやその他のシナリオを導入しているため、ビットコイン保有者がシームレスな製品体験を得るために、主流のビットコインペリフェラル機能と互換性がある必要がありますCKB のネイティブ AA ソリューションはこれを自然に実現し、BTCFi の大規模な導入に必要な条件を作り出します。
以下では、Nervos のアカウント抽象化システムを、設計コンセプト、システムアーキテクチャ、アプリケーション、エコロジーなどの複数の観点から解釈します。
UTXOモデルに基づくパブリックチェーンのデータストレージ構造は、「アカウント残高」システムに基づいておらず、独自の形式を採用していることはほとんどの人が知っています。具体的には、UTXO は金と同様に溶かしたり鋳造したりすることができ、トランザクションごとに古い UTXO が破壊され、新しい UTXO が生まれます。また、UTXO データは集中アドレスに保存されるのではなく、UTXO を生成したトランザクション内に分散して保存され、過去のブロックの記録を読み取ることによってのみ見つけることができます。
ビットコインは、従来の Web2 プラットフォームの「アカウント情報」システムとは異なるストレージ パラダイムを生み出したと言っても過言ではありません。これにより、状態の爆発、低いデータの読み書き効率、曖昧な所有権。 UTXO モデルでは、さまざまな人々の資産データの保存場所と所有権が非常に明確であり、並列処理や同時実行に適しています。また、ストレージ リースなどの機能のサポートも容易で、従来のアカウントの多くの落とし穴を回避できます。システム。
Nervos パブリック チェーンのアカウント システムは、設計の最初からビットコイン UTXO の利点を完全に吸収しており、そのセル モデルは実際にはビットコイン UTXO のアップグレード バージョンであり、チューリング完全なプログラマビリティを提供します。さらに、CKB とその他の資産はどちらもファーストクラスの資産であり、EVM パブリック チェーンのような ERC-20 とは異なるネイティブ資産を扱いません。
CKB のセルの動作メカニズムはビットコイン UTXO の動作メカニズムとほぼ同じです。どちらも「ロック スクリプト」と「ロック解除スクリプト」によって駆動されます。各 UTXO/セルが生成されると、「ロック スクリプト」が存在します。パスワードロックのようなもので、「ロック解除スクリプト」は、「ロックスクリプト」のロックを解除できる対応するキーです。 「ロック」に対応する「キー」を送信できる限り、それに関連付けられた UTXO を自由に使用できます。
しかし、ビットコインUTXOとは異なり、Cellはロックスクリプトの上に「TypeScript」フィールドを追加します。 LockScript がこの Cell を書き換える資格があるかどうかを決定する ID 認証システムである場合、TypeScript は Cell に添付されたスマート コントラクトであり、DEX および貸出プロトコルのコードは TypeScript でデプロイできます。
Si les développeurs souhaitent implémenter un pool de liquidité similaire à AMM sur CKB, il leur suffit d'écrire le code du contrat en TypeScript d'une cellule dédiée, puis de stocker les informations d'état du pool de liquidité (comme le pool) dans le champ Données. de cet équilibre cellulaire de divers actifs qu'il contient), puis l'utilisateur peut interagir avec le code dans TypeScript.
Cette conception de CKB étend des scénarios plus riches au-dessus du modèle Bitcoin UTXO et est beaucoup plus programmable. De plus, comme CKB lui-même utilise la machine virtuelle RISC-V, il prend en charge les programmes écrits dans plusieurs langages de programmation et peut prendre en charge les différentes logiques. sont bien plus puissants que Bitcoin.
Quant au script de verrouillage de Cell, LockScript, il est directement lié à notre sujet principal AA aujourd'hui. Car l’une des fonctionnalités préconisées par AA est de permettre aux comptes en chaîne de prendre en charge des méthodes d’authentification flexibles et diverses. Pour UTXO, pour réaliser cette fonction, il est nécessaire de travailler sur le LockScript qui fait office d'authentifiant. Pour cela, CKB a lancé le script OmniLock qui prend spécifiquement en charge plusieurs schémas d'authentification.
Jetons un coup d'œil à la conception spécifique d'OmniLock.
Nous avons mentionné plus tôt que les autorisations d'utilisation de la cellule CKB et de Bitcoin UTXO sont définies par le script de verrouillage qui déterminera qui peut réécrire la cellule pour le rôle de vérification d'identité. Afin de prendre en charge plusieurs méthodes d'authentification, CKB fournit un script de verrouillage universel appelé OmniLock, qui est compatible avec plusieurs algorithmes de signature et mécanismes de vérification.
OmniLock modularise différentes logiques de vérification Tant que différents paramètres sont définis, différents algorithmes de vérification peuvent être configurés de manière flexible. Les utilisateurs peuvent utiliser des comptes, des portefeuilles/méthodes d'authentification tels que BTC, ETH et même WebAuthn pour manipuler directement les actifs sur la chaîne CKB.
Alors, comment OmniLock est-il implémenté et utilisé ? En fait, pour l'expliquer de manière simple, OmniLock est un morceau de code que Nervos a officiellement disposé directement sur la chaîne CKB. Ce code est écrit sur une Cell spécifique et peut être utilisé par d'autres Cells, tout comme le "contrat système". dans la chaîne publique EVM "Idem. Si une cellule souhaite utiliser OmniLock, elle peut déclarer une référence à OmniLock dans son propre script de verrouillage.
Ci-dessous, nous pouvons comprendre le principe de fonctionnement du script de verrouillage et d'OmniLock grâce à un morceau de pseudo-code.
Le script de verrouillage de CKB contient trois champs : Code hash, hash type et Args. Étant donné que le code hash et le type de hachage ne sont pas étroitement liés au contenu de cette section, ils ne seront pas expliqués ici. Ci-dessous, nous nous concentrons sur le champ Args. En configurant Args de manière flexible, vous pouvez utiliser différents algorithmes de vérification définis dans OmniLock.
Le contenu correspondant au champ Args peut être divisé en deux parties. Une partie est auth, qui est spécifiquement utilisée pour l'authentification. Sa longueur est de 21 octets, dont un identifiant d'indicateur de 1 octet et 20 octets de données d'authentification. . Les données d'authentification d'authentification contiennent un hachage de clé publique prédéfini. Seul le propriétaire de la clé publique correspondant au hachage de clé publique peut réussir la vérification d'identité et être éligible pour réécrire les données dans la cellule.
Le drapeau dans Auth est un identifiant, utilisé pour sélectionner différentes méthodes d'authentification. La méthode d'authentification mentionnée ici ne fait pas seulement référence à la vérification de la signature cryptographique, mais inclut également des processus complets tels que le traitement de l'information : si le drapeau est 0x01, cela signifie Méthode d'authentification. pour les messages externes dans Ethereum. En plus d'Ethereum, OmniLock prend également en charge des formulaires de vérification de messages riches tels que Bitcoin, Dogecoin, Tron et multi-signatures.
L'autre partie d'Args s'appelle Omnilock args. C'est comme un bouton qui vous permet de choisir parmi les modes de fonctionnement prédéfinis d'OmniLock, tels que le mode administrateur (comme la fonction de gel de l'administrateur de l'USDT), pour les micropaiements. Le mode Tout le monde peut payer ( utilisé pour les petits dons), mode verrouillage horaire, etc. Quoi qu'il en soit, tant que vous ajustez les arguments d'Omnilock, vous pouvez utiliser les différentes fonctions pré-écrites dans OmniLock.
Pour résumer, nous pouvons saisir différents paramètres dans les champs d'arguments Auth et Omnilock du script Cell lock pour sélectionner les méthodes d'authentification de différentes chaînes ou plates-formes publiques, et introduire une variété de méthodes d'authentification dans CKB. Bien entendu, en plus des différentes méthodes d'authentification prédéfinies dans OmniLock, les développeurs peuvent également définir leurs propres schémas d'authentification.
Nous savons déjà plus haut qu'OmniLock est la base de Nervos pour réaliser l'abstraction de compte, et des portefeuilles basés sur OmniLock tels que Mobit, .bit, Omiga et middleware CCC ( Common Chains Connector) et ainsi de suite constituent le riche écosystème abstrait de comptes BTCFi de Nervos, qui comprend également la plateforme DID Did.id qui fournit des services de protection de la vie privée et de gestion des identités, et la plateforme décentralisée d'échange d'actifs Dobs Dobby, etc.
Les bonnes fonctionnalités d'AA apportent également une grande commodité aux applications écologiques BTCFi, permettant aux projets de l'écosystème CKB de prendre directement en charge l'interaction du portefeuille BTC, abaissant ainsi le seuil d'utilisation. Dans ce qui suit, utilisons un cas spécifique pour examiner l’écosystème AA de CKB.
Tout d’abord, prenons CCC comme exemple. Il s’agit d’un middleware de connexion de portefeuille qui fournit spécifiquement aux portefeuilles et aux dApps l’opérabilité de diverses chaînes publiques vers CKB.
L'image ci-dessous est la fenêtre de connexion de CCC. Ici, nous prenons MetaMask comme exemple. Si vous avez un compte Ethereum, comment gérer le compte correspondant sur la chaîne CKB.
Lorsque vous utilisez CCC pour effectuer des transactions sur la chaîne CKB, la démo appellera la méthode personal_sign du portefeuille MetaMask pour signer. Cette méthode est utilisée pour signer un message texte qui n'est pas directement téléchargé sur la chaîne.
Nous pouvons voir que le contenu de ces informations est une série de codes hexadécimaux de transaction CKB. Les messages signés par MetaMask seront soumis à la chaîne Nervos CKB et vérifiés via des mécanismes tels qu'OmniLock.
Comme nous l'avons mentionné précédemment, Nervos lui-même prend en charge la vérification du format de message d'Ethereum. On peut dire que CKB a envisagé de se connecter de bas en haut avec d'autres écosystèmes de chaînes publiques. Pour les utilisateurs, vous pouvez accéder à l'écosystème CKB via des entrées et des outils existants et familiers ;
Pour les développeurs, Nervos a défini la norme OmniLock au niveau inférieur et a résumé les détails de mise en œuvre des portefeuilles multi-chaînes via CCC. de développement, permettant aux développeurs d'applications de couche supérieure de mieux se concentrer sur le développement de la logique métier de couche supérieure sans avoir à prêter trop d'attention aux détails sous-jacents.
Mobit est une plateforme de DID et de gestion d'actifs basée sur Nervos. Si vous utilisez une métaphore, Mobit est comme une porte permettant au monde extérieur d'entrer dans l'écosystème Nervors, et le seuil de cette porte est très bas. Avec Mobit, les utilisateurs n'ont besoin de presque aucune connaissance préalable et n'ont besoin que de quelques opérations simples pour effectuer des interactions dans l'écosystème Nervos en utilisant des comptes d'autres chaînes publiques.
L'image ci-dessous est la fenêtre de connexion de Mobit. On peut voir que Mobit prend actuellement en charge les systèmes de compte de plusieurs chaînes publiques grand public, et cette liste continue de s'allonger.
Je prends toujours comme exemple le portefeuille Metamask. L'interface connectée peut également voir l'adresse EVM et CKB de l'utilisateur, et afficher les actifs Token et DOB détenus par l'adresse sur la chaîne CKB.
Parlons ici des DOB, qui sont des atouts uniques dans l'écosystème Nervos et sont similaires aux NFT, mais les DOB sont fondamentalement différents des NFT. Tout d'abord, les données des DOB sont entièrement stockées sur la chaîne, ce qui peut être considéré comme un « NFT à chaîne complète », alors que les données de nombreux NFT Ethereum ne sont pas entièrement stockées sur la chaîne
De plus, chaque DOB ; peut être configuré avec un chatbot, qui peut être utilisé avec les détenteurs s'engageant dans des scénarios interactifs tels que des conversations, et avec des chemins de développement différents pour différents détenteurs, chaque DOB présentera des différences individuelles plus significatives par rapport aux NFT traditionnels.
Quant à Omiga, qui est la plateforme de trading de DOB de l'écosystème Nervos, les utilisateurs peuvent y accéder directement sur l'interface Mobit Apps en un seul clic.
Omiga profite également de la fonctionnalité d'abstraction de compte de Nervos. Le fonctionnement simple et les fonctions complètes de
Mobit faciliteront l'interaction avec BTCFi. L’essence des produits BTCFi est de fournir une expérience Defi diversifiée pour les actifs Bitcoin natifs. La compatibilité avec les portefeuilles Bitcoin traditionnels sera un facteur important à prendre en compte pour les installations périphériques BTCFi, et CKB est actuellement prêt.
WebAuthn est une norme de réseau développée conjointement par le World Wide Web Consortium (W3C) et l'Alliance FIDO (Fast IDentity Online) dont l'objectif est d'améliorer la sécurité de l'authentification des utilisateurs, de simplifier le processus de connexion et. réduisez le besoin de mots de passe traditionnels ou de dépendance à la clé privée.
Le logiciel de gestion des clés intégré à certains systèmes d'exploitation de bureau ou mobiles grand public tels que iOS et Android peut utiliser des modules de sécurité locaux ou un stockage cloud pour stocker les clés et effectuer des signatures. Actuellement, la pratique courante de WebAuthn prend généralement en charge P-256, P-384, P-521, etc. Puisque OmniLock de Nervos prend en charge les primitives cryptographiques personnalisées, celles-ci peuvent également être couvertes.
Voici quelques-uns des clients pris en charge par WebAuthn :
Le portefeuille écologique CKB JoyID est une application implémentée grâce à la technologie WebAuthn. Avec JoyID, les utilisateurs peuvent s'authentifier directement via des données biométriques telles que les empreintes digitales ou la reconnaissance faciale, permettant une connexion et une gestion de l'identité transparentes et hautement sécurisées.
.bit dans l'écosystème Nervos est également un scénario dans lequel l'implémentation WebAuthn d'Apple est utilisée pour se connecter et utiliser la blockchain.
D'après les cas ci-dessus, nous pouvons voir que la solution AA de CKB prend intrinsèquement en charge d'autres chaînes publiques et utilisateurs Web2. Pour la majorité des utilisateurs du Web2, la prise en charge de WebAuthn est cruciale. Elle élimine le fardeau de la gestion des clés privées et des phrases mnémoniques et abaisse considérablement le seuil d'utilisation. Plus tôt l’écosystème de la chaîne publique fera des efforts dans cette direction, plus il aura d’avantages à l’avenir.
Ethereum est limité par ses problèmes de bagages historiques. La solution AA existante traite essentiellement les symptômes mais pas la cause profonde et ne peut pas résoudre le problème à la racine, tandis que Nervos a pleinement pris en compte la conception du système de compte lors de son lancement ; le réseau principal Fournit la fonction OmniLock, qui peut prendre en charge toute forme de méthode d'authentification.
Le modèle Cell de Nervos est essentiellement une extension fonctionnelle de Bitcoin UTXO. Son script de verrouillage peut prendre en charge une variété d'algorithmes de vérification de signature. OmniLock prend en charge n'importe quelle cellule pour être directement appelée dans le script de verrouillage d'une manière similaire au contrat système, qui est. pour la majorité des utilisateurs. Les développeurs et les utilisateurs offrent une expérience de niveau Web2 ;
Actuellement, l'écosystème abstrait des comptes Nervos contient déjà CCC, Mobit, Joyid et d'autres produits, qui sont fondamentalement complets ;
L'essence de BTCFi est de fournir ; une expérience Defi diversifiée pour les actifs Bitcoin natifs, sa compatibilité avec les portefeuilles Bitcoin traditionnels sera un facteur important à prendre en compte pour les installations périphériques BTCFi. En tant qu'installation importante de l'écosystème BTCFi, CKB a adopté une approche inclusive et est également compatible avec BTCFi. autant que possible du côté des développeurs et des utilisateurs. Créer les conditions nécessaires à une adoption massive.
以上がCKB アカウントの抽象的な生態学の解釈: BTC の大量採用の敷石の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。