
Giải mã hệ sinh thái trừu tượng tài khoản CKB: Viên gạch đầu tiên cho việc phổ cập BTC
Tuyển chọn TechFlowTuyển chọn TechFlow

Giải mã hệ sinh thái trừu tượng tài khoản CKB: Viên gạch đầu tiên cho việc phổ cập BTC
Tìm hiểu cách triển khai giải pháp AA gốc của Nervos (CKB) và các dự án xây dựng hệ sinh thái liên quan.
Tác giả: Vụ Nguyệt, Geeker web3
Biên tập: Faust
Kể từ khi chủ đề tài khoản trừu tượng (AA) trở nên sôi nổi trong cộng đồng Ethereum vào năm 2022, khái niệm này đã nhanh chóng lan rộng trong cộng đồng Web3. Về bản chất, đây là một triết lý thiết kế hệ thống tài khoản nhằm xây dựng các tiêu chuẩn ở cấp độ cao hơn và tăng cường chức năng của tài khoản. Tuy nhiên, trên các blockchain chính thống như Ethereum, do bị giới hạn bởi các quy tắc cố định, tính linh hoạt và tính phổ quát của hệ thống tài khoản rất kém, ví dụ như:
-
Tài khoản của bạn phải có sẵn ETH hoặc các loại token gas khác, nếu không sẽ không thể khởi tạo giao dịch — điều này rõ ràng rất thiếu thân thiện với người dùng mới;
-
Các chuỗi công khai đại diện bởi hệ sinh thái EVM chỉ hỗ trợ một hệ thống tài khoản duy nhất, buộc người dùng từ các chuỗi khác hoặc nền tảng Web2 phải sử dụng công cụ và cổng truy cập mới.
Trước đây, đề xuất EIP-4337 từng được coi là giải pháp cho những vấn đề trên trong cộng đồng Ethereum. Tuy nhiên, do bị giới hạn bởi mô hình kỹ thuật, gánh nặng lịch sử và sự phát triển của hệ sinh thái cũng như nhận thức của nhà phát triển, các biện pháp khắc phục theo EIP-4337 giống như vá lỗi hơn là giải quyết tận gốc vấn đề; còn EIP-3074 — nhằm thêm opcode mới cho EVM — lại bị cho là tiềm ẩn rủi ro an ninh, vừa giải quyết vấn đề cũ lại phát sinh vấn đề mới, tính khả thi gây tranh cãi.
Do nhiều nguyên nhân, đội ngũ sáng lập Ethereum khi khởi chạy mainnet ban đầu đã không xem xét toàn diện về hệ thống tài khoản, để lại nhiều gánh nặng lịch sử như: phân biệt rõ ràng giữa tài khoản EOA và tài khoản hợp đồng, không hỗ trợ giao dịch miễn phí gas, không hỗ trợ nhiều nguyên thủy mã hóa khác nhau. Những gánh nặng này gây trở ngại rõ rệt cho lộ trình thực hiện AA của Ethereum, thậm chí có thể nói, giải pháp AA của Ethereum không giúp hệ thống tài khoản vượt qua các chuỗi công khai mới ra đời sau, mà chỉ đơn thuần là thu hẹp khoảng cách giữa hai bên. Nếu một chuỗi công khai ngay từ đầu đã cân nhắc kỹ lưỡng thiết kế tài khoản, 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 hệ EVM, Nervos ngay từ khi thiết kế đã suy xét sâu sắc về hệ thống tài khoản. Sau nghiên cứu, chúng tôi cho rằng hệ thống tài khoản của Nervos thiên về tầng底层 và bản chất của AA; mô hình tài khoản UTXO cùng OmniLock hỗ trợ đa dạng phương thức xác thực từ đầu đến cuối đều phù hợp sâu sắc với mục tiêu của AA, không mang gánh nặng lịch sử, tự nhiên hỗ trợ hệ thống tài khoản của BTC, ETH thậm chí cả Solana và các chuỗi khác.

