POS也称股权证明机制,是通过持币产生利息,从而对于验证人以及节点进行奖励。在这里大家要先了解一个概念,就是币龄。币龄等于币的数量乘以持币天数。因而你持有的币的数量越多、持有天数越长,你获得的记账权和激励概率就会越大。当你获得激励后,你的持币天数就会清零。币龄也会被清空,这样周而复始。POS就像你到银行存钱一样,银行根据你存的数字货币的多少和存放的时间给你算利息。
权益证明机制,是针对工作量证明机制存在的不足而设计出来的一种改进型共识机制,简称POS。与工作量证明机制要求节点不断进行哈希计算来验证交易有效性的机制不同,权益证明机制的原理是:要求用户证明自己拥有一定数量的数字货币所有权,即“权益”。
POS机制与POW机制的最大不同在于,只有拥有数字货币的人才能进行挖矿,而且不需要大量的算力就可以挖到货币,避免了比特币网络中出现的“算力集中”趋势,回归到区块链“去中心化”的本质要求。
对于整个数字货币网络来说,创始区块拥有的数字货币是用比特币的POW机制“挖矿”出来的,但从创始货币往下实施的是权益证明机制,创建区块的同时也创建出更多的数字货币。因此在POS机制下,创建区块的过程不叫“挖矿”而叫“铸币”。
POS机制修改了POW的铸币速率决定机制,不是由区块高度决定的,而是由难度决定的,当挖矿难度上升时,铸币速率降低,相比于比特币的阶梯函数走势,POS的曲线相当平稳,避免了对市场的人为冲击。
POS的优势是在一定程度上缩短了共识达成的时间,避免了消耗大量能源挖矿。缺点是必须通过购买等方式获得代币,降低了普通人获得加密货币的门槛,POS机制的加密货币,信用基础相对不够牢固;同时,Staking带来的质押模式一定程度上也降低了流动性。
2012年8月19日,点点币(peercoin)白皮书问世,文中提出了通过使用权益证明机制(Proof of Stake,PoS)来提供网络安全性的方法。
点点币中的权益证明机制,实质是一种依据币龄(coinage)来决定节点获得记账所有权的概率的机制。
币龄的概念最早由中本聪在2010年提出,本意是用在比特币中以作为交易被优先考虑的标准。所谓币龄,就是持有币的数额与持有天数的乘积。
比方说,如果小明有10个币,并且持有了10天,那么他的币龄就是10*10=100。如果小明把这10个币送给了老王,那么他的币龄将被销毁(归零)。
点点币采用了工作量证明和权益证明并行的混合产出机制。网络内的节点基于币权(coinstake,相对于比特币中的coinbase所造的词)交易中所消耗的币龄获得利用PoW产生区块以及PoS铸币的机会。
因此,比特币中“依据最长(包含工作量证明最大)的链条来选定主链”的原则也相应地转换为“依据总消耗币龄最多的链条来选定主链”。
白皮书指出,这种权益证明机制将有利于弱化比特币的51%假设,因为掌握主导性的权益所需的成本可能比单纯掌握51%算力更高昂。此外,作恶节点的每一次攻击都伴随着币龄的消耗,难以长时持续。
当然,点点币所使用的权益证明机制并未完全解决双重支付或拒绝服务的问题。
此后,Daniel Larimer在《Transactions as Proof-of-Stake 》一文中指出“(点点币)网络的最终安全性仍然由工作量证明来进行保障,节点仍然有可能计算出秘密的替代链条进行双重支付,或者获得足够的哈希算力来战胜超过51%的权益证明区块和所有的工作量证明区块”,并提出了一种无需挖矿的纯粹权益证明机制。
2014年,Daniel Larimer发布了比特股(bitshare)白皮书[3],并提出了PoS的改进版本DPoS(Delegated Proof-of-Stake,授权权益证明)。
所谓授权权益证明,是指由持有权益的节点投票选举出若干代表来完成区块的构建。DPoS旨在“利用利益相关方批准投票的权力以公平和民主的方式来解决共识问题”。
由于节点的相对固定与有限性,DPoS网络内的所有参数——从费用估算、区块间隔到交易规模——都可以通过选定的代表进行调整,共识达成的速度相比起一般的共识机制有了显著的提升。
然而,这种所谓的“民主”机制也引起外界不少的争论。这一争论在同为Daniel Larimer发布的项目EoS中一度走向白热化。
反对观点普遍认为,DPoS过于中心化,所谓“人性本善”的自治和自制最终很有可能成为权力相互勾结与垄断的温床。
关于PoS,另一更引人注目的焦点是以太坊版本的权益证明Casper。2018年8月16日,Vitalik连发75条推特阐述了以太坊PoS的思考和研发之路。其表示,早在2014年以太坊便开启了对PoS的研究。
2014年1月,Vitalik在以太坊官方博客上发表了题为《Slasher: A Punitive Proof-of-Stake Algorithm》[5]的文章,文中首次对以太坊的PoS方案提出探讨,即通过Slasher惩罚算法来解决“无利害关系”问题。
文中所提及的PoS并不是完全的权益证明算法,而是利用PoW来保证时间间隔的混合型权益证明。
此后,Vlad Zamfir的加入助力推动了以太坊PoS研究的进程,比如对于验证者抵押保证金的要求,以及“长程攻击”的解决方案。
Vlad认为,在工作量证明中,如果某个区块是与创世区块连接的,并且该区块的哈希满足区块链的难度要求,那么这一区块便是有效的。
但是在以保证金抵押为基础的模型中,如果某个区块是被当前抵押有保证金的验证节点创建的,那么这个区块便是有效的。
因此,PoW和PoS本质是不相容的。这一想法最终直接导致了以太坊两个版本的Casper的诞生,即Vitalik版本的Casper FFG(PoW/PoS混合)和Vlad版本的Casper CBC。