比特币现金5月15日网络升级已经过去十几天,BCH网络已经正常运作。由于在此次升级中BCH经历了一场蓄谋已久的攻击,曾一度将BCH推向风口浪尖,成为大家关注的焦点。面对攻击,BCH开发者和支持的矿工齐心协力,共同化解了危机,从而使得BCH能够顺利完成升级。
本应尘埃落定的升级事件,却在一些媒体的报道下,重新回到大众的视野中。帮助BCH顺利完成升级的矿池,也成为了被指责的对象,这一切到底是怎么回事呢?
BCH在5月15日的网络升级过程分析
毋庸置疑,BCH的5月15日网络升级确实遭到了攻击,有攻击者在BCH上发了一堆特殊交易,导致矿池挖新块时会失败。这一攻击主要是利用了BCH 去年11 月升级引入的OP_CHECKDATASIG 操作码,导致矿工节点无法打包。为了化解攻击危机,支持BCH的矿池BTC.TOP、BTC.COM,ViaBTC紧急挖出十个空块以触发滚动检查点保证升级顺利进行。同时,BCH开发者紧急开发补丁。攻击发送约1小时后,矿池完成补丁更新,BCH恢复正常出块。BTC.TOP率先挖出打包正常区交易的块582 697。
至此,这一攻击已经算是结束。从表面上看,攻击者的所作所为只是为了阻碍BCH的网络升级,从而利用BCH的升级节点通过舆论来对BCH进行打击,意图误导公众认为BCH升级失败。其实在这一攻击背后还隐藏着另外一重攻击。
在5月15日的BCH网络升级中,主要进行了两项内容的更改,一是很多人都期盼的Schnorr签名,还有一个就是允许Segwit恢复。
之所以会有“允许Segwit恢复”这项内容,根据Bitcoincash.org的官方升级内容解释是:“在上次升级中,因为CLEANSTACK规则从而导致意外发送到Segwit P2SH地址的的BCH不能再次使用。这次升级将对这些货币进行豁免,并将它们恢复到以前可以使用的状态。这意味着一旦P2SH兑换脚本预映像被显示(例如通过从相应的BTC地址消费硬币),任何矿工都可以拿走货币。”
在这六个月的时间中,有很多BCH被错误的发送到SegWit地址,价值上百万美元。一旦BCH完成升级,这些BCH将会被释放,如果知道这些交易的公钥,任何矿工都可以移动这些货币。
在BCH进行网络升级,支持BCH的矿工忙着解决攻击危机之时,一些怀有不良企图的匿名矿工却在等待时机试图拿走这些不属于他们的资金。面对这样的攻击,为了帮助用户挽回损失,BTC.top和BTC.com矿池便发起防御,阻止了这些矿工。
所谓“51%攻击”?
为了尽快对攻击采取防御手段保证资金安全,BTC.top根据最长链原则,孤立了那些恶意矿工的区块,不仅保护了自己的交易,也使得那个被错发的BCH重新回归到用户手中。“51%攻击”只是防御的手段,而不是真正的攻击。这两个矿池的所作所为也并不是为了自己,是在为社区做好事。因此“攻击”实际上是诚实的矿工对抗真正的攻击者的防御。
幸运BCH,拥有矿工守护者
BCH是非常幸运的,诚实矿工像监护人一样守护着BCH,阻止不诚实的矿工滥用自己的权利。错发SegWit地址的BCH恢复,不是发送到网络的正常交易,没有普通用户可以进行这样的交易,这种权力只掌握在矿工手中。正是有这些诚实矿工的存在,才最大程度的保障了用户的资金安全。
一个开放性的网络应该允许大量矿工的加入,也允许矿工的匿名挖矿。不过,他们应该是网络安全的守护者而不是破坏者。如果这些矿工的目的是伤害用户,其他矿工应该毫不犹豫的阻止他们。BCH网络的诚实矿工正是这样做的。
BCH在这些诚实矿工的守护下,拥有良好的安全性,这一特性不仅会吸引更多的用户,也确保了BCH能够在繁杂的环境中更好的发展和成长。