据coindesk报道,在最近一个月内Monacoin、BTG、Zencash、XVG、莱特现金等五个币种分别遭受了51%双花攻击,最近的一次就是本月6月2日的ZenCash。
ZEN于美国东部时间6月2日早上10点43分左右遭受51%攻击。据悉,当时Zen网络哈希率为58MSol/s,攻击者可能拥有足够大的私人挖矿算力来执行此次攻击。嫌疑人地址是znkMXdwwxvPp9jNoSjukAbBHjCShQ8ZaLib。在第318165和318275个区块之间,攻击者多次重组区块链,在最长的重组中恢复38个区块。在第318204和第318234区块间,攻击者执行双花攻击,两次双花攻击共涉及1.96万枚Zen,价值约55万美元。
5月16日比特币黄金区块链(BTG)上发生一次51%双花攻击
在2018年5月16日22时37分(UTC),区块高度528735,比特黄金区块链上发生了一次51%双花攻击。实现手段如下:攻击者准备约8000 BTG与大量算力把BTG充入交易所,并同时开始私自挖矿成功充币后,卖掉BTG提款,但攻击者同时在私挖的链上排除充币交易由于攻击者拥有大量算力,私挖的链长于主链。攻击者把私链广播出来,就会成为新的主链,回滚了充币交易最终交易所损失了被回滚的8000 BTG,矿工损失了区块奖励。
什么是“双花”(Double Spending)?
从字面上看,就是一笔钱被花出去了两次。以比特币黄金事件为例,有“矿工”临时控制了区块链,在此期间不断地在交易所发起交易和撤销交易,将一定数量的比特币黄金在多个钱包地址间来回转,同一笔“钱”被花了多次。
比特币如何解决双花问题?
原本在比特币体系中,为了保证支付的安全性是使用时间戳和工作量证明POW(Proofof Work)机制来解决问题的。也就是比特币中的交易数据,是矿工通过算力竞争来打包记账的。“算力”指的是每秒钟可以计算哈希值的次数,算力越大,矿工的计算速度就越快。计算速度最快的矿工可以优先将网络中已经发起但还没打包到主链的账本数据打包到新的区块,并且广播通知到其他的节点。其中所有的节点都可以使用收款者的公钥来验证这个交易是否是唯一性的,如果付款者试图双重支付,就必须先删除旧的交易记录,否则新交易无法通过验证。
理论上来说,当一个矿工掌握了全网51%以上的算力,那么他计算出正确哈希值的速度就会比全网其他矿工更快,因此只要他将自己拥有的币发起2次交易,前一次是跟他人进行交易,后一次向自己另外的钱包地址转账,当完成与他人进行的交易之后,攻击者动用51%以上的算力,使网络中的节点都记录后一次的交易,从而将前一次交易的数据清除,从而达到篡改交易数据的目的。
但是51%的攻击其实也是一种悖论,首先在pow的共识机制里,算力的成本是非常高,掌握51%的算力意味着要付出巨大资金,而一旦发起51%攻击之后,会引起持币人的恐慌,币价很容易就会因此而崩溃,而且由于BTC体系中的矿机目前都是专业的ASIC芯片制造的,不仅造价昂贵,而且只能用于挖矿,如果币价崩盘了,也就是说矿机同时就变成了一堆废铁毫无用途。这意味着你耗费了大量的资金进行的51%攻击并不会在经济上给你丰厚的回报,所以我们假定的有理性的人,为了获得更大收益而攻击的人,实际上是不会发动这样的攻击的,这就是51%攻击悖论。
但是由于一些币种并没有延用BTC的算法机制,也摒弃了ASIC矿机挖矿,而是采用的显卡矿机挖矿,显卡矿机可以挖的币种多,攻击者攻击一种币种以后也可以将矿机切成其他币种进行挖矿。
项目方如何避免51%双花攻击?
-
保持算力分散
中心化的算力是51%攻击的根本原因,只要中心化算力存在,在中本聪共识下,全部PoW区块链都无法从理论上避免51%攻击BCH拥有极高的算力,但绝大多数的算力由单个实体控制,当社区产生分裂时,算力有很大可能会被用来攻击对手BTG坚持挖矿去中心化,将会通过升级PoW解决ASIC威胁。
-
避免与其他区块链的PoW算法冲突
采用同一PoW时,高回报的币会挤压其他币的算力,造成隐患BTG会在升级PoW的同时对算法进行微调,减小来自其他链的算力影响其他可行的方案有联合挖矿(MergedMining)等
-
建立预警机制
良好的预警机制可以极大降低51%攻击造成的影响,交易所可以采取合适的防御措施避免损失在收到攻击报告后,BTG团队立即对社区发出警告,定位到了攻击者的钱包地址,并建立警报系统,在后续的三天里系统准确地在每次攻击开始时被触发。
-
建立有效的沟通渠道
预警机制还需要沟通渠道的配合,当交易所、矿池等生态可以迅速沟通时,51%攻击将会很难成功,为攻击者造成威慑BTG团队在发现攻击后立即召集交易所,建立了沟通平台,汇报了攻击者的钱包地址与攻击警报。但如果在日常就准备好沟通平台,可能一切损失都可以避免。
-
防御措施
在51%攻击时,可以采取提高交易确认数、暂停充提币、冻结可疑账户等方式防御攻击。
普通投资者如何避免买到易受51%双花攻击下的归零币?
不要购买小币种的币。据纽约大学计算机科学研究员Joseph Bonneau 最新发布的一项研究报告显示,在区块链顶层发起双花攻击,只需租用电力而不是购买所有设备即可实现。相比而言,小币种更容易遭受51%的双花攻击,所以币兽提醒大家还是尽量不要长线购买小币种,避免遭受被攻击归零的损失。
推荐阅读(点击跳转)
以上内容由公众号【区块链小怪兽】首发