如何看待最近被热议的比特币新提案OP_CAT?尽管其目前还没有被正式Merge到Bitcoin Core代码中,但已经在BTC社区引发了广泛的讨论。那么,OP_CAT操作码到底解决什么问题?若被引入会给BTC的可编程能力带来哪些提升?会对BTC生态后续市场演变产生哪些影响?接下来,简单谈谈我的理解:

1)OP_CAT是一个全新的操作码提案,被开发者戏称为处于BIP420和BIP347的量子纠缠叠加状态,具体哪个EIP不重要,只要搞清楚这只是一个还在被讨论并没正式纳入的提案足够了。简单来说,OP_CAT可以实现多个UTXO解锁脚本字节串的组合连接处理,可以提升BTC主网的可编程特性,程序扩展性以及链上验证计算复杂性;

2)和Covenant契约作为比特币脚本扩展提案类似,OP_CAT目标也是要提升比特币脚本的扩展能力,区别是,Covenant目标让比特币交易实现更复杂的可编程性,以支持复杂的智能合约和应用场景。相比之下,OP_CAT更加好落地一些,目标要简化复杂脚本的构建和执行,以提高链上验证的效率。

通俗理解:OP_CAT提供了组合脚本片段的能力,在其引入前,每一个UTXO脚本都是独立执行的,有了OP_CAT后我们可以把一个复杂的执行逻辑拆分成一连串组合的简单脚本片段,并被存储于不同的UTXO中,由不同的交易创建,需要完整执行时,全节点用OP_CAT指令把这些脚本片段按顺序拼接起来执行触发。

3)有了这种组合能力,理论上可以让比特币上出现很多复杂的执行逻辑:比如,

1、多重签名加时间锁,可以跨多个主体多个UTXO和时间锁设置较为复杂的执行解锁条件;

2、递归和循环,可以让多个脚本字节串之间构成递归和条件执行,一直循环直到满足某个终止条件;

3、模块化应用,常见脚本逻辑可以被提取出来,在多个程序执行片段中复用。Alice把托管在平台C的钱向Bob转账,必须三个主体同时签名,若C平台超出签名时间,Alice和Bob则可以一同签名来取回资金;若Bob长时间没有签名获取转账,Alice可以撤回交易;若Bob认为Alice的资金来源有问题可以拒收等等。这只是一个简单的例子,实际可以利用脚本片段之间的组合实现更复杂更颗粒化的控制;

4)此前,BitVM把复杂操作在链下执行,只在链上实现关键验证结算的范式,让大家对BTC的可编程和图灵完备计算迸发了极大的想象力。OP_CAT在BTC主网上“递归”组合执行算是又一次想象力的补充,而且OP_CAT对加速BitVM的落地和降低链上验证成本等都大有裨益。

如何理解呢?原本BitVM要执行,需要把链下的程序封装成一个个独立的可共单个UTXO执行的脚本片段,链下构建成本较大,将这些片段都在链上执行拼凑,也会需要更复杂的TaprootTree结构,意味着BitVM一段程序执行下来链上交互验证的成本会相对较高。当OP_CAT被引入后,BitVM链下封装的片段就不需要每个都能完整独立执行,链上可以在UTXO解锁条件累计到一定程度后进行一次汇总并更新状态,显然,脚本片段的组合可大大减少链上验证交互所需的次数和成本。

总之,OP_CAT被热议包含着大家对于比特币进一步增强可编程性的期待,其若真正落地,对BitVM的落地,各类BTC layer2跨链资产解决方案的安全性提升,以及UTXO同构绑定链的生态拓展和主网的同频发展,甚至譬如闪电网络、RGB客户端验证等潜在可延展市场的进展都会起催化作用。理论上任何BTC可编程能力的提升对其延展生态的刺激作用会立竿见影,毕竟大家都试图在沙漠里建绿洲,如果有一天沙子变成水泥地板了,那大楼盖起来岂不是要方便很多了。

只是,它会被真正Merge通过吗? 想想已经被提出多年但未被采纳的Covenant提案,用OP_CAT新提案来脑补一些市场想象空间也挺好。