Hơn nữa, đối với xu hướng BTCFi gần đây, vốn nhằm đưa tài sản Bitcoin gốc vào các trường hợp DeFi, để người dùng Bitcoin có trải nghiệm sản phẩm liền mạch, việc tương thích với các ví Bitcoin và cơ sở hạ tầng phổ biến là cần thiết. May mắn thay, giải pháp AA gốc của CKB đạt được điều này một cách tự nhiên, tạo điều kiện cần thiết cho việc áp dụng BTCFi ở quy mô lớn.
Sau đây, chúng ta sẽ phân tích hệ thống tài khoản trừu tượng của Nervos từ nhiều góc độ như triết lý thiết kế, kiến trúc hệ thống, ứng dụng và hệ sinh thái.
UTXO Bitcoin và Mô hình Cell của Nervos
Hầu hết mọi người đều biết rằng các chuỗi công khai dựa trên mô hình UTXO không lưu trữ dữ liệu theo cấu trúc "tài khoản - số dư", mà dùng một hình thức độc đáo. Cụ thể, UTXO giống như vàng, có thể bị nấu chảy hoặc đúc lại; mỗi giao dịch sẽ phá hủy các UTXO cũ và tạo ra UTXO mới. Ngoài ra, dữ liệu UTXO không được lưu tại một địa chỉ tập trung nào, mà phân tán trong giao dịch đã tạo ra nó, buộc phải đọc dữ liệu khối trước đó mới tìm thấy được.
Đọc thêm: Gần gũi BTC: Kiến thức nền cần thiết để hiểu BitVM (1)

Không ngoa khi nói rằng Bitcoin đã mở ra một phạm式 lưu trữ khác biệt so với mô hình "tài khoản - thông tin" truyền thống của Web2, giải quyết được các vấn đề như bùng nổ trạng thái, hiệu suất đọc/ghi dữ liệu thấp và quyền sở hữu mập mờ. Trong mô hình UTXO, vị trí lưu trữ dữ liệu tài sản và phân chia quyền sở hữu giữa các cá nhân rất rõ ràng, thuận lợi cho xử lý song song, đồng thời dễ dàng hỗ trợ các chức năng như thuê lưu trữ, tránh được nhiều điểm yếu của hệ thống tài khoản truyền thống.
Hệ thống tài khoản của chuỗi công khai Nervos ngay từ khi thiết kế đã tiếp thu đầy đủ ưu điểm của UTXO Bitcoin, mô hình Cell thực chất là phiên bản nâng cấp của UTXO Bitcoin, cung cấp khả năng lập trình hoàn chỉnh Turing. Hơn nữa, cả CKB lẫn các tài sản khác đều được coi là tài sản hạng nhất, không bị phân biệt đối xử như tài sản gốc và ERC-20 trên các chuỗi EVM.
Cơ chế vận hành của Cell trên CKB về cơ bản giống với UTXO Bitcoin: đều được điều khiển bởi "khóa mã hóa" (locking script) và "giải mã" (unlocking script). Mỗi UTXO/Cell khi được tạo ra sẽ có một "khóa mã hóa", giống như ổ khóa mật khẩu; "giải mã" là chìa khóa tương ứng, dùng để mở khóa. Chỉ cần bạn nộp đúng "chìa khóa" tương ứng với "khóa", UTXO liên quan sẽ do bạn tùy ý sử dụng.

Tuy nhiên, khác với UTXO Bitcoin, Cell bổ sung thêm trường "TypeScript" trên khóa mã hóa. Nếu LockScript là bộ xác thực danh tính, quyết định ai có quyền sửa đổi Cell này, thì TypeScript chính là hợp đồng thông minh gắn liền với Cell, nơi có thể triển khai mã DEX, giao thức cho vay.

Nếu nhà phát triển muốn triển khai một nhóm thanh khoản AMM trên CKB, họ chỉ cần viết mã hợp đồng vào trường TypeScript của một Cell chuyên dụng, rồi lưu trữ trạng thái nhóm thanh khoản (ví dụ: số dư các loại tài sản trong nhóm) vào trường Data của Cell này. Sau đó, người dùng chỉ cần tương tác với mã trong TypeScript.
Thiết kế này của CKB mở rộng mô hình UTXO Bitcoin sang nhiều trường hợp phong phú hơn, khả năng lập trình mạnh mẽ hơn nhiều. Vì CKB sử dụng máy ảo RISC-V, hỗ trợ chương trình viết bằng nhiều ngôn ngữ lập trình, nên logic hỗ trợ được vượt xa Bitcoin.
Về phần khóa mã hóa LockScript của Cell, thì liên quan trực tiếp đến chủ đề chính hôm nay là AA. Một đặc điểm lớn mà AA theo đuổi là cho phép tài khoản trên chuỗi hỗ trợ nhiều phương thức xác thực linh hoạt. Với UTXO, để đạt được chức năng này, cần cải tiến LockScript – thành phần đóng vai trò xác thực danh tính. CKB đã phát triển riêng script OmniLock chuyên hỗ trợ nhiều phương án xác thực khác nhau.
Sau đây hãy tìm hiểu chi tiết thiết kế của OmniLock.
OmniLock và Tài khoản Trừu tượng
Như đã đề cập trước đó, quyền sử dụng Cell của CKB và UTXO Bitcoin đều do khóa mã hóa định nghĩa, LockScript xác định ai có quyền sửa đổi Cell này, đóng vai trò xác thực danh tính. Để hỗ trợ nhiều phương pháp xác thực, CKB cung cấp OmniLock – một khóa mã hóa tổng quát, có thể tương thích với nhiều thuật toán chữ ký và cơ chế xác thực khác nhau.

