Proof-of-Stake (PoS)
权益证明 (Proof of Stake, PoS) 是一种共识算法,加密货币区块链网络通过该算法旨在实现分布式共识。在基于 PoS 的加密货币中,下一个区块的创建者是通过随机选择与财富或币龄(即权益)的各种组合来选出的[1][2]。
相比之下,比特币等基于工作量证明(Proof of Work)的加密货币算法使用“挖矿”;即通过解决计算密集型难题来验证交易并创建新区块。
区块选择变体
权益证明必须有一种方法来定义任何区块链中的下一个有效区块。如果仅按账户余额选择,将导致(不希望看到的)中心化,因为最富有的单一成员将拥有永久优势。因此,人们设计了几种不同的选择方法。
随机区块选择
Nxt 和 BlackCoin 使用随机化来预测下一个生成者,其公式结合了最低哈希值和权益规模。由于权益是公开的,每个节点都可以以相当高的准确度预测哪个账户将获得下一个锻造区块的权利。
基于币龄的选择
点点币(Peercoin)的权益证明系统将随机化与“币龄”概念相结合,币龄是一个由代币数量乘以代币持有天数得出的数值。
未消费至少 30 天的代币开始竞争下一个区块。更久且更大额的代币组合具有更高的签署下一个区块的概率。然而,一旦一组代币被用于签署区块,它必须以零“币龄”重新开始,因此在签署另一个区块之前必须至少再等待 30 天。此外,寻找下一个区块的概率在 90 天后达到最大值,以防止极旧或极大量的权益组合主导区块链。
这一过程保障了网络安全,并随着时间的推移逐渐产生新币,而不会消耗大量的计算能力[3]。
优势
两种区块生成系统的激励机制不同。在工作量证明下,矿工可能完全不持有他们正在开采的货币,因此仅寻求自身利润最大化。目前尚不清楚这种差异是降低还是提高了安全风险。然而,在权益证明下,那些“守护”代币的人始终拥有这些代币,尽管一些加密货币确实允许或强制将质押能力借给其他节点[4]。
“权益证明”相对于“工作量证明”系统的一个优势是,后者对能源的消耗极高,至少以目前的技术来看是这样。例如,据估计(2018年),比特币挖矿消耗的不可再生能源量与捷克或约旦整个国家的耗电量相当。
权益证明为更广泛的技术打开了大门,这些技术利用博弈论机制设计,以更好地阻止中心化卡特尔的形成,并且如果它们真的形成了,也能阻止其采取对网络有害的行为。
批评
一些作者认为权益证明对于分布式共识协议来说并不是一个理想的选择。可能出现的一个问题是“无利害关系”(nothing-at-stake)问题,即区块生成者通过为多个区块链历史投票而没有任何损失,从而阻止达成共识。因为与工作量证明系统不同,在多条链上工作的成本极低[7][8]。一些加密货币容易受到“虚假质押”(Fake Stake)攻击,攻击者使用极少或不使用权益即可使受影响的节点崩溃[5][6]。
解决这些问题的著名尝试包括:
- 点点币 (Peercoin) 是第一个应用 PoS 概念的加密货币。在早期阶段,它使用由开发者私钥签署的集中广播检查点。不允许进行比最后已知检查点更深的区块链重组。从 v0.6 版本开始,检查点是可选的,且由于网络已达到适当的分布水平,现在不再强制执行。
- 以太坊 (Ethereum) 建议的 Slasher 协议允许用户“惩罚”在多个区块链分支上进行锻造的作弊者。该提案假设必须进行双重签名才能创建分叉,并且可以对在没有权益的情况下创建分叉的行为进行惩罚[9]。然而,Slasher 从未被采用;以太坊开发者认为权益证明是“非平凡的”(复杂的),转而选择采用名为 Ethash 的工作量证明算法[10][11]。
- Nxt 的协议仅允许重组最后 720 个区块。然而,这只是缩放了问题:客户端可能会跟随一个 721 个区块的分叉,无论它是否是最长的区块链,从而阻止达成共识[12]。