PoW共识算法太耗能,PoS方案的安全性得不到证明
Proof-of-Stake(PoS)是由比特币社区Bitcointalk成员Quantum Mechanic在2011年7月提出的。Sunny King创造了第一个使用PoS共识算法的加密货币—Peercoin。除此之外,Bitshares的创始人BM(Daniel Larimer)改进了PoS算法,推出了DPoS,并将此算法应用到他后来的项目Steem和EOS上。
Vitalik也在正努力完善Casper算法并打算将以太坊完全转移到PoS上,Casper可以看作是持有人民主制。无论是Peercoin使用的最原始的PoS算法还是DPoS,在密码学界的学者眼里看来都是没有经过严格数学证明的共识算法,安全性存在很大的疑问。
仅仅从文章开头提及的“NEO全网疑似瘫痪”的事件中(先姑且不论是不是共识算法导致的问题),我们就可以想象:这种安全隐患一旦爆发,所带来的灾难性后果将有多严重。
为了更好理解PoS共识算法,我们可以这样去理解,共识算法的设计核心在于设计一个随机数产生器,防止任何人可以猜到谁是下一个区块的打包者。PoW在这方面有天然的缺陷,因为网络延迟的原因,前一个区块打包者在竞争下一区块的打包权利时具有一定的优势,而PoS方案很大程度上避免了这个缺陷是因为不同的设计机制,但早前的PoS算法存在其它的问题。
共识算法:三难问题和“富者恒富,穷者恒穷”
在共识算法的设计上,存在着一个著名的Trilemma(三难问题),这就是Secure(安全性)、Scalability(可扩展性)和Decentralization(去中心化)三者不可兼得,至少目前几乎所有的区块链项目都遇到这种挑战。
Vitalik批评EOS的设计是牺牲了去中心化来得到号称上百万次TPS(Tx Per Second)的能力。EOS所采用的DPOS似乎是目前其它很多项目所喜欢的选择,但是DPOS也存在着上面所述的问题,面临着诸多批评。
我们先来看看它的安全性如何:在DPOS机制里,一旦发现有作恶的“代表”(节点),就会被剔除,以后不能参与这个“代表”的选举,但是因为“代表”们本身不需要投入(stake),所以损失不大;但是存在一种这样的可能性,如果是一次有预谋的伏击,攻击者可以选出大量的平时表现良好的自己的“代表”,而在特定的时间这些“代表”一起发动攻击,就可能发生控制整个网络的可能性;
或者大多数人同时作恶(如对项目方或官方开发者极度不满意),也避免不了这种极端情况的发生。另外,这类PoS设计避免不了分叉的冲动,因为用户可以同时在两条链上获得奖励。
同时,前期的PoS算法设计都存在一个“富者恒富,穷者恒穷”的问题,因为经典PoS算法的原理是“谁拥有更多的币谁就有更大的话语权”。这当然可以狡辩,譬如你也可以去买大量的币来竞争啊,而且还可以把价格抬上去,因为有需求的人越来越多,看上去好像是一个多赢的局面。这样是不是币价可以无限的抬上去?因为大家都hold住币去进行“赌博”(bet),就为了得到相应的奖励,而市场上流动的币就越来越少了。
这显然不符合经济学基本原理。
极端的一些情况是假如几个人或组织拥有80%以上的token,就可以控制整个网络了?这在一些团队拥有绝大部分token的项目里问题尤其突出,如果一个公共的区块链平台由几个这样的大户控制着,这跟区块链的去中心化理念是相悖的。
此外,这样的平台会失去公信力,时间久了人们会选择离开,这又会把它的价值打回原形。Ethereum的Casper也存在同样的问题,它甚至设置了一个最小参与量:1250ETH!那就是等于说穷鬼就不要指望了。
如果你的银行客户经理告诉你,你的存款要达到1000万人民币才会有利息,你会怎么选择?
无论是DPOS,还是Casper,都会一定程度上导致中心化。
下一代共识算法Wuji PoS,有望解决安全隐患?
正是基于以上种种安全隐患,业界纷纷开始寻求一种更安全的共识算法,试图解除区块链技术中的固有缺陷。有消息称,G?del Labs项目的工程师们正在开发一种被誉为下一代PoS共识算法或PoS 2.0共识算法:Wuji PoS。