什么是女巫攻击(Sybil Attack),如何防范女巫攻击?

 2023-09-05 12:52:21发布

女巫攻击(Sybil Attack)也被称为身份或声誉攻击,是一种在线安全威胁,由一个实体创建多个节点、帐户或主机,意在接管某个特定的网络。此类攻击既可能像在社交媒体平台上使用多个帐户那样简单,也可能像是入侵高安全性的网络一样危险和复杂。

什么是女巫攻击

“Sybil”一词来自一位名叫Shirley Ardell Mason(又名Sybil Dorsett)的艺术家,她曾被诊断出患有多重人格障碍。顾名思义,女巫攻击(Sybil Attack)往往发生在当一个用户使用了多个虚假身份,像极了具有多重身份的女巫,从未破坏或以其他方式获得对于网络的控制。

女巫攻击经常被运用于加密货币的场景中,常见的有两种类型的女巫攻击:

当诚实节点受到女巫节点的直接影响时,就会发生直接的女巫攻击。

当诚实节点在女巫节点的影响下,受到来自另一个诚实节点的攻击时,则会发生间接的女巫攻击。而那个被利用的诚实节点,实际上已沦为了发起攻击的中间节点。

女巫攻击如何影响区块链

女巫攻击会从如下常见方面对区块链造成严重的破坏:

阻碍人们正常地访问或使用网络

一个完备的女巫攻击总会通过生成足够多的身份,使欺诈者能够在投票中击败各个诚实的节点。这将会导致传输的失败、以及无法接收到正确的区块。

执行51%攻击

完备的女巫攻击可以为具有访问和控制能力的攻击者,提供超过半数(即51%)的总计算能力。这足以破坏区块链系统的完整性,并导致潜在的网络干扰。

毕竟51%攻击足以改变交易的顺序,并通过逆转交易的方式,去支持女巫攻击者,进而阻止交易的确认。有时,这也被称为双花攻击(Double Spending)。

女巫攻击的部署

女巫攻击可以通过多种方式被部署到区块链的场景中,其中最常见的有如下两种形式:

51%的攻击

攻击者通过控制至少51%的网络计算能力(也称为哈希率),实现阻止、逆转或更改某些交易的顺序,以至于产生导致“双花”,甚至无法确认那些合法的交易。

此处的“双花”是指:用户通过复制数字货币,并将其副本发送给多个接收者,以实现多次花费相同的资金。如果不采取有效的措施防止这种行为,则可能最终导致数字货币系统的彻底崩溃。

在节点上实现“多数获胜(Out-Voting)

如果系统中有足够多的假身份节点,那么它们就能以“多数获胜”的方式击败诚实节点。就像日蚀攻击(eclipse attack)那样,如果女巫造成链网络不再传输或接收区块,那么就会直接导致其他诚实的用户被阻止参与。

如何防范女巫攻击

许多区块链都会使用共识算法作为防御攻击的一种形式。虽然该算法本身并不能从根本上防范攻击,但是它会使得攻击者的部署成本相当高昂。下面是三种最常用的共识算法:

工作量证明(PoW)

作为防止双花攻击的最古老、且最主要的算法机制,PoW旨在使用计算能力,对区块中的数据进行哈希处理,以检查生成的哈希值是否符合某些给定的条件。如果满足的话,你将获得加密硬币,以及开采新的区块所产生的交易费用。

当然,需要为此类计算能力付出一定的代价,其中包括多次部署失败的哈希值的尝试,这也就是所谓的“挖矿”的过程。

同时,用于维护挖矿节点网络的硬件(如,被称为ASIC的专用集成电路)往往是非常昂贵的。PoW于2008年被中本聪引入比特币中,并且目前仍然是所有算法中最安全且最容错的。

权益证明(PoS)

PoW的问题在于:用户必须通过大量计算,来证明他们的工作,进而挖到区块。而权益证明机制只需要您通过证明和使用自己所持有的代币。由于它并不依靠计算能力,而是凭借用户持有的代币,因此解决PoW的最大问题——挖矿成本。

自2011年被推出以来,PoS就被认为是PoW最受青睐的替代方案之一。总的说来,在区块链领域,目前虽然仍以PoW为主,但是PoS已是最流行的区块链网络之一。

该机制系统使用权益年龄(Staking Age)、随机化元素(Element of Randomization)和节点财富(Nodal Wealth)作为选择验证者的因素。验证者必须将一定数量的代币资助到网络中,才能锻造区块。

这里需要注意的是,尽管可以互换使用,但是“挖矿,Mine”常被用在PoW中,而“锻造,Forge”则是PoS的术语)。

在安全性方面,攻击者需要为了获取51%的代币,而付出高昂的代价。例如,他们可能需要进行多次失败的尝试,这等同于巨大的付出。

由此可见,PoS提高了区块链的安全性。同时,它也提高了分散性和可扩展性,即每秒交易数量的限制。

委托权益证明(DPoS)

由Daniel Larimer于2014年推出的委托权益证明,是PoS的一种流行替代方案。由于它具有更好的可扩展性,即每秒能够处理更多的交易,因此DPoS被认为是PoS的更高效的版本。

通过使用投票系统,DPoS允许用户将他们的工作外包给各个代表(或证人),由他们代表自己维护网络的安全。利益相关者可以根据每个用户所拥有的代币数量,去投票选择代表。

被选出来的代表负责确保在挖矿和验证新的区块方面达成共识。当有奖励产生时,代币会在利益相关者和他们的代表之间按比例分成。

由于是基于民主投票系统,因此该算法有效地依赖了代表的声誉,并发挥了积极的作用。如果他们的节点不能生效、或不道德地运作,那么他们就会被驱逐出所在的网络。

推荐阅读