专栏名称: 闪电HSL
读书分享
目录
相关文章推荐
51好读  ›  专栏  ›  闪电HSL

【转】隔离见证的风险: 为可能破坏比特币网络的挖矿巨头打开了大门

闪电HSL  · 公众号  · 比特币  · 2017-06-22 19:41

正文

比特币社区还在继续讨论隔离见证,比特币核心开发团队提出了将签名数据(见证)与交易数据分离开来的扩展解决方案。隔离见证有许多风险,其中有一种风险需要特别注意:隔离见证为恶意串通和挖矿巨头打开了方便之门,比特币网络可能因此遭到破坏。

当前比特币协议的保护作用

要理解隔离见证是如何打开这扇门的,让我们来回顾一下比特币协议的格式。在比特币的工作方式下,一个成功获得全网51%以上算力的挖矿巨头可以双重支付现有交易,以此发动攻击。其工作方式如下:

“即使一个坏人制服了网络, 他也不会立刻变得富有。他能做的就是收回自己花出去的钱,就像支票退票一样。要想利用它,他必须从商人那里买东西,等到发货,然后把网络制服,把他的钱拿回来。我不认为他能通过那种盗刷的方式,赚到比创造比特币更多的钱。有了一个那么大的僵尸农场,他能创造比其他人加起来还多的比特币。” [1]

这种形式的攻击将使矿工的收益受损。除非这个矿工拥有全网51%以上的算力,否则此类攻击是不可能的,而且考虑到比特币的开采成本,此类攻击也是极其昂贵的。这也会危及到该矿工的现有收入模式。

在比特币中,如果一家挖矿巨头成功将一笔双重支付交易引入到某个区块,那它就能取得很小的收益。这意味着,一个邪恶的矿工能够引入一项交易,而这项交易本身就是为了回滚第一笔支付而产生的。但对于小额交易(比如少于几千美元的交易)回滚是没有任何经济动机的。

此外,这种形式的攻击只有在精心安排的情况下才可行。该矿工必须在交易(上面例子中是商品出售)完成后但交易尚未被集成到某个区块之前实施攻击。更高金额(更昂贵)的交易自然是最有利可图的攻击目标,但它们很可能早被整合到某个位于合适深度的区块,回滚时间已经过去了。比如说,许多司法管辖区的法律都规定,进行不动产转让时,买方有权在规定时间内撤销交易,而这一规定时间将超过任何可撤销的区块高度。因此,当前的比特币协议提供了经济上的抑制措施,以阻止和防范双重支付攻击,尤其针对较大交易金额的双重支付攻击。

隔离见证为挖矿巨头的形成创造了激励机制

如果得到实施,隔离见证将会使情况变得更糟,它为促使挖矿巨头形成的经济激励模式打开了大门。按照目前比特币网络的运作,矿工们没有动力去形成巨头。矿池不是一个巨头而是一家公司。但是隔离见证使比特币发生了根本变化:“AnyOneCanSpend”地址,它实质上是一个空白的交易签名。隔离见证使用“AnyOneCanSpend”地址来验证交易并将交易记录到区块中,即使发送方和接收方的签名数据被分开。顾名思义,“AnyOneCanSpend”输出通常允许任何矿工使用该交易的相关资金。因此,隔离见证将引入新的规则来解释“AnyOneCanSpend”。这也就意味着,矿工不能利用该输出地址来不当使用隔离见证交易的相关资金。

但有了“AnyOneCanSpend”地址,只有所有参与者都同意它是安全的,系统才会是安全的。隔离见证的支持者认为,一旦协议改动生效,所有矿工都会同意好好玩,永不偷钱,而且资金会被安全地锁住。但他们想法的主要缺陷在于,它忽略了邪恶矿工会有经济动机在隔离见证生效后采取以下措施:

  1. 组成一个巨头来接管这个网络。

  2. 关掉隔离见证,恢复到当前的比特币协议。

  3. 利用“AnyoneCanSpend”地址立即窃取他们开采区块中与所有隔离见证交易相关的资金。

通过使用“AnyOneCanSpend”地址,隔离见证从此打开了一扇门,让腐败矿工能够开采区块来破坏交易,并反而将其重新定向到矿工自己的地址。只要隔离见证还在使用,这种非法攻击的价值都会日益增长。随着时间推移,越多的人使用比特币,越多隔离见证交易被加在区块链上; 而实行了隔离见证的比特币锁定的资金越多,这种形式的巨头攻击就变得越有利可图。一个叛变矿工可以获得尚未从隔离见证重定向到传统比特币地址的历史资金。因此,隔离见证系统运行的时间越长,就越有可能形成一个巨头来窃取资金。

