# CKB：比特币可编程性的新篇章

By [NingNing](https://paragraph.com/@ningning-2) · 2024-04-28

---

前言
--

第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](https://www.nervos.org/zh/knowledge-base/nervos_overview_of_a_layered_blockchain)）的比特币可编程性方案，是比特币可编程性现代设计空间中一个原生的、安全的、不引入社会信任假设的解决方案。而与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）](https://storage.googleapis.com/papyrus_images/9a407b4a6ab981bf524b941d545698b015c98598f296bc49e502be5be5837072.jpg)

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](https://storage.googleapis.com/papyrus_images/d9981c42f19f42fcc0f3efe4bae5db487e8c9f503c324655558274f57d471595.jpg)

比特币主网全历史输出类型 来源：Dune

从比特币主网全历史输出类型的变化趋势图中，我们观察一个基本的事实：比特币主网可编程性增强是长期历史趋势，增强脚本在吞噬原初脚本的份额，而见证脚本在吞噬增强脚本的份额。基于Segweit增强脚本和Taproot见证脚本的Ordinals协议所开启比特币L1资产发行浪潮，既是比特币主网可编程性历史趋势的延续，也是比特币主网可编程性的新阶段。

比特币主网操作码也有着与比特币主网脚本类似的演进过程。

例如Ordinals协议，就是通过结合比特币主网脚本taproot script-path spend和操作码（OP\_FALSE、OP\_IF、OP\_PUSH、OP\_ENDIF）实现其功能设计。

![Ordinals协议的1次铭刻实例](https://storage.googleapis.com/papyrus_images/03d1aa468f4aebbf36719c58f58df32f10bca69512a661a2e12ddbf0a3c61650.jpg)

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）](https://storage.googleapis.com/papyrus_images/3a6353cc36633a2a6511f4935925874fdcae10c77ff476bbd596c9ec9c2ca062.jpg)

Ordinals协议3种类型的TX数量（图源：Dune）

流动性是资产的生命力来源。由于Ordinals类型比特币可编程性协议的天然特性，导致铭文资产重发行而轻流动性提供，进而影响到一个铭文资产全生命周期产生的价值。

而且Ordinals、BRC20协议还有滥用见证数据空间的嫌疑，并在客观上造成比特币主网状态爆炸。

![比特币区块空间大小变化（图源：Dune）](https://storage.googleapis.com/papyrus_images/511fde81f4fa555039754a1deb8b6e0a4b97279c7a3cd6aae53f7f012e245789.jpg)

比特币区块空间大小变化（图源：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 ）](https://storage.googleapis.com/papyrus_images/2ec743a134a582d3458a9d8b527cacc022d4b349375c403ea962d535ddcda188.jpg)

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 ）](https://storage.googleapis.com/papyrus_images/2266b6634d1b633a408c8fd1b3586a559e129eb50ed808eae6b3ddcca11aced7.jpg)

RGB++ 交易生命周期（图源：RGB++ Protocol Light Paper ）

如上图所示，一个完整的RGB++交易生命周期如下：

1.  链下计算。当发起1笔同构绑定的Tx时，要首先选择比特币主网的一个新的UTXO btc\_utxo#2作为一次性密封的容器，再在链下对原Cell同构绑定的UTXO btc\_utxo#1、新Cell同构绑定的btc\_utxo#2、以原Cell作为输入新Cel作为输出的CKB TX进行哈希计算生成一笔承诺。
    
2.  提交比特币交易。RGB++发起一笔比特币主网的Tx，将与原Cell同构绑定的btc\_utxo#1作为输入，使用OP RETURN将上一步生成的那笔承诺作为输出。
    
3.  提交CKB交易。在CKB主网执行之前链下计算生成的CKB Tx。
    
4.  链上验证。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之间是松耦合的关系。除了支持比特币L 1层的资产（不限于RGB++协议原生资产，包括采用Runes、Atomicals、Taproot Asset等协议发行的资产）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）](https://storage.googleapis.com/papyrus_images/c15f5bf758d422b731ef4bc9a962888a5cfb7519853c3215f8c10940e7014f0b.jpg)

UTXO Stack架构（图源：Medium）

UTXO Stack目前支持RGB++资产在比特币闪电网络-CKB闪电网络-UTXO Stack平行L2们之间自由流转和互操作。除此之外，UTXO Stack还支持Runes、Atomicals、Taproot Asset、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）](https://storage.googleapis.com/papyrus_images/88445edc911e54ee244a95ae95147a66d6331cadf2a3a900b263a4a9f8797840.jpg)

比特币是第一个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社区）](https://storage.googleapis.com/papyrus_images/20bacce105787a981aa1bad7be5bc9630b1c055fb492e3b9dd189c95308fe23b.png)

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\]  [What are the Key Properties of Bitcoin?](https://nakamoto.com/what-are-the-key-properties-of-bitcoin/)

\[2\] [比特币的可编程性](https://www.btcstudy.org/2022/09/07/on-the-programmability-of-bitcoin-protocol/#%E4%B8%80-%E5%BC%95%E8%A8%80)

\[3\] [ABCDE：我们为什么要投资UTXO Stack](https://medium.com/@ABCDE.com/cn-abcde-%E6%88%91%E4%BB%AC%E4%B8%BA%E4%BB%80%E4%B9%88%E8%A6%81%E6%8A%95%E8%B5%84utxo-stack-91c9d62fa74e)

\[4\] [LAYER 2 IS NOT A MAGIC INCANTATION](https://bitcoinmagazine.com/technical/layer-2-is-not-a-magic-incantation)

---

*Originally published on [NingNing](https://paragraph.com/@ningning-2/ckb)*
