一文了解提出 RGB++ 协议的比特币二层:CKB

原文:https://medium.com/@NervosCN/%E4%B8%80%E6%96%87%E4%BA%86%E8%A7%A3%E6%8F%90%E5%87%BA-rgb-%E5%8D%8F%E8%AE%AE%E7%9A%84%E6%AF%94%E7%89%B9%E5%B8%81%E4%BA%8C%E5%B1%82-ckb-08594fc017e9

作者:Nervos中文站

自比特币上的 Ordinals & 铭文问世以来,为比特币网络带来了进一步的流量和关注。虽然 Ordinals 这类协议大大提高了比特币网络的可编程性,但本质也只是 “巧用” 了比特币脚本中 “op_if” 的操作码,带来了这些新型的资产发行方式。而比特币本质上只是一个去中心化的账本系统,它的脚本系统不具备图灵完备性,这些资产除了换手交易无处可应用。因此,为了进一步让比特币生态得以发展繁荣,探索寻找适合比特币网络智能合约开发的 L2 方案,便刻不容缓。

目前比特币 L2 方案的类别大致有状态通道(如闪电网络)、侧链(如 Liquid,梅林)、Rollup(如 Rollkit)、客户端验证(如 RGB,RGB++,Taro)等。其中最有名的就是闪电网络了,在扩展性、安全性以及隐私等方面可以说是非常优秀的选择,不过目前来看进展相对缓慢。

因此,鉴于当前的市场热度与趋势,或许我们这里可以将当前的比特币 L2 阵营暂归纳为两类:

  • EVM 阵营:如当前质押空投火热的梅林,B²

  • UTXO 阵营:以 UTXO模型为基础进行衍生的一派,如提出 RGB++ 的 CKB

对于 EVM 阵营,其实更多的是采用侧链技术,即在比特币网络之外搭建一条侧链,通过跨链桥将 BTC 以及 EVM 链上的资产跨到 L2 上,在性能上能有较大改进,但无法达到 BTC 主网的安全性。同时借助质押空投的运营和用户对 EVM 以及相关 L2 技术的熟悉,比较容易捕获用户心智与市场份额。

对于 UTXO 阵营,则属于比较原生的技术流派,如本文重点剖析的主角 CKB 便是该赛道的热门选手,近期也提出了 RGB++扩展协议。不过虽说 UTXO 阵营可能在技术上是相对原生同构的,但是也正因为如此,这种技术以及概念上的理解门槛,让很多人难以了解这类设计的优势,本文便结合 CKB 这条 UTXO 公链以及其相关比特币 L2 的技术路线,为大家讲解这一类型的比特币 L2 方案。

技术背景科普

UTXO 模型和账户模型

账户模型比较好理解,就如银行账户一样,账户里的资金总量直观显示为一个整体余额,系统只需要跟踪用户账户的余额变化,这是目前大多数公链所采用的模型,如以太坊等。

而 UTXO 模型则更贴近现金钞票交易的场景,如你目前手头有很多不同面额的钞票。每一张钞票都可以看作是一个 UTXO,即一笔你可以使用的钱。类比到比特币这样的系统里,当你收到别人转账的比特币,这笔钱就像是钱包里的一张新钞票,你还没用它来支付别的东西,所以它是「未花费的/Unspent Transaction Output」。当你进行交易时,如使用 100 元购买了 40 元的物品后,会找零 60 元。这类比到比特币系统中,便是你使用了你当前未花费的 UTXO(100 元)创建为两个新的 UTXO,一个支付给物品(40 元),一个找零给自己(60元)。ps:理解 UTXO 模型,是理解 RGB 以及后续内容的关键。

RGB

简单来讲,我们可以说 Ordinals 序数是将本来同质化的比特币最小的货币单位 Satoshi 聪给打上编号并进行追踪,而 inscription 铭刻则是在此基础上,将数据内容(可以是图片、文字甚至代码等)写入见证隔离区,实现数据与聪的绑定,以此完成资产的发行和流转。但随着 Ordinals 协议的发展,人们逐渐意识到这种将所有数据都存放在比特币主网上的方式,存在诸多弊端,不仅带来高昂的手续费,也导致比特币网络更加拥堵,并且本质上也无法为比特币网络带来可编程的智能合约系统。

而早在多年以前,就有开发者提出了 “只把数据最重要的部分上链” 的思路,这便是 RGB 的理念:仅在必要的时候才使用比特币区块链,代币转移的验证工作都从全链共识层中移除,放在链下,仅由接收支付的一方的客户端来验证,但是利用比特币的去中心化网络来防止双花以及抗审查。

或许通过将 Ordinals 与 RGB 进行对比差异,能更加方便读者理解:

  • RGB 将相关资产与 UTXO 绑定,而 Ordinals 则更细化到与最小单位聪绑定;

  • RGB 只将相关资产的交易承诺(即一个哈希值)写入比特币主链,具体的验证过程放在链下,而 Ordinals 所有数据以及验证逻辑都依赖于比特币主网。

