以下内容转载自 Mirror,作者 NingNing,原文标题《CKB:比特币可编程性的新篇章》,原文链接:https://mirror.xyz/0xB239e7668B6dAF0122166E2De879Da87FF47858C/hkXPFe0uBy2fQNIzjVrL0rMUONj2hTJklaN14Rbguuk
复制以下链接到浏览器中,可查看和下载 PDF 版本:https://drive.google.com/file/d/1KPNbTGIueA0dtINso6LGX-vK4nU1Syid/view
前言#
第 4 轮比特币减半周期中,Ordinals 协议以及类似协议的爆发式采用,让加密行业意识到基于比特币 L1 层发行资产与交易资产对比特币主网共识安全和生态发展的正外部性价值,可谓是比特币生态的 “Uniswap 时刻”。
比特币可编程性的进化与迭代,是比特币社区意见市场治理的结果,而非为了 BTC 的 Holder、为了区块空间的 Builder 等目的论所驱动的。
当下,通过增强比特币的可编程性进而增加比特币主网区块空间的使用率,成为比特币社区共识的新设计空间。
与以太坊和其它高性能公链不同,为了保证 UTXO 集的简洁性和轻量化,比特币可编程性的设计空间是高度受限的,基本约束在如何使用脚本和 OP Code 操作 UTXO。
经典的比特币可编程性方案有状态通道(闪电网络)、客户端验证(RGB)、侧链(Liquid Network、Stacks、RootSock 等)、CounterParty、Omni Layer、Taproot Assets、DLC 等等。2023 年以来新兴的比特币可编程性方案有 Ordinals、BRC20、Runes、Atomicals、Stamps 等等。
在铭文第二波浪潮结束之后,新一代比特币可编程性方案等等纷纷涌现,如 CKB 的 UTXO 同构绑定方案、EVM 兼容比特币 L2 方案、DriveChain 方案等等。
与 EVM 兼容比特币 L2 方案相比,CKB(Common Knowledge Base)的比特币可编程性方案,是比特币可编程性现代设计空间中一个原生的、安全的、不引入社会信任假设的解决方案。而与 DriveChain 方案相比,它不要求比特币协议级别的任何变动。
在可预计的未来,比特币可编程性的成长曲线将经历一个加速增长阶段,比特币生态的资产、用户、应用将随之迎来一波玄武纪大爆发,CKB 生态的 UTXO Stack 将为新涌入的比特币开发者提供利用模块化堆栈构建协议的能力。另外,CKB 正在探索将闪电网络与 UTXO Stack 集成,利用比特币的原生可编程性实现新协议之间的互操作性。
比特币可编程性的命名空间#
区块链是创造信任的机器,比特币主网是其中的 0 号机。像西方所有哲学都是对柏拉图的注脚一样,加密世界里的一切事物(资产、叙事、区块链网络、协议、DAO 等等)都是比特币的派生物和衍生品。
在比特币 Maxi 与扩容主义者的协同进化过程中,从比特币主网是否支持图灵完备之争到隔离见证方案与大区块扩容方案之争,比特币在不断分叉。这既在创生新的加密项目和加密社区共识,也在强化和巩固比特币自身的社区共识,这是一个在他者化的同时完成自我确认的过程。
由于中本聪的神秘消失,比特币社区治理并不存在以太坊那样的 “开明君主专制” 的治理结构,而是由矿工、开发者、社区和市场进行开放博弈达到均衡的治理模型。这赋予比特币的社区共识一旦形成、异常稳固的特性。
目前比特币社区共识的特性有:共识不是命令和控制、信任最小化、去中心化、抗审查性、伪匿名性、开源、开放协作、免许可、法律中立、同质化、向前兼容性、资源使用最小化、验证 > 计算、收敛、交易不可变性、抗 DoS 攻击、避免争抢进入、稳健性、激励一致、固化、不该篡改的共识、冲突性原则、协同推进等。[1]
目前的比特币主网形态,可以看作是以上比特币社区共识特性的实例化结果。而比特币可编程性的设计空间,也是由比特币社区共识特性所定义的。
比特币可编程性的经典设计空间#
在其他公链尝试模块化、并行化等等方案探索区块链不可能三角解决方案的设计空间时,比特币协议的设计空间一直聚焦在脚本、OP Code 和 UTXO。
典型的两个实例,分别是 2017 年以来比特币主网的两次重大升级:Segwit 硬分叉和 Taproot 软分叉。
2017 年 8 月的 Segwit 硬分叉,在 1M 的主区块外新增 3M 的区块专门保存签名(见证,Witness),并在计算矿工费时将签名数据的权重设为主区块数据的 1/4,以保持花费一个 UTXO 输出和创建一个 UTXO 输出成本的一致性,防止出现滥用 UTXO 找零增加 UTXO 集膨胀速度的情况。
2021 年 11 月的 Taproot 软分叉,则通过引入 Schnorr 多重签名方案,节省 UTXO 的验证时间和多重签名所占的区块空间。
1 个 UTXO 的键值组(图源:learnmeabitcoin.com)
UTXO(未花费的交易输出)是比特币主网的基础数据结构,它具有原子性、非同质性、链式耦合的特性。比特币主网上的每一笔交易,都会消耗掉 1 笔 UTXO 作为输入,同时创建整数 n 个新的 UTXO 输出。通俗点理解,UTXO 可以视作运行在链上的美元、欧元等纸币,它可以花费、找零、拆分、组合等等,只不过它的最小原子单位是聪(sats)。1 笔 UTXO 就代表某个特定时间的 1 个最新状态。UTXO 集,即代表某个特定时间比特币主网的最新状态。
通过保持比特币 UTXO 集的简洁性、轻量化和易验证性,比特币主网的状态膨胀速度成功稳定在与硬件摩尔定律相适应的水平,从而保障比特币网主网全节点的可参与性和交易验证的鲁棒性。
与之相应的,** 比特币可编程性的设计空间同样受到比特币社区共识特性的约束。** 例如,为了防范潜在的安全风险 ,中本聪在 2010 年 8 月决定将 OP-CAT 操作码移除,而该操作码是实现比特币图灵完备级别可编程性的关键逻辑。
比特币可编程性的实现路径,没有采用以太坊、Solana 那样的链上虚拟机(VM)方案,而是选择利用脚本和操作码(OP Code)对 UXTO、交易的输入字段、输出字段和见证数据(Witness)等进行编程操作。
比特币可编程性的主要工具箱有:多重签名、时间锁、哈希锁、流程控制(OP_IF,OP_ELIF)。[2]
** 经典设计空间下,比特币可编程性是非常有限的,** 仅仅支持几种验证程序,而不支持链上状态存储和链上计算,而链上状态存储和链上计算恰恰是实现图灵完备级可编程性的核心功能组件。
比特币可编程性的文艺复兴#
但比特币可编程性的设计空间,并不是一个固定不变的状态。相反,它更接近一种随着时间变化的动态光谱。
与外界对比特币主网开发陷入停滞状态的刻板印象不同,在各种共识向量局限设计空间的情况下,比特币主网新脚本和新操作码的开发、部署、采用、推广始终处在进行时态,并在某些时间甚至引发过加密社区的分叉战争(如 Segwit 硬分叉)。
以比特币主网脚本类型采用度变迁为例,我们可以清晰地感知到其中的变化。比特币主网输出类型使用的脚本,我们可以划分为 3 大类:
- 原初脚本:pubkey、pubkeyhash
- 增强脚本:multisig、scripthash
- 见证脚本:witness_v0_keyhash、witness_v0_scripthash、witness_v1_taproot
比特币主网全历史输出类型;来源:Dune
从比特币主网全历史输出类型的变化趋势图中,我们观察一个基本的事实:** 比特币主网可编程性增强是长期历史趋势,增强脚本在吞噬原初脚本的份额,而见证脚本在吞噬增强脚本的份额。** 基于 Segweit 增强脚本和 Taproot 见证脚本的 Ordinals 协议所开启比特币 L1 资产发行浪潮,既是比特币主网可编程性历史趋势的延续,也是比特币主网可编程性的新阶段。
比特币主网操作码也有着与比特币主网脚本类似的演进过程。
例如 Ordinals 协议,就是通过结合比特币主网脚本 taproot script-path spend 和操作码(OP_FALSE、OP_IF、OP_PUSH、OP_ENDIF)实现其功能设计。
Ordinals 协议的 1 次铭刻实例
在 Ordinals 协议正式诞生之前,比特币可编程性的经典方案,主要有状态通道(闪电网络)、客户端验证(RGB)、侧链(Liquid Network、Stacks、RootSock 等)、CounterParty、Omni Layer、DLC 等等。
Ordinals 协议将 UXTO 的最小原子化单位聪(Satoshi)序列化,再将数据内容铭刻在 UTXO 的 Witness 字段,并与序列化后的某一特定聪相关联,然后由链下索引器负责索引和执行这些数据状态的可编程性操作。这种新的比特币可编程性范式,被形象地比喻为 “黄金上雕花”。
Ordinals 协议的新范式,激发了更大范围的加密社区使用比特币主网区块空间发行、铸造和交易 NFT 收藏品和 MeMe 类型 Token(可统称为铭文)的热情,其中有很多人在人生中第一次拥有自己的比特币地址。
但 Ordinals 协议的可编程性,继承了比特币的可编程性的有限性,仅支持 Deploy、Mint 和 Transfer 三种功能方法。这让 Ordinals 协议以及它的跟随者 BRC20、Runes、Atomicals、Stamps 等等协议,只适用于资产发行的应用场景。而对需要状态计算和状态存储的交易和借贷等 DeFi 应用场景的支持,则比较乏力。
Ordinals 协议 3 种类型的 TX 数量(图源:Dune)
** 流动性是资产的生命力来源。** 由于 Ordinals 类型比特币可编程性协议的天然特性,导致铭文资产重发行而轻流动性提供,进而影响到一个铭文资产全生命周期产生的价值。
而且 Ordinals、BRC20 协议还有滥用见证数据空间的嫌疑,并在客观上造成比特币主网状态爆炸。
比特币区块空间大小变化(图源:Dune)
作为参照系,以太坊主网 Gas 费的主要来源为 DEX 交易 Gas 费、L2 的数据可用性费和稳定币转账 Gas 费等。与以太坊主网相比,比特币主网的收入类型单一、周期性强、波动率大。
比特币主网的可编程性能力,尚不能满足比特币主网区块空间供给侧的需求。而达到以太坊主网稳定且可持续的区块空间收入状态,需要比特币生态原生的 DEX、稳定币和 L2。而实现这些协议和应用的前提条件,是比特币可编程协议需要提供图灵完备的编程能力。
因此,如何原生地实现比特币图灵完备的可编程性,同时约束对比特币主网状态规模的负面影响,成为比特币生态的当前一个显学。
比特币可编程性的 CKB 方案#
目前实现比特币原生的图灵完备的可编程性的方案要有:BitVM、RGB、CKB、EVM 兼容 Rollup L2、 DriveChain 等等。
BitVM 使用比特币的一组 OP Code 构建与非逻辑门,再通过与非逻辑门构建其他基础逻辑门,最终由这些基础逻辑门电路构建出一个比特币原生的 VM。这个原理,有点类似著名科幻小说《三体》的秦王阵列图。Netflix 改编的同名电视剧里有具体的场景呈现。BitVM 方案的论文已经完全开源,备受加密社区的期待。但它的工程实现难度非常大,遇到链下数据管理成本、参与方数量限制、挑战 - 响应交互次数、哈希函数复杂度等等问题,短期内很难落地。
RGB 协议使用客户端验证和一次性密封技术来实现图灵完备的可编程性,核心设计思想是将智能合约的状态和逻辑存储在比特币交易(Transaction)的输出(Output)上,将智能合约代码的维护和数据存储放在链下执行,由比特币主网作为最终状态的承诺层。
EVM 兼容 Rollup L2,是快速复用成熟的 Rollup L2 堆栈构建比特币 L2 的方案。但鉴于比特币主网目前无法支持欺诈证明 / 有效性证明,Rollup L2 需要引入社会信任假设(多签)。
DriveChain 是一种侧链扩展方案,基本设计思想是将比特币作为区块链的底层,通过锁定比特币来创建侧链,从而实现比特币和侧链之间的双向互操作性。DriveChain 工程的实现,需要对比特币进行协议级别改动,即将开发团队提议的 BIP300、BIP301 部署到主网。
以上比特币可编程性方案要么工程难度极大短期难以落地,要么引入过多社会信任假设,要么需要对比特币进行协议级别改动。
比特币 L1 资产协议:RGB++#
针对以上比特币可编程性协议存在的不足和问题,CKB 团队给出了一个相对均衡的解决方案。该解决方案由比特币 L1 资产协议 RGB++、比特币 L2 Raas 服务商 UTXO Stack 和与闪电网络集成的互操作协议组成的。
UXTO 原生的原语:同构绑定
RGB++,是基于 RGB 设计思想开发的比特币 L1 资产发行协议。RGB++ 的工程实现,同时继承了 CKB 和 RBG 的技术原语。它有使用 RGB 的 “一次性密封” 和客户端验证技术,同时通过同构绑定将比特币 UTXO 映射到 CKB 主网的 Cell(扩展版的 UTXO),并使用 CKB 和比特币链上的脚本约束来验证状态计算的正确性和所有权变更的有效性。
换言之,**RGB++ 是用 CKB 链上的 Cell 表达 RGB 资产的所有权关系。** 它把原本存放在 RGB 客户端本地的资产数据,挪到 CKB 链上用 Cell 的形式表达出来,与比特币 UTXO 之间建立映射关系,让 CKB 充当 RGB 资产的公开数据库与链下预结算层,替代 RGB 客户端,实现更可靠的数据托管与 RGB 合约交互。
RGB++ 的同构绑定(图源:RGB++ Protocol Light Paper )
Cell 是 CKB 的基本数据存储单元,可以包含各种数据类型,如 CKBytes、代币、TypeScript 代码或序列化数据(如 JSON 字符串)。每个 Cell 都包含一个小程序,称为 Lock Script,它定义了 Cell 的所有者。Lock Script 既支持比特币主网的脚本,如多签、哈希锁、时间锁等,也允许包含一个 Type Script 来执行特定的规则,以控制其使用。这使开发人员能够根据不同的用例定制智能合约,例如发行 NFT,空投代币、AMM Swap 等等。
RGB 协议通过使用 OP RETURN 操作码将链下交易的状态根附加到一个 UTXO 的 output,将该 UTXO 作为状态信息的容器。然后,RGB++ 将这个由 RGB 构建的状态信息容器映射到 CKB 的 Cell 上,将状态信息保存在 Cell 的 type 和 data 中,将这个容器 UTXO 作为 Cell 状态所有者。
RGB++ 交易生命周期(图源:RGB++ Protocol Light Paper )
如上图所示,一个完整的 RGB++ 交易生命周期如下:
- ** 链下计算。** 当发起 1 笔同构绑定的 Tx 时,要首先选择比特币主网的一个新的 UTXO btc_utxo#2 作为一次性密封的容器,再在链下对原 Cell 同构绑定的 UTXO btc_utxo#1、新 Cell 同构绑定的 btc_utxo#2、以原 Cell 作为输入新 Cel 作为输出的 CKB TX 进行哈希计算生成一笔承诺。
- ** 提交比特币交易。**RGB++ 发起一笔比特币主网的 Tx,将与原 Cell 同构绑定的 btc_utxo#1 作为输入,使用 OP RETURN 将上一步生成的那笔承诺作为输出。
- ** 提交 CKB 交易。** 在 CKB 主网执行之前链下计算生成的 CKB Tx。
- ** 链上验证。**CKB 主网运行一个比特币主网轻客户端验证整个系统的状态变更。这点与 RGB 非常不同,RGB 的状态变更验证采用的 P2P 机制,需要 Tx 的发起方与接收方同时在线且只对相关的 TX 图谱进行交互式验证。
基于以上同构绑定逻辑实现的 RGB++,与 RGB 协议相比,在让渡部分隐私性的同时,获得了一些新特性:区块链增强的客户端验证、交易折叠、无主合约的共享状态和非交互式转账。
- ** 区块链增强的客户端验证。**RGB++ 允许用户选择采用 PoW 维持共识安全 CKB 验证状态计算和 URXO-Cell 的所有权变更。
- ** 交易折叠。**RGB++ 支持将多笔 Cell 映射到单笔 UTXO 上,从而实现 RGB++ 的弹性扩展。
- ** 无主智能合约和共享状态。**UTXO 状态数据结构实现图灵完备智能合约的一大困难,就是无主智能合约和共享状态。RGB++ 可以利用 CKB 的全局状态 Cell 和意图 Cell 解决这一问题。
- ** 非交互式转账。**RGB++ 将 RGB 的客户端验证流程变成可选项,不再强制要求交互式转账。用户选择 CKB 验证状态计算和所有权变更的话,交易的交互体验与比特币主网保持一致。
此外,RGB++ 还继承了 CKB 主网 Cell 的状态空间私有化特性,RGB++ 每笔 TX 除了支付使用比特币主网区块空间的矿工费之外,还需要额外支付租赁 Cell 状态空间的费用(这部分费用在 Cell 消费之后原路返回)。Cell 的状态空间私有化,是 CKB 发明的一种应对区块链主网状态爆炸的防御机制,Cell 状态空间的租赁者在使用期间需要持续的付费(以被 CKB 流通代币通胀的形式稀释价值)。这使得 RGB++ 协议是一种负责任的比特币主网可编程性扩展协议,在一定程度上能够限制对比特币主网区块空间的滥用现象。
去信任的 L1<>L2 互操作:Leap
RGB++ 的同构绑定,是一种共时性的原子实现逻辑,要么同时发生,要么同时翻转,不存中间状态。所有的 RGB++ 交易都会在 BTC 和 CKB 链上同步各出现一笔交易。前者与 RGB 协议的交易兼容,后者则取代了客户端验证的流程,用户只需要检查 CKB 上的相关交易即可验证这笔 RGB++ 交易的状态计算是否正确。但用户也可以不使用 CKB 链上的交易作为验证依据,利用 UTXO 的局部相关 Tx 图谱,独立地对 RGB++ 交易进行验证(交易折叠等部分功能仍然需要依赖 CKB 的区块头哈希做防双花验证)。
因此,RGB++ 与 CKB 主网之间的资产跨链,并不依赖引入额外的社会信任假设,如跨链桥的中继层、EVM 兼容 Rollup 的中心化多签金库等等。RGB++ 资产可以原生的、去信任的从比特币主网转移到 CKB 主网,或者从 CKB 主网转移到比特币主网。CKB 将这个跨链工作流称之为 Leap。
RGB++ 与 CKB 之间是松耦合的关系。除了支持比特币 L1 层的资产(不限于 RGB++ 协议原生资产,包括采用 Runes、Atomicals、Taproot Assets 等协议发行的资产)Leap 到 CKB 之外,RGB++ 协议还支持 Leap 到 Cardano 等其他 UTXO 图灵完备链。同时,RGB++ 还支持比特币 L2 资产 Leap 到比特币主网。
RGB++ 的扩展功能和应用实例
RGB++ 协议原生支持发行同质化代币和 NFT。
RGB++ 的同质化代币标准是 xUDT ,NFT 标准是 Spore 等。
xUDT 标准支持多种同质化代币发行方式,包括但不限于集中分发、空投、订阅等。代币总量还可以在无上限和预设上限之间进行选择。对于预设上限的代币,可以使用状态共享方案来验证每次发行的总数是否小于或等于预设上限。
NFT 标准中的 Spore,会在链上存储所有元数据,实现了 100% 的数据可用性安全。Spore 协议发行的资产 DOB(Digital Object,数码物),类似于 Ordinals NFT,但是有更加丰富的特性和玩法。
作为客户端验证协议,RGB 协议天然支持状态通道和闪电网络,但受限于比特币的脚本计算能力,把 BTC 之外的资产去信任引入进闪电网络非常困难。但 RGB++ 协议可以利用 CKB 的图灵完备脚本系统,实现基于 CKB 的 RGB++ 资产的状态通道和闪电网络。
有了以上标准和功能,RGB++ 协议的用例不像其他比特币主网可编程协议那样局限在简单的资产发行场景,而支持资产交易、资产借贷、CDP 稳定币等复杂应用场景。例如,RGB++ 同构绑定逻辑结合比特币主网原生的 PSBT 脚本,可以实现一种订单簿网格形态的 DEX。
比特币 L2 RaaS 服务商:UTXO Stack#
UTXO 同构比特币 L2 vs EVM 兼容比特币 Rollup L2
在图灵完备的比特币可编程性实现方案市场竞争中,DriveChain、恢复 OPCAT 操作码等方案由于需要比特币协议层的变更,需要的时间和成本具有非常大的不确定性和不可预测性, 现实主义路线中的 UTXO 同构比特币 L2 和 EVM 兼容比特币 Rollup L2 更受到开发者和资本的认可。UTXO 同构比特币 L2,以 CKB 为代表。EVM 兼容比特币 Rollup L2,以 MerlinChain 和 BOB 为代表。
实事求是地讲,比特币 L1 资产发行协议在比特币社区中刚刚开始形成局部共识,比特币 L2 的社区共识度则处在更早期。但在这个前沿领域,《比特币杂志》和 Pantera 已经尝试通过借鉴以太坊 L2 的概念结构为比特币 L2 设定定义范围。
在他们眼中,比特币 L2 应该具有以下 3 点特性:
- 使用比特币作为原生资产。比特币 L2 必须将比特币作为其主要的结算资产。
- 使用比特币作为结算机制来强制执行交易。比特币 L2 的用户必须能够强制返回其在一层资产控制权(可信或不可信)。
- 展示对比特币的功能依赖性。如果比特币主网失效但比特币 L2 系统仍然可保持运行,那么该系统不是比特币的 L2。[4]
换言之,他们认为的比特币 L2 应该具有基于比特币主网的数据可用性验证、逃生舱机制、BTC 作为比特币 L2 Gas 代币等。这样看来,在他们潜意识中,是将 EVM 兼容 L2 范式作为比特币 L2 的标准模板。
但比特币主网薄弱的状态计算和验证能力在短期内无法实现特性 1 和特性 2,在这种情况情况下 EVM 兼容 L2 属于完全依赖社会信任假设的链下扩展方案,尽管它们在白皮书写着未来集成 BitVM 进行数据可用性验证和与比特币主网联合挖矿增强安全性。
当然,这并不意味着这些 EVM 兼容 Rollup L2 是假的比特币 L2,而是它们没有在安全性、去信任性和可扩展性之间做到很好的平衡。而且比特币生态引入以太坊的图灵完备解决方案,易被比特币 Maxi 视作对扩容主义路线的绥靖。
因此,UTXO 同构比特币 L2 天然在正统性和比特币社区共识程度上优于 EVM 兼容 Rollup L2。
UTXO Stack 的特性:分形比特币主网
如果说以太坊 L2 是以太坊的分形,那么比特币 L2 理应是比特币的分形。
CKB 生态的 UTXO Stack 为开发者一键启动 UTXO 比特币 L2,并原生集成 RGB++ 协议能力。这使得比特币主网和使用 UTXO Stack 开发的 UTXO 同构比特币 L2 之间,可以通过 Leap 机制实现无缝互操作。UTXO Stack 支持质押 BTC、CKB 以及 BTC L1 资产来保障 UTXO 同构比特币 L2 的安全。
UTXO Stack 架构(图源:Medium)
UTXO Stack 目前支持 RGB++ 资产在比特币闪电网络 — — CKB 闪电网络 — — UTXO Stack 平行 L2 们之间自由流转和互操作。除此之外,UTXO Stack 还支持 Runes、Atomicals、Taproot Assets、Stamps 等基于 UTXO 的比特币 L1 可编程性协议资产在 UTXO Stack 平行 L2 们 — — CKB 闪电网络 — — 比特币闪电网络之间自由流转和互操作。
UTXO Stack 将模块化范式引入到比特币 L2 的构建领域中,用同构绑定巧妙绕过了比特币主网状态计算和数据可用性验证问题。在这个模块化堆栈中,比特币的角色是共识层和结算层,CKB 的角色是数据可用性层,而 UTXO Stack 平行 L2 们的角色是执行层。
比特币可编程性的成长曲线与 CKB 的未来#
比特币可编程性的成长曲线与 CKB 的未来#
事实上,比特币的数字黄金叙事与比特币的可编程叙事之间内在的紧张关系,比特币社区中一些 OG 将 23 年以来兴起的比特币 L1 可编程协议视作对比特币主网的新一轮粉尘攻击热潮。某种程度上,比特币核心开发者 Luke 与 BRC20 粉丝之间的口水战,是继支持图灵完备与否之争、大小区块之争之后,比特币 Maxi 与扩容主义者的第三次世界大战。
但其实存在另一种视角,将比特币视作数字黄金的 APP Chain。在这种视角下,正是数字黄金的底层去中心化账本这一定位,形塑了如今的比特币主网 UTXO 集形态和可编程协议特性。但如果我没记错的话,中本聪愿景是想让比特币成为一种 P2P 电子货币。数字黄金对可编程性的需求是保险箱和金库,货币对可编程性的需求是中央银行 - 商业银行的流通网络。所以说比特币的可编程性增强协议并不是离经叛道的行为,而是回归中本聪愿景。
比特币是第一个 AppChain (图源:@tokenterminal)
我们借鉴 Gartner Hype Cycle 的研究方法,可以将比特币可编程性方案们划分为 5 个阶段
- 技术萌芽期:DriveChain、UTXO Stack、BitVM 等
- 期望膨胀期:Runes、RGB++、EVM Rollup 比特币 L2 等
- 泡沫破灭期:BRC20、Atomicals 等
- 稳步复苏期:RGB、闪电网络、比特币侧链等
- 成熟高原期:比特币脚本、Taproot 脚本、哈希时间锁等
CKB 的未来:比特币生态的 OP Stack+EigenLayer#
无论是 EVM 兼容比特币 Rollup L2,还是 UTXO 同构比特币 L2,亦或者是 DriveChain 等新范式,图灵完备可编程性的诸种实现方案,最终都指向比特币主网作为共识层和结算层。
正如趋同进化在自然界一再发生那样,可以预期比特币生态图灵完备可编程性的发展趋势将在某些方面与以太坊生态呈现一定程度的一致性。但这个一致性,又不会是简单复刻以太坊的技术堆栈到比特币生态,而是利用比特币原生的技术栈(以 UTXO 为基础的可编程性)实现相似的生态结构。
CKB 的 UTXO Stack 与 Optimism 的 OP Stack 的定位非常相似,OP Stack 是在执行层保持与以太坊主网的强等效性和一致性,UTXO Stack 则是在执行层保持与比特币主网的强等效性和一致性。同时,UTXO Stack 与 OP Stack 结构一样,都是平行结构。
CKB 生态现状(图源:CKB 社区)
** 未来 UTXO Stack 将推出共享序列器、共享安全性、共享流动性、共享验证集等 RaaS 服务,进一步降低开发者启动 UTXO 同构比特币 L2 的成本和难度。** 目前已经有一大批去中心化稳定币协议、AMM DEX、 借贷协议、自主世界等项目,计划采用 UTXO Stack 构建 UTXO 同构比特币 L2 作为其底层共识基础设施。
与其他比特币安全性抽象协议不同,CKB 的共识机制是与比特币主网一致的 PoW 共识机制,由机器算力维持共识账本的一致性。但 CKB 的代币经济学与比特币存在一些区别。为保持区块空间生产和消耗行为激励的一致性,比特币选择引入权重和 vByte 机制计算状态空间使用费,CKB 则选择将状态空间私有化。
CKB 的代币经济学由基础发行和二级发行两部分组成。基础发行的所有 CKB 完全奖励给矿工,二级发行的 CKB 的目的收取状态租金,二级发行的具体分配比例取决于当前流通的 CKB 在网络中的使用方式。
举个例子,假设所有流通的 CKB 中,有 50% 用于存储状态,30% 锁定在 NervosDAO 中,20% 完全保持的流动性。那么,二级发行的 50% (即存储状态的租金)将分配给矿工,30% 将分配给 NervosDAO 储户,剩余的 20% 将分配给国库基金。
这种代币经济模型能够约束全局状态的增长,协调不同网络参与者(包括用户、矿工、开发者和代币持有者)的利益,创建一个对每个人都有利的激励结构,这与市场上其他 L1 的情况有所不同。
此外,CKB 允许单个 Cell 占用最大 1000 字节的状态空间,这赋予了 CKB 上的 NFT 资产一些其他区块链同类资产不具有奇异特性,比如原生携带 Gas 费、状态空间的可编程性等等。这些奇异特性,使得 UTXO Stack 非常适合作为自主世界项目的基础设施来构建数字物理现实。
UTXO Stack 允许比特币 L2 开发者使用 BTC、CKB 以及其他比特币 L1 资产质押参与其网络共识。
总结#
比特币发展到图灵完备的可编程方案阶段,是不可避免的。但图灵完备的可编程性,不会发生在比特币主网,而是发生在链下(RGB、BitVM)或者比特币 L2 上(CKB、EVM Rollup、DriveChain)。
按照历史经验,这些协议上将有 1 条协议最终发展成为垄断性的标准协议。
决定比特币可编程性协议竞争力的关键因子有二:1. 不依赖额外社会信任假设的实现 BTC 在 L1<>L2 之间的自由流转;2. 吸引足够规模的开发者、资金和用户进入其 L2 生态。
CKB 作为比特币可编程性解决方案,利用同构绑定 + CKB 网络替代客户端验证的解决方案,实现了比特币 L1 层资产在 L1<>L2 之间的自由流转,且不依赖额外社会信任假设。而且受益处于 CKB Cell 的状态空间私有化特性,RBG++ 并没有像其他比特币可编程性协议那样给比特币主网带来状态爆炸的压力。
** 近期,通过 RGB++ 首批资产发行初步完成了生态的热启动,为 CKB 生态成功 onboard 了约 15 万新用户和一批新开发者。** 如比特币 L1 可编程性协议 Stamps 生态的一站式解决方案 OpenStamp,已选择使用 UTXO Stack 构建服务于 Stamps 生态的 UTXO 同构比特币 L2。
下一阶段,CKB 将重点放在生态应用建设、实现 BTC 在 L1<>L2 之间的自由流转、集成闪电网络等方面,力争成为未来的比特币的可编程性层。
文章中提到的部分链接:
[1] https://nakamoto.com/what-are-the-key-properties-of-bitcoin/
[2] https://www.btcstudy.org/2022/09/07/on-the-programmability-of-bitcoin-protocol/# 一 - 引言
[3] https://medium.com/@ABCDE.com/cn-abcde - 我们为什么要投资 utxo-stack-91c9d62fa74e
[4] https://bitcoinmagazine.com/technical/layer-2-is-not-a-magic-incantation