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