OmniLock xử lý các logic xác thực khác nhau theo kiểu mô-đun; chỉ cần đặt các tham số khác nhau, có thể linh hoạt cấu hình các thuật toán xác thực. Người dùng có thể dùng tài khoản, ví hoặc phương thức xác thực BTC, ETH hay thậm chí WebAuthn... để trực tiếp thao tác tài sản trên chuỗi CKB.
Vậy OmniLock được triển khai và sử dụng cụ thể như thế nào? Về cơ bản, OmniLock là đoạn mã được chính Nervos triển khai sẵn trên chuỗi CKB, nằm trong một Cell cụ thể, có thể được các Cell khác sử dụng — giống như "hợp đồng hệ thống" trên các chuỗi EVM. Khi một Cell muốn dùng OmniLock, chỉ cần khai báo tham chiếu đến OmniLock trong khóa mã hóa của mình.
Sau đây hãy dùng một đoạn mã giả để hiểu nguyên lý hoạt động của khóa mã hóa và OmniLock.
Khóa mã hóa của CKB gồm ba trường: Code hash, hash type và Args. Vì Code hash và hash type ít liên quan đến nội dung phần này nên sẽ không giải thích. Sau đây tập trung vào trường Args, bằng cách cấu hình linh hoạt Args, có thể sử dụng các thuật toán xác thực khác nhau được định nghĩa sẵn trong OmniLock.

Nội dung trong trường Args có thể chia làm hai phần. Phần đầu là auth, dùng riêng cho xác thực danh tính, dài 21 byte, gồm 1 byte cờ định danh (flag) và 20 byte dữ liệu xác thực. Dữ liệu xác thực trong auth chứa một hàm băm khóa công khai được đặt trước, chỉ chủ sở hữu khóa công khai tương ứng mới vượt qua xác thực danh tính, có tư cách sửa đổi dữ liệu trong Cell.
Cờ trong auth là một định danh dùng để chọn phương thức xác thực khác nhau. Các phương thức này không chỉ giới hạn ở xác minh chữ ký mật mã học, mà còn bao gồm các quy trình xử lý thông tin tổng hợp: ví dụ flag 0x01 đại diện cho phương thức xác thực tin nhắn ngoài chuỗi Ethereum. Ngoài Ethereum, OmniLock còn hỗ trợ nhiều hình thức xác minh tin nhắn phong phú như Bitcoin, Dogecoin, Tron, đa ký...
Phần thứ hai trong Args gọi là Omnilock args, giống như một nút bấm, cho phép lựa chọn các chế độ chức năng được thiết lập sẵn trong OmniLock, ví dụ: chế độ quản trị viên (như chức năng đóng băng USDT), chế độ anyone-can-pay dành cho thanh toán nhỏ (dùng cho quyên góp nhỏ), chế độ khóa thời gian... Tóm lại, chỉ cần điều chỉnh Omnilock args, 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 trường Auth và Omnilock args của khóa mã hóa Cell để chọn các phương pháp xác thực danh tính từ các chuỗi hoặc nền tảng khác nhau, từ đó mang đến nhiều phương thức xác thực đa dạng cho CKB. Tất nhiên, ngoài các phương thức xác thực định nghĩa sẵn trong OmniLock, nhà phát triển cũng có thể tự định nghĩa phương án xác thực riêng.

Hệ sinh thái tài khoản trừu tượng Nervos: CCC, Mobit và JoyID
Chúng ta đã biết OmniLock là nền tảng để Nervos thực hiện tài khoản trừu tượng. 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 nên hệ sinh thái tài khoản trừu tượng BTCFi phong phú của Nervos. Ngoài ra còn có nền tảng DID Did.id cung cấp bảo vệ an toàn riêng tư và dịch vụ quản lý danh tính, sàn giao dịch tài sản Dobs phi tập trung Dobby...
Tính năng tốt đẹp của AA mang lại tiện ích lớn cho các ứng dụng hệ sinh thái BTCFi, cho phép các dự án trong hệ sinh thái CKB tương tác trực tiếp với ví BTC, giảm ngưỡng sử dụng. Sau đây, chúng ta sẽ khảo sát hệ sinh thái AA của CKB thông qua các ví dụ cụ thể.

