区块链是加密货币的底层技术,而加密货币凭借其价值,引得无数人为之疯狂,在高利益的驱使下,不乏黑客们对区块链网络发起攻击。本文和大家分享的就是区块链黑客攻击中的女巫攻击。
说到女巫,我们脑袋里面最直观的感觉就是女巫有法术,能变成不同身份的人。通常女巫都是邪恶的象征,并且不干啥好事。而我们这个女巫攻击里面的女巫,来源于某小说,指的是一个人格分裂的女人。不过,无论是哪一个女巫,首先它是具有欺骗性的,伪装性的,并且能让别人轻易相信它的一种变化行为。
最早的女巫攻击模型时在P2P网络中,指的是一个网络节点伪装成多重身份,并且在网络中其他网络节点对于它的每一次伪装都认为是不同的节点,就像一个特工频繁的换衣服化妆以达到特定目的。当这些伪装节点达到一定数量时,那么就成功发起了一次女巫攻击。在P2P网络中,恶意刷票、恶意刷排名、信誉等行为均可以视为女巫攻击。
那么在区块链网络中,女巫攻击又是如何呈现的呢?其实原理差不多。
区块链的节点之所以能达到一致,是因为拜占庭容错算法。也就是说众多节点在收到指令时相互之间进行验证,前提条件是错误节点数要小于总节点数的三分之一才能保证验证有效,并且节点总数大于3。可以理解为4个人中有一个人叛变,当大家相互验证消息时,即便这个叛变的人对每一个人都发出错误指令,那么其他三个正常的人也会在验证之后得到一致结果并且可以找出叛变的人。
但是当节点总数未知时,我们来看这样一个例子:四个人中有一个人叛变,但是这个叛变的人可以伪装成不同的角色。每次伪装成不同的角色时,其他人都会认为他是一个新角色。假设这个叛变者伪装成了4个不同的人,不断发出错误指令,那么其他人会认为总共有七个人在进行验证,当叛变者人数大于总人数的三分之一时,此时其他人就会被叛变者所欺骗。
当这种情况发生在区块链系统中时,就会导致好节点被叉开并且双花自己的代币。不过女巫攻击普遍存在于依赖于节点数的区块链系统,像联盟链。例如不法者在区块链金融中可以将一份财产抵押通过女巫攻击使用多次。
而应对女巫攻击,做好对于节点身份验证才是关键,即每加入一个节点时都要相互验证,使得好的节点可以识别出伪装节点。随着共识机制的不断升级改变,对于一些区块链网络攻击的难度也是越来越大,对于一些攻击出现,代表着区块链的不成熟,也可以使得我们认识到问题在哪来,攻击本身既是坏事也是好事。
作者:黑色马里奥
原文链接:https://www.kg.com/article/509768564106989568