Cell + CKB-VM 到底厉害在哪里

要想理解 Cell 和 CKB-VM 其实需要了解一定得背景知识,以及对上一代公链,包括 Bitcoin 和 Ethereum 的技术架构,它们解决的问题和它们所面对的新问题到底是什么,才能理解 Cell / CKB-VM 为什么在文档中这么强调灵活性作为最大的特点。

Bitcoin 的底层开创性的使用 UTXO 作为账本模型,实现了每一份 UTXO(可花费得资产)都可以被编程,但是其缺点是比特币的 UTXO 账本模型支持比特币着一种类型资产,无法发行自定义资产,以及比特币的脚本功能并不强大,不足以支撑商业开发。

以太坊没有使用比特币的 UTXO 账本模型,取而代之的是用了抽象层级更高的 Account 模型,并引入了图灵完备的虚拟机 EVM,并开启了智能合约时代。一方面 Account 模型模拟的是用户的账户,对智能合约对账户编程友好,通过智能合约操纵账户,然后通过账户来编程资产其实带来很多问题,举个例子,当两个人持有同一种 ERC20 资产时,此时这两个人的资产其实是被一个 ERC20 合约来聚合管理的,这就给资产编程的灵活性带来挑战。以太坊的另外一个问题是 EVM 对密码学原语的支持有限,只支持以太坊平台上使用的一些常见加密和哈希算法,无法由用户自定义或者添加新的加密算法,这给第三方垮链到以太坊带来巨大的挑战。

这里有一份 UTXO 模型和 Account 模型对比的文章 https://talk.nervos.org/t/utxo-account/2961

从比特币到以太坊,我们希望一个更好的资产编程方案:

  1. 类 UTXO 这样细粒度的资产可编程账本模型,并能支持自定义资产,可以直接面向资产编程
  2. 功能完备的虚拟机,可以实现任意的资产编程能力
  3. 丰富的密码学原语支持,用户可以方便的在链上增加新的密码学算法而无需全网硬分叉

如果实现了上面三点,则可以对资产编程能力带来跨越式提升,Cell 模型解决了问题 1,而 CKB-VM 解决了 2,Cell + CKB-VM 组合解决了问题 3。

此外,Cell + CKB-VM 还带来一些新的特点,包括

  • 通过 Cell 可以实现更好的资源定价模型,支撑一个更完善的经济模型设计,并合理的使用经济手段解决了状态爆炸问题
  • 资产状态的计算和验证可分离,资产的计算可以迁移到链下,验证在链上
  • CKB-VM 指令集的设计采用最新的工业标准,背后有非常成熟强大的产业支撑
  • CKB-VM 的指令集定价,以及执行过程的费用计算稳定,并且执行过程完全透明可观察分析
  • Cell + CKB-VM 组合,可以非常方便的支持各种其他链跨链到 CKB,以及把业务推到上层 layer 2 层执行,最后在底层 Layer 1 完成清算这套新的应用编程范式