CKB

微信扫码分享

CKB (Nervos Common Knowledge Base)

Nervos CKB (Common Knowledge Base) 是一个开放的、Layer 1 的公有区块链,旨在作为比特币生态的“扩展引擎”,提供图灵完备的智能合约平台,同时尽可能地继承比特币的安全性。CKB 不仅仅是一个比特币的 Layer 2,而是一个具有独特 Cell 模型和 PoW 共识机制的独立区块链,其设计哲学深受比特币 UTXO 模型的启发。

要解决的问题

比特币在提供去中心化和安全性方面表现卓越,但其脚本语言的限制使其难以支持复杂的智能合约和高性能去中心化应用。CKB 旨在解决:

  1. 比特币的可编程性局限:在不修改比特币核心协议的情况下,如何为比特币生态带来图灵完备的智能合约能力。
  2. 资产的通用性与安全性:提供一个平台,使得任何类型的资产(不仅仅是 BTC)都能以高安全性、高去中心化的方式发行、管理和使用。
  3. 开发者灵活性:支持多种编程语言和虚拟机,降低智能合约开发的门槛。
  4. 未来证明的架构:构建一个足够灵活的底层架构,能够适应未来各种技术发展(如 ZKP、侧链等)。

实现机制与原理

CKB 的核心创新在于其Cell 模型通用知识库的设计理念。

Cell 模型

CKB 的 Cell 模型是比特币 UTXO 模型的一种泛化。

  • UTXO 的泛化:比特币的 UTXO 存储的是未花费的比特币数量,而 CKB 的 Cell 可以存储任意类型的数据,包括代币、智能合约代码、状态数据等。每个 Cell 都有一个“lock script”(所有权脚本)和一个可选的“type script”(类型脚本)。
  • 所有权与类型lock script 定义了谁可以解锁并花费这个 Cell(类似比特币的 P2PKH),type script 则定义了 Cell 的行为和状态(类似智能合约)。
  • 状态隔离:每个 Cell 的状态都是隔离的,Cell 的输入和输出通过交易来更新,这使得并发处理和状态管理变得高效。

通用验证层与虚拟机

CKB 被设计为一个通用验证层(Common Knowledge Base)。这意味着它不强制用户使用特定的编程语言或虚拟机,而是通过一个高度抽象的 RISC-V 架构的 CKB-VM,支持多种高级语言(如 Rust, Go, JS)编译成的机器码执行。

PoW 共识与经济模型

  • 工作量证明:CKB 采用与比特币类似的 PoW 共识机制,以确保其高度的去中心化和抗审查性。
  • 代币经济:CKB 的原生代币是 CKBytes (CKB)。CKBytes 不仅用于支付交易费用,更重要的是,它代表了 CKB 链上的状态存储空间。持有 1000 CKB 意味着你可以在 CKB 上存储 1000 字节的数据。这种设计将区块链的“土地”所有权与代币价值紧密结合,激励用户高效利用链上空间。

与比特币的同构绑定 (Homomorphic Binding)

CKB 通过如 RGB++ 协议等机制,可以实现与比特币 UTXO 的同构绑定。这意味着比特币上的 UTXO 可以与 CKB 上的 Cell 建立强关联,使得比特币原生资产能够在 CKB 上进行复杂的智能合约操作,同时继承比特币的安全性。

主要特点

  • 极高的灵活性:Cell 模型和通用的 CKB-VM 使得 CKB 能够支持几乎任何类型的资产和智能合约,包括比特币原生资产的扩展。
  • 强大的安全性:通过 PoW 共识和与比特币同构绑定的潜力,CKB 旨在提供与比特币相似的安全保障。
  • 分层架构:CKB 专注于作为 Layer 1 的安全性和数据可用性层,而更上层的 Layer 2 或 DApps 可以构建在其之上。
  • UTXO 哲学:继承和泛化了比特币 UTXO 的优点,如状态隔离、确定性等。
  • 状态租金机制:CKB 代币持有者拥有存储空间,激励用户清理废弃状态,维持网络高效。

<h2>推荐阅读</h2>

相关概念

  • Cell 模型
  • CKB-VM (RISC-V)
  • PoW (工作量证明)
  • 同构绑定 (Homomorphic Binding)
  • RGB++
  • 比特币 UTXO