最近这段时间,BCH各项技术开发工作都在如火如荼的进行。尤其是11月份的BCH协议升级,BCH开发者们一直都在讨论、准备。虽然现在距离11月份的升级还有两个多月的时间,但是BCH的下一次升级的版本已经被推出。
8月22日,Bitcoin ABC开发团队在其推特宣布专为2019升级做准备的0.20.0版本已经可以下载。在11月15日的升级中,新的版本将会被激活。
此次升级的内容将会包括:对OP_CHECKMULTISIG(VERIFY)启用Schnorr签名支持,在Script中强制执行最小推送和最小编码规则。其实,在几个月前,BCH的开发者对11月15日要升级的内容就提出了很多方案,不过经过多次讨论深思熟虑后,最终确定做出以上两项的更改。关于这两项更改内容,开发者也给出了理由。
对OP_CHECKMULTISIG(VERIFY)
启用Schnorr签名支持
之前的升级使Schnorr签名与OP_CHECKSIG和OP_CHECKDATASIG一起使用,此升级将对该支持扩展到OP_CHECKMULTISIG。升级后,所有签名检查操作都将支持Schnorr签名。
在OP_CHECKMULTISIG(VERIFY)中启用了Schnorr签名。当伪元素非空时,将其重新用于标记Schnorr模式,并且根据在改变用途的伪元素中编码的位域来约束Schnorr模式中的签名的顺序。
此项改动意味着未来许多基于OP_CHECKMULTISIG的钱包和货币也都可以使用Schnorr签名。这对Schnorr签名在BCH网络中更好的发挥优势起着一定的推动作用。
在脚本中强制使用MINIMALDATA
强制执行现有的标准检查,即所有执行的数据推送都使用最小的push操作符,并且所有数字的编码都是最小的,称为“MINIMALDATA”规则。这意味着在2019年11月的升级中,比特币现金将引入了两条新的共识规则:在脚本执行期间,执行的push opcodes被限制为结果堆栈元素的最小形式;在脚本执行期间,大多数情况下,堆栈元素解码为数字仅限于允许最小形式。
多年来,限制两种上述延展性矢量的“MINIMALDATA”标志在大多数节点的mempool层处于活动状态,但在共识层处不活跃。升级之后则是将现有的MINIMALDATA规则提升到协议层,从而达成一致。这将最终消除BIP 62延展性矢量,并且意味着BCH网络上的大多数交易(包括所有P2PKH交易)未来将是不可延展的。
对于此次升级,Bitcoin ABC开发团队不仅发布了推文,也发布了公告对此进行了进一步的说明。
BCH的升级是完全按照BCH的发展路线图进行。与往常的升级一样,每次进入协议升级的功能都是有计划的,详细说明的。而且为了给BCH生态系统参与者提供充足的准备时间,BCH开发者都会将开发工作提前完成。
目前Bitcoin ABC 0.20.0版本已经提前发布,用户可以使用测试网络来升级或者测试升级功能。为了保证兼容性,开发者还推出了具有兼容性的testnet,开发者还可以直接使用它构建新的产品。
最后,Bitcoin ABC 开发团队表示,“通过实施协议优化和升级,我们可以使点对点数字现金能够打破限制继续扩容和扩展。比特币现金必须不断改进才能参与竞争。
Bitcoin ABC很高兴能够建立必要的基础设施,使比特币现金成为世界上有史以来最好的资金。”
协议升级一直都是BCH的一件大事。虽然每次只有小小的改变,而且很难即时看到更改的效果,但是量变终将会引起质变,每一次的升级都是为了BCH更好的发展。经过时间的沉淀,BCH这些功能终将派上用场给我们带来杀手级的应用。
目前Bitcoin ABC已经提供新版本下载,随后其他的客户端也会随之推出最新版本。作为BCH网络的节点应该及时更新,配合BCH协议升级,迎接更好的BCH。你期待BCH的下一次升级吗?
附相关链接:
2019年11月15日BCH网络升级的规范:
https://github.com/bitcoincashorg/bitcoincash.org/blob/master/spec/2019-11-15-upgrade.md
Bitcoin ABC 0.20.0版本下载链接:
https://download.bitcoinabc.org/0.20.0/
2019年11月15日升级Testnet:
https://github.com/bitcoincashorg/bitcoincash.org/blob/master/workgroups/wg-testing/2019-11-15_upgrade_testnet.md