首頁  >  文章  >  解讀CKB帳號抽像生態: BTC Mass Adoption的鋪路石

解讀CKB帳號抽像生態: BTC Mass Adoption的鋪路石

PHPz
PHPz原創
2024-07-24 00:42:06335瀏覽

自2022年AA敘事在以太坊社群火熱以來,帳戶抽象概念便流行於Web3社群。它實際上是一種關於帳戶體系的設計理念,旨在更高層次上建立標準,增強帳戶的功能性。而在以太坊等主流區塊鏈中,由於存在固定規則的限制,帳戶體系的靈活性和通用性非常差,比如說:

  1. 你的帳戶中要事先有ETH等Gas Token,不然無法發起交易,顯然這對新帳戶非常不友善;
  2. 以EVM系為代表的公鏈僅支援單一的帳戶體系,其他公鍊或Web2用戶需要使用新的帳戶工具和入口。

先前在以太坊社群風靡一時的EIP-4337提案被認為可以解決上述問題,但受制於其技術模型、歷史包袱與生態發展、開發者認知等因素,EIP-4337的修補方案更像是在打補丁,而不是從根本上解決問題;嘗試為EVM添加新操作碼的EIP-3074,則被認為存在安全隱患,在解決舊問題的同時帶來了新問題,可行性備受爭議。

礙於各種原因,以太坊創始團隊在主網啟動之初,沒有對帳戶體系進行周全考慮,留下了大量的包袱,如:EOA帳戶與合約帳戶分野、不支持無gas交易、不支援多種加密原語等。這些歷史包袱對以太坊AA路線圖的實施造成了明顯阻礙,甚至可以說,以太坊的AA方案並不能讓其帳戶體系超越後來的新公鏈,而只是在彌補兩者間的差距。如果一條公鏈在最初設計時就充分考慮帳戶設計,就不用像以太坊一樣走彎路了。

與EVM系公鏈所不同,Nervos在設計之初就深入考慮了帳戶體系的問題,在進行了研究後,我們認為,Nervos的帳戶體系更偏向AA的底層和本質,其UTXO帳戶模型及支援多種驗證方式的OmniLock,從始至終都與AA的目標深度契合,且沒有歷史包袱,天生支持BTC、ETH乃至Solana等其他公鏈的帳戶體系。

解读CKB账户抽象生态: BTC Mass Adoption的铺路石

此外,對於近期火熱的BTCFi而言,由於其本身就是為原生比特幣資產引入Defi等場景,要讓比特幣持有者獲得無縫的產品體驗,有必要兼容主流的比特幣錢包等周邊設施,而CKB的原生AA方案天然實現了這一點,為BTCFi的大規模採用創造了必要條件。

下面我們將從設計理念、系統架構、應用、生態等多個角度解讀Nervos的帳戶抽象系統。

比特幣UTXO與Nervos的Cell模型

大多數人都知道,基於UTXO模型的公鏈,其資料儲存結構並不基於「帳戶—餘額」體系,而採用了一種獨特的形式。具體而言,UTXO像黃金一樣可以被熔化或鑄造,每次交易都會有舊的UTXO銷毀,新的UTXO誕生。此外,UTXO資料並未儲存在某個集中式位址下,而是分散儲存在生成UTXO的那筆交易裡,要讀取過往區塊的記錄才能找到。

解读CKB账户抽象生态: BTC Mass Adoption的铺路石

毫不誇張的說,比特幣開創了一種區別於傳統Web2平台「帳戶-資訊」體系的儲存範式,這可以解決狀態爆炸、資料讀寫效率低下、所有權模糊化的問題。在UTXO模型下,不同人的資產資料儲存位置與所有權劃分十分清晰,對並行/並發比較友好,也便於支援儲存租賃等功能,可以避開傳統帳戶體系的許多坑。

Nervos公鏈的帳戶體系在設計之初,便充分吸收了比特幣UTXO的優點,其Cell模型實際上是比特幣UTXO的升級版,提供了圖靈完備的可編程性。此外,無論是CKB或其他資產都是一等資產,都不像EVM公鏈一樣把原生資產與ERC-20區別對待。