Common Chains Connector (CCC)
Đầu tiên lấy CCC làm ví dụ — đây là phần mềm kết nối ví trung gian, chuyên cung cấp khả năng thao tác từ các chuỗi công khai đến CKB cho ví và dApp.
Hình dưới là cửa sổ kết nối CCC. Lấy MetaMask làm ví dụ: nếu bạn có một tài khoản Ethereum, làm sao để thao tác tài khoản tương ứng trên chuỗi CKB?

Khi dùng CCC thực hiện giao dịch trên chuỗi CKB, demo này sẽ gọi phương pháp personal_sign của ví MetaMask để ký, phương pháp này dùng để ký một đoạn tin nhắn văn bản không lên thẳng chuỗi.
Chúng ta có thể thấy nội dung tin nhắn gồm một loạt mã thập lục phân của giao dịch CKB. Tin nhắn đã ký qua MetaMask sẽ được gửi lên chuỗi Nervos CKB và được xác minh thông qua các cơ chế như OmniLock.

Như đã nói trước đó, Nervos bản thân đã hỗ trợ xác minh định dạng tin nhắn Ethereum, có thể nói CKB từ tầng底层 đã tính toán sẵn việc kết nối với hệ sinh thái chuỗi khác. Đối với người dùng, bạn có thể dùng cổng vào và công cụ quen thuộc để bước vào hệ sinh thái CKB;
Đối với nhà phát triển, Nervos đã định nghĩa sẵn tiêu chuẩn OmniLock ở tầng底层, đồng thời qua CCC trừu tượng hóa chi tiết triển khai ví đa chuỗi, giảm đáng kể độ khó phát triển, giúp nhà phát triển ứng dụng tầng trên tập trung tốt hơn vào logic nghiệp vụ mà không cần quá lo lắng về chi tiết底层.
Mobit
Mobit là nền tảng quản lý danh tính (DID) và tài sản dựa trên Nervos. Nếu dùng ẩn dụ, Mobit giống như cánh cửa dẫn vào hệ sinh thái Nervos, nhưng ngưỡng vào rất thấp. Nhờ Mobit, người dùng gần như không cần bất kỳ kiến thức nền tảng nào, chỉ cần vài thao tác đơn giản là có thể dùng tài khoản từ chuỗi công khai khác để tương tác trong hệ sinh thái Nervos.
Hình dưới là cửa sổ kết nối Mobit. Có thể thấy hiện tại Mobit đã hỗ trợ hệ thống tài khoản của nhiều chuỗi công khai hàng đầu, và danh sách này vẫn đang mở rộng.

Vẫn lấy ví dụ MetaMask. Giao diện sau khi kết nối cũng hiển thị địa chỉ EVM và CKB của người dùng, đồng thời hiển thị các token và tài sản DOBs mà địa chỉ này nắm giữ trên chuỗi CKB.

Giải thích đôi chút về DOBs — đây là tài sản đặc trưng trong hệ sinh thái Nervos, tương tự NFT nhưng khác bản chất. Trước hết, dữ liệu DOBs được lưu trữ đầy đủ trên chuỗi, có thể coi là "NFT toàn chuỗi", trong khi nhiều NFT Ethereum không lưu trữ dữ liệu đầy đủ trên chuỗi;
Hơn nữa, mỗi DOBs đều có thể thiết lập Chatbot, tương tác hội thoại với người sở hữu. Theo các con đường nuôi dưỡng khác nhau của từng người sở hữu, mỗi DOBs sẽ có sự khác biệt cá nhân rõ rệt hơn nhiều so với NFT truyền thống.
Omiga là sàn giao dịch DOBs trong hệ sinh thái Nervos, người dùng có thể chuyển trực tiếp từ giao diện Apps của Mobit.

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

