PoW(工作量证明)作为比特币开创的先河,被广泛认为是共识机制中集安全、去中心化与公平为一身的解决方案,比特币网络稳定运行将近十年就是最好的例子。
唯一攻陷PoW机制的方法就是51%攻击——当某个攻击者控制全网51%以上的算力后,可凭一己之力生成最长链——即攻击者可在某一时刻强行制造硬分叉,造成双花攻击。不难看出,这种攻击方式需要攻击者付出巨大的代价,因此在今年五月之前都只停留在纸面上,理论中。
然后从五月开始,已连续有多个币种中枪,遭到51%攻击。我们回顾下每个被攻击币种的概况。
BTG,于2018年5月18日被攻击。官网在5月24日发公告,承认被51%攻击并说明情况和改进方案。
XVG,于2018年5月22日被攻击。官方并未直接对攻击事件发布公告,只有官推在22日时发文表明有多个矿池被DDOS,但之后未对攻击情况作出回应。
ZEN,于2018年6月3日被攻击。官网随后几乎是第一时间给出公告,详细列举了攻击中3次出现双花交易的TXID、金额、攻击人的钱包地址等具体信息,并表明官方将提高区块确认数以提高攻击难度等措施。这种面对问题积极回应的态度大毛给点赞!
为何稳定运行将近10年之久的比特币都没遇到51%攻击,而近期一个月不到却频频有币种中枪呢?我们还是从攻击者“装备升级”的角度来说。
比特大陆今年新发布了两种算法的Asic矿机,分别是3月底发布的采用Cryptonight算法的X3和4月底发布的采用Equihash算法的Z9 mini。
在采用Cryptonight算法中,代表币种为XMR门罗。而门罗社区在接到X3矿机发布的消息后第一时间启动硬分叉的方案,改变算法来保证自己算力生态的平安。
总结一下,门罗社区赶在第一批X3矿机公开发售前即启动硬分叉,使得X3纸面上挖XMR的惊人收益在娘胎里即告吹,比特大陆不得不替矿工们分叉出XMC使得X3有用武之地。而当时另一个被X3购买者青睐的币种是ETN——这个币种的开发者略有后知后觉——没有第一时间改变算法而是5月底时才想起来要调整算法以杜绝算力集中的局面发生,可是这也遇到了非常尴尬的事情,请看图:
以ETN全网中算力占比较大的nanopool为例,在到达分叉的区块高度开始,由于X3矿机无法适用于新算法而不得不撤出算力,矿池算力出现断崖式下降,从400K下降到2-3K,直接导致因难度太高而出不了任何新块(CryptoNight算法720块调整一次难度)。ETN社区不得不临时去云算力服务商上花钱购买云算力,将算力调整到自己币种上,硬撑着渡过了难度最高的几天,随着难度下降挖矿收益上涨才吸引到一些显卡矿工的加入,才能让ETN网络能够继续活下去。
这些是X3矿机的出现带给CryptoNight算法的币种的故事,虽然ETN比较惨,但在改变算法后好歹也活了下来,比起Equihash算法币种(ZEC,ZEN,BTG等)最近连续遭到的重创要好得多。
比特大陆新发布的Z9mini,针对Equihash算法的币种而设计,300W的设计功耗下有10K sol/s的算力,大约等于33张GTX1060显卡的算力,后者的功耗总和高达4000W。其实明眼人都知道,比特大陆这次在发布矿机时为了避免“用力过猛”,已经减少了单台矿机上的芯片数量,使得矿机参数看起来不那么吓人,可是他的出现对仍处于GPU挖矿时代的币种来说仍是致命的。
因此采用Equihash算法的币种一个个都在5月初做出公告,ZEC,ZEN,BTG先后分别在官网表示将改变算法。
Zen更是将具体算法调整机制解释的非常清楚,以下内容节选来自Zen官方Blog:
调整 ZenCash 哈希算法的可能性
ZenCash 采用的哈希算法是继承自 Zcash 的 Equihash。优化的哈希函数是由密码学资深从业者创造的。原版 Equihash 白皮书描述了它是如何被创造的,并且可以得到怎样的优化和调整,值得一读。
幸运的是,Equihash 算法足够灵活,可以在不完全被替换的情况下进行调整,因此可以相对较快地进行改动,免除了大量的软件开发工作。
Equihash 算法具有影响求解的参数,称为 N 和 K 参数。它们会影响不同的处理能力和内存的组合在求解时花费的时间以及解的大小。Zcash 在发布前所选用的参数是 N = 200 和 K = 9。Zcash 发布后,密码学家确定 144 和 5 这两个值似乎能产生更小、也更抗 ASIC 的解。
在这种情况下,抗 ASIC 是指需要更大的内存,参数 200,9 的最佳内存量约为 512MB,而参数 144 和 5 则需要近 2.5GB 的内存。将内存集成到 ASIC 矿机中是昂贵的,因此较高内存要求的哈希算法会更抗 ASIC。我们可以将此版本的 Equihash 算法称为 Equihash-144-5 以用作区分。
ZenCash 的社区成员不知道比特大陆 Z9 蚂蚁矿机是否可以被修改,以通过调整后的 N 和 K 参数来进行 Equihash 挖矿,因为该设备的实际架构不曾受到披露。它可能是一个配备有限内存的专用 ASIC,或者它可能是一个带有外存的可重编程的密码学优化计算设备。根据架构的不同,改变 Equihash 的 N 和 K 参数可能会阻止比特大陆在一段时间内生产 Equihash-144-5 专用矿机。
可惜的是,也许是某些利益相关方看到新矿机还未上线就面临无币可挖的局面而心生怨恨,还没等到这些币种硬分叉,51%攻击就接连出现。因为Zen将受攻击事件描述的非常清楚,就拿其中一些数据来分析。
At the time of the attack the Zen network hash rate was 58MSol/s. It is possible that the attacker has a private mining operation large enough to conduct the attack and/or supplement with rental hash power.
Zen遭受攻击时全网算力58MSol,攻击者通过私池和临时的租赁算力掌握51%以上算力发动攻击是可能的。
在Asic矿机未出现时,这种情况基本不可能发生,因为51%攻击的门槛是29MSol/s以上的算力,按GTX1060每张卡300Sol/s的算力计算需要近10万块显卡,约15000台专业矿机,动用这部分矿机发动攻击所花费的成本、费用会比最后因成功双花而获得的收益高得多,没有人会做吃力不讨好的事情。
而有了Asic矿机后,掌握29M算力只需2900台Z9 mini矿机即可满足要求(此处只是以Z9mini举例,攻击者可能采用其他型号的Asic矿机发动攻击),部署2900台Z9mini的场地要求,供电要求也比之前的15000台GPU矿机低的多。因此攻击是有可能出现的。
下面就可以回答我们前面的问题:为何PoW近10年历史上几乎从未发生过的51%攻击,而近期频频出现?
这是因为比特币莱特币的ASIC芯片的出现都有个相对缓和的进化过程,并且当时能挖矿的币种也只有这两个,全网算力一直很高,发动51%攻击的成本一直非常高。
现在情况就不同了,能挖矿的币种已经很多,全网算力的大头仍然集中在几个头部币种上,而部分冷门币种关注的矿工却并不多。这次受到攻击的ZEN,BTG都属于采用Equihash算法的二线币种,全网算力较ZEC相比要低很多,但仍然上线了币安等大平台,具有不错的流动性,对恶意攻击者来说确实是不错的攻击标的。所以我们才说,小币种的算力生态经不起Asic矿机折腾。打个比喻,大家都还在用铁锹挖矿,突然来了一帮开挖掘机的人,你如何与他们竞争?
在未来,可以预见的是各个币种的社区都会更重视Asic芯片的出现和Asic矿机算力涌入的预防,有可能出现ASIC芯片制造商公布出某一特定算法的芯片后,采用这个算法的币种即宣布改变算法废除ASIC矿机的能力。这对ASIC矿机生产商和购买矿机的矿工来说绝对也是不愿看到的局面。
就在准备发文时,看到了Z9 mini调价的公告。确实,之前我们很难想象的新款矿机上市就半价的局面出现了,但面对“买来就成废铁”的局面,我们并不认为这种形式的促销会吸引多少矿工的购买。
未来PoW一定不会消失,但造成PoW中心化局面的Asic矿机,发展之路在哪里,却显得很迷茫。
声明:此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网站所提供的信息,只供参考之用。