「区块链基础概念100」:双重支付 | 035
「区块链基础概念100」由火星财经「学习区块链」频道出品,在区块链基础概念之上延展深度阅读,并紧密连接产业,关注产业发展热点和趋势。
1. 基础概念
双重支付/Double Spend
如果一个恶意用户试图将同一笔比特币同时支付给两个不同的收款人,这就是双重支付。比特币挖矿和区块链就是用来在网络上共同工作,来确定哪个交易将会被确认。
2.深度解读
简析POW模式双花

不过,随着加密货币市场逐渐成长,参与工作量证明的算力明显较过去上升,同时,这些算力也因为可以被「租借」而具备流动性。
举其中两款加密货币为例,目前以太坊(Ethereum)约拥有15万GH/s 的全网算力,而从以太坊区块链硬分叉产生的以太经典(Ethereum Classic)仅有约9000 GH/s 的全网算力,虽然算力差异巨大,但两者的挖矿生态大多采用GPU(图形处理器)进行挖矿。
这时候若出现一个算力租借平台,透过付费租借让算力出现另一种转移的动机,在两者间重新分配,将会造成不一样的改变。也就是说,若经济上的套利空间成立,有心人可以通过算力租借市场来获取以太坊区块链上的算力,并对以太经典区块链造成51%攻击。
以太经典(ETC)在今年一月份遭到51%双花攻击,最后价值1.1亿美金的以太经典虽归还了,而该事件也让51%双花攻击的成本再次浮上台面。
原本的情况
工作量证明(Proof of Work,PoW)为了要去中心化,必须仰赖节点的分散。而随着加密货币价格的升高,挖矿会形成完成竞争市场,即使会形成集中化的矿池,也会因为以下三点让51%双花攻击的成本远高于所得获得的利润:
- 矿机算力属非流动性资源,而且没有媒合市场可以租借。
- 想要51%双花攻击的人必须自己买庞大数量的矿机,耗费的成本太高;或矿机公司、矿池等业者考量到机会成本,一旦社群对这个加密货币的网路不信任,价格也会随之崩解,影响未来获利与发展,因此并不愿破坏该区块链网路的生态(即使这些公司可以做到)。
- 而目前的矿机大多是针对某种PoW 共识的加密货币所开发的,例如SHA-256→X11即不可行,差异性限制了某些加密货币被挖掘的算力规模。
算力租借服务的出现
随着加密货币的市值逐渐升高,各种加密货币如雨后春笋般地出现,连带的也出现了许多的算力。在算力高到一定的水平之后,供需弹性也会逐渐调整。
跟早期挖矿的人不同,现在挖矿的都抱持着要一年回收多少的心态,导致在面临市场下跌,或是获利不如预期的情况就会产生租借情形,因为新进场的人也不愿意在购买新的矿机。甚至也开始有企业提供类似云端运算、算力租借的服务,像是NiceHash。
上述的条件改变造成了「算力开始出现流动性」,也促成了潜在区块链51%攻击的风险。
可粗估成本
Crypto51是一个评估针对各加密货币区块链进行51%攻击的成本计算网站。
其以Mine the coin的资料去评估算力、NiceHash查算力成本、CoinMarketCap查该加密货币的市值,得出各币种每小时51%攻击的成本。
以上次受到攻击的以太经典为例,一小时的攻击成本是4,094美金,市值为463万美元,NiceHash 能提供的算力占总网路69%,这也确定了执行攻击的可能性。
不过攻击成本也非固定,图表一小时费用是指可以执行51%攻击的最低算力。
黑客要确保成功可能会租借到70%-80%左右,而租借越高的算力比例的费用会指数成长,例如算力占全网20%的时候,可能需要1000美金,但是到40%的时候可能需要4000美金。
该网站也列出其他采用工作量证明(PoW)挖矿演算法的小型加密货币,其通常具有更低的攻击成本,像是Bitcoin Private 每小时成本才25美金,不过市值较低,而且又比较少交易所提供交易对,交易深度也不够。自然黑客攻击的诱因就较少。
攻击者会怎么做?

51%攻击流程
一般来说,多数人会拥有最常链,所以只有最长链的交易才会受承认。而通常工作量证明会隔几个区块才确定某一个区块里的交易,譬如说比特币一般要隔七个区块才会确认交易。所以Block#151 要到Block#157才会确认。所以正常的情况,区块的矿工,不会在孤块(非最长链)上做白工。

