算力暴跌会引发比特币算力攻击吗?会!
据测算,比特币51%算力攻击需要14亿美元的成本。当你看到这篇文章的时候,51%算力攻击其实已经真的发生了,只不过不是比特币……
当你打开这篇文章的时候,已经有币遭遇 51% 算力攻击了。
在最近币价暴跌的大背景下,最惨的人其实是矿工。整日紧盯着关机币价,昔日价格炒到天上去的矿机已经和锅碗瓢盆堆在一起按斤甩卖了。即便是在海对面的美国,顶级的矿机公司 Giga Watt 也在11月20日向法院提出了破产申请,欠下 7000 万美元的债务。
矿机关机、矿场破产……这意味着什么呢?根据blockchain.com的数据,今年10月起,全网算力便开始持续下降。10月31日时全网算力大约还有 60EH/s,而到今天,只剩下了 39EH/s,一个月里跌去了超过三分之一。而在此之前,包括今年一直持续的熊市在内,全网算力基本都是符合指数增长的趋势的。
在进一步分析这背后的深层含义之前,我们需要先来了解一下比特币挖矿的工作原理以及这背后的经济原理。
所谓比特币挖矿,简单来讲,就是把电力转化成钱。通过专业化的 ASIC 芯片来计算比特币的哈希函数 SHA-256,矿工拥有的算力越多,就越可能由他先算出正确的值,也就是挖出下一枚比特币。这一过程中会消耗大量的电力,电力成本组成了挖矿成本的主要部分。
正因如此,还产生了「比特币挖矿所需能源相当于 4 个切尔诺贝利核电站」的说法。当售出比特币所获得的收入跌到低于挖矿成本的时候,自然矿工就会停止这桩赔本的生意。
另外比特币挖矿的一个机制是挖矿难度(也即解决哈希函数的难度)会每 2 周调整一次,为的是在算力过高的时候出块速度不至于太快,在算力过低的时候出块速度也不至于太慢,能够一直稳定在 10 分钟左右出一个块。
下图为bitcoinwisdom提供的数据,比特币的挖矿难度变化。可以看出与算力下降相对应的,从10月起挖矿难度便也开始下降了。在最近一次难度调整时,挖矿难度更是前所未有地降低了 15%。而在此之前,比特币算力只有 2 次降低,其他时间几乎都在增长,在不到一年的时间内涨了接近 3 倍。
根据微观经济学的理论,在一个完全竞争的市场里,矿工的利润应该是趋近于零的。因为当比特币价格上升,有利可图的时候,短期内现有的矿工利润会增加,但很快便会有新的矿工加入,这意味着全网算力的增加,而全网算力的增加也进而提高了挖矿难度。
对于一个算力不变的矿工来说,他挖到下一枚比特币的几率就降低了。于是本来增加的利润不久之后就被随之而来的竞争给消磨掉了。
从数据上看,由于算力的增加和比特币价格的下降,矿工的利润今年一直就持续处在下滑状态,逐渐向零趋近。但是,在这其中,矿主也应该分成两部分来看。
根据 Diar 的统计数据,9、10月的时候,电价高的小矿工利润就已经基本为零了,而电价低的大矿主利润虽然持续下降,但在10月的时候利润还大约有 59%。也就是说,在大量小矿主离场的同时,仍然有相当一部分大矿主处在盈利状态,可以继续生产,币价仍然还有继续下跌的空间。
再跌下去,比特币世界会出现 51% 算力攻击吗?
那么,矿机关机、算力下降更深层的含义是什么呢?有人提出了这样的观点:比特币 51% 算力攻击的成本下降了,比特币的安全可能受到威胁。
乍一听,这样的观点惊出人一身冷汗。
可是实际上,现在来讲,成功对比特币进行 51% 算力攻击的可能性有多大呢?
根据 Cryptoslate 的估算,对比特币进行 51% 算力攻击需要 14 亿美金,需要 240 万台专业的 ASIC 矿机,一年耗电量约为 29.3TW,相当于摩洛哥整个国家一年的耗电量。其中为了储存这些矿机所需约两亿五千万美金在基础设施上,包括矿场建造、通风设备等等;而如果要持续运行这些设备一天,一天的电费约为 200 万美金,人力和其他成本需要 24 万美金……
比特币攻击成本高的原因除了算力基数大之外,还有一个原因是它的 checkpoint(检查点)机制。通过在代码中硬编码一组区块及其 hash,节点同步区块时会自动检查能否对得上之前的检查点,如果对不上节点就知道这条链是不诚实的,就会把它丢弃。
通常检查点会设置的比较远,检查点之前的交易就是不可修改的。如果要进行攻击,就必须从较远的检查点开始分出一条链,对算力要求极高,大大提高了攻击成本。
比特币主要的特点就是可抵制恶意节点、反审查制度。为了实现这样的安全性,才需要进行挖矿。通过密码学和行为经济学巧妙的组合,矿工可以因为诚实的行为和维护网络安全而得到奖励。
这样的系统存在一个弱点,就是如果恶意的一方控制了 50% 以上的算力,就可以对整个系统进行攻击。然而对于比特币来说这样的攻击是昂贵的。有人说比特币挖矿浪费了很多资源,但比特币就是有意被设计成这样的,这使得对比特币开展 51% 算力攻击成为了一个昂贵、不切实际的想法。
因此,很难想象会有一个个人或企业愿意付出如此的成本来对比特币进行攻击。况且,就算有人愿意付出高昂的成本,这样的攻击也会使人失去对比特币系统的信心,而当作为共识的信心一旦失去,比特币也就变得一文不值了,那么攻击者又能得到什么好处呢?
除非他的唯一目的就是破坏。
比起比特币算力攻击,我们更担心的是其他区块链
比特币这样大规模的网络暂时还不用担心 51% 算力攻击,但是对于规模小些的区块链网络来说,51% 攻击之前就曾多次出现(今年早些时候比特币黄金、Verge、ZenCash 就被攻击),现在算力大幅下降,攻击者们更是蠢蠢欲动了。
据 PeckShield 态势感知平台数据显示,11 月 29-12 月 2 日之间,加密货币 Vertcoin (VTC) 遭到 51% 双花攻击。攻击发生在块高度:1043103 和 1044333 之间,攻击者所出的区块 1043110,1043619,1044432 均包含双花攻击交易。据了解,这已经是近两个月内 VTC 遭受的第四次遭受 51% 攻击,共计损失超过了 10 万美元。
当攻击者掌握大部分算力的时候,他们可以选择任意一个之前的区块,从这里开始延伸另外一条区块链,直到这条区块链长过原来「真实的」那条链,成为最长链。而原来的那条链上分叉点之后的区块就被覆盖掉,成为了无效的区块。
报道称 Vertcoin 最近遭受的这次攻击中,有 310 个区块被覆盖,远超过之前的几次攻击。在这四次攻击中,Vertcoin 共损失超过 10 万美元。
Crypto51 网站提供了各个区块链 51% 攻击的成本数据,上面显示,对 Vertcoin 进行一小时的算力攻击成本仅需 125 美元。
推特上有网友评论说:「只需要一百多美元每小时来租用算力就够了,Vertcoin 被攻击是必然呀!」那么其他的网络上 51% 算力攻击的成本是多少呢?根据 Crypto51 的数据,一小时攻击成本比 Vertcoin 小的链多到令人发指。
Crypto51上的攻击成本是如何计算的呢?
它是根据在 NiceHash 上租用算力的成本。NiceHash 是现今世界上最大的加密货币算力市场, 随时可为算力买家提供超过 20 种不同的算法的算力。
攻击者只需要付出很少的租金,就可以在这样的平台上租用算力,来对众多区块链进行 51% 攻击了。完全不需要像 Cryptoslate 估计比特币攻击成本那样,付出矿场基础设施费用、人力费等等。
媒体还指出,交易所会是攻击者攻击的主要对象。因为交易所支持用户在短时间内进行资产的充值、交易和提现。攻击者可以在把资产A充值进交易所之后,迅速进行交易,换成另外一种资产B然后提现。然后对A发起 51% 攻击,使之前向交易所的充值无效。
只要交易所的资产充值可能会被无效化,攻击者就不会放弃这种攻击方法。因此未来这样的攻击大概只会越来越多。
面对这样的情况,交易所能怎样应对呢?只要存在 51% 攻击风险的资产还存在一天,交易所就多一天的可能遭受损失。于是终有一天,交易所可能不得不下架这些资产,市场将会迎来一次新的洗牌。