Tác giả: Wuyue, geek web3

Biên tập: Faust

Kể từ khi câu chuyện AA trở nên phổ biến trong cộng đồng Ethereum vào năm 2022, khái niệm trừu tượng hóa tài khoản đã trở nên phổ biến trong cộng đồng Web3. Nó thực sự là một khái niệm thiết kế cho hệ thống tài khoản, nhằm thiết lập các tiêu chuẩn ở cấp độ cao hơn và nâng cao chức năng của tài khoản. Trong các blockchain chính thống như Ethereum, do hạn chế của các quy tắc cố định nên tính linh hoạt và linh hoạt của hệ thống tài khoản rất kém, ví dụ:

  1. Bạn phải có trước Gas Token như ETH trong tài khoản của mình, nếu không bạn không thể bắt đầu giao dịch, điều này rõ ràng là rất không thân thiện với các tài khoản mới;

  2. Các chuỗi công khai được đại diện bởi hệ thống EVM chỉ hỗ trợ một hệ thống tài khoản duy nhất và các chuỗi công khai khác hoặc người dùng Web2 cần sử dụng các công cụ và lối vào tài khoản mới.

Đề xuất EIP-4337, trước đây phổ biến trong cộng đồng Ethereum, được coi là có thể giải quyết các vấn đề trên. Tuy nhiên, do các yếu tố như mô hình kỹ thuật, hành trang lịch sử, phát triển sinh thái và nhận thức của nhà phát triển, EIP-. Kế hoạch vá lỗi 4337 giống như một bản vá thay vì giải quyết vấn đề một cách cơ bản; EIP-3074 cố gắng thêm các mã mới vào EVM, được coi là có rủi ro bảo mật. Trong khi giải quyết các vấn đề cũ, nó lại mang đến những vấn đề mới. tính khả thi còn nhiều tranh cãi.

Vì nhiều lý do khác nhau, nhóm sáng lập Ethereum đã không xem xét đầy đủ hệ thống tài khoản khi bắt đầu ra mắt mạng chính, để lại rất nhiều vấn đề, chẳng hạn như: tài khoản EOA và tài khoản hợp đồng bị tách biệt, không hỗ trợ giao dịch gas và nhiều tài khoản không được hỗ trợ mã hóa nguyên thủy, v.v. Những hành trang lịch sử này đã gây ra những trở ngại rõ ràng cho việc thực hiện lộ trình AA của Ethereum. Thậm chí có thể nói rằng kế hoạch AA của Ethereum không cho phép hệ thống tài khoản của nó vượt qua các chuỗi công khai mới sau này mà chỉ thu hẹp khoảng cách giữa hai chuỗi này. Nếu một chuỗi công khai xem xét đầy đủ thiết kế tài khoản khi nó được thiết kế ban đầu thì sẽ không cần phải đi đường vòng như Ethereum.

Khác với chuỗi công khai EVM, Nervos đã xem xét sâu sắc vấn đề của hệ thống tài khoản khi bắt đầu thiết kế. Sau khi tiến hành nghiên cứu, chúng tôi tin rằng hệ thống tài khoản Nervos thiên về lớp dưới cùng và bản chất của mô hình tài khoản UTXO của nó. và hỗ trợ nhiều OmniLock, một phương thức xác minh, nhất quán sâu sắc với các mục tiêu của AA từ đầu đến cuối và không có dấu hiệu lịch sử. Nó hỗ trợ hệ thống tài khoản của các chuỗi công khai khác như BTC, ETH và thậm chí cả Solana một cách tự nhiên.

Ngoài ra, đối với BTCFi phổ biến gần đây, vì nó giới thiệu Defi và các kịch bản khác cho tài sản Bitcoin gốc, nên để người nắm giữ Bitcoin có được trải nghiệm sản phẩm liền mạch, cần phải tương thích với ví Bitcoin chính thống và các cơ sở ngoại vi khác của CKB. Giải pháp AA gốc tự nhiên đạt được điều này, tạo điều kiện cần thiết cho việc áp dụng BTCFi trên quy mô lớn.