区块确认时间
而进行51%攻击的攻击者,会以算力优势私自挖掘的区块,成为最长链。并针对较短的链上进行双花攻击,将大笔的加密货币转到另外一个帐号。在区块确认以后,再拿去市场上买成其他货币,最后再向全区块链网路广播自己的区块,成为最长链。而在自己的链上,是没有这笔交易的,所以原来的代币还是在攻击者的帐户。
攻击的SOP
交易所扮演交易市场的角色,往往会成为这种攻击手法的受害者,在1月份以太经典(ETC)遭受51%双花攻击时的Coinbase与Gate.io这两间交易所即是如此。
与取得赃款相同,执行51%双花攻击的攻击者必须在第一时间找到地方脱手,否则等到最长链向大家发布的时候,一切就会失去意义;交易所也成了最佳的脱手场域,因为交易所在加密货币市场中具有较为庞大的交易量。
整个过程的SOP 看起来会是这样子:
- 选定获利最高的标的。
- 先收一大批这个公有区块链的加密货币。
- 租借算力,携带算力优势开始私下挖掘区块创造最长链。
- 把持有的大批加密货币在交易市场中换成其他加密货币。
- 将换到手的其他加密货币转至另一个钱包。
- 向全区块链网路广播自己的最长链。
- 把原本的币收回或卖掉,获利即是通过最长链攥改数据欺骗交易所获得的其他加密货币。
- 重复相同的过程。
以后要怎么办?
一旦问题浮现,我们可以想像让市场机制来调整工作量证明的算力分配。
针对算力租借,交易所也开始出现一些相应的方式。在面对这种情况时,交易所便会开始审慎评估,哪一款竞争币的51%攻击是很容易的,就会将这些风险较高的加密货币下架交易所。
讽刺的是,评估的标准跟黑客评估双花攻击是一样的。这样一来,这些花较低成本就可以执行双花攻击的加密货币的攻击诱因就会大大减少。长远来说,对整体市场也是好事。
或者,交易所可以提高区块确认数量增加51%攻击的成本,提升安全性;不过这也相对会造成区块链链上交易迟缓,用户体验不佳的问题。
若算力流动性造成的风险不可避免,51%双花攻击一多,市场也会开始选择抛售风险较高的加密货币,通常这类的加密货币市值都较小,发展也相对受限,一旦这类的情况发生,资金会较为集中在市值较大的加密货币,算力也会回到主流加密货币,而算力的市占率提高,攻击成本即会增加,其他市值较大的加密货币也会变得更加安全。
针对小型加密货币,则可以采用较复杂的演算法执行工作量证明(PoW),一旦用更复杂的演算法,表示市场上的矿机会变得更少。但是这是治标不治本的方法,因为一旦网路开始成长,价值开始增加,针对这种算法的矿机也会开始普及。
另外一种可能的做法则是开始采用新的共识演算法,像是权益证明(PoS)、委任权益证明(DPoS)等,这样一来,已经饱和的工作量证明市场资金就会流向其他挖矿演算法中,对未来区块链或是加密货币市场来说也是很好的发展。
最后,也有社群提出,通过像是早期狗狗币(Dodgecoin)因算力不足而与莱特币(Litecoin)进行「合并挖矿(Merge mining)」的方式,来增加整体网路算力,提升安全性。
导读:工作量证明(Proof of Work,PoW)是目前多数加密货币的保持去中心化重要机制。
盘点历史上六种被双花的加密货币:币竞天择,适者生存
作者:honeyminer Diggy the Bear
翻译: BUSTER
基于工作量证明的加密数字货币解决了拜占庭将军问题并使一个去中心化网络的节点可以互相协调,即使一些节点可能作恶。但是,这也创造了一个针对工作量证明加密数字货币的攻击方式:51%攻击。
在51%攻击中,攻击者积累了某种加密货币的绝大部分哈希算力。这通常是为了回滚他们在网络上进行的交易来进行双花。交易所通常需要承担这种攻击的成本,因为他们是攻击者从分叉一条链获利的最简单途径。
如果攻击者的目标是ETC,他可以将ETC存入一个交易所,将其转换为另一种加密货币,然后迅速将其取出。因为攻击者拥有ETC的大部分哈希算力,所以他可以生成一条不包含该笔存款的竞争链。一旦竞争链的长度比原链长,他就可以强迫网络接受这个腐败的链是合法的:取消他存入交易所的那笔交易。
尽管比特币(Bitcoin)和以太坊(Ethereum)这些具有高哈希算力的加密货币从未成功被51%攻击过,但许多市值较小的货币就没有这样的优势来抵御攻击。去年,云挖矿和算力租赁的兴起导致51%攻击越来越容易成功。本文就将带您浏览加密货币史上一些最重要的51%攻击。
1.Coiledcoin - 2012年1月6日
Coiledcoin是比特币的一个短命的克隆,它支持合并挖矿以及操作码OP_Eval。Coiledcoin的客户端发布于2012年1月5日。短短一天后,比特币开发者Luke Dash Jr.在比特币论坛上发帖:
Coiledcoin现在结束了,祝各位生活愉快。
Coiledcoin允许合并挖矿,这意味着挖比特币Sha-256算法的矿工可以同时挖Coiledcoin,这让其非常容易被51%攻击。当时,Luke运行着Eligius矿池,这导致一些社区成员指控他贡献了算力来攻击Coiledcoin,尽管他否认了。Luke攻击Coiledcoin的主要依据是他认为Coiledcoin是一场诈骗以及金字塔骗局,会“降低及损害比特币的声誉”。
Peter Todd:Luke不应该杀害Coiledcoin,但Coiledcoin也没有能力做一条合并挖矿的侧链。
Coiledcoin攻击事件的有趣点在于它不是经济驱动的,而是纯粹政治的。虽然这一举动引起了社区的一些抗议,但它表明,低哈希算力的SHA-256加密货币是多么容易受到攻击。
2.Feathercoin - 2013年6月8日
Feathercoin是一个以莱特币为蓝本创造的Scrypt算法加密货币,于2013年4月16日发布。Feathercoin与莱特币十分相似,只有两个不同点。一是Feathercoin的总量由莱特币的8400万上升到3.36亿,二是Feathercoin更频繁地调整挖矿难度。

7周后,6月8日,Feathercoin受到51%攻击。在攻击前,Feathercoin的总算力为 0.2GH/s,而在受攻击的时间里,算力翻了7倍,达到1.5GH/s。31小时后,一个调查显示攻击者通过在交易所双花攻击卷走了58万的Feathercoin,时价6.38万美金。