CKB的Cell在運作機制上與比特幣UTXO大致相同:都是被“鎖定腳本”和“解鎖腳本”驅動的,每個UTXO/Cell在產生時,都會有一個“鎖定腳本”,就像一道密碼鎖;而「解鎖腳本」是對應的密鑰,可以解開「鎖定腳本」。只要你能提交“鎖”對應的“密鑰”,其關聯的UTXO就會任你差遣。

解读CKB账户抽象生态: BTC Mass Adoption的铺路石

但與比特幣UTXO不同的是,Cell在鎖定腳本之上增設了「TypeScript」欄位。如果說LockScript是身份驗證器,決定你是否有資格改寫這個Cell,那麼TypeScript就是附著在Cell中的智慧合約,DEX、借貸協議的程式碼都可以部署在TypeScript內。

解读CKB账户抽象生态: BTC Mass Adoption的铺路石

개발자가 CKB에서 AMM과 유사한 유동성 풀을 구현하려는 경우 전용 셀의 TypeScript에 계약 코드를 작성한 다음 유동성 풀(예: 풀)의 상태 정보를 데이터 필드에 저장하기만 하면 됩니다. 이 셀에 포함된 다양한 자산의 잔액) 사용자는 TypeScript의 코드와 상호 작용할 수 있습니다.

CKB의 이 디자인은 비트코인 ​​UTXO 모델을 기반으로 더욱 풍부한 시나리오를 확장하고 훨씬 더 프로그래밍 가능합니다. 게다가 CKB 자체는 RISC-V 가상 머신을 사용하기 때문에 여러 프로그래밍 언어로 작성된 프로그램을 지원하며 다양한 로직을 지원할 수 있습니다. 비트코인보다 훨씬 더 강력합니다.

Cell의 잠금 스크립트인 LockScript는 오늘 우리의 핵심 주제인 AA와 직접적인 관련이 있습니다. AA가 옹호하는 기능 중 하나는 온체인 계정이 유연하고 다양한 인증 방법을 지원할 수 있도록 하는 것입니다. UTXO의 경우 이 기능을 달성하려면 인증자 역할을 하는 LockScript에서 작업해야 합니다. 이를 위해 CKB는 특히 여러 인증 체계를 지원하는 OmniLock 스크립트를 출시했습니다.

OmniLock의 구체적인 디자인을 살펴보겠습니다.

OmniLock 및 계정 추상화

앞서 CKB의 Cell 및 Bitcoin UTXO 사용 권한은 잠금 스크립트에 의해 정의된다고 언급했습니다. LockScript는 신원 확인 역할을 위해 Cell을 다시 작성할 수 있는 사람을 결정합니다. 다중 인증 방법을 지원하기 위해 CKB는 다중 서명 알고리즘 및 검증 메커니즘과 호환되는 OmniLock이라는 범용 잠금 스크립트를 제공합니다.

解读CKB账户抽象生态: BTC Mass Adoption的铺路石

OmniLock은 다양한 검증 논리를 모듈화합니다. 다양한 매개변수가 설정되어 있으면 다양한 검증 알고리즘을 유연하게 구성할 수 있습니다. 사용자는 BTC, ETH, 심지어 WebAuthn과 같은 계정, 지갑/인증 방법을 사용하여 CKB 체인의 자산을 직접 조작할 수 있습니다.

그렇다면 OmniLock은 어떻게 구현되고 사용되나요? 사실 간단하게 설명하면 OmniLock은 Nervos가 공식적으로 CKB 체인에 직접 배치한 코드 조각입니다. 이 코드는 "시스템 계약"과 마찬가지로 특정 Cell에 작성되며 다른 Cell에서 사용할 수 있습니다. EVM 퍼블릭 체인에서 "동일합니다. Cell이 OmniLock을 사용하려는 경우 자체 잠금 스크립트에서 OmniLock에 대한 참조를 선언할 수 있습니다.

아래에서는 의사 코드를 통해 잠금 스크립트와 OmniLock의 작동 원리를 이해할 수 있습니다.