Dưới đây chúng tôi sẽ diễn giải hệ thống trừu tượng hóa tài khoản của Nervos từ nhiều góc độ như khái niệm thiết kế, kiến ​​trúc hệ thống, ứng dụng và hệ sinh thái.

Mô hình tế bào Bitcoin UTXO và Nervos

Hầu hết mọi người đều biết rằng cấu trúc lưu trữ dữ liệu của chuỗi công khai dựa trên mô hình UTXO không dựa trên hệ thống "cân bằng tài khoản" mà áp dụng một hình thức duy nhất. Cụ thể, UTXO có thể được nấu chảy hoặc đúc như vàng. Với mỗi giao dịch, UTXO cũ bị phá hủy và UTXO mới ra đời. Ngoài ra, dữ liệu UTXO không được lưu trữ dưới một địa chỉ tập trung mà được lưu trữ phân tán trong giao dịch tạo ra UTXO và chỉ có thể tìm thấy nó bằng cách đọc bản ghi của các khối trong quá khứ.

Không quá lời khi nói rằng Bitcoin đã tạo ra một mô hình lưu trữ khác với hệ thống "thông tin tài khoản" của nền tảng Web2 truyền thống, có thể giải quyết các vấn đề bùng nổ trạng thái, hiệu quả đọc và ghi dữ liệu thấp và quyền sở hữu mờ. Theo mô hình UTXO, vị trí lưu trữ và quyền sở hữu dữ liệu tài sản của những người khác nhau rất rõ ràng và thân thiện với tính song song/đồng thời. Nó cũng dễ dàng hỗ trợ các chức năng như cho thuê kho lưu trữ và có thể tránh được nhiều cạm bẫy của tài khoản truyền thống. hệ thống.

Hệ thống tài khoản của chuỗi công khai Nervos đã hấp thụ hoàn toàn các ưu điểm của Bitcoin UTXO ngay từ khi bắt đầu thiết kế. Mô hình Cell của nó thực sự là một phiên bản nâng cấp của Bitcoin UTXO, cung cấp khả năng lập trình hoàn chỉnh của Turing. Ngoài ra, cả CKB và các tài sản khác đều là tài sản hạng nhất và không đối xử với tài sản gốc khác với ERC-20 như chuỗi công khai EVM.

Cơ chế hoạt động của Cell của CKB gần giống với Bitcoin UTXO: cả hai đều được điều khiển bởi "tập lệnh khóa" và "tập lệnh mở khóa". Khi mỗi UTXO/Cell được tạo ra sẽ có một "tập lệnh khóa", giống như một mật khẩu khóa; và "tập lệnh mở khóa" là chìa khóa tương ứng, có thể mở khóa "tập lệnh khóa". Miễn là bạn có thể gửi "khóa" tương ứng với "khóa", UTXO liên quan của nó sẽ theo ý của bạn.

Nhưng không giống như Bitcoin UTXO, Cell thêm trường "TypeScript" phía trên tập lệnh khóa. Nếu LockScript là trình xác thực danh tính xác định xem bạn có đủ điều kiện để viết lại Ô này hay không, thì TypeScript là hợp đồng thông minh được gắn vào Ô. Mã của DEX và các giao thức cho vay có thể được triển khai trong TypeScript.

Nếu nhà phát triển muốn triển khai nhóm thanh khoản tương tự như AMM trên CKB, họ chỉ cần viết mã hợp đồng bằng TypeScript của một Ô chuyên dụng, sau đó lưu trữ thông tin trạng thái của nhóm thanh khoản (chẳng hạn như trong nhóm) trong trường Dữ liệu của Ô này. Số dư tài sản khác nhau), và sau đó người dùng có thể tương tác với mã trong TypeScript.

Thiết kế này của CKB mở rộng các kịch bản phong phú hơn trên mô hình Bitcoin UTXO và có khả năng lập trình cao hơn nhiều, vì bản thân CKB sử dụng máy ảo RISC-V nên nó hỗ trợ các chương trình được viết bằng nhiều ngôn ngữ lập trình và có thể hỗ trợ nhiều logic khác nhau. mạnh hơn Bitcoin.