尽管不清楚攻击者在何处双花了该币,一些比特币论坛的用户指出当时的交易所在暂停交易上很缓慢,现在已经停运的BTC-E交易所在攻击发生后处理过几笔大额订单。
有趣的是,Feathercoin的价格不但没有受51%攻击的影响,还在接下来几个月持续上涨。在攻击发生时,Feathercoin价格为0.11美金,在2013年年底,其价格达到了新高的1.29美金。
Feathercoin的创造者Peter Bushnell表示这次攻击的算力可能来自莱特币矿池或任何挖Scrypt算法代币的矿池。和一种更流行的代币使用同样的哈希算法,容易受到51%攻击,随着之后几年云挖矿的兴起,这种弱点被更加放大了。
3.Krypton - 2016年8月26日
Krypton复制自以太坊,拥有几乎完全一样的功能:智能合约、脚本等等。Krypton声称自己比以太坊费用更低,而这基本上是因为Krypton比以太坊价值更低,Krypton上计算能力的单价更低。
就像许多算力低的山寨币一样,Krypton非常容易受到51%攻击,并最终在2016年8月26日成真。攻击者在发起51%的同时发起了DDOS攻击。他们通过双花交易从Bittrex卷走了21465韩元(3434美元)的代币。这次攻击可能只是利用以太币山寨币漏洞的计划的一部分,其他对象包括Shift和Expanse。
攻击者向Krypton团队发送了一条勒索信:
我们拥有一条可以随时分叉的Krypton链。自从bittrex钱包两天前被攻击,我们已经挖到7000-8000个区块。但我们的目的只是比特币,而不是毁了一个项目。
今天,我们卖了剩余的20000韩元,并将给你们一个机会来结束我们的闹剧。我们不多要,只要拿回我们的成本。7个比特币,我们就停止分叉。这就是20000韩元加8000个块以及挖矿成本。
如果你们同意,联系我们,我们将停止攻击,不然我们就会分叉8000个区块。
Krypton拒绝支付赎金,并且在攻击发生后,Krypton的创始人Stephanie Kent宣布该代币将转向PoS共识机制来阻止未来的攻击。这个举动显然没有成功:几个月后项目被终止了。
4.Verge - 2018年4月4日以及2018年5月22日
Verge有幸成为我们名单上唯一一个遭受两次51%攻击的代币。Verge被设计为一种“安全且匿名”的隐私币。它分叉自狗狗币,宣传的隐私功能本质上就是将交易通过洋葱网络路由,以及“灵魂协议”基本上就是你可以在Verge上使用副地址。这些功能对保护用户隐私帮助甚少,但Verge还是在2017年12月登顶,达到30亿美金的市值。
第一次攻击发生在2018年4月4日。Verge在区块确认间的平均30分钟时间窗口中部署了一种叫做“暗引力波”的算法来调整网络难度。对Verge的攻击相当复杂,攻击者修改了区块链的时间戳,降低了Verge的难度,并使用远低于51%的算力攻击成功。攻击前,Verge的难度在139093左右;而攻击发生时,难度暴跌至0.00024414。
为了回应这次攻击,Verge团队升级了协议,但意外导致了一次硬分叉使得网络不得不回滚。团队修复协议的努力并没有什么作用,在5月22日,相同的攻击再次发生在了Verge上,涉及金额比之前更大,达到3500万Verge,折合美金170万左右。
Abacus Solutions的创始人Daniel Goldman在一篇有关此次攻击的文章中指出:两次攻击,都为倾向于坚持已证明有效的做法提供了有力的论据,同时也提醒人们,不要让事情过于复杂,以免在涉及到金融资产时带来不必要的风险。
对Verge的攻击可以可以归因于协议的复杂性:允许矿工使用五种不同的哈希算法,部署了名为“暗引力波”的功能;这些可能都是不必要的重复造车轮。
5.比特币黄金(BTG) – 2018年5月16日
比特币黄金是比特币的一次硬分叉,目的是通过抗ASIC算法来促进去中心化。
比特币黄金使用Equihash算法进行挖矿,和ZCash一样。Equihash是一种重内存的算法,比特币黄金选择它来促进网络上的显卡挖矿。
不幸的是,就和之前的51%攻击一样,这也使得比特币黄金特别容易受到51%攻击。攻击者不需要购买自己的硬件,只需在攻击期间从算力租赁市场租用显卡算力即可。
5月16日,攻击者对比特币黄金发起了第一次攻击,最后一次攻击发生在3天后的5月19日。这些攻击的目的是在交易所双花比特币黄金,大约12239 BTG被交易,时值约1800万美元。
该账户可能就是比特币黄金攻击者的账户
在发现第一次攻击后,比特币黄金开发团队建议交易所需要25个或更多的确认,以确保交易安全。两天后,开发团队建议增加到50个确认。
作为对攻击的回应,比特币黄金团队最终进行了硬分叉来支持ZHash,这是一种加强版的Equihash,具有更强的抗ASIC能力。但这并不能解决比特币黄金的根本问题。由于ZHash可被算力租赁市场上出租的通用GPU开采,而比特币黄金的网络算力较低,只有2.85 MH/s,因此其再次受到攻击似乎只是时间问题。
6.以太坊经典(ETC) – 2019年1月5日
以太坊经典是2016年DAO事件后从以太坊协议硬分叉出来的项目。以太坊经典是一个重视不变性的去中心化计算平台。

对以太坊经典的51%的攻击始于2019年1月5日,在接下来的两天里导致了15个区块的重组,攻击者总共获取了219500个ETC,约合110万美元。根据Crypto51的数据,攻击的成本在每小时5473美金左右。在攻击发生后,Gate.io宣布它是其中一家受到攻击的交易所,损失了40000个ETC。
和以太坊一样,以太坊经典使用Ethash算法,这使得它特别容易受到攻击。攻击发生时,以太坊的网络算力约183 TH/s,比以太坊经典的8.75 TH/s高出近25倍。这意味着攻击者可以轻松地从云挖矿服务商那里租借哈希算力来攻击以太坊经典,而无需投资任何实际硬件。
在攻击发生后,ETC的开发人员Donald McIntyre指出:
这次51%攻击对ETC来说是一次重大的挫败,但我认为ETC仍在这个行业拥有属于自己的位置,我们是一个采用工作量证明且图灵完备的网络,拥有活跃的社区,与健全的原则。我们要思考的问题是:ETC究竟是能在中长期之后复苏,还是由于缺乏显著增长,导致网络永远是如此脆弱,无法使用。
几个月之后,以太坊经典依旧容易受到攻击。目前,以太坊经典仍然使用以太坊的Ethash算法,其网络哈希率为9.6 TH/s,仅比上次受到攻击时略高。
7.51%攻击是加密货币的一种特性,而不是漏洞
51%攻击是加密数字货币行业“适者生存”的一种体现。这些攻击事件激励新的加密代币和新的工作量证明算法不断发展,吸引了对专业硬件的投资,越多资金投入,区块链也就更安全。例如,Grin的挖矿是一个内存密集型的过程,开发人员打算不断提高内存需求。这奖励了那些专门为Grin生态部署硬件的人,降低了ASIC矿机的价值。
虽然51%攻击经常被认为是工作量证明加密货币的一种缺陷,但这实际上是一种特性,而不是漏洞。51%攻击激励加密货币的创新,淘汰市场上较弱的代币。它奖励那些能够在攻击期间迅速停止交易的交易所,同时惩罚那些反应迟钝的交易所。最后,它是去中心化共识的一种体现,因为那些选择在主流链上挖矿的人就是在用他们的哈希算力投票,来确保网络的安全和强大。
导读:这些攻击事件激励新的加密代币和新的工作量证明算法不断发展,吸引了对专业硬件的投资,越多资金投入,区块链也就更安全。
挖掘真相,Coinbase深度分析BCH双重支付事件
5月15日,Coinbase在比特币现金(BCH)区块链上检测了一个depth-2链上重组,重组的目标,是被错误地发送到比特币隔离见证地址上的比特币现金资金,这些地址以前是不可花费的,但是在5月15日比特币现金硬分叉升级的时候,一部分资金被恢复可以使用了。根据公开数据显示,重组是由两名矿工之间算力斗争造成的,结果让139万美元(3655 BCH)被发送到了最初预定的接收者那里,而8.2万美元(216 BCH)被发送到了未知地址。