有了上述内容的铺垫,我们便可以引出 RGB 的两大核心技术:

一次性封条:即上文提及的与 UTXO 的绑定

通过 RGB 协议下发行的资产代币并不存在一条具体的公链作为载体(目前的 Ordinals/Atomicals 等这类协议资产也一样),每一个 RGB 的相关资产代币必须指定比特币网络上某个特定的 UTXO 与之对应。某人拥有了比特币网络中的某个 UTXO,也就拥有了该 RGB 具体协议中所记录的该 UTXO 对应的 RGB 相关资产代币。如果想完成对 RGB 相关资产的转移,持有人就需要花费掉该 UTXO 。

由于 UTXO 的一次性,一旦花费就没有了,在 RGB 协议中对应的就是花费掉了这笔 RGB 资产。这一花费 UTXO 的过程便是将一次性封条打开的过程。这种设计的优势主要是当我们需要验证某一个合约的某一个状态,我们就不需要获得全部区块的数据了,每一个合约的每一个状态,都必须附身于某个比特币 UTXO,而一旦要变更这个状态,就必须花费这个 UTXO、让花费它的交易得到区块链的确认。并且通过 UTXO 中附带的相关交易信息,能让我们上溯到这个合约的初始状态,使我们能够辨认这个状态的实质。当然,这里面的 RGB 交易不是像比特币交易一样在比特币节点间完成验证,RGB 的方案是客户端验证,即让用户在链下自行验证。

客户端验证

不同于比特币主网对交易数据的广播以及全网节点对交易的验证记录同步,RGB 协议将这一过程放在了链下,交易信息仅在发送者和接收者间传输,接收者对该笔交易进行验证后,只需记载和该笔交易相关的数据,以达到上链验证的需求即可。

RGB 所面临的挑战和困难

尽管 RGB 协议在设计上十分优秀,但目前依旧面临众多难题:

  • DA 问题:上文提到交易信息仅在发送者和接收者间传输,这其中所需要用到的信息(如该 UTXO 的历史分支)普通用户难以获取生成。而且各个客户端存储的数据相互独立,导致数据孤岛问题,也无法查看合约的全局状态。

  • P2P 网络问题:RGB 交易作为 Bitcoin 的扩展交易,需要依赖一个 P2P 网络进行传播。用户之间在进行转账交易时,也需要进行交互式操作,接收方需要提供收条。这些都依赖一个独立于 Bitcoin 网络的 P2P 网络。

  • 虚拟机与合约语言:RGB 协议的虚拟机目前主要是采用了 AluVM,作为新的虚拟机,目前缺乏完善的开发工具和实践代码。

  • 无主合约问题:RGB 协议目前尚无完善的无主合约(公共合约)的交互方案。这导致多方交互难以实现。

CKB 携 RGB++ 入局 BTC L2

CKB 转型 BTC L2

CKB 于 2019 年 11 月上线主网,采用了 PoW 共识机制并改进了 UTXO 模型。CKB 对 UTXO 模型进行了一般化处理,并取名为 Cell 模型。跟 UTXO 一样,Cell 也是交易输出,只不过 Cell 把 UTXO 中的 amount 进行了一般化处理,对应出了 capacity 和 data 两项内容,这样就把原本的一个存放整数的空间变成一个可以存放任意数据的空间。

在比特币生态起势的大背景下,CKB 制定了 BTCKB「BTC+CKB」 计划,期望通过 CKB 的 “PoW+UTXO” 等特点,转型为首个与 BTC 完全同构(基于 PoW+UTXO)的比特币 Layer2。

RGB++:基于 CKB 的 RGB 扩展协议

2 月 13 日,CKB 官方发布了 RGB++ 轻皮书

RGB++ 是一个基于 RGB 原理的扩展协议,它利用了 RGB 的核心点 “UTXO” 和 CKB 的底层架构同源的特点,将 RGB 协议中的两个关键点与 CKB 的架构做了结合:

  • 同构绑定:作为 RGB 容器的 UTXO 可以和 CKB 的 Cell 进行绑定映射

  • RGB 的链下客户端验证可以转变成 CKB 的链上公开验证,验证的数据和状态可以对应上 Cell 里的 data 和 type

在 RGB 协议中,最重要的两个组件是用来做所有权认定的 UTXO 和用来做状态管理与一次性封条的 commitment。RGB++ 的同构绑定将其中的 Bitcoin UTXO 一一映射到 CKB 的 Cell 上、使用 Bitcoin lock 来实现所有权同步,并使用 cell 的 data 和 type 来实现状态的维护。

