CKB 技术架构概览
文章目录
CKB(Common Knowledge Base,公共知识库)是 Nervos Network 的 Layer 1 公链,2019 年 11 月主网上线。与以太坊的账户模型、比特币的纯价值 UTXO 不同,CKB 的核心设计是:用 Cell 承载任意链上状态,用 RISC-V 虚拟机验证状态转换,把计算尽量推到链下,链上专注验证与安全。
本文从分层定位、状态模型、虚拟机、共识与经济模型几方面,梳理 CKB 的技术架构。
1. 分层定位:通用验证层
区块链设计里,安全性、去中心化和可扩展性往往难以在同一层同时做到极致。Nervos 采用多层架构:
- Layer 1(CKB):优先保证安全与去中心化,作为资产与状态的最终存储与验证层
- Layer 2 及更高层(如 Godwoken、Axon 等):承担大量计算与业务逻辑,将结果提交到 CKB 验证
CKB 因此常被称为 Universal Verification Layer(通用验证层):链下或 L2 的 Generator 负责生成新状态,CKB 节点只验证「这次状态转换是否合法」,而不在 L1 上执行全部业务计算。
|
|
2. Cell 模型:可编程的 UTXO
CKB 的状态单元叫 Cell,可以理解为「带数据和脚本的 UTXO」:
| 概念 | 说明 |
|---|---|
| Cell | 链上状态的基本容器,持有 CKB 代币和任意字节数据 |
| 消费(Consume) | Cell 不可就地修改;更新状态需消费旧 Cell、创建新 Cell |
| Lock Script | 定义「谁可以用」——访问控制,类似 Bitcoin 的 locking script |
| Type Script | 定义「怎样用才合法」——状态转换规则,类似智能合约逻辑 |
一笔 CKB 交易与 Bitcoin 类似,采用 输入 / 输出 结构:输入引用并解锁已有 Cell,输出生成新的 Cell。验证节点对每个输入执行 Lock Script 和 Type Script,全部通过则交易有效。
Cell 模型的几个特点:
- 状态与资产同构:Cell 既代表价值(CKByte),也代表存储空间
- 并行友好:无全局账户状态树争用,不同 Cell 可并行验证
- 链下计算、链上验证:复杂逻辑在客户端或 L2 执行,链上只跑脚本验证
3. CKB-VM:RISC-V 虚拟机
CKB 的智能合约以 Script 形式存在,在 CKB-VM 中执行。CKB-VM 基于开源 RISC-V 指令集,而非为某条链定制的私有 opcode。
设计取舍:
- 标准 ISA:复用成熟的 RISC-V 工具链与生态,可用 C、Rust 等编译到 RISC-V 的 language 开发合约
- 密码学原语不硬编码:哈希、签名等通过普通汇编/库在 VM 内实现,保持 VM 精简
- Syscall:脚本通过系统调用读取交易、Cell 数据、区块头等链上上下文
- Cycle 计量:每条指令消耗 cycle,用于限制执行时间并计算手续费
Script 执行成功返回 0,失败则交易被拒绝。Lock Script 与 Type Script 分别在解锁与类型校验阶段运行。
4. 共识:NC-MAX + Eaglesong PoW
CKB 使用 工作量证明(PoW),哈希算法为 Eaglesong,共识协议为 NC-MAX(Nervos Consensus MAX)。
NC-MAX 在 Bitcoin 中本聪共识基础上改进,目标是在不牺牲安全与去中心化的前提下,缩短确认时间、提高吞吐。主网出块间隔约 10 秒。
| 属性 | 值 |
|---|---|
| 共识 | NC-MAX(Eaglesong PoW) |
| 出块时间 | ~10 秒 |
| 原生代币 | CKByte(CKB),最小单位 Shannon(1 CKB = 10⁸ Shannon) |
| 地址格式 | Bech32(主网 ckb1...,测试网 ckt1...) |
5. 经济模型:存储即价值
CKB 代币 CKByte 具有双重含义:
- 价值载体:转账、支付手续费
- 存储配额:1 CKB 对应链上 1 字节状态的占用权(「1 CKB = 1 byte」)
用户要在链上长期保存数据,需要持有相应数量的 CKB。这种 状态导向的经济模型 鼓励释放不再使用的状态(将 Cell 中的 CKB 取回),缓解状态膨胀问题。
交易手续费由矿工根据交易所消耗的 cycle 和占用的 链上存储 综合决定。
6. 节点与网络
CKB 节点通过 P2P 网络同步区块与交易。典型组件包括:
- Full Node:完整验证区块与交易,维护链状态
- Miner:打包交易、参与 PoW 出块
- Light Client:轻量同步,依赖全节点提供证明
官方实现:nervosnetwork/ckb(Rust)。
7. 与以太坊/Bitcoin 的对比(简要)
| 维度 | Bitcoin | Ethereum | CKB |
|---|---|---|---|
| 状态模型 | UTXO(仅价值) | 账户 + 全局状态 | Cell(价值 + 任意数据) |
| 合约执行 | Script(非图灵完备) | EVM(链上执行) | CKB-VM(链上验证为主) |
| 共识 | PoW | PoS(The Merge 后) | PoW(NC-MAX) |
| 扩展思路 | L2 / 闪电网络 | Rollup、分片等 | 分层 + 链下 Generator |
8. 进一步阅读
CKB 的架构选择可以概括为:PoW 保障 L1 安全,Cell 模型灵活表达状态,RISC-V VM 提供可验证的计算边界,代币经济绑定存储成本,计算则交给 L2 与链下。 理解这几块,就掌握了阅读 CKB 生态其他组件(钱包、dApp、L2 协议)的基础。
文章作者 丛文
上次更新 2026-08-26