Đối với tập lệnh khóa LockScript của Cell, nó liên quan trực tiếp đến chủ đề cốt lõi AA của chúng tôi ngày nay. Bởi vì một trong những tính năng được AA ủng hộ là cho phép các tài khoản trên chuỗi hỗ trợ các phương thức xác thực linh hoạt và đa dạng. Đối với UTXO, để đạt được chức năng này, cần phải làm việc trên LockScript hoạt động như một trình xác thực. Vì mục đích này, CKB đã đưa ra tập lệnh OmniLock hỗ trợ cụ thể nhiều sơ đồ xác thực.

Hãy cùng xem thiết kế cụ thể của OmniLock.

OmniLock và trừu tượng hóa tài khoản

Chúng tôi đã đề cập trước đó rằng quyền sử dụng Cell và Bitcoin UTXO của CKB được xác định bởi tập lệnh khóa. LockScript sẽ xác định ai có thể viết lại Cell, đóng vai trò trong việc xác minh danh tính. Để hỗ trợ nhiều phương thức xác thực, CKB cung cấp tập lệnh khóa phổ quát có tên OmniLock, tương thích với nhiều thuật toán chữ ký và cơ chế xác minh.

OmniLock mô-đun hóa logic xác minh khác nhau, miễn là các tham số khác nhau được đặt, các thuật toán xác minh khác nhau có thể được cấu hình linh hoạt. Người dùng có thể thao tác trực tiếp tài sản trên chuỗi CKB bằng tài khoản, ví/phương thức xác thực như BTC, ETH và thậm chí cả WebAuthn.

Vậy OmniLock được triển khai và sử dụng như thế nào? Thực chất, giải thích một cách đơn giản thì OmniLock là một đoạn mã được Nervos chính thức sắp xếp trực tiếp trên chuỗi CKB. Đoạn mã này được viết trên một Ô cụ thể và có thể được sử dụng bởi các Ô khác, giống như “hợp đồng hệ thống”. trong chuỗi công khai EVM "Tương tự. Nếu một Ô muốn sử dụng OmniLock, nó có thể khai báo một tham chiếu đến OmniLock trong tập lệnh khóa của chính nó.

Dưới đây chúng ta có thể hiểu nguyên lý hoạt động của lock script và OmniLock thông qua một đoạn mã giả.

Tập lệnh khóa của CKB chứa ba trường: Mã băm, loại băm và Args. Vì Mã băm và loại băm ít liên quan đến nội dung của phần này nên chúng sẽ không được giải thích ở đây. Dưới đây chúng tôi tập trung vào trường Args Bằng cách định cấu hình linh hoạt Args, bạn có thể sử dụng các thuật toán xác minh khác nhau được xác định trong OmniLock.

Nội dung tương ứng với trường Args có thể được chia thành hai phần. Một phần là auth, được sử dụng riêng để xác thực. Độ dài của nó là 21 byte, bao gồm mã định danh cờ 1 byte và 20 byte dữ liệu xác thực. Dữ liệu xác thực của auth chứa hàm băm khóa chung được đặt trước. Chỉ chủ sở hữu khóa chung tương ứng với hàm băm khóa chung mới có thể vượt qua xác minh danh tính và đủ điều kiện để ghi lại dữ liệu trong Ô.

Cờ trong Auth là mã định danh được sử dụng để chọn các phương thức xác thực khác nhau được đề cập ở đây không chỉ đề cập đến xác minh chữ ký mật mã mà còn bao gồm việc xử lý thông tin và các quy trình toàn diện khác: nếu cờ là 0x01, nó đại diện cho phương thức Xác thực Ethereum cho bên ngoài. tin nhắn. Ngoài Ethereum, OmniLock còn hỗ trợ các hình thức xác minh tin nhắn phong phú như Bitcoin, Dogecoin, Tron và đa chữ ký.