第一部分:比特币现金上的双重支付
比特币现金网络每年会进行两次硬分叉,这也是他们预定协议升级工作的一部分。最近的一次升级发生在太平洋时间5月15日星期三上午5点(格林威治标准时间下午12点),其中主要涉及两个变化:
1、启动Schnorr签名,这种签名是一种加密签名系统,也是比特币现金扩容解决方案发展路线中的一部分;
2、允许隔离见证恢复。隔离见证是一种在比特币网络上有效但在比特币现金网络上无效的地址格式。但是,比特币现金代币偶尔会被发送到隔离见证地址,在这次比特币现金硬分叉之前,这些地址里的代币是不能花费的。然而,这次升级改变了这些代币的状态,在某些情况下,代币状态已经从不可花费变成了可以被比特币现金矿工认领(我们会在本文的第二部分进行深入分析)。
事件时间表
比特币现金升级发生在太平洋时间5月15日星期三上午5点,这导致矿工会根据新的共识规则生成区块,区块582689成为了第一个在升级后规则下生产出的区块。在太平洋时间上午5点20分到9点05分之间,在比特币现金分叉币Bitcoin ABC上发现了一个漏洞,让矿工生产出了空区块,结果导致比特币现金内存池(mempool)中的交易挤压。而在此期间,还没来得及升级的比特币现金区块链则被延展到了一个新区块582680上。
在Bitcoin ABC实施了漏洞补丁后不久,两个区块582698和582699就分别被两个独立矿工开采了,这两个矿工在Coinbase交易中用“unknown”和“Prohasing”字符串标识了这两个区块。“Unknown”矿工开采的是区块 582698,其中包括了从1000多个隔离见证地址中花费的比特币现金交易。
太平洋时间5月15日星期三上午9点10分,Coinbase 检测到一个“双区块”(2-block)区块链重组,区块高度582698和582699的区块被一个更长的链给孤立出来了,而区块高度为582698到582701的区块则是由BTC.top和BTC.com两个矿池开采的。区块582701包括了一个独立的双重支付交易,而该交易包含了孤立区块582699。双重支付交易似乎来自于BSV网络重播,因为这些交易并不是从隔离见证地址花费,而且看上去和其他双重支付交易也没有任何关联度。
太平洋时间5月15日星期三上午10点零五分,区块582705被BTC.top开采出来。该区块包含了1278个交易(1451个输入,1278个输出,3655 BCH),这些交易将大部分输入被双重支付到了孤立区块582698中的28个隔离见证花费交易里(1387个输入,28个输出,3792 BCH)。但是,孤立交易输入中有56个没有被包含在双重支付交易里,而双重支付交易输入中有120个输入也不在孤立交易的输入里。所有这些双重支付都被发送到了与之等效的有效比特币现金地址上,后续我们会进一步解释这个问题。
太平洋时间5月15日星期三下午12点53分,区块582715被另一个不知名的矿工开采。这个区块包含了13个交易(620个输入,13个输出,216 BCH),该交易输入被双重支付到了之前孤立区块582698中28个隔离见证花费交易里的25个交易(1237个输入,25个输出,3442 BCH)。孤立交易的输入中有1181个没有包含在双重支付交易中,因为其中许多输入已经在区块582705中使用了,同时双重支付交易里的564个输入也不在原始孤立交易输入里。点击此链接,可以看到一个交易实例,其中第六个输入被区块582715内包含交易的第三十个输入重复使用了。这些双重支付被发送到了13个比特币现金地址,我们会在附录A中提供这些地址的具体信息。基于区块链分析,我们相信所有地址已经把他们的资金转移到了Bitfinex和HitBTC两家加密货币交易所。
双重支付分析
这次涉及到双重支付的交易总数为29笔,涉及的比特币现金数量为 3796 BCH,双重支付交易被分成了三组:
1、区块582701中1笔交易,包含4 BCH,但似乎这笔交易与其他双重支付无关;
2、区块582705中有1278笔交易,包含3655 BCH,其中有将隔离见证地址的比特币现金花费到了有效的等值比特币现金地址;
3、区块582715中有13笔交易,其中有极可能将隔离见证地址里的比特币现金发送到了被前文提及的“Unkown”矿工控制的比特币现金地址,这些交易包含的输入并没有包含在BTC.top开采出的582705区块里。
根据我们检查得出的结论,在区块582705中双重支付的隔离见证输入被发送到了它们最初的预期接收者。这意味着,挖掘区块582705的矿工(即BTC.top)能够将有效的比特币现金等价物到处到无效的隔离见证地址,这种做法其实和此前那个“Unknown”矿工对孤立区块582698和主链区块5827015的做法是一样的。唯一不同的是,BTC.top决定将这些资金发送给最初的预期接收者。
基于这些事实,似乎有一个算力在抢夺认领已经发送到隔离见证地址的比特币现金。在之前硬分叉升级被激活之后的几个小时,Bitcoin ABC阻止了比特币现金矿工验证区块中所有交易,所以这场争夺战从很早时候就已经开始了。区块582698包含了从隔离见证地址发送到与“Unknown”矿工关联地址的比特币现金花费。重组从主链中删除了这些花费,接着这笔花费被区块582705中隔离见证地址内等值的比特币现金给替换了。之后,区块582715被“Unknown”矿工开采,该矿工收集了剩余交易,而且还把保留在隔离见证地址里的一小部分比特币现金发送到了一个未知地址。基于这些区块中的Coinbase数据,Coinbase认为挖掘主链区块582715的矿工和挖掘孤立区块582698的矿工是同一个“人”。
双重支付交易样本
以下是来自区块582698“Unknown”矿工的样本交易,其中包含了从一些隔离见证地址花费的比特币现金代币交易。在这次比特币现金硬分叉升级之前,这些代币是无法被访问的。

图一:孤立隔离见证交易样本
在上面的交易ebc4中,“Unknown”矿工将46个输入花费在了“1My1”开头的单个地址上……这个交易输入的独特之处在于它们都是隔离见证地址,比如上图中特别圈出的“35hL”开头的那个地址。
下图中是出现在区块582705中的交易,该交易被双重支付在了上述样本里。需要注意的是,那个“35hL”开头的隔离见证地址也是该交易的输入,这导致下面那个交易变成了双重支付。

图二:区块582705“e872”开头地址的双重支付交易
BTC.top没有像“Unknown”矿工那样聚合隔离见证输入,而是将相同的输入双重支付到了单独的抵制。这些单独的抵制其实是无效隔离见证抵制上的有效等值比特币现金。举个例子,来自“35hL”开头的隔离见证地址中所有的资金转移到了“1EVW”开头的有效比特币现金地址。
为了更好地理解这个操作是如何完成的,我们需要再深入研究一下隔离见证地址的运作机制。
第二部分:从隔离见证地址花费比特币现金
作为5月15日比特币现金硬分叉升级的一部分,比特币现金网络对清除堆栈规则(clean stack rule)做了例外处理,目的是为了允许在隔离见证地址恢复比特币现金。只要满足下面两个条件,修改清除堆栈规则就能让任何人在隔离见证地址上花费比特币现金:
条件一:公钥哈希、或与隔离见证地址相关的解锁脚本是已知的,将资金发送到隔离见证地址时并不会泄露这些信息,但是从隔离见证地址发送资金的过程中会选址这些信息。因此,如果一个特定的隔离见证地址已经接收到了比特币现金,但随后又在比特币区块链上发送了比特币,那么在比特币现金网络上也会显示花费了同样金额的资金;
条件二:矿工必须同意开采这笔交易,因为从隔离见证地址花费的比特币现金交易并不是标准交易,这意味着虽然他们是有效的交易但不会通过网络传播,因为网络节点拒绝中继转发非标准交易。
恢复P2WPKH隔离见证资金
正如我们之前所提到的,为了在比特币现金网络上将花费资金意外地发送到P2WPKH(Pay-to-Witness-Public-Key-Hash)隔离见证地址,矿工必须要知道改地址的公钥哈希。公钥哈希有两种获取方式,一种可以直接从地址所有者那里获得,另外如果相同的隔离见证地址已经在比特币区块链上花费了资金,那么就能从比特币区块链上对应的交易中提取。
举个例子,在下面这笔交易中,比特币现金被发送到了“35hL”开头的隔离见证地址(注意:地址“pq4lq2sfvkyh3a9wvmkeqd8f2n5v8t07qg2hd6erum”只是“Cashaddress”格式中相同地址的表示。)

