OP_CAT 这是一个比特币操作码,用于将栈中的两段数据合并为一段,目前它是比特币开发领域中持续时间最长的争论之一。 该指令曾是比特币原始代码的一部分,但因安全顾虑于2010年被中本聪移除;过去几年间,它作为一项软分叉提案(BIP 347)存在,有望在比特币网络上开启一类类似智能合约的新功能。 截至2026年7月,该指令在比特币主网上尚未启用,但已在少数几个与比特币相关的网络上运行,并在公开环境中悄然接受压力测试。
OP_CAT之所以值得深入了解,不仅仅是因为其代码本身,更在于围绕它的各方角色:比特币核心(Bitcoin Core)开发者们正在争论这一改动是否安全;一个由网络梗驱动的NFT项目筹集了数千万美元,旨在游说恢复该功能;以及一条发展迅速的侧链,它已经将该功能投入实际应用。 本指南将详细解析 OP_CAT 的功能、被禁用的原因、它可能带来的可能性,以及当前的具体进展。
使用多链 Bitcoin.com 钱包应用, 数百万用户信赖该平台,可安全、便捷地发送、接收、购买、出售、交易、使用和管理比特币及加密货币。
要点总结
- OP_CAT(即“连接操作”的缩写)将比特币栈中的两个数据项合并为一个数据项。这就是该操作的全部功能。
- 该功能在比特币最早期的代码中曾处于启用状态,后因存在拒绝服务风险,于2010年被中本聪禁用。
- 关于恢复该功能的提案(BIP 347)由伊桑·海尔曼(Ethan Heilman)和阿明·萨布里(Armin Sabouri)起草,并于2024年4月被分配了BIP编号。
- OP_CAT 本身并非契约,但与其他操作码结合使用时,可用于构建类似契约的支出限制,包括金库。
- 截至2026年年中,OP_CAT尚未在比特币主网中激活。 目前,比特币下一次共识软分叉的主要候选方案是 OP_CTV(BIP 119)和 OP_CHECKSIGFROMSTACK(BIP 348),而非单独的 OP_CAT。
- OP_CAT 已在与比特币兼容的侧链 Fractal Bitcoin 上上线,为 CAT20 代币标准提供支持;此外,该功能在 Liquid Network 和比特币现金网络上已运行多年,迄今未发现任何已知的漏洞。
- 由 Taproot Wizards 打造的比特币 NFT 项目“Quantum Cats”,将对 OP_CAT 的支持转化为一场网络梗活动,为 OP_CAT 相关开发筹集了超过 3700 万美元。
OP_CAT 的工作原理
要理解 OP_CAT,最直观的方法是将比特币的脚本系统想象成一摞小积木。比特币脚本(Bitcoin Script)——即每笔比特币交易背后的编程语言——是一种基于栈的语言。数据会被压入栈中,操作码对栈顶的数据进行处理,而处理结果则决定了交易是否有效。
OP_CAT 会取栈顶的两个元素并将其拼接起来,即把它们首尾相接合并为一个组合元素,然后将该组合元素放回栈顶。 如果栈中包含值“1”和“2”,执行 OP_CAT 会移除这两个值,并用“12”替换它们。根据官方规范中的说明: BIP 347, OP_CAT 会将 x1 || x2 压入栈中,其中双竖线符号表示连接。
有一个重要的限制。如果栈中值少于两个,或者将它们合并后生成的组合值大于520字节(即比特币脚本元素的最大大小),则OP_CAT会失败。这一字节限制对该操作码的发展历程至关重要,我们稍后将详细讨论。
单看将两段数据字符串拼接起来,听起来似乎没什么大不了的。但比特币的脚本语言此前一直缺乏一种通用方法来组合栈中的值,这一缺失限制了开发者在比特币交易中直接实现的功能。正如 Bitcoin Optech 解释道, 比特币 Tapscript 缺乏一种通用的方法来组合栈中的对象,这限制了 Tapscript 的表达能力,并导致无法直接在 Tapscript 中构建和评估默克尔树及其他哈希数据结构等。OP_CAT 正是为弥补这一具体缺陷而提出的解决方案。
为什么在2010年禁用了OP_CAT?
OP_CAT 是比特币最初发布版本的一部分。2010年,中本聪将其与其他几个操作码(如 OP_MUL、OP_DIV 和 OP_OR)一同移除。 官方给出的主要理由是存在拒绝服务风险:理论上,一个反复使用 OP_CAT 的脚本可能会生成呈指数级增长的数据,其规模之大足以导致尝试验证该数据的节点运行变慢甚至崩溃。
当时,比特币栈中单个项的大小并没有硬性限制。这意味着恶意脚本可以不断将值拼接起来,直到生成一条足够庞大的数据串,从而导致网络瘫痪。 移除 OP_CAT 以及其他已禁用的操作码,是一项审慎的举措,它将网络稳定性置于功能之上——毕竟当时这个尚处于初创阶段的网络还不需要这些功能。
2021年11月,随着比特币激活Taproot升级,局面发生了变化。Taproot引入了Tapscript——一个拥有独立规则的新脚本环境,其中一条规则将单个栈项的大小上限设定为520字节。这一字节限制直接封堵了原有的攻击路径。 脚本虽然仍可调用OP_CAT,但其生成的值绝不会大到足以引发2010年中本聪所担忧的那种资源耗尽问题。正是这一技术细节重新为OP_CAT的回归打开了大门,只不过其适用范围仅限于Tapscript,而非整个比特币脚本。
OP_CAT 算是一种契约吗?
不,它本身并不能做到这一点,这也是关于 OP_CAT 最常被误解的要点之一。在比特币术语中,“契约”(covenant)是对未花费交易输出(UTXO)未来如何被花费所设定的限制。 普通的比特币脚本只能检查当前的支出是否已获授权,通常是通过验证签名来实现的。而契约则更进一步,不仅检查支出是否已获授权,还会检查由此产生的交易是否符合一组特定的条件。
OP_CAT 本身并不包含任何用于检查交易数据的内置机制。它提供了一种将栈中的数据片段组合起来的方法,只有当与其他操作码配合使用——这些操作码会根据组合后的数据验证签名——时,该功能对契约才具有实用价值。 BIP 347 本身明确指出 虽然有人提议在 Tapscript 中重新启用 OP_CAT,但它并非一项契约。更准确的说法是,它是一个构建模块,与签名验证操作码结合使用时,可以模拟类似契约的行为。
这一点之所以重要,是因为OP_CAT的灵活性正是使其既引人注目又备受争议的关键所在。虽然OP_CAT本身可能并非一种契约,但由于Schnorr签名工作机制中存在的一个特殊之处,它可以模拟契约的功能。 结合名为 CheckSigFromStack(CSFS)的操作码——该操作码会根据任意数据(而非仅限于交易本身)来验证签名——OP_CAT 可以用来构建与专用契约操作码所设计的支出限制相同类型的限制。
OP_CAT 可以用于什么?
由于 OP_CAT 是一种通用原语,而非范围狭窄的功能,开发者们为其提出了多种应用场景。其中讨论最热烈的包括:
- 金库。 “保险库”是一种契约,在资金能够转移之前,需要经过多个步骤,这些步骤通常分散在不同的交易和区块中。这引入了一种内置延迟机制,使所有者有时间察觉并阻止未经授权的支出,从而改善了冷存储和共享托管方案。
- 无歧义合同。 这些机制可以对在支付通道(例如闪电网络)中试图广播过时或欺诈性通道状态的一方进行惩罚,从而增强链下支付系统的安全性。
- 树的签名。 OP_CAT 支持紧凑型多签名脚本,其大小随签名人数的增加仅呈对数级增长,这意味着理论上,一笔小于 1 千字节的交易即可支持覆盖数百万个公钥的支出条件。
- 默克尔树的构建与验证。 由于构建和验证默克尔树从根本上需要对值进行拼接和哈希运算,OP_CAT 为比特币脚本提供了实现这一功能所需的原生支持。
- 后量子特征。 OP_CAT 可以启用拉姆波特签名,这是一种被认为能够抵御量子计算机攻击的签名方案,因为拉姆波特签名仅需对栈上的值进行哈希运算和拼接即可。
- 代币化资产和跨链桥。 通过支持表达能力更强的脚本,OP_CAT 能够支持在与比特币兼容的链上直接发行代币,并构建更多信任成本更低的比特币与其他网络之间的跨链桥。
在此,也值得直截了当地谈谈其中的权衡。正是这种灵活性,既让 OP_CAT 在上述所有场景中都大显身手,也使得一些比特币开发者对其持谨慎态度。 由于 OP_CAT 属于通用型而非专用型,它开辟了开发者有时所说的“广阔的设计空间”,这意味着很难预测它最终会以何种方式与其他操作码结合。这种不确定性才是当前争论的核心,而非次要问题。
OP_CAT 与 OP_CTV:两项主要契约提案的对比分析
OP_CAT 通常与 OP_CTV(OP_CheckTemplateVerify)一同被提及,后者由开发者杰里米·鲁宾(Jeremy Rubin)在 BIP 119 中提出。两者都旨在为比特币提供某种形式的契约功能,但它们采用的设计方法几乎截然相反。
实际上的区别在于适用范围。OP_CTV 允许交易输出对一笔确切的未来消费交易进行提交,涵盖版本、锁定时间、输出和输入数量等细节。只要符合模板,消费交易就能通过。 若不匹配,则交易无法通过。这种狭窄的范围是刻意设计的。CTV 是非递归的,这意味着它所约束的交易本身无法再设定进一步的限制,从而避免形成永久性的约束链。支持者认为这是更安全、更可控的契约形式。
OP_CAT 则秉持截然相反的理念。它并非旨在解决某个具体问题,而是为开发者提供一个灵活的原始操作,让他们在此基础上进行构建。 CTV 是一个范围严格限定、旨在支持特定用例集的操作码;而 OP_CAT 则是一个栈上字符串连接的原始操作,它原本就存在于原始比特币脚本语言中,但在 2010 年因担心拒绝服务攻击而被禁用——不过在 Taproot 之后的脚本大小限制下,这种担忧已不再适用。 正是这种灵活性,使得 OP_CAT 能够支持递归契约——即一项限制可以衍生出后续的另一项限制,而这是 OP_CTV 刻意避免的特性。
OP_CAT 今天在比特币网络上已启用吗?
这并非指比特币主网。作为一份规范文档,BIP 347 已达到“完成”状态,这意味着该提案本身已经完成且定义明确。这与实际部署是两码事,后者需要更广泛的比特币社区和节点运营商通过软分叉来实际激活该提案。
截至2026年年中,OP_CAT并非比特币下一次共识变更的首选方案。 目前,这一地位属于 OP_CTV 及其相关操作码 OP_CHECKSIGFROMSTACK(BIP 348)——后者允许脚本针对任意数据(而非仅限于支出交易本身)验证签名。根据一份 最新的比特币BIP参考指南, 截至2026年年中,下一轮共识软分叉的主要候选方案是契约提案BIP 119(OP_CHECKTEMPLATEVERIFY)和BIP 348 (OP_CHECKSIGFROMSTACK)——这两项契约提案,它们将为保险库、通道工厂以及更高效的第二层协议提供新的脚本功能,尽管目前尚未确定激活时间表,且社区共识仍在形成之中。
OP_CTV 在激活进程中的推进程度已超过 OP_CAT。开发人员已发布 具体的信号参数 对于BIP9风格的软分叉:信号发送起始日期为2026年3月30日,为期一年的超时窗口将于2027年3月30日结束,最低激活高度预计在2027年5月左右,且每个两周难度周期内矿工信号发送阈值需达到90%。 这意味着 CTV 将采用与 2021 年激活 Taproot 时相同的机制,不过鉴于开发者社区内对契约提案的争议依然存在,能否达到 90% 的阈值远非定局。
这并不意味着 OP_CAT 已死。这意味着 2026 年的“下一轮”软分叉讨论目前聚焦于另一对操作码,而 OP_CAT 的未来发展路径(如果存在的话),很可能取决于 CTV 和 CSFS 之争的最终结果。
OP_CAT 已在其他地方运行
尽管OP_CAT仍在等待登陆比特币主网,但它并非毫无测试。多年来,它一直在少数几个与比特币相关的网络上悄然投入生产运行。
- Liquid Network。 Blockstream 的联合侧链自上线以来就启用了 OP_CAT,这使得更广泛的比特币生态系统在 BIP 347 尚未出现之前数年,就已拥有了一个现实世界的测试平台。
- 比特币现金和比特币SV。 这两个网络都在协议升级过程中重新引入了 OP_CAT,该操作码已在这些链上处理了交易,且未发现与该操作码本身相关的已知漏洞。
- 分形比特币。 这是目前最活跃的部署项目。Fractal 是一条与比特币兼容的侧链,基于比特币核心(Bitcoin Core)的软件构建,并与比特币进行合并挖矿,其主网于 2024 年 9 月 9 日上线,并自上线首日起即启用了 OP_CAT 功能。
Fractal 值得我们深入探讨,因为它对“这在比特币上实际会是什么样子”这一问题给出了最清晰的答案。 自 Fractal 推出以来,已有新协议利用 OP_CAT 在比特币软件基础上创建智能合约,其中包括 CAT 协议——该协议在比特币原生用户中引起了极大关注——以及其他利用 OP_CAT 扩展网络功能的新兴标准。
最具代表性的例子是 CAT20,这是一个专门为利用 OP_CAT 而设计的可替代代币标准。根据 Fractal Bitcoin 的官方文档, CAT20 完全由矿工验证,并通过智能合约(具体而言是递归契约)运行,其执行完全由比特币底层自身的脚本语言保障,这使其区别于那些依赖外部或第三方验证的代币标准。 实际上,这意味着 CAT20 代币的部署、铸造和转移是通过一系列 OP_CAT 操作实现的,这些操作构建成一条单一的数据字符串,随后该字符串会被直接写入区块链,并由保障网络安全的同一批矿工进行验证,而非由独立的链下索引服务进行验证。
《量子猫的故事:一场网络梗活动如何推动了OP_CAT的发展》
大多数操作码提案都仅限于邮件列表和 GitHub 讨论串中。但 OP_CAT 却并非如此,这主要得益于一个名为“Taproot Wizards”的比特币 Ordinals 项目。
2024年1月,Taproot Wizards 推出了一款名为“Quantum Cats”的3,333件NFT风格系列,该系列完全围绕为OP_CAT的重新激活争取公众支持这一目标而打造。 “量子猫”希望通过OP_CAT构建一个无许可桥,将比特币及基于比特币的资产转移至比特币第二层链上,使其能够参与更复杂的交易。 参与者若想获得铸造资格,必须深入了解该技术提案的具体内容,并公开倡导其恢复,从而将原本相当枯燥的BIP讨论转变为一场具有实际利益关联的社区运动。
该系列本身也展示了“连接”功能的实际应用。每只“量子猫”所指的并非一张静态图像,而是多个独立文件;随着时间推移,新文件陆续揭晓,猫的形象随之变化,这恰恰体现了OP_CAT通过将独立的数据片段组合在一起的功能。
该活动成效显著,成功吸引了大额资金。Taproot Wizards 于 2023 年筹集了 750 万美元,随后在 2025 年 2 月又完成了一轮 3000 万美元的融资,这两笔资金均明确指定用于 OP_CAT 生态系统的开发。 联合创始人乌迪·韦尔特海默(Udi Wertheimer)表示,该项目致力于将OP_CAT打造为比特币的未来,所筹资金将用于内部开发,同时也支持基于该操作码进行开发的外部团队。 苏富比拍卖行的一场“量子猫”拍卖中,“创世猫”最终以254,000美元成交,这充分彰显了这场活动围绕一个四字节操作码所凝聚的巨大文化影响力。
这提醒我们,关于比特币的技术性讨论并不总是局限于技术层面。网络梗、艺术和金钱一再成为推动协议讨论进入更广泛视野的工具,而OP_CAT正是这一模式近期最鲜明的例子之一。
结论
OP_CAT 只做一件事:它将比特币栈中的两段数据合并为一段。其重要性在于,如果比特币社区最终同意将其重新引入,这一单一功能将能开启诸多可能性,从更安全的冷存储金库到后量子签名,再到比特币原生代币。 截至 2026 年 7 月,这一共识尚未达成。 BIP 347 是一份已完成的规范,在比特币下一次共识软分叉的候选名单中,排在 OP_CTV 和 OP_CHECKSIGFROMSTACK 之后;与此同时,OP_CAT 仍在 Fractal Bitcoin、Liquid 及其他比特币相关网络上默默运行,且未发生任何故障。 无论接下来会发生什么,围绕 OP_CAT 的讨论已经表明,一段简短而简单的代码如何能够同时吸引开发者、艺术家和投资者。