Phần khác của Args được gọi là Omnilock args. Nó giống như một nút cho phép bạn chọn trong số các chế độ chức năng cài sẵn của OmniLock, chẳng hạn như chế độ quản trị viên (chẳng hạn như chức năng đóng băng quản trị viên của USDT), bất kỳ ai cho chế độ thanh toán vi mô -can-pay. (đối với những khoản đóng góp nhỏ), chế độ khóa thời gian, v.v. Dù sao, miễn là bạn điều chỉnh các đối số Omnilock, bạn có thể sử dụng các chức năng khác nhau được viết sẵn trong OmniLock.

Tóm lại, chúng ta có thể nhập các tham số khác nhau vào các trường đối số Auth và Omnilock của tập lệnh Khóa ô để chọn phương thức xác thực cho các chuỗi hoặc nền tảng công khai khác nhau và giới thiệu nhiều phương thức xác thực khác nhau cho CKB. Tất nhiên, ngoài một số phương thức xác thực được xác định trước trong OmniLock, các nhà phát triển cũng có thể xác định các sơ đồ xác thực của riêng họ.

Hệ sinh thái trừu tượng tài khoản Nervos: CCC, Mobit và JoyID

Ở trên chúng ta đã biết rằng OmniLock là cơ sở để Nervos đạt được khả năng trừu tượng hóa tài khoản và các ví dựa trên OmniLock như Mobit, .bit, Omiga và phần mềm trung gian CCC (Common Chains Connector) tạo thành hệ sinh thái trừu tượng hóa tài khoản BTCFi phong phú của Nervos, ngoài Did .id, một nền tảng DID cung cấp các dịch vụ quản lý danh tính và bảo vệ quyền riêng tư an toàn và Dobby, một nền tảng giao dịch tài sản Dobs phi tập trung.

Những tính năng hay của AA còn mang lại sự tiện lợi lớn cho các ứng dụng sinh thái BTCFi, cho phép các dự án trong hệ sinh thái CKB hỗ trợ trực tiếp tương tác ví BTC, hạ thấp ngưỡng sử dụng. Sau đây, chúng ta hãy sử dụng một trường hợp cụ thể để kiểm tra hệ sinh thái AA của CKB.

