PoS(Proof-of-Stake)的特点是将所持有“权益”作为选择下一个区块记账节点的标准。在加密数字货币系统中,权益一般对应的就是数字货币本身。PoS机制最早在2012年运用于Peercoin系统,后来该机制的各种演化版本也应用于BlackCoin、Nxt和以太坊等区块链系统中。形象地说,哪个节点拥有的数字货币更多或持有时间更长,就提高它的优先级,让它能更容易地成为记账节点。
在不同的系统中,PoS的具体形式可能不一样。例如,前面提到的Peercoin系统基本是在比特币区块链的PoW基础上做了改变,在每个节点求解复杂数据运算时引入不同的权值(有关比特币区块链的具体原理,可参见后续章节),使得特定节点的计算复杂度与它持有的虚拟货币数量和时间成反比。以太坊中的Casper共识机制也基于PoS原理。和前文中的PoW相比,PoS计算量较小。但也有观点认为,PoS算法中节点的作恶成本过低,不能够像PoW那样完全基于计算复杂度这种更绝对的指标来执行共识决策。在以太坊区块链系统中采用的PoS引入了“保证金”的概念。首先,所有验证者节点要锁定其拥有的一部分以太坊虚拟货币作为保证金,付出保证金后才有资格做新区块验证和投票。然后,验证者节点都可以验证节点,当发现新区块并验证其合法后,可以投票。如果所投票的区块被选中添加到区块链,验证者可以获得和投票成比例的奖励。该机制也规定,如果验证者向错误的分支投票,保证金将会被罚没。
在PoS的基础上,又进一步演化出了DPoS算法。其基本思路是,从所有网络节点中预先选择固定数量的节点来构成区块链验证者节点子集,仅在这个子集中选择验证节点对新区块进行验证。本质上,DPoS进一步向CAP原理描述的“可用性”进行了倾斜。DPoS还有助于缓解PoW和PoS中固有的“算力”或“财力”过于集中而导致权力集中的问题。