CKB의 잠금 스크립트에는 코드 해시, 해시 유형 및 Args의 세 가지 필드가 포함되어 있습니다. 코드 해시 및 해시 유형은 이 섹션의 내용과 밀접한 관련이 없으므로 여기서는 설명하지 않습니다. 아래에서는 Args 필드에 중점을 두고 있습니다. Args를 유연하게 구성하면 OmniLock에 정의된 다양한 확인 알고리즘을 사용할 수 있습니다.

解读CKB账户抽象生态: BTC Mass Adoption的铺路石

Args 필드에 해당하는 콘텐츠는 두 부분으로 나눌 수 있습니다. 한 부분은 인증에 특별히 사용되는 부분이며, 길이는 1바이트 플래그 식별자와 20바이트 인증 데이터를 포함하여 21바이트입니다. . 인증의 인증 데이터에는 미리 설정된 공개 키 해시가 포함되어 있습니다. 공개 키 해시에 해당하는 공개 키 소유자만 신원 확인을 통과하고 셀에 데이터를 다시 쓸 수 있습니다.

Auth의 플래그는 다양한 인증 방법을 선택하는 데 사용되는 식별자입니다. 여기서 언급하는 인증 방법은 암호화 서명 확인을 의미할 뿐만 아니라 정보 처리와 같은 포괄적인 프로세스도 포함합니다. 플래그가 0x01이면 인증 방법을 의미합니다. Ethereum의 외부 메시지용. Ethereum 외에도 OmniLock은 Bitcoin, Dogecoin, Tron 및 다중 서명과 같은 풍부한 메시지 확인 양식을 지원합니다.

Args의 또 다른 부분은 Omnilock args라고 합니다. 이는 관리자 모드(예: USDT의 관리자 동결 기능), 소액 결제 누구나 지불 가능 모드( 소액 기부시 사용), 타임락 모드 등 어쨌든 Omnilock 인수를 조정하는 한 OmniLock에 미리 작성된 다양한 기능을 사용할 수 있습니다.

요약하자면, Cell 잠금 스크립트의 Auth 및 Omnilock args 필드에 다양한 매개변수를 입력하여 다양한 퍼블릭 체인이나 플랫폼의 인증 방법을 선택하고 CKB에 다양한 인증 방법을 도입할 수 있습니다. 물론 OmniLock에 사전 정의된 여러 인증 방법 외에도 개발자는 자체 인증 체계를 정의할 수도 있습니다.

解读CKB账户抽象生态: BTC Mass Adoption的铺路石

Nervos 계정 추상화 생태: CCC, Mobit 및 JoyID

우리는 OmniLock이 Nervos가 계정 추상화를 달성하는 기반이며 Mobit, .bit, Omiga 및 미들웨어 CCC와 같은 OmniLock 기반 지갑이라는 것을 이미 알고 있습니다( Common Chains Connector) 등은 Nervos의 풍부한 BTCFi 계정 추상 생태계를 구성하며 여기에는 보안 개인정보 보호 및 신원 관리 서비스를 제공하는 DID 플랫폼 Did.id와 분산형 Dobs 자산 거래 플랫폼 Dobby 등도 포함됩니다.

AA의 좋은 기능은 BTCFi 생태 애플리케이션에 큰 편의성을 제공하여 CKB 생태계의 프로젝트가 BTC 지갑 상호 작용을 직접 지원하고 사용 임계값을 낮출 수 있도록 합니다. 다음에서는 CKB의 AA 생태계를 조사하기 위해 구체적인 사례를 사용하겠습니다.

解读CKB账户抽象生态: BTC Mass Adoption的铺路石

Common Chains Connector (CCC)

まず、CCCを例に挙げます。これは、ウォレットとdAppsにさまざまなパブリックチェーンの操作性を具体的に提供するウォレット接続ミドルウェアです。

下の写真はCCCの接続ウィンドウです。ここでは、MetaMask を例として、イーサリアム アカウントをお持ちの場合、CKB チェーン上で対応するアカウントを操作する方法を説明します。

解读CKB账户抽象生态: BTC Mass Adoption的铺路石