这样不仅解决了上述中 RGB 面临的难题,还赋予了 RGB 更多的可能性:

  • CKB 区块链将作为增强版的验证客户端:所有的 RGB++ 交易都会在 BTC 和 CKB 链上同步各出现一笔交易。前者与 RGB 协议的交易兼容,后者则取代了客户端验证的流程,用户只需要检查 CKB 上的相关交易即可验证这笔 RGB++ 交易的状态计算是否正确。不再有上述的 DA 问题以及数据孤岛问题等。

  • 交易折叠:Bitcoin UTXO 与 CKB Cell 进行同构绑定,实现了 CKB Cell 验证支持的图灵完备 Bitcoin UTXO 交易。如果我们进一步利用 CKB Cell 的可编程能力,那么我们可以将多笔 CKB 交易与一笔 Bitcoin RGB++ 交易对应,这样就可以将低速低吞吐量的 Bitcoin 链使用高性能的 CKB 链进行扩容。

  • 非交互式转账:原始 RGB 协议的一个问题是需要收款方必须在线才能完成一笔普通的交易,增加了用户理解难度和产品复杂度。RGB++ 可以利用图灵完备环境的优势,将交互行为放置在 CKB 环境里面,采用发送-领取两步操作来实现非交互式转账逻辑。

总的来说,RGB++ 继承了 RGB 协议的核心思想,采用了不同的虚拟机和验证方案,用户无需独立的 RGB++ 客户端,只需要访问 Bitcoin 和 CKB 轻节点即可独立完成所有的验证。RGB++ 还能为 Bitcoin 带来了图灵完备的合约扩展和数十倍的性能扩展。它没有使用任何跨链桥,而是使用了原生的客户端验证方案,确保了安全性和抗审查性。

BTC L2 竞争中,CKB 有何优势?未来有何安排?

阵营比较

上文我们已经提及根据当前的市场热度与趋势,可以大致将比特币 L2 划分为 “EVM 阵营” 和 “UTXO 阵营” 。

  • 以梅林、B² 为首的 “ EVM 阵营” 正在展开火热的质押 TVL 比拼,试图抓住比特币生态的开始时间窗口,以获得先发优势抢占市场份额。

  • 而以 CKB 为首的 “UTXO 阵营” 凭借着与 BTC 完全同构(基于 PoW+UTXO)的技术积累以及比特币社区较为认可的 RGB 等扩展协议,则占领着技术优势的高地,能够为比特币带来无须跨链、不损失安全性的图灵完备合约扩展和性能扩展。只不过可能在初期的推进和生态资产的吸引上,没有质押空投诱惑这种运营方式来得立竿见影。

路线安排

CKB 的第一个产品 RGB++ 预计将于 3 月底上线,届时便可在比特币主网发行 RGB++ 资产,或许能够再度掀起当初 Ordinals/Atomicals/Runes 等协议的资产发行潮。因此届时或可以关注相关的资产发行工具,或许有像铭文那样的机会存在。

为了推进 BTCKB 计划,CKB 还成立了一家 CELL Studio 公司,为了方便理解,大家可以把 CELL Studio 类比为以太坊生态里的 ConsenSys,专注于打通 BTC、CKB 生态。

在市场运营方面,CKB 将会举办两场比特币大会:

  • 3 月份在新加坡举办的是 Bitcoin Singapore,大概 100 人左右,主要面向那些对比特币生态非常关注、对比特币技术也有一定了解、对最新的一些进展不是那么熟悉的伙伴。

  • 4 月初的万向区块链峰会,会和 Bitcoin Magazine 合办比特币专场,规模会更大,更大众化一点。

从长期的角度,CKB 联合创始人 Cipher 曾表示,希望在年底能够把 RGB++ 和闪电网络打通。闪电网络将是 CKB 长期发力的主战场,届时相关的 RGB++ 资产还可以通过闪电网络在比特币生态中流通起来,而无需跨链桥。

结语

此前 CKB 可能在大多数人眼里是一种 “异类”,在以太坊都选择转向 PoS 的背景下,CKB 竟然还选择比特币公链技术路线:PoW+UTXO,因此在新公链以及 Rollup L2 的叙事背景下,CKB 依旧不温不火。

现在市场引燃了比特币 L2 生态的叙事,CKB 也及时地抓住了这波东风,凭借与比特币完全同构的特点并推出其创新的 RGB++ 协议,迅速成为目前比特币 L2 赛道的技术流头部选手,并且不再只是埋头做技术,也着手进行市场运营和品牌推广,创立了生态主导公司 CELL Studio。

尽管 CKB 可能不会是当前市场起步最快的 BTC L2,但凭借其技术优势,其依旧有望成为比特币生态中的重要一环,毕竟目前来看比特币 L2 叙事并不会是单周期内昙花一现的泡沫,而是比特币网络生态扩展的开始。

参考资料

最后更新于