作者:OP_NET中文社区,来源:作者推特@opnetbtc_cn
长话短说:
-
OP_CAT是比特币脚本中的一个操作码, 用于处理比特币交易中的数据;
-
OP_NET是构建在比特币上的元协议, 用于发行、交易、管理符合协议标准的资产;
-
Fractal 是独立于比特币的侧链, 用于扩展比特币的功能,提高交易速度, 实现更复杂的应用。
关于示例
示例图归类含义大于架构含义, 并不代表真实的层级, 实际情况是“你中有我, 我中有你的”复杂关系。
如OP_CAT作为比特币脚本功能的一部分, 可以归类到基础层;Fractal可以在采用OP_CAT的同时,出现OP_NET; 协议层中,也可以通过调用OP_CAT这些脚本操作码来实现更高级的功能……
OP_CAT
OP_CAT是比特币最早期脚本操作码的一部分,为了避免可能的漏洞(因内存使用不受限而导致的潜在拒绝DoS 攻击),中本聪禁用了多个操作码,包括 OP_CAT。而 BIP-420则 是专门为重新引入 OP_CAT 而提出的提案, 希望以新的方式恢复 OP_CAT,而BIP-420只是提案的编号。
OP_NET
作为一个发行,交易,管理资产的协议标准,与操作码是不是同一类型的东西。与之相比的应为Ordinals/Runes等。它以Wasm编译的索引器实现多语言兼容,在索引中执行智能合约操作。采用账户模型,并且所有交易都以BTC作为gas。如果这仍然难以理解,就记住:有智能合约;使用BTC做gas 就够了。
Fractal
作为独立于比特币的侧链,Fractal的优势是:更低的手续费,更大的容量,更快的速度。在尽量与主网保持一致的同时(不修改Bitcoin Core与POW)可能会尝试扩展智能合约(取决于它的设计)。至于最终是否能够壮大发展,要看共识结果。不过不妨碍OP_NET & OP_CAT在这之上开展实验。
总结
OP_CAT与OP_NET除名字相近外,最大公约数是对智能合约的扩展, 但实现方式并不相同。如果说OP_CAT是寄希望于BIPS(比特币改进提案)通过,以修改比特币本身,来达到在主网上扩展合约的目的。
那OP_NET则提供了一种现实情况下的最优解,绕过它。至少目前来看,还没有发现超出这种路线的方案。
留个问题:大家觉得OP_CAT重新激活,是否可以算作对Bitcoin core的修改?如果并非网络中所有节点都理解并接受使用 OP_CAT 的新交易,如部份节点未更新,是否可以成为软分叉?
先声明立场和对修改的定义:我个人认为,激活是从有到无再到有,在事实上造成了不同,增、删、有、无都是修改的。