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. Tuy nhiê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 sẽ không thể bắt đầu giao dịch, điều này rõ ràng là rất bất tiện đối với các tài khoản mới.
Các chuỗi công cộng đượ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, còn lại chuỗi công khai hoặc người dùng Web2 cần sử dụng các công cụ và cổng Tài khoản mới.
Đề xuất EIP-4337 trước đây phổ biến trong cộng đồng Ethereum được cho là sẽ giải quyết được vấn đề các vấn đề nêu trên, nhưng tùy thuộc vào 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,Giải pháp vá lỗi của EIP-4337 giống như vá lỗi hơn là giải quyết vấn đề một cách cơ bản; Mã hoạt động EIP-3074 đượ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ó cò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 được tách biệt khỏi tài khoản hợp đồng, không hỗ trợ giao dịch gas, không hỗ trợ nhiều nguyên tắc mã hóa, 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 đủ về 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ế. chúng tôi tin rằng Hệ thống tài khoản của Nervos thiên về lớp dưới cùng và bản chất của AA. Mô hình tài khoản UTXO và OmniLock hỗ trợ nhiều phương thức xác minh hoàn toàn nhất quán với các mục tiêu của AA từ đầu đến cuối, và không có hành lý lịch sử, hỗ trợ tự nhiên cho 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.v. Các cơ sở ngoại vi và giải pháp AA gốc của CKB 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 khía cạnh 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ới mỗi giao dịch, một UTXO cũ sẽ bị phá hủy và một UTXO mới sẽ 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. Nó chỉ có thể được tìm thấy 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ô hình lưu trữ hạng A nó 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 đề về 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 đã tiếp thu hoàn toàn các ưu điểm của Bitcoin UTXO khi bắt đầu thiết kế Thực tế là mô hình Cell của nó. Nó là 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 theo 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ư khóa mật khẩu; và "tập lệnh mở khóa" là 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ếuLockScript 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ã cho DEX và giao thức cho vay có thể được triển khai trong TypeScript.
Nếu các nhà phát triển muốn triển khai nhóm thanh khoản tương tự 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 trong trường Dữ liệu của Ô này ( Ví dụ: số dư của các nội dung khác nhau trong nhóm), sau đó người dùng có thể tương tác với mã trong TypeScript.
Thiết kế 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 nhiều hơn, đồng thời vì bản thân CKB sử dụng máy ảo RISC -V hỗ trợ các chương trình được viết bằng nhiều ngôn ngữ ngôn ngữ lập trình và có thể hỗ trợ nhiều logic khác nhau mạnh hơn Bitcoin rất nhiều.
Đối với Tập lệnh khóa của Cell LockScript, nó liên quan trực tiếp đến chủ đề cốt lõi AA của chúng ta hôm nay. 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 pháp xác minh danh tính linh hoạt và đa dạng. Đối với UTXO, để đạt được chức năng này, chúng tôi phải làm việc trên LockScript hoạt động như một trình xác thực.CKB đã khởi chạy tập lệnh OmniLock hỗ trợ cụ thể nhiều sơ đồ xác thực.
Chúng ta hãy cùng xem thiết kế cụ thể của OmniLock.
OmniLock và tính năng trừu tượng hóa tài khoản
Chúng tôi đã đề cập đến vấn đề này sớm hơn Như bạn có thể thấy, 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ênOmniLock, 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 sắp xếp chính thức 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ư trong chuỗi công khai EVM. . Tương tự như "hợp đồng hệ thống". 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 thảo luận ở đây để giải thích. Ở đâ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 công khai đặ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 quá trình 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 phương thức xác thực được đề cập ở đây Nó không chỉ đề cập đến chữ ký mật mã. xác minh, mà còn bao gồm xử lý thông tin và các quy trình toàn diện khác: ví dụ: khi cờ là 0x01, nó thể hiện phương thức xác thực các thông báo bên ngoài của Ethereum. 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 còn lại của Args được gọi là Omnilock args. Nó giống như một nút có thể chọn trong số các chế độ chức năng cài sẵn của OmniLock.
Ví dụ: sử dụng 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), chế độ bất kỳ ai cũng có thể thanh toán cho các khoản thanh toán nhỏ (được sử dụng cho các khoản quyên 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 Auth và Omnilock args của tập lệnh Cell lock để chọn phương thức xác thực của các chuỗi hoặc nền tảng công khai khác nhau. CKB giới thiệu nhiều phương thức xác thực. 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 tôi đã biết rằng OmniLock là cơ sở để Nervos đạt đượ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, bên cạnh nền tảng DID cung cấp dịch vụ quản lý danh tính và bảo vệ quyền riêng tư. .id, cũng như nền tảng giao dịch tài sản Dobs phi tập trung Dobby, v.v.
Các tính năng hay của AA cũng 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, giảm ngưỡng chi phí 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.
Common Chains Connector (CCC)
Đầu tiên chúng ta lấy CCC làm ví dụ, đó là kết nối ví Phần mềm trung gian, được thiết kế đặc biệt để cung cấp 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 lên trực tiếp đến chuỗi.
Chúng ta có thể thấy thông tin 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 nằm ở cuối. Tiêu chuẩn OmniLock có đã được xác định và các chi tiết triển khai của ví đa chuỗi đã được trừu tượng hóa 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 logic kinh doanh lớp trên mà không cần phải chú ý quá nhiều đến các chi tiết cơ bản.
Mobit
Mobit là DID và tài sản dựa trên Nervos Nền tảng quản lý, nói một cách ẩn dụ, Mobit giống như một cánh cửa để thế giới bên ngoài bước vào hệ sinh thái Nervors, và ngưỡng cho cánh cửa này là 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, chỉ với một số thao tác đơn giản, họ có thể sử dụng tài khoản từ các chuỗi công khai khác để hoàn thành các tương tác trong hệ sinh thái Nervos.
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ữ.
Ở đây chúng ta nói về DOB, loại duy nhất có 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ể 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, so với các NFT truyền thống. DOB sẽ có nhiều khác biệt cá nhân đáng kể hơn.
Đố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 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.
Việc áp dụng WebAuthn
WebAuthn< / mạnh>Đây là tiêu chuẩn mạng được World Wide Web Consortium (W3C) và Liên minh FIDO (Fast IDentity Online) cù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 bớt cần mật khẩu truyền thống hoặc sự phụ thuộc vào khóa riêng.
Phần mềm quản lý khóa được tích hợp trong một số hệ điều hành di động hoặc máy tính để bàn phổ thông như iOS và Android có thể sử dụng 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.
Sau đây là một số ứng dụng khách được WebAuthn hỗ trợ:
< li> 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 tư.
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ý hoặc thông qua Face ID hoặc Touch ID cho người dùng xác thực.
Windows Hello:
< /li>TPM (Mô-đun nền tảng đáng tin cậy): Các thiết bị Windows có thể tận dụng TPM để tạo và ký 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 lợi thế của phần cứng Mô-đun bảo mật thực hiện 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 của Ubisoft: Thiết bị phần cứng khóa bảo mật, Dành cho ví dụ, YubiKey hỗ trợ các hoạt động xác thực và chữ ký an toàn thông 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 các phương pháp 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ừ những 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ị giới hạn bởi vấn đề lịch sử của nó , các giải pháp AA hiện có về cơ bản chỉ xử lý các triệu chứng chứ không phải nguyên nhân cốt lõi và không thể giải quyết vấn đề từ gốc; và 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 chức năng OmniLock. có thể hỗ trợ bất kỳ hình thức phương thức xác thực nào.
Mô hình Nervos’ Cell 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ý và OmniLock sử dụng Tương tự. đối với phương thức hợp đồng hệ thống, nó hỗ trợ bất kỳ Ô nào được gọi trực tiếp trong tập lệnh khóa, cung cấp trải nghiệm cấp Web2 cho phần lớn nhà phát triển và người dùng;
Hiện tại, hệ sinh thái trừu tượng tài khoản Nervos đã có CCC, Mobit, Joyid và các sản phẩm khác, về cơ bản đã hoàn thiện;
BTCFi là về cơ bản là một tài sản Bitcoin gốc Cung cấp trải nghiệm Defi đa dạng và liệu nó có tương thích với ví Bitcoin chính thống hay không sẽ là những 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 một cách tiếp cận toàn diện và thuộc nhà phát triển. bên càng nhiều càng tốt. Cả phía người dùng và phía người dùng đều tạo điều kiện cần thiết để áp dụng hàng loạt BTCFi.