正如比特币黄金所说:“我们不会是最后一个被攻击的币种”。
《财经》记者 吴杨盈荟/文  宋玮/编辑
数字货币的噩梦终于成真。2018年5月中,“51%攻击”在区块链世界中爆发,比特币的分叉币之一BTG(比特币黄金)不幸沦为受害者。
整个区块链世界正面临前所未有的危机。如果“51%攻击”可以成功篡改区块链,甚至可能动摇整个数字货币世界的根基。
可怕的“51%攻击”
此次攻击中,比特币黄金开发团队公告显示攻击者掌控了BTG网络的大比例算力,从而针对交易所发动“51%攻击”,成功实施“双花交易”。攻击者向自己发送了超过38万个BTG。如果所有资金被盗,攻击者从交易所的损失中将获利超过1800万美元。
攻击者发动的攻击不止一次,而是横跨数天。第一次攻击发生于5月16日晚上10点,最后一次攻击则在5月19号上午5点结束。
“51%攻击”的原理在于数字货币采用的分布式记账机制。以比特币为例,比特币网络是一个去中心化的分布式账本,每记一笔账都需要“全民投票”确认。当你掌握全网算力超过50%时,你就拥有了对比特币网络操纵和篡改的权力。
“51%攻击”能造成的破坏是巨大的。一旦你攻击成功,可以修改自己的交易记录,进行双重支付。或者阻止区块确认部分或者全部交易,也可以阻止部分或全部矿工开采到任何有效的区块。
但这种攻击并非万能,它也有做不到的事情。它既不能凭空产生比特币,把不属于自己的比特币发送给自己或其他人;也不能改变每个区块产生的比特币数量,或者修改其他人的交易记录。
因此,攻击者利用“51%攻击”最容易的获利方式之一是双重支付,即将同一笔钱使用两次。在这次针对比特币黄金的攻击里,攻击者就采取了这种手段。
攻击者首先给自己的账户发送了一笔BTG,用私密区块链条A对此笔交易进行记账。与此同时,攻击者对交易所发送同一笔BTG,等待公共区块链条B进行记账。当交易所确认了这笔交易之后,攻击者快速卖出这些BTG并提现离开。
注意,最关键的一步到来了——攻击者此时对全网公开此前的私密区块链条A。由于他掌握超过51%算力,区块链条A比公共区块链条B更长,全网被迫认可区块链条A,区块链条B则作废。这意味着全网认可的交易是攻击者将BTG发送给了自己,而非交易所。交易所的钱完全消失了。
攻击者是巨头玩家?
尽管“51%攻击”造成的破坏性极大,发动一场攻击也需要付出巨大的代价。
有实力且有把握发动攻击的攻击者,需要具备以下3个关键条件:充足财力、庞大算力和矿池技术。
先说财力。攻击者需要投入成本挖矿以确保51%攻击。如果要逆转n个区块,成本最少需要(n+1)*12.5BTG。如果攻击失败,交易所还将冻结攻击者在交易所里的全部资金。这些都将成为攻击者可能付出的金钱代价。
在此次攻击中,一笔双重交易的金额约为10000个BTG,最大逆转区块为21个。可以推算出,如果一次攻击失败,攻击者的损失将高达10262.5BTG,合约43万美元(约275万元人民币)。
算力则是更高的门槛。BTG和ZEC共用一套名为Equihash的挖矿算法,BTG全网算力为25M sol/s。尽管理论上只要算力占据超过全网51%即可发动此轮攻击,但这种量级的算力仅是刚过及格线,耗时长、风险大。我和若干业内人士讨论后,大家普遍认为攻击者需掌握超过全网1-3倍的算力,否则不放心去发动攻击。
掌握全网200%的算力对攻击者来说更加保险,即需要50Msol/s左右的算力。过去矿工们都在使用显卡矿机挖BTG。一台显卡矿机GTX 1080的算力为约700sol/s,这意味着需要7万台显卡矿机GTX 1080才能发动攻击。
在个人玩家手里,很少存在集中垄断7万台显卡矿机的情况。拥有如此庞大的算力,并有能力集中调配算力的可能对象之一是矿池和拥有大规模矿机的人或组织。
BTG和ZEC采取同一种算法。BTG的全网算力为25M,ZEC算力为514M,高达BTG的约20倍。这也意味着可以动用ZEC的矿机来挖BTG,一个ZEC的大矿工可以很容易将BTG逆转。
目前ZEC的各大矿池中,Flypool排名第一,拥有全网高达52%的算力,约为267M。排名第二的Nanopool拥有全网19%的算力,约为98M。如果使用50M算力,flypool需要调动的算力仅为整个矿池算力的19%,而Nanopool则需要调动整个矿池算力的51%。
矿池擅自调动算力,为了避免被其他人发现,不能占用自己矿池算力比例过大。由于矿池本身产量每天有自然波动,不到五分之一的算力消失,产量下降20%也还说的过去。但超过一半的算力消失则过于明显,因而较难对外界隐瞒。
以上的推理均是基于现有全网算力。不可忽视的另一条线索则在于新增算力。
比特大陆和武汉芯动科技都将在近期新发布针对Equihash算法的ASIC矿机。如果要达到50M算力,需要5000台比特大陆的蚂蚁矿机Z9,以及700台芯动科技矿机。这两家矿机公司目前还没有正式对外发布他们的产品,这也意味着大量算力现阶段主要被矿机公司掌握。
综上,攻击者需要能承受攻击失败后至少275万元的损失,能在极短时间内调动Equihash算法下高达50M的算力,并且不被外界发现。比特币黄金创始人廖翔对媒体回应称,目前有能力做这些事情的只有市面上几家较大的公司。公司已收集证据,准备向FBI报案。
会有下个受害者吗
要回答这个问题,我们先要问,为什么是比特币黄金遭受51%攻击?
首先是因为比特币黄金市场地位不够高,没有成为同算法的最主流货币。当一个数字货币成为某种算法最主流币种时(例如比特币之于SHA256),遭受51%攻击的概率将大大减小。
CoinMarketCap数据显示,比特币黄金流通量在全球数字货币中排名第27位,ZEC排名23位。如前所说,同为Equihash算法下的币种,ZEC算力高达BTG的约20倍。显然,只要将主流币种的一小部分算力用来攻击同算法的非主流币种,将非常容易实现51%攻击。
其次是因为比特币黄金市场地位也不够低。如果市场地位偏弱的币种,在交易所流通量很小,那么攻击者即使从交易所利用双花交易偷窃了数字货币,也很难在短时间内将币卖出获利。
比特币黄金5月底的24小时流通量据CoinMarketCap数据显示约为1000万美元。而和比特币黄金同为比特币分叉币,且使用同种算法的Bitcoin Private,24小时流通量仅为约28万美元。如果攻击者针对的是Bitcoin Private,那么即使他偷窃了1000万美元的数字货币也很难卖得出去。
由此可见,只要一个数字货币在同算法中为非主流货币,且在交易所中有较好的流通性,则很有可能变成“51%攻击”的下一个受害目标。同时,如果数字货币近期有ASIC矿机推出,算力将出现一波较大的新增浪潮。也很有可能成为被攻击的对象。
比特币黄金此次遭受的攻击,是第一次在数字货币世界里造成真正危害的“51%攻击”。正如比特币黄金在公告中所说:“我们不会是最后一个被攻击的币种”。
当51%攻击成真,整个数字货币的安全基础都岌岌可危。而让人担忧的是,彻底的解决办法目前仍然没有出现。
责编  |  苏月  [email protected]
继续阅读
阅读原文