加密货币网络被劫持所带来的启示(之二)

in #cryptocurrency6 years ago (edited)

Article by Mr. gvn & Ms Claire Wu
2018.05.31.

在文章《加密货币网络被劫持所带来的启示(之一)》(详见如下链接 : https://steemit.com/cryptocurrency/@markara17/5wbd1j )里,我们讨论了多种算法混合使用的复杂性给加密货币网络安全带来的潜在风险。在这篇文章,我们尝试从另一些事件,透视加密货币的其他问题,希望可以提高投资者和加密货币使用者的风险意识。

执笔之时,我们从新闻看到,5月28日,意大利出现了欧元危机。这次危机看似和 2010 年的欧债危机很相似,当年是数个欧洲国家集体出现无力偿还债务的问题,国家债务违约、破产的事一触即发。

2010 年欧债危机、2013 年塞浦路斯银行危机,加速了资金往比特币流动,推升了比特币价格。当时还有媒体开玩笑地说,中本聪比当时的美联储主席伯南克和欧洲央行总裁德拉吉,还值得信任。

这次的意大利欧元危机源于意大利总统拒绝委任赢得大选的反欧元政治力量提名的人选。总统干预并委任另一名中立的经济学家当过渡期总理,并准备解散国会再举行大选。如果反欧元的政党在再举行的大选中得胜,意大利就可能退出欧元区,也退出欧盟……

国际大鳄索罗斯已经表示准备沽空欧元,一场新的因欧元危机引发的恐慌又出现了。

mmexport1527862443142.jpg

据奇点财经提供的资料显示,神秘比特币账户 “1KAt6STtisWMMVo5XGdos9P7DBNNsFfjx7” 自 2018年3月25日创立以来,进行了约130 笔转入交易,总计转入约 93947 个比特币,目前持币数量全球第六(前五名地址均为交易所地址)。

我们仿佛隐约听见近期曾经历 70% 跌幅,然后很快又收复一半失地的比特币在呐喊: “我会回来的!” 难道索罗斯的基金正在部署的加密货币投资,是因为他们又预见了一个即将到来的拐点?

我们在过去的一篇文章已经讨论了为什么比特币在全球央行狂轰滥炸之下,依然屹立不倒 (文章详见如下链接: https://steemit.com/cryptocurrency/@markara17/4eewae ) 。既然比特币的生命力如此顽强,那么,比特币的威力可以被复制吗?

对于这个问题,很多人用行动表示很乐观。所以,我们在市场上可以找到很多比特币的分叉币。分叉(Fork)在软件开发里就是“复制并修改”。比特币的成功,早期引来了大量虚拟货币复制并修改它的代码,生成了莱特币、狗狗币、点点币……接近 1000 多种币,99% 在代码上是雷同的,复制后修改的不足 1%。从软件技术理论上,这类采用中本聪共识 POW 的1000多种竞争币都是比特币的分叉币,又叫山寨币(altcoin)。这些山寨币都是独立创建数据,和比特币分离的。

mmexport1527862440944.jpg

还有一类比特币的分叉币,是在比特币区块链的某一个区块高度开始分叉的,它们和比特币共用某个时间节点之前的数据。共用数据导致,某个时间节点之前持币的用户,自动同时持有两种币。现在区块链行业惯指的分叉币,就是这类数据共享的币。例如BCH、BTG、BCD……除了比特币,以太坊ETH也有一种分叉币叫 ETC。

比特币的分叉币被戏称为比特币的儿子们。比特币的长子在2017年8月1日就诞生了,它就是 Bitcoin Cash (BCH) 比特币现金,也是目前为止最成功的分叉币,分叉高度是478559。因为 BCH 分叉后不久,价值就超过200美金,BCH 的现价约1000美金,最高时的价格是约4000美金,所以很多人就开始打分叉币发财致富的主意。而对于普通投资者,不断在比特币账户收获价值不菲的意外之财,是一件难以抗拒的美事。

如果把比特币比喻为会下蛋的母鸡,在2017年的最后3个月,比特币就诞下了超过10只比特币的分叉币蛋,从而引发投资者疯狂追捧,比特币的价格曲线以90度角直线上升,不断创新高,直冲到接近 20000美元,最后泡沫在 2017年底爆破。

到目前为止,比特币约有37个分叉币。

虽然大部分分叉币的价格都从最高点跌了99%,但这似乎并不影响分叉币们的独立运作。直到BTG网络被劫持事件,才为整个区块链网络安全敲响了警钟!

比特币黄金(Bitcoin Gold, 简称 BTG)项目由香港挖矿公司 Lightning ASIC 的首席执行官廖翔主导。 BTG 成立的初衷是对大矿工们集中算力的一种对抗,比特币矿工越来越多地使用定制的 ASIC 矿机来挖矿。目前,比特币算力已经被不超过10个大矿池垄断了。BTG 于10月25日,在比特币原链第 491407个区块上成功分叉。BTG 将比特币 SHA256算法改变成 Equihash 算法,这是一种内存高强度的算法,它具有防御 ASIC 的功能,并对 GPU 挖矿进行了优化。 然而,市场上拥有这种工作证明算法的区块链除了 BTG外,还有其他,例如 Zcash……这为 BTG 网络最近被 51% 攻击埋下了祸根,成为了 BTG 潜在的脆弱性。

mmexport1527862449086.jpg

在2018年5月18日,比特币黄金团队的 Ed Iskra首次公布了 BTG 被 51% 攻击事件,他在公开的 post 表示:“一个拥有大规模算力,不明来历的黑客,正在尝试利用"51%攻击"来进行”双花“,从交易所窃取资金。我们一直建议所有交易所增加区块数量的确认并仔细审查大额存款......”

根据 BTG Forum 的资料显示,黑客第一次攻击 BTG 网络发生在 2018年5月16日晚上10:37:54 UTC 528735,最后一次攻击发生在2018年5月19日5:25:40 UTC 529048。

在进一步分析 BTG 盗币事件之前,我们首先要弄清楚“51%攻击”和“双花”这两个区块链行业的重要概念。

什么是双花?

“双花”就是试图花费两次相同的硬币。

在 BTG 盗币事件,黑客的"双花"行为有可能首先将自己的 BTG 存款发送到自己在交易所的BTG 钱包,然后将同一个 BTG 同时发送到自己的另一个钱包。正常情况下,在中本聪的 POW 共识机制中,即使交易是在同一时间被发送,交易也会有明确的顺序。在这两个交易被添加到区块时,会按顺序进行。首先被添加到区块的交易将是有效的,会被记录在区块上。而另一个交易将会被忽略。这样,硬币只能发送到一个地方,可能是交易所或黑客的私人钱包。这样就解决了“双花”的问题。

什么是 51% 的攻击?

控制 50% 以上网络算力的黑客可以在他掌控的时间内更改甚至丢掉已被排序的交易。

在 BTG 盗币事件,假设 BTG 网络在受到攻击前的算力是 40M,黑客从外面租用了超过 40M 的算力,例如 50M ......那么,现在 BTG 网络上总共有 90M 在进行挖矿,而此时黑客控制了 50% 以上的算力, 这样就构成了 51% 攻击。

黑客把交易所作为攻击目标是因为交易所的流动性比较大,可以自动接受大额存款,允许用户快速交易,将 BTG 兑换成另一种加密货币,功成后可以从交易所迅速提币。 在这次 BTG 盗币事件里,每次"双花"的交易金额约为 8000 ——12000 BTG。每当攻击成功时,交易所就会失去这个数量 BTG 的金额。

mmexport1527862447289.jpg

攻击开始时,黑客使用50M的算力秘密地挖掘一条与公链平行的私链,并将自己的 BTG 发送到自己的钱包,使用超过50%算力来保证私链比公链更长。同时在公链上,将相同的 BTG 发送给交易所,等待交易所验证足够多的区块后接受存款,然后快速地将 BTG 兑换成其他加密货币并立即转出交易所。 一旦该加密货币的交易被广播完成, 黑客就将私链释放回到公链并重新组合公链。在黑客控制51%算力,私链比公链长的情况下,现有的区块将被还原,私链将取代公链,黑客向交易所存储 BTG 的交易记录将会消失,黑客将被取而代之成为收款人,从而令交易所损失了相应的 BTG,以此达到双花的目的。

根据中本聪白皮书介绍,因为 BTC 采用的是SHA-256 算法,在交易被广播后的6个区块之后,该 BTC 的交易就相对地安全了。因为 BTG 是 BTC 的分叉链,采用 Equihash 挖矿算法,多少区块后才安全,将取决于 BTG 的参数设置,例如出块速度,区块大小,挖矿难度等。发生 BTG 盗币事件时,交易所一般在20个区块确认后,就会接受黑客的 BTG 存款。但随后黑客用25个区块的私链成功地取代了仅有22个区块的公链。 因此,对于BTG,20个区块的确认不足以防止双花。

当然,黑客需要花费真金白银(租用算力)来挖掘多于 BTG 公链的区块以执行51%攻击。根据 BTG Forum 的讨论资料显示,为了恢复 n 个区块,攻击成本应该约为(n + 1)* 12.5 BTG,其中 n 是交易所要求确认区块的数量。 21个区块的攻击将花费大约 262.5 BTG。

但是,黑客所冒的风险也非常大。如果攻击失败,将会损失开采私链的所有费用。这将在(n + 1)* 12.5 BTG 左右。如果攻击被交易所察觉,交易所可能会冻结黑客的账户,黑客将无法转出他的所有加密货币。

在 BTG 的盗币事件中,值得庆幸的是,双花的是黑客自己的 BTG,不是其他人的。所以其他人的 BTG 是安全的。但因为 BTG 网络的安全问题受到严重质疑,包括和 BTG 使用同一算法的 Zcash 等加密货币,它们的价值将会大打折扣。

目前 BTG 网络使用核心节点提供的getchaintips 命令来检测双花。 BTG 网络管理方建议所有矿工留意不同寻常的算力暴涨,同时,交易所应将确认区块要求提高至50,并特别留意大额交易。 更多的区块确认不仅可以提高攻击的成本,还会迫使黑客花费更多时间,这意味着网络管理方和其他矿工有更多时间来检测攻击并采取相应的行动阻止攻击的发生。同时,交易所应该备案黑客曾使用过的钱包地址,研究清楚黑客攻击的模式并做好相应的准备。

mmexport1527862452361.jpg

总结 BTG 盗币事件,最令人瞩目的是从市场上租赁算力已进化为黑客实现 51% 攻击的大规模杀伤力武器,而不需购买实际的硬件设备,从而大大地降低了攻击的成本。这种现象对于共享算法的网络,例如 BTC 和 BCH,ETH 和 ETC, ZEC 和 BTG,都是一种潜在的威胁。对于使用相同算法的网络,如果用一个池塘来做比喻,为了避免成为51%攻击的对象,你必须要成为池塘里面最大的鱼,对于那些池塘里的小鱼,其处境堪忧。

根据奇点财经提供的数据,因为 ETC 与 ETH 算法相同,所以,黑客仅用每天150万美元租赁 ETH 算力就可以发起对 ETC的 51% 攻击。而如果再用35倍杠杆投入5亿美元做空 ETC,从而导致 ETC 下跌50%,则可以获利10亿。以此推测,租赁 BTC 的算力可以攻击 BCH,而租赁 ZEC 和其他 Equihash 算法的算力也可以攻击 BTG。因此,更改算法避免51%攻击已经迫在眉睫,特别是对于那些小规模的加密货币网络。此前业界充斥的抄袭之风也许会得到根本的改善,从而鼓励创新。

有业界人士认为,杜绝 POW 算法51%攻击的最有效方法是将 POW 算法更改为 POS 算法。但也有人认为,POS 算法就是资本主义,按资分配,和现实世界中的资本游戏很相似。对此,我们只可以说,区块链的世界,还处在高速成长阶段,每个创新方案,都有它诞生的理由,只有市场才是判决它们成败的法官。

Coin Marketplace

STEEM 0.19
TRX 0.15
JST 0.029
BTC 63098.06
ETH 2563.30
USDT 1.00
SBD 2.83