今天我们就讲讲区块链与女巫攻击
“女巫攻击”这个名字源于一部名为《女巫》(Sybil)的电影,改编自1973年美国作家弗洛拉·施莱伯(Flora Schreiberie)的同名小说。
主主人公是一个名叫Sybil Dorsett的女人,她被诊断为分离性身份认同障碍,兼具16种分裂人格。
在2012年的时候,微软的数学家发了一篇论文,题目是「在比特币和红气球」。
在这篇论文中,他们证明了,任何的网路架构若是需要三次以上的跳跃(hop,讯息传播),就有机会被女巫攻击。
在这篇文章中,我们会详细介绍微软是如何地得到这个结果,并且这个结果究竟代表什么。但在开始之前,我们必须对一些基本知识有共识。
女巫攻击:一种攻击者可以攻击有身分标示网路(a network that is dependent on identities)的攻击方式。
(译者:用少数节点去伪装多个虚假身分,使自己在网路上看起来比没有攻击状况下还多)
跳跃一次(hop):资讯从任意一个点(A)在某个网路内部传递到任意的另一个点(B)透过两个点中间的连结传递
目前的主流网络:
(a) Centralized (中心化): 因为信息传递必须通过中央的伺服器,所以任意两点之间传递讯息只需要两个跳跃。
(b) Decentralized (去中心化) 和 Distributed (分散式)讯息传递都需要三次跳跃(hop)以上。
让我们来仔细检视微软得到前述关于网路拓朴和女巫攻击时所使用的模型。
在2009年国防高等研究计划署的网路挑战中,参赛队伍必须定位散布在整个美国的10颗气象气球。最后是由麻省理工学生所设计的策略夺得胜利。
同时,这个策略也是微软研究者用来解构、概述攻击向量的方法。
麻省理工参赛队伍所使用的策略是,激励大家去散布相关消息。因此他们就可以用最少的资源去搜寻到最广大的范围。
麻省理工的团队提供2000美元的奖金给每位气球发现者, 1000美金给招募到气球发现者的人,500美金给招募到招募到气球发现者的人,就照这这样的规律给予奖金。
上述的策略让每个参与者都有动力去招募他的朋友或者任何能够与他们自己联系上的人都来找气球,因为这样可以使他们自己有更高的机会得到奖金。
然而,每当有新的人被通知到这个找寻气球的消息,他们也会通知更多人,让这个搜寻气球的竞赛有越来越多参赛者,并且整个支付奖金的阶层也会变得更高。
这样造成第一个招募其他人来找气球的招募者能拿到的奖金会随着整个阶层变高而变少。这个激励机制无意间帮助了恶意行为者。
一位攻击者可以创造一堆假的招募者去要求给予他们奖金的最大金额(译者:上述等比级数公式所算出的4000 美元)。
在国防高等研究计划署的网路挑战中,如果一个攻击者创造出复数假的招募者,这些假的招募者坐落在整个招募链的中间,这个使用了假身分的攻击者可以大概得到
快两倍的奖金。
用多重身分去攻击整个网路: 女巫攻击,这件事情跟比特币和虚拟货币有什么相关呢?
一些微软的数学家分析了虚拟货币网路的经济诱因。现在的大部份虚拟货币就是利用这个经济诱因去巩固其本身的安全性,避免攻击者从中获利。 在虚拟货币的系统中,这些攻击可能包含如双花或是操纵虚拟货币产生机制 (挖矿),这两者攻击都是倚赖节点身份。 微软所得到的结论是一组给防女巫攻击网路的指导原则,若一个网路能够防止女巫攻击,那么他的激励机制必须要有以下几个特点: · 奖励资讯传递 · 对于多重身份不能有任何奖励 就这样十分简单! 根据他们的分析比特币通讯协议是独特的,因为比特币的开发者似乎本来就有特别注意到网路的动态性,不少币的开发者连网路动态跟安全性有关都没有察觉到。 这个网路动态性指的就是网路拓扑。
比特币之所以是能够抵御女巫攻击的原因是各个身份之间的关系是靠POW(proof of work 工作量证明)机制去做连结的,而POW是没办法造假的。 在这个网路中的节点们也会知道这个POW是由谁做的,然后藉由资源分配去优化整个网路连结状态(网路拓扑)。 透过POW去优化网路拓扑,节点们就可以更快的得到新的资讯,也因此紧浪费最少的资源就可以着手去争取下一个奖励。 这种会自己调整的网路重建方式( adaptive connection restructuring)会趋使矿工建出一个完整图(complete graph),在这张完整图上他的节点跳跃(hop)数会小于3。
除此之外,挖到比特币的旷工,和所有收到这个挖到矿讯息的矿工们如果想要挖到下一笔最新的区块的话,都会尽力的把这个消息传播出去。 因为如果在这个网路上的其他矿工都去挖了另一个不同的区块,
这样很容易造成我们现在即便先挖出了这个区块,也会因为没人承认变成孤儿块,这样我们就变成单纯浪费电而已。 而且一直重复自己的资讯也不会增加任何的奖励。中本聪发明了防女巫攻击的网路,这个网路第一个也是最有价值的应用是被当成货币使用。 这个设计出来的网路利用了人性中共有的贪婪,转化贪婪成为防止网路受到攻击的动力。
从比特币诞生的2009年开始,中本聪已经对女巫攻击有所防范,在最初设计比特币时,成本问题就被考虑在内。 作恶者要控制比特币网络的共识机制,要付出至少数十亿美金的硬件(算力)成本。 除此之外,为了说服其他矿工进行女巫攻击,还要额外付出比正常挖矿高得多的成本。 这里,最基本的经济规律杜绝了希望通过女巫攻击来拖垮比特币网络的现象,因为女巫攻击太不划算了,成功概率也非常小。
虽然比特币基本不用担心女巫攻击,但新出现的区块链网络可能就没那么幸运了。 由于网络算力不足、节点不足,对其进行女巫攻击的成功概率就会大很多。因为女巫攻击而夭折的项目也有不少。