在隔离见证的情况下,矿工不太可能形成一个巨头来恢复个人的双重支付交易——即使是一笔大单交易。反而所有隔离见证交易的总和(至少在巨头成员开采的区块)提供了一个足够大的值得掠夺的宝箱。如果51%为隔离见证发信号的矿工秘密支持协议的巨头化,那么交易被窃取只是时间问题。窃取方式可能如下:

  1. 矿工发出了隔离见证的信号。

  2. 一组联合哈希率超过当前网络算力50%的矿池和公司形成了一个巨头。

  3. 随后,该巨头组织停止发出隔离见证信号,并将比特币网络返回到之前的比特币协议。

  4. 如果有足够数量的比特币是使用隔离见证进行交易的,巨头将从隔离见证切换到使用原始协议处理所有交易。巨头成员随后可以立即利用隔离见证的“AnyOneCanSpend”地址从他们开采的区块(特别是高价值的区块)的交易中窃取资金。为了激励矿工加入该组织,该组织可能同意每个成员按某种比例(例如,按照每个成员的哈希率)将从被攻击区块盗来的资金分配给整个集团。任何一个矿工或矿池,不需要拥有51%的哈希率就可以参与这场窃取。

这只是隔离见证(SegWit)可能引起的数百种被攻击情景中的一种。在隔离见证的系统下,攻击比特币网络的行为可能变得奏效,因为网络的经济状况可能被改变;因为这个时候非法攻击不再是被阻拦的,而是被鼓励的。这也正是被比特币核心研发者和其他隔离见证支持者最容易忽略的一方面。

在比特币发展早期已出现过好几宗大额的个人交易。如上所述并不是任何个人交易对网络构成主要风险,而是在任何一个区块内的总交易水平。随着比特币的扩大,一个具有很高价值的区块的出现正在变的越来越可能。从维萨卡和万事达卡转账速率来看,当比特币变成互联网主要货币的时候,在转账高峰期,短时间内集合的转账(比如1-2小时)总金额可能超过1000亿美元。在这种层面上,即使最诚实的矿工也可能会受激励逃离标准协议的控制。

上面的提到的隔离见证的消极结果并没有被研究过,也没有在比特币的社群中广泛的讨论过。相反的,隔离见证的支持者淡化其系统的动机,经济和博弈论,并不断的暗示密码学算法才是比特币安全的根本。

博弈论解释人们为什么选择利己而非社会合作

博弈论可以生动的来解释这个问题。我们可以把现行的比特币安全模式比做是一个猎鹿赛局游戏。但是隔离见证将现有的模型转换成了一个囚徒困境模型,在这个模型里面,不同组的矿工们要么是最诚实的矿机,要么是叛变的矿机。

在博弈论中,囚徒困境模型解释了为什么即使是在对于双方最有利的条件下,两个人也选择不合作。两个朋友或伙伴被指控实施了犯罪并且被分别关押,所以没有办法和对方交流。检察官也没有足够的证据去指控两个罪犯,所以给囚犯提供了两个选择,要么选择指控对方(背叛对方),要么选择沉默来帮助对方。每个囚犯的选择会决定最终的结果(在下 面四个象限中列出):自由(如果两个囚徒都选择沉默来帮助对方)或者被拘禁不同的时间(最坏的情况下各自都背叛了对方)。通常情况下,囚犯会寻求对自己有利的情况,也就是背叛对方,如果双方都选择背叛对方,那么两个人会被判罚更长时间的监禁(相比于都帮助对方)。博弈论告诉我们,个人的利益权衡通常控制着人们最后的决定,即使最终会导致更糟糕的结局。这个例子对现实世界提供了一个很好的例子,譬如比特币网络,因为在比特币网络里需要个体的相互合作。

在囚徒困境模型里,如果双方选择背叛对方,那么游戏再一次变成了猎鹿赛局。猎鹿赛局也要求人们在个人利益和社会合作中做出选择。在猎鹿赛局中,每个人会被要求去猎杀一只驯鹿或者野兔,在做决定的时候他们并不知道对方的选择。猎杀一只驯鹿需要两个人的配合;猎杀一只兔子则一个人就可以完成,只是比驯鹿有更小的价值。合作猎杀驯鹿会让双方利益最大化(就像囚徒困境中帮助对方会使双方都受益一样)。








请到「今天看啥」查看全文