众所周知,区块链本质上是一种分布式账本技术。如何使同时参与记账的多个节点保持总账的一致性是区块链的核心问题之一。不同的公链会采用不同的共识机制来解决这个问题,而现有的主流共识机制的共同目标是可以随机选择封杀者,这样就可以拥有记账和做出来的权利。
我们先来回顾一下PoW是怎么做到的。
以比特币为代表的PoW共识机制利用了哈希函数计算的不可预测性,需要矿工不断尝试解决一个给定的数学问题。计算正确的概率是完全随机的,这为随机分块提取提供了很好的保证,同时每个分块提取器需要付出大量的计算工作量,这也是PoW这个名字的由来。然而,随着越来越多的计算能力参与到采矿中,挖掘出新区块所需的计算能力也越来越高,其昂贵的采矿设备和大量的电力消耗也经常被人诟病。而且为了收回硬件和电力成本,矿工通常会将挖掘出来的比特币立即在交易所出售,这使得矿工和持币人的身份并不重叠,他们之间的利益冲突也不利于社区的生态发展。
PoW机制下PoS机制的诞生与计算能力的大小有关。后来人们试图用持有的货币数量代替计算能力作为证明的依据。他们的研究都指向一个问题:我们能在不消耗物质资源的情况下达到PoW的安全水平吗?2011年,在著名的比特币社区Bitcointalk论坛上,一位名为量子力学的网友首次提出了股权证明的概念。这篇论文预见性地提出了很多现在还在使用的方案,比如用持有的货币量代替计算权重,委托权益,奖励分配等等。
第一个将PoS机制的思想应用到实际区块链项目中的是Peercoin,它是由SunnyKing(网名,其真实身体同样神秘)设计的。从2011年量子力学提出PoS,到2012年8月SunnyKing实现,用了一年多时间。Peercoin的市值一度达到所有加密货币市值的第三位,仅次于比特币和莱特币。然而,由于缺乏投资支持和进一步发展的资源,Peercoin的市值暴跌。在随后的2013-2015年,使用PoS机制的加密货币如Nxt、Blackcoin、Shadowcoin等相继出现,但都逐渐从人们的视线中消失。
总结一下这些项目存在的问题,第一,当时PoS的技术还没有完全发展起来,这些项目都处于前期探索阶段,公链的运营效果达不到预期;二是对PoS矿工的激励比例设置不当,每年1%~2%的发行率无法覆盖矿工的运营成本。此外,项目刚上马时,币价处于上升趋势,吸引了大量矿工进场,而后期币价稳定,甚至在熊市中暴跌。矿商看不到好处纷纷离场,公链价值也大幅下跌。
Delegate:解决随机问题,提高跑马圈地比例正如文章开头提到的,共识机制的目标是随机选择下一个离场者,而早期的PoS机制并不能很好地解决这个问题。他们往往把区块链中一个随人的行为而变化的参数(比如前一个块的哈希值)作为随机种子,然后根据这个随机种子生成伪随机数,使得预测甚至操纵随机数成为可能。2013年12月,BM(Daniel Larimer)在论坛上第一次谈到,随机问题可以通过货币持有者根据自己的权益进行投票的方式来解决,因为参与人数众多的投票结果确实是一个不可预测的个人行为事件。这种持有人通过令牌质押和投票的方式将验证块的权限委托给专业节点的机制称为DPoS(Delegate Proof stage)。BM随后将其应用于Bitshares项目,搭建了适合DPoS架构的石墨烯平台。这种石墨烯技术后来成为DPoS机制的通用底层。BM '
EOS、Tron等dpo公链都配备了固定数量的超级节点。只有票数名列前茅,超级节点才有封杀权。虽然持币人的投票在理论上是一个随机过程,但也滋生了拉票和贿选现象。同时,在投票状态确定后,这类DPoS公链的超级节点会按照固定的顺序进行遮挡,而不是随机的。这种公链的去中心化程度因此有争议。
DPoS机制的另一个发展方向是保持机制核心由货币持有者质押委托给节点,但不限制节点数量,同时每次按照权益比例随机选择节点。Tezos、Wanchain等新项目,以及Cosmos等热门项目,对其节点满足公链设置的要求已经成为一定的要求,但对节点数量没有限制,一般要求质押指定数量的令牌,并满足节点的电脑配置。由于委托/授权机制的存在,没有足够代币或稳定运营节点条件的持有者也可以通过跑马圈地的方式参与开采并获得分红。因此,DPoS的机制大大提高了全网的跑马圈地比例,有的公链已经达到了80%甚至90%,这与上个时代的PoS公链相比无疑是一个很大的进步,大大提高了公链的安全性。
大部分PoS公链都意识到了跑马圈地分红对货币持有者的激励作用,因此新项目往往有严格的分配比例和分配规则内置于其机制中,比如Tezos和SunnyKing最新的project V系统,这与之前依靠节点承诺分红比例的DPoS项目不同。
学术好奇心的应用:BFT PoS拜占庭容错算法(BFT)起源于1982年拜占庭将军的问题。其实质是在折衷的通信网络中实现分布式协议的问题。在互联网时代,只需要解决容错,所以BFT算法没有作用,直到中本聪在区块链方案中设计出来,才被学术界以外的人所知晓。PoS公链环境中的第一个应用是Jae Kwon提出的Tendermint算法。令人惊讶的是,BFT算法和PoS机制似乎表现出极好的相似性。BFT容错可以给分布式网络带来可观的抗风险能力,并且非常强调网络一致性,使得块确认最终化,带来更快的块确认速度,解决了分叉问题。如果说纯PoS与PoW相比只是解决了能耗问题,那么与纯PoS相比,BFT PoS进一步解决了PoW的交易确认、交易分叉、性能低下等问题,其带来的飞跃不容忽视。毕竟,与区块链短短十年的发展时间相比,BFT算法的安全性研究已经过去了30年。
虽然BFT PoS混合共识机制是在2014年提出的,但真正在主流项目中实施是在后来。2018年,EOS在最新版本的白皮书中将共识机制从DPoS升级为BFT PoS。一个月后,Tezos的类似BFTPOS的机制也上线了。与此同时,以太坊最有可能的PoS机制,Vitalik Buterin领导的—— CFFG算法也应用了BFT PoS的思想,Tendermint的提出者Jae Kwon创立的Cosmos主网也在2019年上线,即将上线的另一个跨链项目Polkadot的爷爷共识也被确认为BFT PoS共识。虽然实施时间较晚,但应用BFT PoS机制的项目近两年呈现井喷之势,不乏人气明星项目。因此,BFT PoS共识机制有望在未来几年成为一种流行的机制。
前进方向:更安全、更高效的公链的绩效主要通过三个方面来衡量:安全、效率和去中心化。在共识机制升级之前,EOS被认为是以去中心化为代价来提高效率,由此产生了三个方面的高绩效无法同时实现的“不可能三位一体”理论。但在共识机制升级为BFT DPoS,以及其他BFT PoS项目上线后,DPoS公链的去中心化程度逐渐提高,机制逐渐完善。PoS机制未来发展的重点将是继续完善
安全性主要包括两个方面,一是阻塞器选择的随机性,二是阻塞验证的参与性。虽然DPoS机制和随机数算法部分解决了随机性问题,但真随机数的生成仍然是一个几乎不可能的挑战,因此现有的随机选择节点仍然经常被质疑为伪随机,存在安全隐患。目前市值第二大的PoS公链项目Cardano致力于解决随机数问题,Cardano创建的Ouroboros consensus算法被认为是首个对其安全性进行科学证明的权益证明协议。麻省理工学院机械工程和计算机科学系SilvioMicali教授及其合作者提出的Algorand协议应用了一种新的拜占庭共识协议,可以证明参与每一轮投票的验证者都是随机选择的,比之前的PoS共识更具随机性和不可预测性,更难被操纵。这是PoS共识随机性的发展。
在参与分块验证方面,大部分项目通过高收益率吸引社区参与跑马圈地,而部分新项目在制度和机制上有特殊设计,比如让投票更便捷、分红规则更细化透明等。宇宙设计了全网比例小于2/3时年发行率达到22%,大于2/3时达到7%,以鼓励持有人参与跑马圈地,最终全网跑马圈地率达到74%,为宇宙的稳定运营提供了保障。
宇宙币价格和赌注的年回报率
图表来源:stakingrewards.com
性能方面,EOS已经可以500ms出一次块,而且因为不会分叉,所以块会被确认,而不是像比特币一样要等6个块,也就是1个小时才能确认交易,性能有了很大的提升。对于未来的跨链生态,流行的跨链项目Cosmos和Polkadot也使用BFT PoS consensus作为跨链基础设施。PoS项目无疑比PoW项目有更好的性能,而且随着BFT算法和网络通信技术的不断发展,性能还会进一步提高。
部分图片来自网络。