对于BCH来说,2020年上半年有两件非常重大的事件:四年一次的减半和一年两次的升级。
目前BCH减半已经顺利完成,令人期待的升级也只有不到一个月的时间了。BCH每次升级都是备受关注的,而此次升级虽然因为减半的影响关注度并没有以往的升级高,不过BCH开发团队也已经做了充足的准备。
Bitcoincash.org网站升级通知
BCH即将升级的内容
根据Bitcoincash.org网站发布的《2020年5月15日网络升级规范》草案:
当BCH最近11个块(MTP-11)中经过的中位时间大于或等于UNIX时间戳1589544000时,Bitcoin Cash将根据该规范执行网络共识规则的升级。这也就意味着BCH升级时间大约是2020年5月15日。
此次升级中共识规则的更改内容是:
用SigChecks新系统取代BCH的SigOps计数和限制系统;
将名为OP_REVERSEBYTES的新操作码添加到脚本系统中。
除了共识规则上的改变,还有一些不是共识内容的更改,但建议用于BCH客户端的策略更改:
内存池中祖先的最大数量默认值从25更改为50;
内存池中后代的最大数量默认值从25更改为50;
自动重放保护,以备将来升级。
SigChecks
根据执行脚本时实际执行的签名检查的次数,删除了执行的限制,并由新的限制代替。这个新系统称为SigChecks。
从早期开始,比特币就有一个SigOps计数规则,用于限制给定交易或区块中可能的CPU使用量,其依据是签名验证是迄今为止CPU强度最高的操作的原理。尽管部分有效,但sigops存在一些问题,这主要因为:SigOps是通过解析脚本而不是执行脚本来判断的。比特币将脚本分为两笔交易(创建交易的scriptPubKey和花费交易的scriptSig),但是验证交易的实际CPU工作仅发生在支出交易中,这导致了一些矛盾情况:包含较高sigops的交易/区块可能只需要很少的CPU工作,相反,具有较低sigops的交易可能需要非常高的CPU工作。
SigChecks的基本思想是仅在支出交易中执行计数,并对实际执行的签名检查操作进行计数。这样就解决了sigops带来的一系列问题。
OP_REVERSEBYTES
这个新的操作码反转了字符串中字节的顺序,它可以用来改变字节序。之所以会引进OP_REVERSEBYTES操作码,其主要原因是在进行更加复杂的智能合约时,能够最大限度的简化流程。尤其是一些高级的智能合约语言。
自动重放保护
自动重放保护的目的是用作全节点版本弃用机制,旨在使未升级的完整验证节点在2020年5月15日的下一次升级后自动与主网络分离。实施下一次升级的节点将删除此自动重播保护,因此所有常规钱包均可继续使用默认的ForkID,无需更改即可遵循升级后的主链。
BCH升级进度
随着BCH升级时间的逼近,BCH的各大开发团队均已发布了与BCH升级内容兼容的新版本,以便留给BCH各大节点以充足的时间进行升级。
BCH各大客户端节点占比
Bitcoin ABC早在2月份就已经推出最新升级版本0.21.0版本。相比于最基础的BCH升级中共识更改内容,Bitcoin ABC增加了交易链限制从25增加到50和支持矿工激活的基础设施融资计划内容。使用Bitcoin ABC客户端的节点可以在其官网下载新版本。
Bitcoin ABC客户端下载内容
Bitcoin Unlimited开发团队于昨天发布升级最新版本 BCH Unlimited 1.8.0。该版本除了兼容此次升级的基础内容,Bitcoin Unlimited还将项目更名为BCH Unlimited,将未确认交易的时间增加到500,并改进内存池管理;修复石墨烯的故障等。Bitcoin Unlimited目前是节点采用数量最多的客户端,使用Bitcoin Unlimited客户端的节点已经可以下载最新版本。
Bitcoin Unlimited发布新版本的公告
节点采用率排行第三的BCHN客户端,于4月16日表示发布Bitcoin Cash Node v0.21.1。
BCHN发布新版本的公告
BCH升级一直都是BCH的一件大事。虽然每次只有小小的改变,而且很难即时看到更改的效果,但是量变终将会引起质变,每一次的升级都是为了BCH更好的发展。经过时间的沉淀,BCH这些功能终将派上用场给我们带来杀手级的应用。目前各大客户端都已经提供了升级的最新版本下载。