由于区块链是一种基于P2P的网络系统,所以也会产生相应的安全问题。我们经常所能见到的除了DDOS攻击外,还有女巫攻击。DDOS攻击在很多区块链游戏中时有发生,而女巫攻击则是在传统P2P系统中一直存在的一种威胁。
什么是女巫攻击呢?其名字来源于Flora Rhea Schreiberie在1973年的小说《女巫》(Sybil)改编的同名电影,是一个化名Sybil Dorsett的女人心理治疗的故事。她被诊断为分离性身份认同障碍,兼具16种人格。
女巫攻击是在P2P网络中,因为节点随时加入退出等原因,为了维持网络稳定,同一份数据通常需要备份到多个分布式节点上,这就是数据冗余机制。女巫攻击是攻击数据冗余机制的一种有效手段。
如果网络中存在一个恶意节点,那么同一个恶意节点可以具有多重身份,就如电影了的女主角都可以分裂出16个身份,那么恶意节点比它还能分。这一分可好,原来需要备份到多个节点的数据被欺骗地备份到了同一个恶意节点(该恶意节点伪装成多重身份),这就是女巫攻击。
其实在这之前,女巫攻击已经出现在非常多的中心化的场景中,不仅对安全、甚至是对于信用体系也造成了非常大的影响。例如,在网络投票中,黑客可利用多个ip地址来作假。很多公司利用女巫攻击来获得google等搜索引擎的排名,骗取大量用户去点击。
而现在在传统P2P系统,尤其是部分去中心化的联盟链当中,女巫攻击问题更为棘手。因为公有链的共识机制是不依赖节点数量的,所以不存在女巫攻击的风险。而联盟链为了提高共识效率,将节点数减少在一定范围内。就相当于把共识机制变简单了,所以攻击也变得简单了。这样,女巫攻击就有了“用武之地”。
众所周知,联盟链常用的拜占庭容错算法PBFT能够抵抗的拜占庭节点数是N≥3f+1。因此,在具有身份认证的区块链中,节点的数量的比例是非常重要的。而女巫攻击就是直接针对这种特性——直接在节点的数量上做文章。
那么,怎么解决女巫攻击?除了改变共识机制,还需要一个完善的身份认证机制去配合。
在这里,我们不妨参考一下WOLOT基金会旗下数金链的做法。看看它是怎么做的!
数金链对原有的PBFT共识算法进行改进,使验证人投票的权重与其所抵押的链上标记权益相对应。这样一来,原本需要超过2/3投票人才能确认生成区块的机制被修改成超过2/3的总权益。
此外,在PBFT共识算法中,普通节点仅同步来自领导节点发来的新区块,并不参与共识,而觉得其共识算法的安全性仅依赖于验证节点的数量,因此普通节点的数量增加并不能提升拜占庭容错的安全性。新的共识机制(DS-PBFT)中增加了非验证节点的参与性。一个验证节点对应一个验证人账号,非验证人可以通过将权益委托给验证人,从而授权该验证人代理投票的方式赚取属于自己的利益。因为利益的关系,非验人会慎重选择代理验证人,从而做到了所有人都参与到共识中,而又没有所有节点参与共识而带来的效率降低的缺陷。
另外,数金链独有的非对称加密区块链身份信息验证方法及技术,确保了把现实世界中的实体与区块链中的节点对应起来。在此技术下,“女巫的分身”不会被好节点认为是区块链中正常的节点。
显而易见,DS-PBFT共识技术与其独有的身份验证技术可以有效剔除腐败节点,最大可能地避免拜占庭将军问题和双花问题还有女巫攻击问题。同时又大幅提高了区块链节点的共识效率和安全保障,可谓数金链生态当中安全的两大护航者。
领取专属 10元无门槛券
私享最新 技术干货