图三:在比特币现金网络上向一个隔离见证地址发送资金
之后,一笔转账交易在比特币网络上相同的隔离见证地址上完成,对应的比特币后来又从这个隔离见证地址上被花费掉,此时改地址的公钥哈希就显示出来了。
图四:在比特币网络上发送一个样本隔离见证地址
下面那笔交易,是将比特币存入到了比特币网络上的隔离见证地址,上面那笔交易在一个区块之后花掉了这些比特币,而上面那笔交易里包含之前隔离见证地址的公钥哈希,其原始格式如下所示:
{“txid”:”3ffbf713629fcf66ae6e7155c1f931ad3e6108e47d557c247831c1b7f617a266",”hash”:”469395c9292e04f0b476b77d420d882ecf7bb67be01c0314b503802e26705d32",”version”:1,”size”:249,”vsize”:167,”weight”:666,”locktime”:0,”vin”:[{“txid”:”4065337e9f82c4a57aef23011185676077a7e6a96d606c27b01b28cc68b1886c”,”vout”:1,”scriptSig”:{“asm”:”001493fdaf42a7b8e82fede6fe0f6184536a11193cce”,”hex”:”16001493fdaf42a7b8e82fede6fe0f6184536a11193cce”},”txinwitness”:[“304502210097a74f034d5adb4ceec0b8617fa24ee9faf95736f188cdee22b60e824025ac8402205de42bef12a4752024368a08a83547effc6de60b78111faa9a1c8f4f89adf4d501”,”02f68ea65bb67b8552a9cc11a47c251943e64c4dad4963ae006e638de6921b54ff”],”sequence”:4294967295}],”vout”:[{“value”:0.01542272,”n”:0,”scriptPubKey”:{“asm”:”OP_DUP OP_HASH160 4aed1e7a21ee87a69be93dbeda198d65752ff73a OP_EQUALVERIFY OP_CHECKSIG”,”hex”:”76a9144aed1e7a21ee87a69be93dbeda198d65752ff73a88ac”,”reqSigs”:1,”type”:”pubkeyhash”,”addresses”:
[“17qB4WvfbnNP4AVzkpGV1hsXHUpdu41FGU”]}},{“value”:0.00049692,”n”:1,”scriptPubKey”:{“asm”:”0 532b4f8533e6a0d51ee537ec48319228b374f4cb”,”hex”:”0014532b4f8533e6a0d51ee537ec48319228b374f4cb”,”reqSigs”:1,”type”:”witness_v0_keyhash”,”addresses”:[“bc1q2v45lpfnu6sd28h9xlkysvvj9zehfaxtkn2t65”]}}]}
一旦5月15日的比特币现金硬分叉升级修改了清洁堆栈规则,意味着比特币现金矿工可以使用上述公钥哈希将隔离见证地址中的资金花费掉,举个例子,下面这笔交易就花费了相关资金:

