PoS为什么比PoW更能避免51%攻击?
编者按:最近ETC发生51%攻击,PoW的安全性问题被热议,以太坊创始人V神也对此称这证明从PoW转为PoS是正确的选择。Odaily星球日报邀请了上海交通大学副教授范磊,为我们分析为什么他认为PoS可能是更好的选择。
本文首发于本文来自战略合作区块链媒体“Odaily星球日报”(公众号ID:o-daily,APP下载),作者范磊,上海交通大学网络空间安全学院副教授兼 Fractal Platform CTO,原标题《区块链共识协议的安全性及发展方向》。
1. 什么是51%算力攻击
2. 这次攻击为什么能成功
与一般的网络安全攻击不同,51%算力攻击是早已为人所知的攻击方法,这次攻击者的整个攻击行为与流程并没有任何的新意。
一般而言,基于PoW的密码货币系统整体算力越强,控制其中51%的算力所需要的成本越高。由于大多数PoW算法具有相似的核心计算结构,算力可以容易地在不同密码货币直接切换,甚至出现了可按照时间方便租赁的算力资源。网站Crypto51(https://www.crypto51.app/)统计了针对不同数字货币进行1小时51%攻击所要花费的成本(不计区块奖励)以及可以从NiceHash借用的算力比例。其中针对ETC进行1小时51%攻击只需要花费5116美元,且可以从NiceHash中租借到80%的算力(该数据持续变化,可以到该网站查看实时数据),该攻击发生的可能性不可以忽略的。
3. 基于PoW的区块链还安全吗
上述分析表明,PoW区块链的安全性并不是构建在数学基础之上的,数学仅仅是物理资源和区块链之间的粘合剂。一旦物理资源的安全性假设不成立,区块链系统的安全性均会受到威胁。
4. 我们有没有更好的选择
近年来,越来越多的区块链系统以及分布式共识协议被提出。其中一个重要的方向是基于权益的共识(Proof of Stake, PoS)。
以ETC为例,目前ETC的发行总量是107,514,088 ETC,若该共识算法是PoS,那对其进行51%攻击需要持有53,747,044 ETC,折合市值约229,542,578美元,而在PoW情况下通过租用算力仅需5000美元左右。其他数字货币针对PoS 51%攻击所需资金与针对PoW进行1小时的51%攻击花费的对比如下表所示(数据来自Crypto51https://www.crypto51.app/,数据会实时变动,以下数据取于笔者写稿时)。并且在合法链上持有stake越多的人越倾向于维护该链,若将stake转移租用给攻击者,其面临的风险要远远大于租用算力,因此攻击者也难以通过租用获得足够多的stake。所以就51%攻击而言,PoS比PoW更有优势。这也是ETH要演进为PoS共识的重要原因。
5. PoS共识协议的担忧与应对
相比于PoW已经在多个区块链项目中得到了成功的应用,PoS共识协议目前还没有得到大规模的应用,因此不少人对PoS共识协议存在各种担忧。我们在此针对PoS可能存在的攻击与弱点逐一进行分析。
我们撰写的一篇论文[1]中给出了一种全新的PoS协议iChing,此协议是类似PoW的竞争性共识协议。论文对Greedy Attack(基于Nothing-at-Stake的一种攻击策略)进行了理论分析,结果表明攻击者贪婪地尝试在链的任意位置进行扩展确实会让攻击者得利,但是其获利并不是无限大的。其表现在若攻击者与诚实节点持有相同占比的stake,攻击者产生的链的增长速度最多会达到诚实链的e倍(e是一个数学常数,约为2.71828),因此PoS所能容忍的恶意stake比例不超过30%(计算过程详见论文)。针对这种情况,论文给出了一种应对策略,在鼓励诚实节点适度贪心的策略下,所能容忍的恶意stake比例能达到43%以上。因此Nothing at Stake并不是一种不能克服的攻击行为。
6. 下一代区块链应满足的特性
为了支持更多的实际应用落地,区块链除了要满足安全、去中心化的基本特性要求,还要解决吞吐率不高、确认时延长等问题。
吞吐率低主要是由于区块链的传统单链结构以及网络传输延迟导致的,因此近来提出的DAG结构、交易打包方式、交易分片处理方式均是为了提高区块链吞吐率而做的研究。
确认时延长是竞争类区块链共识算法都具有的问题,针对此问题可以通过在上层叠加快速确认协议加以改善。
我们认为下一代区块链必须满足以下特点才能真正支持安全、高效、灵活的应用落地:
1) 基于PoS的共识算法,避免对外部资源的安全性依赖,消除来自系统外的攻击威胁。
2) 坚持去中心化设计,避免将系统共识权利委托给少量节点,否则将倒退为已有的中心化系统。
3) 精巧的数据分布式存储设计,避免交易数据在全网的广播与存储以支持高吞吐率的应用。
4) 叠加高速确认算法,实现对正常交易的快速确认,以支持准实时的应用场景。