Được viết bởi: 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ụ:
Bạn phải có trước ETH và các Gas Token khác 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;
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à 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, kế hoạch vá lỗi EIP-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. Nó giải quyết các vấn đề cũ trong khi tạo ra các vấn đề mới và tính khả thi của nó gây 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ế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 các chuỗi công khai dựa trên 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 UTXO. mô hình tài khoản và hỗ trợ cho 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ợ một cách tự nhiên 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.
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 nhận ra đ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 của 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à 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ữ ở một địa chỉ tập trung mà nằm rải rác 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ứ.
Đề xuất đọc: "Tiếp cận BTC: Cần có kiến thức nền tảng để hiểu BitVM (1)"
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ờ nhạt. 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 Lock; 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 dựa trên mô hình Bitcoin UTXO và có khả năng lập trình cao hơn nhiều. Và 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 mẽ hơn nhiều. 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 của chúng ta hôm nay, AA. Bởi vì một tính năng chính đượ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
Như chúng tôi đã đề cập trước đó, 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 các 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ể sử dụng tài khoản, ví/phương thức xác thực như BTC, ETH hoặc thậm chí WebAuthn để thao túng trực tiếp tài sản trên chuỗi CKB.
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: ví dụ: khi cờ là 0x01, nó đại diện cho Xác thực Ethereum. phương pháp gửi tin nhắn bên ngoài. 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ỳ chế độ nào dành cho thanh toán vi mô -chế độ có thể thanh toán. quyên góp nhỏ), chế độ khóa thời gian, v.v. Dù sao, chỉ bằng cách đ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 hóa tài khoản Nervos: CCC, Mobit và JoyID
Ở trên chúng ta đã biết rằng OmniLock là cơ sở để Nervos thực hiện việc 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, v.v.
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 lấy 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 DID và nền tảng quản lý tài sản 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 có kiến thức trước đó và chỉ cần một số thao tác đơn giản để hoàn thành 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 và 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ể thực hiện 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ể chuyển thẳng đến giao diện Ứng dụng của 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 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ã hóa tùy chỉnh nguyên thủy nên chúng 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ó và các giải pháp AA hiện tại về cơ bản xử lý các triệu chứng chứ không phải nguyên nhân gốc rễ và không thể giải quyết vấn đề tận gốc; trong khi Nervos đã xem xét đầy đủ thiết kế của hệ thống tài khoản khi khởi chạy mạng chính và cung cấp mạng chính; Chức năng OmniLock 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ỳ Ô 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 một nền tảng mới. dành cho 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.