图五:在比特币现金网络上花费了一个隔离见证地址里的资金
如果查看原始数据的话,你可以在比特币网络上找到与上述比特币网络里这笔交易完全相同的公钥HASH 160:
{“txid”:”e872243f11d82ee348b2ae736dccd6b432f719e88c778b5513489f890c19a56d”,”hash”:”e872243f11d82ee348b2ae736dccd6b432f719e88c778b5513489f890c19a56d”,”version”:1,”size”:108,”locktime”:0,”vin”:[{“txid”:”bad87c9a6feae56e07cbaf1d064611e43a0fab40fcef94a424d18713756be2f4",”vout”:0,”scriptSig”:{“asm”:”001493fdaf42a7b8e82fede6fe0f6184536a11193cce”,”hex”:”16001493fdaf42a7b8e82fede6fe0f6184536a11193cce”},”sequence”:4294967295}],”vout”:[{“value”:0.50752982,”n”:0,”scriptPubKey”:{“asm”:”OP_DUP OP_HASH160 93fdaf42a7b8e82fede6fe0f6184536a11193cce OP_EQUALVERIFY OP_CHECKSIG”,”hex”:”76a91493fdaf42a7b8e82fede6fe0f6184536a11193cce88ac”,”reqSigs”:1,”type”:”pubkeyhash”,”addresses”:[“bitcoincash:qzflmt6z57uwstldumlq7cvy2d4pzxfueckq7xg080”]}}]}
因此,一旦比特币现金清洁堆栈规则被修改,那么来自比特币区块链上这个地址的资金可以被任何一个比特币现金矿工花费,只要那个地址里有比特币现金存在。在区块582698和582699里交易的情况下,对应的比特币现金就会被花费到未知地址上。但是在出现双重支付的区块582705交易情况下,比特币现金是在一些特殊地址上被花费了。
那么,BTC.top如何能够挖掘到特定的隔离见证交易呢?答案其实就是在上文中提到的,他们的目标地址(比如比特币现金:qzfl……及其上述示例中旧的等效地址1EVWEWrvrjcpHXPtEvY3D4JfWLrzRVtMQc)其实与原始隔离见证地址被相同的私钥控制。一旦你知道了隔离见证地址的公钥哈希,那么就可以很容易找到对应的比特币现金地址——这也是要花费这笔钱的首要条件。生成这个地址所使用的方法,其实就是普通的比特币/比特币现金地址推导算法,只是中间跳过了HASH 160这个步骤,因为我们已经从公钥哈希中获得了对应的哈希:
$ echo ‘93fdaf42a7b8e82fede6fe0f6184536a11193cce’ | bx address-encode
1EVWEWrvrjcpHXPtEvY3D4JfWLrzRVtMQc
通过将资金发送到与隔离见证地址具有相同私钥控制的那个地址,矿工就能访问此前无法恢复的资金,并花费这笔钱。
恢复P2WSH隔离见证资金
上面的示例仅适用于发送到P2WPKH类型的隔离见证地址,但是还有另一种类型的隔离见证地址:P2WSH(Pay-to-Witness-script-Hash)。以下是恢复由比特币BTC.top玩家资金的一个示例交易,其中就展示了一个P2WSH(Pay-to-Witness-script-Hash)的隔离见证地址:

图六:从一个P2WSH隔离见证地址回复资金
需要注意的是,“3G8Z”开头的那个隔离见证地址被发送到了一个“35VG”开头的P2SH地址,而不是“1”开头的P2PKH地址。“3G8Z”开头的地址,其实是一个多重签名P2SH脚本,该脚本最初是在比特币改进提案BIP-141中被定义的,因此也使得交易恢复变得更加复杂。
与P2WPKH一样,解锁脚本可以从比特币网络上相应的交易中获取:
{“txid”:”085685b104a6ee79d90546a27873d52fdf9cd252aa714d4f533a780bfe31dd88",”hash”:”300564866319ba006cfecea46b354c649c5f91fe778f5857091977efd11824c0",”version”:1,”size”:408,”vsize”:216,”weight”:864,”locktime”:0,”vin”:
[{“txid”:”acc8ef9eca068e36062b050321fd8e4adf13bcad49718eb4f992e29c6426a512",”vout”:1,”scriptSig”:
{“asm”:”0020883a730777b7119f563b84221abd5c742665f659d4c835ad771fb0bfb21064be”,”hex”:”220020883a730777b7119f563b84221abd5c742665f659d4c835ad771fb0bfb21064be”},”txinwitness”:
[“”,”3045022100af15f05927517cfaa4978ab7d3ef1036664df44f47f6f1efeb0ae16bd358137902205fe531c37fab614d0e2cd802d8f481fcfb968901aed1e0d4c5771be4579626a501",”3045022100e229eabf5e2779453aff54544e657858eece5fcf528dedbb0bbfe413df7b37e00220694de848b5b7ca58f31483baff4a7f890d64256b10ebc5f38c2c8f6348f0be6401",”5221026965ff50ba461b7bc54ae88c5dd45f334db242d0bf63a5bd5a6158835784b8f82102f864ea0765243a045bf572b6f62bb2ccd0c736ffcda21442ecc252eb32c388262103e3f2e6c762fd7aeafcd390b492accf5cd1108cf1eff1b8f78f76a56442e8684e53ae”],”sequence”:4294967295}],”vout”:
[{“value”:0.01848363,”n”:0,”scriptPubKey”:{“asm”:”OP_HASH160 c55c269abd40a8d21519d44b030c7d14e1ecd544
OP_EQUAL”,”hex”:”a914c55c269abd40a8d21519d44b030c7d14e1ecd54487",”reqSigs”:1,”type”:”scripthash”,”addresses”:
[“3KgZS5q7KRh2eM1NKXhe3nVGAYgE7Bz3ic”]}},
{“value”:0.0262,”n”:1,”scriptPubKey”:{“asm”:”OP_DUP OP_HASH160 89e5e15821fe9c9ec96b078c0e1ed72db3743589 OP_EQUALVERIFY OP_CHECKSIG”,”hex”:”76a91489e5e15821fe9c9ec96b078c0e1ed72db374358988ac”,”reqSigs”:1,”type”:”pubkeyhash”,”addresses”:
[“1Da8xeA4Zr6tgnDAeDE52Q87qwRFT7RiCD”]}}]}
获得使用脚本签名确认的原始隔离见证地址的HASH 160,这样就可以用于恢复交易了:
$ echo ‘0020883a730777b7119f563b84221abd5c742665f659d4c835ad771fb0bfb21064be’ | bx bitcoin160 | bx address-encode -v 5
3G8Z2tdL1GwC9NcjBC6Ycghnc84cJshN1f
但是,为了将这些钱发送到比特币现金网络上的非隔离见证地址,我们就必须要查看比特币交易隔离见证部分中的解锁脚本。注意上面最后一个txinwitness条目,它定义了一个多签名脚本,可以按如下方式解码:
$ echo
‘5221026965ff50ba461b7bc54ae88c5dd45f334db242d0bf63a5bd5a6158835784b8f82102f864ea0765243a045bf572b6f62bb2ccd0c736ffcda21442ecc252eb32c388262103e3f2e6c762fd7aeafcd390b492accf5cd1108cf1eff1b8f78f76a56442e8684e53ae’ | bx script-decode
2
[026965ff50ba461b7bc54ae88c5dd45f334db242d0bf63a5bd5a6158835784b8f8] [02f864ea0765243a045bf572b6f62bb2ccd0c736ffcda21442ecc252eb32c38826] [03e3f2e6c762fd7aeafcd390b492accf5cd1108cf1eff1b8f78f76a56442e8684e] 3 checkmultisig
为了在比特币现金网络上复制同样的行为,我们需要基于上面完整的检查多重签名(checkmultisig)脚本生成等效的P2SH地址:
$ echo
‘5221026965ff50ba461b7bc54ae88c5dd45f334db242d0bf63a5bd5a6158835784b8f82102f864ea0765243a045bf572b6f62bb2ccd0c736ffcda21442ecc252eb32c388262103e3f2e6c762fd7aeafcd390b492accf5cd1108cf1eff1b8f78f76a56442e8684e53ae’ | bx bitcoin160 | bx address-encode -v 5
35VGQpXdATDdkArZpafKwCMJRsoFwi6Gab
这个地址对应于BTC.top在恢复交易中使用的那个地址,两个地址是一样的,并且可以由比特币现金网络上同一个预期接收者解锁。
总结
Coinbase的调查正在进行中,不过Coinbase的分析范围仅限于双重支付交易。但需要注意的是,有些在隔离见证地址上花费的比特币现金交易并不是双重支付,因此不会被包含在本次分析之中。现在的重点在于需要充分了解究竟有多少比特币现金被发送到了隔离见证地址,目前在隔离见证地址中到底还有多少比特币现金,在隔离见证地址内能够被花费的比特币现金数量有多少,以及还有多少比特币现金被发送到了不相关的地址。
上述隔离见证恢复机制,是通过收集比特币区块链上记录的公钥、或是解锁脚本数据来实现的。由于这些信息时公开的,因此也创造了一个竞争条件,而这也意味着在BTC.top矿池有机会执行隔离见证恢复之前,未知矿工其实有可能已经尝试将这笔钱花费出去了。
不过,Coinbase发现BTC.top通过技术解决方案将用户错误丢失的比特币现金给恢复了,而且他们选择将这些钱还给目标收款人,而不是占为己有。
附录 A
在区块582715中被矿工挖出的恢复隔离见证地址资金的比特币现金地址:
qzgxrv03axyj43tlghez3lfx0w7qgzc4lupuuhn7rj
qreyu2fng05c8pu2dgt5qlrm4fnhqeqg4shqaetvqx
qr505me362r482zmztpf374trh0azme4xuwanu94l0
qrt28quv2ur4rk27mj5ts0c0z9akqgl9ss34xfpc9p
qpczrc2ueqc0lfp72u9fh08um8a3nqlgyclz3q00a6
qr586dnpnc9nysv4e00z8zzc5nanxamy8ggaanuktq
qrwertpzqn53xhhcy9r5rgl4qglzu64tgs6pxry5kh
qz2mjv4gurwxr2qm9yurke4le6tl7w9hsqzzjnc06r
qp8ap9hhuljhegylvqcg5t05a5tddzt565pdf83jxj
qp3y94tyrvjn5y38sh02mq87g2j7hrktyy2tnrut7k
qpxw8w8yh5xhq9w2hxzfse9qyq6u0yx3q57nzvh46n
qqtzhnu2th0f5u8ay3wrp8v7ugkmvp7ypuqc4lfyuu
qpu7jawy36a7cvamcyc2y4lgn7ckq0pwpg3r9tydc3
导读:Coinbase发现BTC.top通过技术解决方案将用户错误丢失的比特币现金给恢复了,而且他们选择将这些钱还给目标收款人,而不是占为己有。
3.产业动态
比特币ATM机被成功双花112次,零确认交易和RBF谁该背锅?
据外媒3月13日消息,四名加拿大男子因在多个城市对比特币ATM进行双花攻击而被通缉,据称在去年,这个团伙总共对比特币ATM机进行了112次双花攻击,获得的利润达到了20多万美元,平均每次攻击获利1800美元。
那么,问题来了,到底是什么原因导致比特币ATM机被多次成功双花呢?
我们可以肯定的是,这些被攻击的ATM机,都是接受零确认交易的,而这些人正是利用了这一事实,双花比特币以换取现金。
那么,仅仅是因为ATM机接受零确认交易造成的吗?
有加密货币社区成员(主要是BCH和BSV)提出了另一种说法,即加拿大比特币Core开发者Peter Todd所提出的费用替代法(RBF)工具,使得这些双花交易成为可能。
例如,这位被Roger Ver点赞的哥们儿是这么认为的:

“这些家伙使用RBF对比特币ATM机进行了双花攻击,通过112笔交易偷走了20多万美元。 Samson是对的,比特币不再是一个支付系统。”
而作为RBF方案的提出者,Peter Todd当然不想背这个锅,他是这么说的: 
“不是的,RBF对此不背锅。比特币从根本上就无法保证链上的零确认交易。从来没有,也永远不会。那些声称不这样做的人,是无知或不诚实的,他们常常向你推销不安全的产品。 ‘零确认强盗’很好。”
先不谈错究竟在谁身上,我们先来了解一下这个费用替代法(RBF)到底是怎么回事?
是这样的,比特币从诞生以来,中本聪就设置了一个先到先得的交易规则,就是说假如同时有两笔合法的交易,其中先到达节点的交易就会被优先采纳,而费用替代法(RBF)则改写了这个规则,即:如果同一个地址发起两笔交易,则手续费更高的交易胜出,采纳RBF费用替代法的其中一个影响,是让零确认的交易变得容易被双花。
对此,Peter Todd是这样描述的:
“连续创建两笔交易,第一笔向指定的地址支付一笔指定的金额。而第二笔,则通过支付更高费用的交易来双花第一笔交易,只支付找零地址。此外,你还可以选择指定第一笔交易附加OP-RETURN、多重签名以及“黑名单”地址输出。有些矿工不接受这些输出类型的交易,这些矿工将接受第二笔双花交易,帮助你实现一笔成功的双花。”
也因此,费用替代法(RBF)最初被提出时,遭到了开发者社区成员的大量反对,包括Adam Back 、Gavin Andresen、Mike Hearn、Jeff Garzik等技术大佬都认为RBF是糟糕的。
后来,经过社区的讨论,Opt-in RBF方案被提出了,简单说,这里的RBF是一种可选项,默认是不启用的,这种可选方案使得商家如果认为接收0确认的RBF类型交易有问题,其可拒绝这类交易。
由于这种设定,Opt-in RBF方案后来便逐渐被比特币社区接受了。
谈到这里,我们似乎会糊涂了,这究竟是怪比特币ATM机商家接受零确认交易呢,还是要怪RBF方案呢?
你怎么看?
导读:四名加拿大男子因在多个城市对比特币ATM进行双花攻击而被通缉。
双花问题背后的力量角逐
火星财经的朋友们,大家好!欢迎来到我们的栏目——丰评区块链,我是Dipperin CTO蔡庆丰。

今天我给大家讲讲区块链里面的一个大坑以及预警的方法,将会涉及到双花问题,以及与之相关的最长链原理,还有6个确认原则。
双花,指的就是双重花费。在前面的章节中,我们讲到过双花问题是数字货币设计中的一大挑战,因为如果一个货币系统中,一笔钱可以被花费两次,那么这个货币系统便是毫无公信力的。然而不同于纸币, 证明数字货币权益的代码可能会被多次发送。在中心化的银行系统中,有银行帮助将每一笔交易记录到银行的数据库系统中,防止一笔交易被支付两次。而去中心化的比特币网络是怎么应对这一难题的呢?这是我们今天课程主要讲解的内容。
我们已经学习过,比特币通过工作量证明机制来出块,矿工打包合法区块并解出哈希谜题公布到网络中等待全网的确认。网络中节点接收到区块后,对矿工计算的哈希谜题结果进行验证时,也会同时对区块内的交易进行合法性校验,以保证矿工没有将试图双重花费的交易打包进来。所以通过这一机制保证了矿工会在打包区块时阻止双花行为。
在这个网络中不同的矿工打包计算的区块是不一样的。这不仅是因为他们可能打包了不同的交易,而且他们在区块中提供的获得区块奖励的地址是不同的。由于交易和区块在网络中的传播都是有延时的, 不同矿工打包计算的区块可能会分别以不同的先后顺序到达不同的节点中。考虑这样一种情形,位于美国东部的一群节点优先收到了一个美国的矿工节点打包的区块,而差不多同一时间中国西部的一个矿池挖到了同一高度的另一个合法区块。这两个不同的区块分别在网络上进行传播并分别被不同的节点所确认。这会导致网络出现暂时性的分叉,因为在这样一个去中心化的网络中并不存在一个权威的机构来判定两个区块的生成先后顺序,每个节点只能根据自己接收到区块的时间来判定应当接收哪一个区块。
在比特币网络中,对收到区块的确认方式,就是在这个区块的后面继续打包与计算哈希谜题以延长这条链。所以接下来不同的矿工节点可能会分别在他们各自认可的区块后面继续挖矿,并将计算得到的新区块广播至网络,以试图得到全网的认可。这样由于网络延时便可能导致网络出现分叉。
因为比特币是去中心化的,是没有中心机构的,想要让所有的完整节点都有一份相同的公共总帐本,就需要达成共识。我们接下来要讲的最长链原则就是这些共识中很重要的一条。
随着网络中不断地有新块产生,逐渐便会有一条链脱颖而出成为最长的链。比特币通过最长链原则来解决分叉的问题。最长链原则是指,节点会在他看到的最长的链上继续挖矿,当节点看到网络中有比自身链更长的链时,便会抛弃当前的链转而去接收那条更长的链。这也意味着,当两个矿工同时挖出区块的时候,系统就会根据最长链原则进行取舍,即哪个新产生的区块能使其所在的区块链变得更长,则哪个区块得以被记录。节点会把其中较长的一条链继续作为主链,另一条作为备用链保存,如果新添加的区块使备用链变成了更长的链,那么这条备用链将被作为新的主链。这是保证区块链不发生分裂的重要机制。
最长链原理与工作量证明在原理上一脉相承。因为工作量证明的本质是对矿工付出的计算能力的证明,而最长链原理则认为最长链代表了最多的用于计算哈希谜题的算力。
最长链原理解决了由于网络延时而导致网络短暂分叉的问题。但是既然区块确认是可能被扭转的,那我们就考虑另外一种可能性,会不会有人利用这一点来对网络进行攻击?在一笔花费被区块链确认之后,攻击者转而从该区块以前的区块上进行延伸,并尝试将这条新链做成一条更长的链。通过这种方式,使得网络抛弃之前那条链,攻击者把以前的交易中花费的虚拟货币取回来并用于二次交易,从而实现双花的目的呢?
理论上这样的可能性是完全存在的。
但是事实上,这样的攻击成本非常高。一般来说,攻击者需要掌握全网50%以上的算力才有胜算发动这样的攻击,这种攻击也被称作“51攻击”。但是事实上在比特币的世界中,几乎没有任何组织或个人能够拥有如此大的计算能力,所以51%一般只会出现在一些相对规模比较小,算力不是太强的且同样使用POW共识机制的公链中。
例如:2018年5月,比特币黄金BTG遭遇了51攻击,此次攻击之后,系统超近40万个BTG被双花;6月,ZEN也遭受到两次同类型攻击;前不久,ETC网络被爆出遭遇51双花攻击,造成数百万美元的损失。
虽然比特币上的任何节点都无法拥有全网超过50%以上的算力,但是攻击者仍然可能进行这类攻击尝试。因为追赶一两个块的高度仍然存在一定的可能性,比如某个节点可能运气特别好地连续出了两个块。一般来说,要追赶的块的数目越多,则这种成功的可能性就越小。此外,由于网络延时可能导致的天然的短暂分叉的可能性依然存在,所以在比特币的世界中,有个叫做“6个确认”的法则,也就是说一般要等待一个交易被确认并且在其后有5个区块得到网络的验证,才可以认为这笔交易被妥妥地确认在了比特币的世界中,几乎没有可能被逆转。当然,关于6个确认来验证比特币交易的真实性,6这个数字并不是硬性规定的,只是为了更大程度地保障交易不会出现“被双花”的问题。
这也意味着,在比特币的世界中,对区块的确认是一种概率性的确认,因为作为单独的节点并不知道自己目前接收的区块是否存在于最长的链上。只能说,随着其后被网络确认的区块越来越多,则该区块越不可能会由于其他一条更长链的出现而被抛弃。
好的,今天我们主要学习了比特币的最长链原理、双花攻击问题以及比特币交易中的“6个确认”。明天我们将一起探讨另一种重要的数字货币——以太坊。丰评区块链,期待明天咱们一起学习。
导读:对区块的确认是一种概率性的确认,因为作为单独的节点并不知道自己目前接收的区块是否存在于最长的链上。
Dash遭遇“双花”危机,币圈正规军能否抵抗成功?
文/张宇
来源/31QU
一位Reddit用户近日为Dash网络拉响警报,加密货币挖矿算力市场NicheHash 上的算力已经超过Dash网络上的一半。

该用户表示,最近的数千个Dash区块,出块最多的地址中有三个由同一个实体控制。
截至目前,遭受质疑的三个地址分别为:
XbUutDsgJbf7Sjjq4omhusNtkT8ih1d7oQ;
XkNPrBSJtrHZUvUqb3JF4g5rMB3uzaJfEL以及XeMPcKeVDN9bkECGDC7ggtf9QsX5thgKAx。
这些地址已经挖掘了26,665个Dash。按当前价格计算,共计573 BTC或220万美元。
这位Reddit用户的分析发现,最近的数千个Dash出块记录显示,出块最多的地址中有三个由同一个实体控制。他表示:“这四个特殊的地址中,其中有三个可以在浏览器中查询到,而其转账记录都指向同一个地址,这意味着这三个地址由一个实体控制,这种情况去年9月份便出现了。”

无独有偶,PeckShield安全人员通过追踪Nicehash上的数据发现,1、Nicehash租赁平台目前持有DASH超过70%的算力,(1411 TH/s nicehash,总计 1790 TH/s),这属于较为异常且存在安全风险的现象;2、当前DASH挖矿的前三大矿工身份未知,分析其链上数据疑似为同一机构,且最近100块的总算力超过54%。
此前,ETC遭51%双花攻击让大家认识到,通过租借算力(如:Nicehash)可以控制较小币种51%以上的算力,进而实施51%攻击。
值得注意的是,此前,攻击ETC的价格每小时需要花费4748美元,但是攻击Dash每小时则仅需2620美元。
然而,Dash不同于ETC等小型POW加密货币,至少在市值方面,Dash无论如何也不会被归于小币种。
其次,在去年11月,Dash正在研发一个新的保护机制:“Chainlocks”。一旦研发成功,Chainlocks还将改善区块重组并修改Dash从比特币那里延续下来的“最长链”规则。
此外,据Dash白皮书中介绍,Dash在安全方面设置了两道防火墙:POW共识机制下面还有一层由随机节点组成的保护层。
因此,尽管不法黑客凭借51%攻击在此前在小型加密货币方面连番得手:ZEN、BTG以及ETC均遭受荼毒。但在加密货币的“主力部队”。黑客要想复制之前的胜利,恐怕难以如愿。
来源:学习区块链
- 免责声明
- 世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
- 风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
- 世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。

币网讯



