兄弟们,大家好,今天给大家详细介绍一下CKB,相信很多人对它并不陌生。
CKB 是 Nervos Network 的底层 L1 区块链,其运行方式与比特币类似,采用工作量证明(PoW)共识机制。它使用比特币算法的升级版 NC-MAX,通过加快交易确认时间和降低孤块率来提高网络效率和响应速度。比特币以 10 分钟的区块间隔为目标,大约每两周调整一次挖矿难度。而 CKB 会根据网络活动的变化动态调整区块间隔(大约每四小时一次),从而优化性能。
Nervos Network 是比特币可扩展性解决方案之一,它采用了更原生的方式,修改了支撑比特币的 UTXO 模型。它改进了 RGB 协议,在无需跨链桥的情况下为比特币提供图灵完备的合约能力。
CKB 使用了 Eaglesong 函数来确保网络的安全,这是一种 ASIC 中立的定制型哈希函数,可替代广泛使用的 SHA256 哈希函数。Eaglesong 是一种海绵函数,对多个加密元素进行了优化,可提供与其他工作量证明(PoW)哈希函数同等级别的安全性,同时专门为 Nervos Network 量身定制。
Cell 模型是 $CKB 数据结构的核心,可以在链上存储和验证任何数据。比特币原始的脚本语言和 UTXO 模型限制了其执行智能合约所需的复杂计算的能力。相比之下,CKB 对 UTXO 模型进行了一般化处理,允许更灵活的数据存储和验证。与使用单一脚本验证交易的比特币不同,CKB 在其 Cell 模型中引入了双脚本:
(1)Lock Script(锁定脚本)确保只有授权用户可以访问和使用 Cell 中的内容,与比特币类似。
(2)Type Script(类型脚本)是可选的脚本,用于设定在未来交易中如何使用或更改 Cell 的规则。
CKB-VM 是 CKB 的执行引擎,#CKB助力比特币生态 用于运行智能合约和去中心化应用程序。该虚拟机使用 RISC-V 指令集,这是一种灵活、简单的开源硬件架构集(ISA),支持多种编程语言,包括 C 和 Rust 等流行语言。这种广泛的兼容性使 CKB-VM 有别于通常仅限于特定语言的其他区块链的虚拟机,向更广泛的开发者社区开放。CKB 网络还支持 JavaScript、Rust、Go 和 Java 等主流语言的 SDK,方便开发者使用熟悉的工具进行开发。这使得开发人员更容易使用熟悉的编程语言创建复杂的去中心化应用。
CKB 利用 RGB++ 协议扩展比特币,该协议是一种资产发行标准,可在 CKB 上扩展比特币的功能。RGB++ 协议可实现复杂的智能合约和资产管理操作,而这在比特币网络上通常是不可能实现的。最初的 RGB 协议是一个 L2 解决方案,目的是在不改变比特币主网的情况下,为比特币实现智能合约和资产发行。它通过将资产绑定到特定的比特币 UTXO,使这些资产可以随着 UTXO 本身的转移而转移。RGB 协议主要依赖客户端验证,交易在链下处理和验证,从而减少了比特币网络的负载。然而,这种方法也有局限性,比如数据可用性方面的潜在问题 — — 由于数据不存储在链上,因此在需要时可能无法随时访问。此外,对客户端验证的依赖增加了复杂性,可能会影响用户体验。
截至写文,已有 92 亿枚 CKB 代币存入 Nervos DAO。CKB 的存入流通比为 20.84%,在过去两年中一直呈下降趋势。这种下降趋势可能是因为 CKB 上的未花费 Cell 数量不断增加。
随着人们对比特币原有功能之外的可扩展性和功能的需求不断增长,比特币 L2 市场也在持续发展。各种 L2 解决方案,如闪电网络、侧链和 Rollup,旨在通过将交易移出主链来解决这些问题,从而在不影响安全性的情况下提高比特币的吞吐量。然而,这些解决方案往往会带来新的复杂性和安全挑战。Nervos 的与众不同之处在于通过 RGB++ 扩展了 RGB 协议。RGB++ 为比特币提供了原生扩展,集成了与比特币 UTXO 模型直接相关的更深层次的智能合约功能。这些功能反过来又促进了比特币实用性更加无感、更加安全的扩展。此外,将支付通道网络与闪电网络连接在一起的工作正在进行中,这将使 CKB 更具可扩展性,适用于许多区块链应用。