PoS是Proof of Stake的缩写,也即权益证明共识机制。要想理解权益证明的概念,我们不妨先回顾一下共识机制在区块链中的作用。众所周知区块链的本质是一个去中心化的账本,在没有中心管理者的情况下如何实现所有记账节点的记账统一,这就需要用到共识机制。在现有的区块链系统中一般通过随机选取一个节点来出块的基本思想来解决这一问题,在以往的PoW共识中是依靠不可预测输出结果的哈希函数来实现这一随机性的,只有不停通过大量计算来试出目标结果才能拥有出块权,这样的小概率造成的随机性使得作恶者无法连续多次出块生成长链,从而保障了账本共识的唯一性与不可篡改性。我们熟知的BTC、LTC,以及现在的ETH,都是通过这种机制来保持账本一致性,使得矿机产业得到了迅猛的发展,矿机为了计算哈希函数的数学游戏不可避免的需要使用大量的电力,随之而来产生的就是大量的电力浪费,以及CPU、GPU、内存的消耗,这也是PoW机制一直以来为人诟病的一点。
在PoW的世界里所有矿工都在出块,而通过玩哈希函数这样不可捉摸的谜题来完成随机选择。而在PoS的世界里如果做这样的对应总结的话,随机选择是由同样不可捉摸的人行为来完成的!PoS机制下所有节点也同样在出块,而持币人通过验证投票的方式选择区块,票数与持币人的持币量挂钩,持币越多意味着权益越多,其话语权也越大,这便是PoS名字的由来。当然经过历年的发展,PoS随机选择方法产生了诸多变种,Cardano提出的乌罗波罗斯算法通过直接产生随机数的方法,通过系统随机选择出块节点,而柚子的DPoS机制则通过让持币人为超级节点而不是每个区块投票的办法,减少了持币人投票验证的难度,也提高了投票的参与率。XTZ使用的LPoS、Cosmos使用的Tendermint也都是对既有PoS机制的革新,发展出增发奖励机制、抵押金机制、slash机制等,以应对PoS刚提出时被发现的“Nothing at Stake”、长程攻击等问题。对于现在的PoS公链而言,持币人参与投票、验证、奖励分配的流程更加完善而规范,各公链参与投票验证的比率得到了大幅提升,基于PoS机制运行的主网的稳定性得到了验证。
Staking在PoS共识算法中的意义
Staking一词由Proof of stake中的stake(权益)转化而来,其含义为上述PoS共识产生过程中持币人质押数字货币来投票的动作。由于验证每个区块内容并进行投票是一个需要一定门槛的操作,不仅需要较好的计算机配置,还需要24h在线全连接,这对于大众持币人来说并不是一个简单可持续的事情。因此现在的主流PoS公链均考虑了验证全节点与持币人两种角色,对节点设置高门槛高要求,而持币人可以通过投票给节点的方式参与验证,并获得验证奖励的分红。比如柚子、Tron是设置固定数量的超级节点/代表,以投票排名;XTZ、Cosmos等是对节点缴纳抵押金有要求,而不限制节点的数量。
持币人将所持币质押,投票给节点,并与节点一同分享出块或验证区块得到的奖励,这样的过程就叫做staking。由于不同项目侧重的过程不同,国内也可能翻译成投票、质押、验证等种种,但本质都是按持币量行使投票权并获得收益。Staking是PoS机制下不可缺少的重要环节,其对公链和持币人都具有重要的作用:
1. 对于公链而言,staking越多价值越高。越多的人参与staking,也就意味着每个区块的共识一致性得到了更多的保证,staking量的多少基本等同于PoW公链中算力的大小,staking量越多,公链稳定性越有保证,这条公链的价值也就越大。
2. 对于持币人而言,staking是权益保值增值的最佳手段。为了鼓励持币人参与staking,公链一般都会增发代币作为区块生成的奖励,staking的持币人可以分得奖励,而不参与staking的持币人相当于白白浪费了收益,而蒙受代币增发带来的通胀损失。现有主流PoS公链的年增发率平均在5%以上,Cosmos的增发机制尤为独特,当全网staking比率低于2/3时增发22%,高于2/3时增发7%,相当于逼迫未staking的持币人眼红于高膨胀率,保持全网staking比率高于2/3来保持稳定。