Mobit thao tác đơn giản, chức năng toàn diện, sẽ rất hữu ích cho tương tác BTCFi. Bản chất BTCFi là mang trải nghiệm DeFi đa dạng cho tài sản Bitcoin gốc, việc có tương thích với các ví Bitcoin phổ biến hay không sẽ là yếu tố quan trọng mà cơ sở hạ tầng BTCFi cần cân nhắc, và CKB hiện đã sẵn sàng.
Việc áp dụng WebAuthn
WebAuthn là một tiêu chuẩn mạng do Liên minh World Wide Web (W3C) và Liên minh FIDO (Fast IDentity Online) cùng phát triển, mục tiêu nâng cao tính an toàn xác thực người dùng, đơn giản hóa quy trình đăng nhập, giảm phụ thuộc vào mật khẩu hoặc khóa riêng truyền thống.
Một số hệ điều hành chính như iOS và Android có phần mềm quản lý khóa tích hợp, có thể dùng module bảo mật cục bộ hoặc lưu trữ đám mây để lưu khóa và ký. Hiện tại, WebAuthn trong thực tiễn chủ yếu hỗ trợ P-256, P-384, P-521... Do OmniLock của Nervos hỗ trợ các nguyên thủy mật mã học tùy chỉnh, nên cũng có thể bao phủ các thuật toán này.
Dưới đây là một số client hỗ trợ WebAuthn:
-
Apple KeyChain:
-
Security Enclave: thiết bị Apple dùng Secure Enclave để xử lý các thao tác mã hóa then chốt, bao gồm lưu trữ khóa riêng và ký.
-
iOS và macOS: hệ thống Apple có thể dùng API Khay khóa (Keychain) để xác thực và ký, hoặc dùng Face ID hoặc Touch ID để xác minh người dùng.
-
Windows Hello:
-
TPM (Trusted Platform Module): thiết bị Windows có thể dùng TPM thông qua Windows Hello để tạo khóa riêng và ký.
-
Xác thực sinh trắc học: Windows Hello hỗ trợ nhận dạng vân tay và khuôn mặt để xác minh danh tính người dùng.
-
Android Keystore: thiết bị Android có thể dùng module bảo mật phần cứng để lưu khóa và ký, xác thực qua đặc điểm sinh học (vân tay hoặc khuôn mặt).
-
Ubisoft Security Keys: thiết bị khóa bảo mật phần cứng như YubiKey, hỗ trợ xác thực và ký an toàn qua USB hoặc NFC.
Ví JoyID trong hệ sinh thái CKB là ứng dụng được xây dựng dựa trên công nghệ WebAuthn. Qua JoyID, người dùng có thể trực tiếp xác thực danh tính bằng sinh trắc học (vân tay hoặc khuôn mặt), đạt được trải nghiệm đăng nhập và quản lý danh tính liền mạch, an toàn cao.

.bit trong hệ sinh thái Nervos cũng là một ví dụ sử dụng WebAuthn của Apple để đăng nhập và sử dụng blockchain.

Từ các ví dụ trên, có thể thấy giải pháp AA của CKB tự nhiên hỗ trợ người dùng từ các chuỗi khác và Web2. Đối với đông đảo người dùng Web2, việc hỗ trợ WebAuthn là vô cùng quan trọng, giúp thoát khỏi gánh nặng quản lý khóa riêng và cụm từ khôi phục, giảm đáng kể ngưỡng sử dụng. Chuỗi công khai nào càng sớm đầu tư vào hướng này sẽ càng có lợi thế trong tương lai.
Tổng kết
Ethereum bị giới hạn bởi gánh nặng lịch sử, các giải pháp AA hiện tại chủ yếu chữa bệnh triệu chứng chứ không trị tận gốc, không thể giải quyết vấn đề từ cội nguồn; trong khi Nervos từ khi khởi chạy mainnet đã tính toán đầy đủ về thiết kế hệ thống tài khoản, cung cấp chức năng OmniLock, hỗ trợ mọi hình thức xác thực danh tính.
Mô hình Cell của Nervos thực chất là mở rộng chức năng UTXO Bitcoin, khóa mã hóa của nó hỗ trợ nhiều thuật toán xác minh chữ ký, OmniLock hoạt động như hợp đồng hệ thống, cho phép mọi Cell trực tiếp gọi trong khóa mã hóa, mang lại trải nghiệm ở cấp độ Web2 cho nhà phát triển và người dùng;
Hiện tại hệ sinh thái tài khoản trừu tượng Nervos đã có các sản phẩm như CCC, Mobit, JoyID... cơ bản khá đầy đủ;
BTCFi về bản chất là mang trải nghiệm DeFi đa dạng cho tài sản Bitcoin gốc, khả năng tương thích với ví Bitcoin phổ biến sẽ là yếu tố quan trọng mà cơ sở hạ tầng BTCFi cần cân nhắc, và CKB với tư cách là cơ sở hạ tầng quan trọng trong hệ sinh thái BTCFi, đã áp dụng cách tiếp cận cởi mở, cố gắng tạo điều kiện cần thiết cho việc áp dụng đại trà BTCFi từ cả phía nhà phát triển lẫn người dùng.
Chào mừng tham gia cộng đồng chính thức TechFlow
Nhóm Telegram:https://t.me/TechFlowDaily
Tài khoản Twitter chính thức:https://x.com/TechFlowPost
Tài khoản Twitter tiếng Anh:https://x.com/BlockFlow_News














