PoS还面临着哪些安全风险问题
扫描二维码
随时随地手机看文章
LongHash 在之前的两篇文章(《一文读懂 Staking Economy(质押经济)》和《如何获取最大收益——搞懂 Staking 商业中的五个基本元素》)提过一些与持币人直接相关的 PoS 风险问题,本文将深入探讨安全风险问题。
- Nothing at stake(无利害攻击)
简单理解当有节点发起攻击,在同一个区块高度同时出两个块进行分叉,对攻击者而言因为出块成本较低,只需要 stake(质押),对其它节点而言最佳策略就是对分叉的两条链都进行签名获得双倍奖励,也只需要 stake,这就会造成链很大的危机,PoS 里的出块成本远远小于 PoW 里的大量算力成本,而且 stake 可以同时用在两条链上,这个问题一度被广泛讨论,目前已经通过“stake 质押 + slash 惩罚”解决了,也就是 PoS 共识的区块链里出块成本不仅仅是有 stake 就好,这个 stake 一定比例是必须被系统锁定一段时间,如果节点作恶那 stake 就会被系统没收,通过经济学的设计,PoS 共识的安全性又进一步提升。
- Longrange attack(长程攻击)
Longrange attack 指的是从创世区块开始,创建一条比原来主链还要长的链,并篡改全部或部分交易历史,来代替原有的主链。
Long range attack 利用的是,新加入的节点或是长期不在线的节点在同步数据时不能清楚知道哪一条链是正确的主链,因为攻击者的链是从创世区块开始伪造,如果根据最长链原则来决定主链,那被篡改的链有概率成为真正的主链,使后续节点都认定错误的链。
因为在一条分叉链上产生区块是几乎没有成本的,只需要 stake,而且攻击者不需要太多的区块确认时间,使得分叉链的形成速度可以快过主链,有很多理论证明了这样的攻击可行,但实际执行却非常困难,可以看这篇《Rewriting History: A Brief IntroducTIon to Long Range Attacks》。
以上两个是 PoS 里最知名的攻击方式,其它还包含 Simple Attack、Posterior CorrupTIon、Stake Bleeding、Cartel Attack、Sybil Attack、Grind Attack 等,这些攻击也都有人提出相对应的解决办法。
为什么 PoS 共识也可以是一个很好的维护网路安全的策略?
区块链这个分布式系统与传统中心化系统最大的不一样就是,安全是由散布在全世界各地的节点进行保证,只要多数节点是安全的,那链上的数据就是安全的,PoW 通过高算力,增加了攻击者控制51%以上节点的成本;而 PoS 通过了币本身的价值来维护区块链的安全,攻击者要攻击 PoS 区块链必须购买一定数量的代币。
PoS 一直受到来自 PoW 支持者的质疑
安全问题是 PoW 支持者对 PoS 最大的反弹,从最本质来看因为 PoW 共识非常的简单而精巧所以安全,我们知道任何程序或产品上越是精简则漏洞越少,而 PoS 共识的代码确实非常复杂要包含着各种计算(staking 量计算 选举 分发奖励等),这给了理论空间上各种漏洞。在从成本角度来看,PoW 挖矿需要耗费实实在在的电力,这个一部分程度上是人们心里上的成本,因为付出所以这个东西会比较有价值,但是 PoS 不再付出昂贵的电力成本,是以币来挖币的模式,挖矿几乎没有成本,成本来自于币本身(也是一个凭空创造出来的东西),PoW 支持者认为有电力成本支持的币会让真实的安全攻击成本更高。
PoS 里有各种攻击上面也提到过包含 nothing at stake,longrange attack 等,这一部分攻击存在学术讨论一部分社区已经有应对与解决之道,我们就只讨论最常见也是最不应该发生的攻击 Double Spend(双重支付),一旦发生 Double Spend 那就说明这个网路的账本是不够安全不可信任的,更遑论搭建在上层的应用,PoW 里的 51% 攻击成本是相对高昂的,需要控制该网路中超过一半的运算能力,PoS 里的 51% 攻击只需要持有一半以上的币, 但实际上我认为攻击成本也相当高,上述提到过攻击就必须买币,币价随攻击上升(这个边际成本上升是一条非常陡峭的曲线),即使攻击成功本身币价也会受损,反倒不如在外面市场进行做空,这是一个经济学上的防御。
详细一点说攻击行为会受到的抵制
- 社区中会知道某些地址正在在大量进行币的买入,可能是攻击行为,可以防微杜渐;
- 攻击者购买代币过程中,代币的价格将不断上升,而这又进一步提高了攻击者的购买成本;
- 一旦攻击者成功攻击了链本身,该链的代币价值将会大幅下降,此时攻击者为了攻击所持有的代币价值将会大量下跌,很难高于攻击者想篡改数据的价值。
总结
PoS共识改变了PoW共识中竞争而浪费的算力与效率,通过 stake 加上选举算法,达成了更高效的共识,而 stake 本身则代表了持币人的权益,衍生出的 staking 经济将与每个持币人直接相关,知道如何评估不同项目的经济机制、使用工具、挑选验证人节点会是将来很重要的课题,PoS 还需要接受更多社会实验的检验,安全问题将随着不同新项目的解决知道完善,更严峻的是关于 PoS 中心化及治理问题,这两个也同时是所有共识都会遇到的问题,我们期待 PoS 共识带给区块链生态的改变,也期待 staking 创造出来的经济能更加活络整个金融系统。