OP_CAT 就像是其他开发语言中的concat 指令,能够将两个元素拼接成一个,进而允许多个字串的串连,也就是在比特币网路实现多个UTXO 解锁脚本位元组的连接处理。虽然其功用听起来很单纯,却可以极大地拓展比特币智能合约的功能,以处理更复杂的数据和操作逻辑,应用场景包括:
多签优化
在多签场景下,OP_CAT 可以将多个签名聚合在一起,减少需要提交的签名数量,使交易内容更为精简,能够缩短网路的验证时间,并降低所需的区块空间,交易费用也更便宜。
状态合约
在区块链上,状态 (State) 表示整条链所有数据的合集,包括使用者的余额、智能合约内部的变量以及储存在区块链上的资讯等。而状态合约是一种智能合约,负责保存当下的状态,并根据特定的操作进行状态的更新。举例来说,假设某个DeFi 的智能合约A 负责管理流动性池中的代币余额,每当使用者存入或提取代币时,A 就会依此更新流动性池中的代币数量并保存最新状态。
在一些复杂的去中心化应用场景中,状态合约往往需要储存大量的状态数据,并且包含多种逻辑和功能。例如借贷协议中的状态合约必须要追踪每一个用户的存款、借款和抵押品余额,根据市场变动时时进行更新,在抵押品余额不足时对用户资产执行清算。在这种情况下,OP_CAT 能够将大量的状态信息串联在一起,叠加多重条件以更精细的操作。
支付通道网路的扩展性
在闪电网路 (Lightning Network) 这类的支付通道网路中,交易双方会在链下进行多次交易,并仅在链上结算最终的结果。 OP_CAT 可以连接不同的支付请求,让用户更有效地管理支付通道中的交易,显著提高网路的吞吐量和效率。
简而言之,OP_CAT 为比特币的脚本语言提供了更高的可组合性,能够根据不同的需求将多个简单的脚本片段拼接在一起,实现更繁琐的操作逻辑,强化比特币网路的可扩展性。
OP_CAT 在早期的比特币脚本语言中便以存在,然而,透过多次 OP_CAT 的串连,脚本的大小可能会呈现指数级的增长,远远超出内存的负荷,进而使节点崩溃。因此,基于安全性的考量,中本聪将 OP_CAT 从比特币的指令中删除。
然而,随着近几年比特币生态的发展,对于原生智能合约的需求日渐增长,加上Segwit 和Taproot 升级将区块容量从1MB 增加为4MB,并透过Tapscript 将堆栈元素的大小限制在520 个字节,避免其无限扩张,为OP_CAT 的再次采用奠定了基础。
2023 年10 月,比特币核心开发者Ethan Heilman 和Botanix Labs 首席软体工程师Armin Sabouri 共同发布了一份比特币改进提案(Bitcoin Improvement Proposal,简称BIP),仅包含13 行简洁的代码,定义了一个新的Tapscript 操作码,允许在堆栈上串连两个字节,灵感来源明显来自被删除的OP_CAT。
(图 1、BIP-347 的代码,来源:Github)
该提案被正式提名为BIP-347,获得许多比特币领域的知名人物如闪电网路白皮书作者Tadge Dryja、闪电实验室共同创办人Olaoluwa Osuntokun 和Blockstream 研究主管Andrew Poelstra 等人的支持,并希望透过软分叉将其应用于比特币网路。
然而,OP_CAT 虽然可以扩展比特币智能合约的功能,却也会增加整体网路的复杂性,任何微小的错误和漏洞都有机会引发严重的安全问题。对于比特币社区而言,安全性和稳定性一直都是他们的首要考量,任何可能对网路构成重大威胁的更改提案都会受到长时间的严格审查和广泛讨论。因此,OP_CAT 尚未在比特币主网实行,反而是比特币分型网路 Fractal Bitcoin 率先进行了 OP_CAT 的实作,并诞生多个基于 OP_CAT 构建的协议。
CAT (Covenant Attested Token,简称 CAT) Protocol 是在 Fractal Bitcoin 由匿名团队推出的的代币协议,基于 OP_CAT 所开发,根据其官方白皮书具有以下几点特性:
无需仰赖外部索引器
CAT 代币的规则、数据和运作逻辑皆储存于链上,发送或接受代币时并不需要透过第三方索引器,而是直接从链上提取所需的资讯,其安全性完全由比特币的共识所保护,避免外部索引器和链上数据不一致的情况发生。
模组化
CAT 代币的操作原理由OP_CAT 支持,因此具备高度的可组合性,能够灵活与其他智能合约进行互动,兼容自动做市商(Automated Market Maker,简称AMM)、借贷、质押等复杂的去中心性化应用,拓展了比特币的应用范畴。
可编程铸造
代币的铸造规则和执行皆由智能合约而非外部索引器验证,发行方可以自由制定代币的发行规范,而超过总量限制的铸造请求将被网路拒绝。
跨链互操作性
允许资产在不同的区块链之间进行转移,让应用程序可以同时部署在多条链上,对资产执行复杂的跨链操作。
SPV 兼容
支援比特币SPV (Simplified Payment Verification, 简化支付验证,简称SPV) 的轻量化验证机制,轻节点端(例如手机或浏览器插件) 只需下载区块头资料便能验证代币的交易真实性,不需要仰赖任何的中央伺服器。
CAT Protocol 目前有CAT20 和CAT721 两种代币标准,并分别于今年9 月11 日和10 月31 日推出第一个CAT20 代币CAT 和CAT721 合集Locked-up Cats,前者总量为2100 万,后者则为1 万,任何人都可以公平铸造。
(图 2、Locked-up Cats 系列,来源:Satosea)
CAT Protocol 并不是第一个在Fractal Bitcoin 部署的代币协议,在此之前推出的首个代币协议为FLUX,并以「First is First」为口号,吸引了早期流量,总量2100 万的代币在短短半小时便铸造完,价格一度触及50 USDT,但并未引起特别大的关注。隔两天 CAT 推出后热度远超 FLUX,引起市场大规模 FOMO,导致Fractal 的网路费率从 100 飙升至 1500。造成这种现象的原因在于,在 CAT 推出不久后,Unisat 就更新了其 Fractal 浏览器页面并新增了 CAT20 版面,因此也引起社群猜测 Unisat 是否是 CAT 的幕后团队。然而同为 Unisat 和 Fractal 团队成员的 Vivian 并没有正面回答这个问题,仅表示官方会支持所有在 Fractal 上建设的项目。
此外,社群也猜测 CAT 的背后团队亦有可能是在 OP_CAT 领域耕耘许久的 sCrypt Official。该团队不仅对 OP_CAT 有着深刻的理解,也曾获得 Fractal 用于资助生态发展的 1 万个 FB,加上 CAT Protocol 官方文档中的图档风格和文字也近似于 sCrypt Official 使用习惯。
(图 3、对比 CAT Protocol 官方文档和 sCrypt Official 社群贴文,来源:ChainCatcher)
以上两种可能皆为社群自行的臆测,并未获得任何官方证实,但不论事实为何,CAT Protocol 的团队势必和 Unisat 与 Fractal 有着紧密的关联。
(图 4、BRC-20、Rune 和 Cat Protocol 的比较,图源:Fractal)
今年4 月比特币区块奖励适逢四年一次的减半,围绕比特币生态的议题也再度被市场广泛讨论,也在短短一两年内的时间里陆续出现了诸多新的代币标准,依序是BRC-20、Runes 和CAT Protocol,三者皆希望透过不同的技术革新来提升比特币网路的可扩展性。接下来将会主要从安全性和功能性来讨论三者各自的优劣。
在区块链领域中,安全性的高低主要取决于其去中心化程度,愈是高度去中心化的协议,所需的信任假设愈少,安全性就愈高,反之则愈低。 BRC20 的运作机制是将代币资讯绑定于单一个聪(sat) 上,Runes 则是使用OP_RETURN 指令码将Rune 的代币资讯附带在UTXOs 中,两者透过这种方式将代币的总量、转移、用户余额等资讯纪录于比特币的区块中,以此确保任何人都无法窜改。然而,比特币网路仅是用作「纪录」,却无法「识别」这些交易。因此,每当发起一笔交易,BRC20 和 Rune 都需要先透过外部第三方索引器和帐本查询和计算余额,再于链上转帐并记录。这表示即便 BRC20 和 Rune 的帐本是去中心化的,但其结算过程却是中心化的,存在对外部索引器的信任风险。
而 CAT Protocol 则是使用的原生脚本语言 OP_CAT 来操作,因此其交易全程是由比特币网路的共识所验证和保护的。然而,这同时也是 CAT Protocol 的安全隐患所在,OP_CAT 从根本上拓展了比特币智能合约的功能,却也可能潜藏某些重大的安全漏洞,对整体网路造成威胁。这也导致 OP_CAT 并未正式上线主网,仅在 Fractal 和 Bitcoin Cash 等支援 OP_CAT 的 Layer 2 或分叉网路上实行。
以功能性而言,BRC20 是第一个在比特币网路出现的同质化代币,但也有其局限性,包括一次交易只能转移一种BRC20 代币、代币的转移需要至少3 笔交易、创建过多小型的UTXO 造成储存和带宽的负荷等等;Runes 则是BRC20 的升级版,能够在单个UTXO 中同时持有多种Runes 代币,解决BRC20 引起的UTXO 膨胀问题,且大多数操作只需一笔交易即可完成。然而,尽管Runes 针对BRC20 的不足之处进行了优化,却没有跳脱出比特币网路本身的框架限制,只是在BRC20 的基础上对优化了资产的交易效率,减少网路的负担,但没有衍生出更多应用。
CAT Protocol 直接受益于比特币脚本语言的升级,其最大特色并不是创建新的比特币资产,而是能够对资产进行更复杂和颗粒化的操作,模组化的设计使其具有庞大的应用潜力,极大地拓展了比特币网路的应用范畴。但这也伴随一定的安全隐忧,尚需要经过比特币核心社群的验证和认可才会真正在主网上线。
比特币自发布以来至今其网路都未被骇客成功攻击过,其超群的稳定和安全性使其被誉为「数位黄金」,是行业中最稳定的加密资产,但也成为其通往大规模应用道路上的主要阻碍。随着围绕比特币生态的议题不断被提起,CAT Protocol 无疑是现阶段扩展比特币智能合约最好的解法之一。然而,比特币社群长期以来便对智能合约存有恐惧和不信任,以及重启被中本聪删除的指令码 OP_CAT 是否有违比特币的「正统性」,都仍存在各种争议与矛盾。比特币发展的时日尚浅,CAT Protocol 是否会成为未来比特币生态突破的关键,不论在技术或共识层面,都还需要时间变得更加成熟。
OP_CAT 就像是其他开发语言中的concat 指令,能够将两个元素拼接成一个,进而允许多个字串的串连,也就是在比特币网路实现多个UTXO 解锁脚本位元组的连接处理。虽然其功用听起来很单纯,却可以极大地拓展比特币智能合约的功能,以处理更复杂的数据和操作逻辑,应用场景包括:
多签优化
在多签场景下,OP_CAT 可以将多个签名聚合在一起,减少需要提交的签名数量,使交易内容更为精简,能够缩短网路的验证时间,并降低所需的区块空间,交易费用也更便宜。
状态合约
在区块链上,状态 (State) 表示整条链所有数据的合集,包括使用者的余额、智能合约内部的变量以及储存在区块链上的资讯等。而状态合约是一种智能合约,负责保存当下的状态,并根据特定的操作进行状态的更新。举例来说,假设某个DeFi 的智能合约A 负责管理流动性池中的代币余额,每当使用者存入或提取代币时,A 就会依此更新流动性池中的代币数量并保存最新状态。
在一些复杂的去中心化应用场景中,状态合约往往需要储存大量的状态数据,并且包含多种逻辑和功能。例如借贷协议中的状态合约必须要追踪每一个用户的存款、借款和抵押品余额,根据市场变动时时进行更新,在抵押品余额不足时对用户资产执行清算。在这种情况下,OP_CAT 能够将大量的状态信息串联在一起,叠加多重条件以更精细的操作。
支付通道网路的扩展性
在闪电网路 (Lightning Network) 这类的支付通道网路中,交易双方会在链下进行多次交易,并仅在链上结算最终的结果。 OP_CAT 可以连接不同的支付请求,让用户更有效地管理支付通道中的交易,显著提高网路的吞吐量和效率。
简而言之,OP_CAT 为比特币的脚本语言提供了更高的可组合性,能够根据不同的需求将多个简单的脚本片段拼接在一起,实现更繁琐的操作逻辑,强化比特币网路的可扩展性。
OP_CAT 在早期的比特币脚本语言中便以存在,然而,透过多次 OP_CAT 的串连,脚本的大小可能会呈现指数级的增长,远远超出内存的负荷,进而使节点崩溃。因此,基于安全性的考量,中本聪将 OP_CAT 从比特币的指令中删除。
然而,随着近几年比特币生态的发展,对于原生智能合约的需求日渐增长,加上Segwit 和Taproot 升级将区块容量从1MB 增加为4MB,并透过Tapscript 将堆栈元素的大小限制在520 个字节,避免其无限扩张,为OP_CAT 的再次采用奠定了基础。
2023 年10 月,比特币核心开发者Ethan Heilman 和Botanix Labs 首席软体工程师Armin Sabouri 共同发布了一份比特币改进提案(Bitcoin Improvement Proposal,简称BIP),仅包含13 行简洁的代码,定义了一个新的Tapscript 操作码,允许在堆栈上串连两个字节,灵感来源明显来自被删除的OP_CAT。
(图 1、BIP-347 的代码,来源:Github)
该提案被正式提名为BIP-347,获得许多比特币领域的知名人物如闪电网路白皮书作者Tadge Dryja、闪电实验室共同创办人Olaoluwa Osuntokun 和Blockstream 研究主管Andrew Poelstra 等人的支持,并希望透过软分叉将其应用于比特币网路。
然而,OP_CAT 虽然可以扩展比特币智能合约的功能,却也会增加整体网路的复杂性,任何微小的错误和漏洞都有机会引发严重的安全问题。对于比特币社区而言,安全性和稳定性一直都是他们的首要考量,任何可能对网路构成重大威胁的更改提案都会受到长时间的严格审查和广泛讨论。因此,OP_CAT 尚未在比特币主网实行,反而是比特币分型网路 Fractal Bitcoin 率先进行了 OP_CAT 的实作,并诞生多个基于 OP_CAT 构建的协议。
CAT (Covenant Attested Token,简称 CAT) Protocol 是在 Fractal Bitcoin 由匿名团队推出的的代币协议,基于 OP_CAT 所开发,根据其官方白皮书具有以下几点特性:
无需仰赖外部索引器
CAT 代币的规则、数据和运作逻辑皆储存于链上,发送或接受代币时并不需要透过第三方索引器,而是直接从链上提取所需的资讯,其安全性完全由比特币的共识所保护,避免外部索引器和链上数据不一致的情况发生。
模组化
CAT 代币的操作原理由OP_CAT 支持,因此具备高度的可组合性,能够灵活与其他智能合约进行互动,兼容自动做市商(Automated Market Maker,简称AMM)、借贷、质押等复杂的去中心性化应用,拓展了比特币的应用范畴。
可编程铸造
代币的铸造规则和执行皆由智能合约而非外部索引器验证,发行方可以自由制定代币的发行规范,而超过总量限制的铸造请求将被网路拒绝。
跨链互操作性
允许资产在不同的区块链之间进行转移,让应用程序可以同时部署在多条链上,对资产执行复杂的跨链操作。
SPV 兼容
支援比特币SPV (Simplified Payment Verification, 简化支付验证,简称SPV) 的轻量化验证机制,轻节点端(例如手机或浏览器插件) 只需下载区块头资料便能验证代币的交易真实性,不需要仰赖任何的中央伺服器。
CAT Protocol 目前有CAT20 和CAT721 两种代币标准,并分别于今年9 月11 日和10 月31 日推出第一个CAT20 代币CAT 和CAT721 合集Locked-up Cats,前者总量为2100 万,后者则为1 万,任何人都可以公平铸造。
(图 2、Locked-up Cats 系列,来源:Satosea)
CAT Protocol 并不是第一个在Fractal Bitcoin 部署的代币协议,在此之前推出的首个代币协议为FLUX,并以「First is First」为口号,吸引了早期流量,总量2100 万的代币在短短半小时便铸造完,价格一度触及50 USDT,但并未引起特别大的关注。隔两天 CAT 推出后热度远超 FLUX,引起市场大规模 FOMO,导致Fractal 的网路费率从 100 飙升至 1500。造成这种现象的原因在于,在 CAT 推出不久后,Unisat 就更新了其 Fractal 浏览器页面并新增了 CAT20 版面,因此也引起社群猜测 Unisat 是否是 CAT 的幕后团队。然而同为 Unisat 和 Fractal 团队成员的 Vivian 并没有正面回答这个问题,仅表示官方会支持所有在 Fractal 上建设的项目。
此外,社群也猜测 CAT 的背后团队亦有可能是在 OP_CAT 领域耕耘许久的 sCrypt Official。该团队不仅对 OP_CAT 有着深刻的理解,也曾获得 Fractal 用于资助生态发展的 1 万个 FB,加上 CAT Protocol 官方文档中的图档风格和文字也近似于 sCrypt Official 使用习惯。
(图 3、对比 CAT Protocol 官方文档和 sCrypt Official 社群贴文,来源:ChainCatcher)
以上两种可能皆为社群自行的臆测,并未获得任何官方证实,但不论事实为何,CAT Protocol 的团队势必和 Unisat 与 Fractal 有着紧密的关联。
(图 4、BRC-20、Rune 和 Cat Protocol 的比较,图源:Fractal)
今年4 月比特币区块奖励适逢四年一次的减半,围绕比特币生态的议题也再度被市场广泛讨论,也在短短一两年内的时间里陆续出现了诸多新的代币标准,依序是BRC-20、Runes 和CAT Protocol,三者皆希望透过不同的技术革新来提升比特币网路的可扩展性。接下来将会主要从安全性和功能性来讨论三者各自的优劣。
在区块链领域中,安全性的高低主要取决于其去中心化程度,愈是高度去中心化的协议,所需的信任假设愈少,安全性就愈高,反之则愈低。 BRC20 的运作机制是将代币资讯绑定于单一个聪(sat) 上,Runes 则是使用OP_RETURN 指令码将Rune 的代币资讯附带在UTXOs 中,两者透过这种方式将代币的总量、转移、用户余额等资讯纪录于比特币的区块中,以此确保任何人都无法窜改。然而,比特币网路仅是用作「纪录」,却无法「识别」这些交易。因此,每当发起一笔交易,BRC20 和 Rune 都需要先透过外部第三方索引器和帐本查询和计算余额,再于链上转帐并记录。这表示即便 BRC20 和 Rune 的帐本是去中心化的,但其结算过程却是中心化的,存在对外部索引器的信任风险。
而 CAT Protocol 则是使用的原生脚本语言 OP_CAT 来操作,因此其交易全程是由比特币网路的共识所验证和保护的。然而,这同时也是 CAT Protocol 的安全隐患所在,OP_CAT 从根本上拓展了比特币智能合约的功能,却也可能潜藏某些重大的安全漏洞,对整体网路造成威胁。这也导致 OP_CAT 并未正式上线主网,仅在 Fractal 和 Bitcoin Cash 等支援 OP_CAT 的 Layer 2 或分叉网路上实行。
以功能性而言,BRC20 是第一个在比特币网路出现的同质化代币,但也有其局限性,包括一次交易只能转移一种BRC20 代币、代币的转移需要至少3 笔交易、创建过多小型的UTXO 造成储存和带宽的负荷等等;Runes 则是BRC20 的升级版,能够在单个UTXO 中同时持有多种Runes 代币,解决BRC20 引起的UTXO 膨胀问题,且大多数操作只需一笔交易即可完成。然而,尽管Runes 针对BRC20 的不足之处进行了优化,却没有跳脱出比特币网路本身的框架限制,只是在BRC20 的基础上对优化了资产的交易效率,减少网路的负担,但没有衍生出更多应用。
CAT Protocol 直接受益于比特币脚本语言的升级,其最大特色并不是创建新的比特币资产,而是能够对资产进行更复杂和颗粒化的操作,模组化的设计使其具有庞大的应用潜力,极大地拓展了比特币网路的应用范畴。但这也伴随一定的安全隐忧,尚需要经过比特币核心社群的验证和认可才会真正在主网上线。
比特币自发布以来至今其网路都未被骇客成功攻击过,其超群的稳定和安全性使其被誉为「数位黄金」,是行业中最稳定的加密资产,但也成为其通往大规模应用道路上的主要阻碍。随着围绕比特币生态的议题不断被提起,CAT Protocol 无疑是现阶段扩展比特币智能合约最好的解法之一。然而,比特币社群长期以来便对智能合约存有恐惧和不信任,以及重启被中本聪删除的指令码 OP_CAT 是否有违比特币的「正统性」,都仍存在各种争议与矛盾。比特币发展的时日尚浅,CAT Protocol 是否会成为未来比特币生态突破的关键,不论在技术或共识层面,都还需要时间变得更加成熟。