权益证明到底是什么?权益证明算法的推出就是为了作为资源浪费比较严重的工作量证明的替代。权益证明最先是由Sunny King 和Scott Nadal在2012年提出的,而且自从提出之时,权益证明就被认为是资源浪费型的工作量证明算法的替代。从那时起,共识算法就已经有很多不同的衍变。就比如工作量证明算法,对其可替代的算法也会出现各种的问题,从而产生对最初协议算法的不同调整的版本。
整体来说,权益证明共识算法主要有两大方面:基于链的,和基于拜占庭容错(PBF)。在基于链的权益证明中,验证节点是伪随机地被选出,并创造下个区块。在拜占庭容错中,建议下个区块和创建下个区块的行为是分开的。然后,多方的投票机制可以确定哪个区块最终可以添加到链上。不像基于链的权益证明机制,拜占庭容错共识不是取决于链的长度和大小。对于区块的共识,可以来自于同样的区块里面。重要的是,通过权益证明设计,共识算法可能会有很多的变化,通常白纸黑字确定的共识算法版本通常是不太可能的,因为一个项目可能大部分是基于权益证明的,但是也会有拜占庭容错的因素(例如,Casper或者Neo)。
第一代权益证明算法(基于链的)
在2012年,为了解决工作量证明资源浪费的问题,Sunny King和Scott Nadal开始进行更加可持续发展数字货币的研究。根据比特币开源的代码和技术部署,他们创造的数字货币只是基本地改变了新币产生的方式,即使用了所谓的权益证明/工作量证明混合系统,也就是说有些代币是根据投资者持有的代币来产生的。每年整体代币会增长1%。但是这个机制的问题在于,它不能将激励给予代币持有者,从而可以确定单个链。而且,有人可以通过投票多个有冲突的区块链来打破安全性,还不会造成任何损失。这就被称为账本分叉问题。在工作量证明中,对几个区块的挖矿是矿工必须分开进行并且使用他们的资源才能完成。
第二代权益证明:以太坊Casper(基于链的)
尽管以太坊目前是在工作量算法上运行,但是以太坊长期的策略是想从工作量证明转移到权益证明,并且以太坊权益证明的名称是Casper。而且Casper的第一个版本,FFG会使用工作量证明/权益证明的混合算法。最核心地是,Casper想要解决前段描述的权益证明共识算法的账本分叉问题,这里面主要的问题在于,之前的系统中只有对区块生产的奖励,但是却没有惩罚。如果不对所有区块签名进行惩罚,代币持有者可以很容易地签署链上的任何分叉。这其中也会包括想要回转有效转账的恶意分叉。这样的话,无论哪条分叉链获胜,权益持有者都也获得奖励。Casper想要解决这样的问题,所以会增加对这样做的惩罚措施。如果有人签署了两个冲突的区块头,他们的权益将会被完全或者部分地扣除。Casper的初始版本会是工作量证明和权益证明的混合,这会在2018年底进行发布。
股份授权股权证明(DPOS)
DPOS最主要的设计差别是在于系统是否允许代币持有者授权他们的权利给其他参与者,从而可以让这些人代替更小的代币持有者来进行权益抵押。DPOS算法的创立是为了吸引小型代币持有者持续地参与到系统中。由于对于大型代币持有者,他们会有更高的盈利,区块链的中心化可能会产生。在DPOS协议中,鼓励用户将他们的代币授权给更大的代币持有者,作为奖励,他们会获得协议中奖励的一部分。DPOS最明显的特征是它会让整个网络的控制更加中心化,因为只有少数节点控制了多数网络。同时,这对于代币持有者来说可能更加容易,因为他们通过授权自己的权益,就不需要对任何事情做出决定。
拜占庭容错POS
为了理解拜占庭容错,很重要地是明白它解决了什么问题:拜占庭将军问题。也就是说,拜占庭容错算法能够在1/3的验证节点离线或者无效的情况下,仍然达成共识。但是,这也意味着网络中的2/3是诚实的。因为共识不取决于前个链的程度,但是会在验证区块的单个环节中产生。进一步说,由于拜占庭容错算法看重节点的一致性超过可用性,他们可以管理异步的网络模型。基于链的权益证明算法则需要依赖于网络的同步性。