Đầu nối chuỗi chung (CCC

Đầu tiên, hãy lấy CCC làm ví dụ. Đây là phần mềm trung gian kết nối ví cung cấp cụ thể cho ví và dApp khả năng hoạt động của các chuỗi công khai khác nhau trên CKB.

Hình bên dưới là cửa sổ kết nối của CCC. Ở đây chúng tôi lấy MetaMask làm ví dụ. Nếu bạn có tài khoản Ethereum, cách vận hành tài khoản tương ứng trên chuỗi CKB.

Khi sử dụng CCC để thực hiện các giao dịch trên chuỗi CKB, bản demo sẽ gọi phương thức Personal_sign của ví MetaMask để ký. Phương thức này được sử dụng để ký một tin nhắn văn bản không được tải trực tiếp lên chuỗi.

Chúng ta có thể thấy thông tin này chứa một loạt mã thập lục phân cho giao dịch CKB. Các tin nhắn được MetaMask ký sẽ được gửi tới chuỗi Nervos CKB và được xác minh thông qua các cơ chế như OmniLock.

Như chúng tôi đã đề cập trước đó, bản thân Nervos hỗ trợ xác minh định dạng tin nhắn của Ethereum. Có thể nói, CKB đã cân nhắc việc kết nối với các hệ sinh thái chuỗi công cộng khác từ đầu. Đối với người dùng, bạn có thể tham gia hệ sinh thái CKB thông qua các cổng và công cụ hiện có và quen thuộc;

Đối với các nhà phát triển, Nervos đã xác định tiêu chuẩn OmniLock ở cấp độ thấp nhất và tóm tắt chi tiết triển khai của ví đa chuỗi thông qua CCC, giúp giảm đáng kể khó khăn trong quá trình phát triển và cho phép các nhà phát triển ứng dụng lớp trên tập trung tốt hơn vào việc phát triển lớp trên. logic kinh doanh Đừng tập trung quá nhiều vào các chi tiết cấp thấp.

di động

Mobit là một nền tảng quản lý tài sản và DID dựa trên Nervos Nếu dùng phép ẩn dụ thì Mobit giống như cánh cửa để thế giới bên ngoài bước vào hệ sinh thái Nervors và ngưỡng cửa này rất thấp. Với Mobit, người dùng hầu như không cần phải có kiến ​​thức trước và chỉ cần một số thao tác đơn giản để hoàn tất các tương tác trong hệ sinh thái Nervos bằng tài khoản từ các chuỗi công khai khác.

Hình bên dưới là cửa sổ kết nối của Mobit. Có thể thấy, Mobit hiện hỗ trợ hệ thống tài khoản của nhiều chuỗi công khai chính thống và danh sách này vẫn tiếp tục mở rộng.

Vẫn lấy ví Metamask làm ví dụ. Giao diện được kết nối cũng có thể xem địa chỉ EVM và CKB của người dùng, đồng thời hiển thị tài sản Token và DOB do địa chỉ trên chuỗi CKB nắm giữ.

Hãy nói về DOB ở đây, vốn là duy nhất trong hệ sinh thái Nervos và tương tự như tài sản NFT, nhưng về cơ bản, DOB khác với NFT. Trước hết, dữ liệu của DOB được lưu trữ hoàn toàn trên chuỗi, có thể được coi là "NFT toàn chuỗi", trong khi dữ liệu của nhiều NFT Ethereum không được lưu trữ hoàn toàn trên chuỗi;

Ngoài ra, mỗi DOB có thể được thiết lập bằng Chatbot, có thể tham gia vào các tình huống tương tác như đối thoại với chủ sở hữu. Với các lộ trình phát triển khác nhau của các chủ sở hữu khác nhau, mỗi DOB sẽ có nhiều lợi ích đáng kể hơn so với Sự khác biệt cá nhân truyền thống.

Đối với Omiga, nền tảng giao dịch dành cho DOB ​​trong hệ sinh thái Nervos, người dùng có thể truy cập trực tiếp vào giao diện Ứng dụng Mobit chỉ bằng một cú nhấp chuột.

Omiga cũng tận dụng khả năng trừu tượng hóa tài khoản của Nervos.

Hoạt động đơn giản và các chức năng toàn diện của Mobit sẽ tạo điều kiện thuận lợi cho việc tương tác với BTCFi. Bản chất của các sản phẩm BTCFi là cung cấp trải nghiệm Defi đa dạng cho tài sản Bitcoin gốc. Liệu nó có tương thích với ví Bitcoin chính thống hay không sẽ là yếu tố quan trọng cần xem xét đối với các cơ sở ngoại vi BTCFi và CKB hiện đã sẵn sàng.

Thông qua WebAuthn

WebAuthn là một tiêu chuẩn mạng được World Wide Web Consortium (W3C) và Liên minh FIDO (Fast IDentity Online) đồng phát triển. Mục tiêu là cải thiện tính bảo mật của xác thực người dùng, đơn giản hóa quy trình đăng nhập và giảm sự phụ thuộc vào mật khẩu truyền thống hoặc mật khẩu riêng tư. phím.

Phần mềm quản lý khóa được tích hợp trong một số hệ điều hành dành cho máy tính để bàn hoặc thiết bị di động phổ biến như iOS và Android có thể sử dụng các mô-đun bảo mật cục bộ hoặc bộ lưu trữ đám mây để lưu trữ khóa và thực hiện chữ ký. Hiện tại, phương pháp chính thống của WebAuthn thường hỗ trợ P-256, P-384, P-521, v.v. Vì OmniLock của Nervos hỗ trợ các nguyên tắc mật mã tùy chỉnh nên những nguyên tắc này cũng có thể được đề cập.

Dưới đây là một số ứng dụng khách được WebAuthn hỗ trợ:

  • Chuỗi khóa Apple:

  • Security Enclave: Các thiết bị của Apple sử dụng Secure Enclave để xử lý các hoạt động mã hóa quan trọng, bao gồm lưu trữ và ký khóa riêng.

  • iOS và macOS: Hệ thống của Apple có thể sử dụng API chuỗi khóa cho các hoạt động xác thực và ký cũng như xác thực người dùng thông qua Face ID hoặc Touch ID.

  • Windows Xin chào:

  • TPM (Mô-đun nền tảng đáng tin cậy): Các thiết bị Windows có thể sử dụng TPM để tạo và đăng nhập khóa riêng thông qua Windows Hello.

  • Xác thực sinh trắc học: Windows Hello hỗ trợ nhận dạng vân tay và nhận dạng khuôn mặt để xác minh danh tính người dùng.

  • Kho khóa Android: Các thiết bị Android có thể tận dụng các mô-đun bảo mật phần cứng để lưu trữ và ký khóa cũng như xác thực thông qua sinh trắc học như nhận dạng vân tay hoặc khuôn mặt.

  • Khóa bảo mật Ubisoft: Các thiết bị phần cứng khóa bảo mật, chẳng hạn như YubiKey, hỗ trợ các hoạt động xác thực và ký an toàn qua USB hoặc NFC.

Ví sinh thái CKB JoyID là một ứng dụng được triển khai bằng công nghệ WebAuthn. Với JoyID, người dùng có thể xác thực trực tiếp thông qua sinh trắc học như nhận dạng vân tay hoặc khuôn mặt, cho phép quản lý danh tính và đăng nhập liền mạch và bảo mật cao.

.bit trong hệ sinh thái Nervos cũng là một kịch bản trong đó việc triển khai WebAuthn của Apple được sử dụng để đăng nhập và sử dụng chuỗi khối.

Từ các trường hợp trên, chúng ta có thể thấy rằng giải pháp AA của CKB vốn đã hỗ trợ các chuỗi công khai khác và người dùng Web2. Đối với phần lớn người dùng Web2, việc hỗ trợ WebAuthn là rất quan trọng. Nó giúp loại bỏ gánh nặng quản lý khóa riêng và cụm từ ghi nhớ, đồng thời giảm đáng kể ngưỡng sử dụng. Hệ sinh thái chuỗi công cộng nỗ lực theo hướng này càng sớm thì nó sẽ càng có nhiều lợi thế trong tương lai.

Tóm tắt

Ethereum bị hạn chế bởi các vấn đề lịch sử của nó. Các giải pháp AA hiện tại về cơ bản chỉ xử lý các triệu chứng nhưng không giải quyết được nguyên nhân gốc rễ và không thể giải quyết vấn đề từ nguyên nhân gốc rễ. cung cấp chức năng OmniLock. Mọi hình thức xác thực đều có thể được hỗ trợ.

Mô hình Cell của Nervos về cơ bản là một bản mở rộng chức năng của Bitcoin UTXO. Tập lệnh khóa của nó có thể hỗ trợ nhiều thuật toán xác minh chữ ký khác nhau. OmniLock hỗ trợ bất kỳ Cell nào được gọi trực tiếp trong tập lệnh khóa theo cách tương tự như hợp đồng hệ thống, cung cấp nền tảng cho các nhà phát triển. . Cung cấp trải nghiệm ở cấp độ Web2 cho người dùng;

Hiện tại, hệ sinh thái trừu tượng tài khoản Nervos đã có các sản phẩm như CCC, Mobit và Joyid, về cơ bản đã hoàn thiện;

Bản chất của BTCFi là cung cấp trải nghiệm Defi đa dạng cho tài sản Bitcoin gốc. Liệu nó có tương thích với ví Bitcoin chính thống hay không sẽ là yếu tố quan trọng cần xem xét đối với các cơ sở ngoại vi BTCFi. Là một cơ sở quan trọng trong hệ sinh thái BTCFi, CKB áp dụng cách tiếp cận toàn diện. Cách tiếp cận là tạo điều kiện cần thiết để áp dụng BTCFi hàng loạt ở cả phía nhà phát triển và phía người dùng càng nhiều càng tốt.