CCC を使用して CKB チェーン上でトランザクションを実行する場合、デモは MetaMask ウォレットのpersonal_sign メソッドを呼び出して署名します。このメソッドは、チェーンに直接アップロードされないテキスト メッセージに署名するために使用されます。

この情報の内容は、CKB トランザクションの一連の 16 進コードであることがわかります。 MetaMask によって署名されたメッセージは、Nervos CKB チェーンに送信され、OmniLock などのメカニズムを通じて検証されます。

解读CKB账户抽象生态: BTC Mass Adoption的铺路石

先ほども述べたように、Nervos自体がイーサリアムのメッセージフォーマットの検証をサポートしており、CKBは他のパブリックチェーンエコシステムとの接続をボトムアップで考えていると言えます。ユーザーにとっては、既存の使い慣れた入り口とツールを通じて CKB エコシステムに入ることができます。開発者にとっては、Nervos が最下位レベルで OmniLock 標準を定義し、CCC を通じてマルチチェーン ウォレットの実装の詳細を抽象化しました。これにより、上位層のアプリケーション開発者は、基礎となる詳細にあまり注意を払うことなく、上位層のビジネス ロジックの開発に集中できるようになります。

Mobit

Mobit は、Nervos をベースとした DID および資産管理プラットフォームです。例えて言うと、Mobit は、外の世界が Nervors エコシステムに入るためのドアのようなもので、このドアの敷居は非常に低いです。 Mobit を使用すると、ユーザーは事前知識をほとんど必要とせず、いくつかの簡単な操作のみで、他のパブリック チェーンのアカウントを使用して Nervos エコシステム内でのやり取りを完了できます。

下の写真はモビットの接続画面です。 Mobit は現在、複数の主流パブリック チェーンのアカウント システムをサポートしており、このリストは拡大し続けていることがわかります。

解读CKB账户抽象生态: BTC Mass Adoption的铺路石 引き続きメタマスクウォレットを例に挙げます。接続されたインターフェイスは、ユーザーの EVM および CKB アドレスを確認し、CKB チェーン上のアドレスによって保持されているトークンおよび DOB 資産を表示することもできます。

解读CKB账户抽象生态: BTC Mass Adoption的铺路石 ここでDOBについて話しましょう。DOBはNervosエコシステムの独自の資産であり、NFTに似ていますが、DOBはNFTとは根本的に異なります。まず第一に、DOB のデータはチェーン上に完全に保存されており、これは「フルチェーン NFT」とみなすことができますが、多くのイーサリアム NFT のデータはチェーン上に完全には保存されていません

さらに、各 DOBチャットボットを使用してセットアップでき、ホルダーは会話などのインタラクティブなシナリオに参加できます。また、ホルダーごとに開発パスが異なるため、各DOBには従来のNFTと比較して大きな個人差があります。

Nervos エコシステムにおける DOB の取引プラットフォームである Omiga に関しては、ユーザーは Mobit Apps インターフェースでワンクリックで直接ジャンプできます。

解读CKB账户抽象生态: BTC Mass Adoption的铺路石Omiga は、Nervos のアカウント抽象化機能も利用しています。

解读CKB账户抽象生态: BTC Mass Adoption的铺路石Mobit のシンプルな操作と包括的な機能により、BTCFi とのやり取りが容易になります。 BTCFi製品の本質は、ネイティブビットコイン資産に多様なDefiエクスペリエンスを提供することであり、主流のビットコインウォレットと互換性があるかどうかは、BTCFi周辺機能を考慮する重要な要素となり、CKBは現在準備が整っています。

WebAuthn の採用

WebAuthn は、World Wide Web Consortium (W3C) と FIDO (Fast IDentity Online) Alliance によって共同開発されたネットワーク標準であり、その目的は、ユーザー認証のセキュリティを向上させ、ログイン プロセスを簡素化し、従来のパスワードや秘密キーへの依存の必要性を軽減します。

iOS や Android などの一部の主流デスクトップまたはモバイル オペレーティング システムに組み込まれているキー管理ソフトウェアは、ローカル セキュリティ モジュールまたはクラウド ストレージを使用してキーを保存し、署名を実行できます。現在、WebAuthn の主流の実践では、一般的に P-256、P-384、P-521 などがサポートされています。Nervos の OmniLock はカスタム暗号化プリミティブをサポートしているため、これらもカバーできます。

WebAuthn でサポートされているクライアントの一部を次に示します:

  • Apple KeyChain:
  • Security Enclave: Apple 장치는 Secure Enclave를 사용하여 개인 키 저장 및 서명을 포함한 중요한 암호화 작업을 처리합니다.
  • iOS 및 macOS: Apple 시스템은 Face ID 또는 Touch ID를 통한 사용자 인증은 물론 인증 및 서명 작업에 Keychain API를 사용할 수 있습니다.
  • Windows Hello:
  • TPM(신뢰할 수 있는 플랫폼 모듈): Windows 장치는 개인 키 생성 및 Windows Hello를 통한 서명에 TPM을 활용할 수 있습니다.
  • 생체인식 인증: Windows Hello는 지문 인식과 얼굴 인식을 지원하여 사용자 신원을 확인합니다.
  • Android 키 저장소: Android 장치는 키 저장 및 서명을 위해 하드웨어 보안 모듈을 활용하고 지문이나 얼굴 인식과 같은 생체 인식을 통해 인증할 수 있습니다.
  • Ubisoft 보안 키: YubiKey와 같은 보안 키 하드웨어 장치는 USB 또는 NFC를 통한 보안 인증 및 서명 작업을 지원합니다.

CKB 생태 지갑 JoyID는 WebAuthn 기술을 사용하여 구현된 애플리케이션입니다. JoyID를 사용하면 사용자는 지문이나 얼굴 인식과 같은 생체 인식을 통해 직접 인증할 수 있어 원활하고 보안이 뛰어난 로그인 및 신원 관리가 가능합니다. Nervos 생태계의

解读CKB账户抽象生态: BTC Mass Adoption的铺路石

.bit 역시 Apple의 WebAuthn 구현을 사용하여 로그인하고 블록체인을 사용하는 시나리오입니다.

解读CKB账户抽象生态: BTC Mass Adoption的铺路石

위의 사례에서 CKB의 AA 솔루션은 본질적으로 다른 퍼블릭 체인과 Web2 사용자를 지원한다는 것을 알 수 있습니다. 대다수의 Web2 사용자에게 WebAuthn 지원은 개인 키 및 니모닉 문구 관리 부담을 없애고 사용 임계값을 크게 낮추는 데 중요합니다. 퍼블릭 체인 생태계가 이 방향으로 일찍 노력할수록 미래에 더 많은 이점을 갖게 될 것입니다.

요약

이더리움은 역사적 수하물 문제로 인해 한계가 있습니다. 기존 AA 솔루션은 기본적으로 증상을 치료하지만 근본 원인을 해결하지는 못합니다. 반면 Nervos는 출시 당시 계정 시스템의 설계를 충분히 고려했습니다. 메인넷은 모든 형태의 인증 방식을 지원할 수 있는 OmniLock 기능을 제공합니다.

Nervos의 셀 모델은 본질적으로 Bitcoin UTXO의 기능 확장입니다. 잠금 스크립트는 다양한 서명 확인 알고리즘을 지원할 수 있으며 시스템 계약과 유사한 방식으로 잠금 스크립트에서 직접 호출되는 셀을 지원합니다. 대다수의 사용자에게 Web2 수준의 경험을 제공합니다.

현재 Nervos 계정 추상 생태계에는 기본적으로 완전한 CCC, Mobit, Joyid 및 기타 제품이 있습니다.

BTCFi의 본질은 다음과 같습니다. 기본 비트코인 ​​자산에 대한 다양한 Defi 경험, 주류 비트코인 ​​지갑과 호환되는지 여부는 BTCFi 주변 시설에 대해 고려해야 할 중요한 요소가 될 것입니다. CKB는 BTCFi 생태계의 중요한 시설로서 포괄적인 접근 방식을 채택했으며 BTCFi 친화적입니다. 개발자와 사용자 모두에서 가능한 한 대량 채택을 위해 필요한 조건을 만듭니다.

以上是解讀CKB帳號抽像生態: BTC Mass Adoption的鋪路石的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn