POS 共识算法(proof of stake)核心
- 在Pow加密算法的基础之上,Pos系统中争夺记账权的影响因子:算力、持币数量、持币时间。
- Pos 挖矿难度值= Target*币龄
- Pos认为币龄更有决策权,所以币龄对挖矿难度值的影响权重特别高,就是让大股东来记账而不是大算力、大矿池负责记账。试图通过提升算力来竞争记账权很不划算。
- Pow的记账权竞争是算力竞争,而Pos的记账权竞争主要是币龄竞争。
- 因为算力不是唯一决定获取记账权的因子,从而增强了系统的安全性,也即是说即使几个大矿池联合欺诈,也不会轻易得逞,而持币大股东是直接利益者,他们拥有更多的记账权,他们更愿意整个pos系统稳定安全。
- PoS的显著优点包括安全性、降低集中风险和能源效率(因为单纯通过投入算力很不划算)
运作模式
- 所有的交易的打包仍然需要挖矿计算,挖矿难度值的计算: Target*币龄
- 一旦你发现了一个POS的区块,那么你的币龄就被清空,并且会根据币龄发出一笔利息(清零的话,可以降低中心化的风险,可以避免大股东囤币,从而轻易"持续的"获得记账权,因为即使超过51%币的大股东,也可能在下一个块的争夺中失败,因为20%币的庄家,币龄更长,币龄是币值*持币时间)
Pos 引发的问题
- 挖矿因子持币时间:通过囤积很长一段时间的货币,然后就轻易的获得记账权,而且不利于电子货币的流通
- 通过对持币时间做上限设置,比如上限15天,从而避免货币不流通,因为你一直囤着货币不流通,超过15天,你的币龄也不会继续增长
- 通过每次挖矿成功后清零币龄,这样即使这次拿到了记账权,在下一个区块中仍然要重新计算,不会持续的获得记账权优势
挖矿因子持币数量:通过囤积大量货币获得记账权优势,从而导致货币不流通
你可以囤币,但是大股东必须保证货币的流通性,为了鼓励流通,币龄会随着持币时间增长而衰减,这样你要提高自己的币龄就不得不流通交易了离线攻击:篡改交易的时间
- 比如交易的时候篡改自己的系统时间,从而自己作为收款方的币龄就提升了
- 比如挖矿的时候,修改自己的系统时间(延后自己的系统时间),从而使币龄处于最高值
这里就需要做感知监督了
- 无法发行新币:目前解决方案是先Pow,一段时间后再过度到Pos
BlackChain:前5000个区块,使用纯POW机制,5001到10000使用POS和POW混合机制、10001之后采用纯POS机制
利息
POS:也称股权证明,类似于财产储存在银行,这种模式会根据你持有数字货币的量和时间,分配给你相应的利息。
简单来说,就是一个根据你持有货币的量和时间,给你发利息的一个制度,在股权证明POS模式下,有一个名词叫币龄,每个币每天产生1币龄,比如你持有100个币,总共持有了30天,那么,此时你的币龄就为3000,这个时候,如果你发现了一个POS区块,你的币龄就会被清空为0。你每被清空365币龄,你将会从区块中获得0.05个币的利息(假定利息可理解为年利率5%),那么在这个案例中,利息 = 3000 * 5% / 365 = 0.41个币,这下就很有意思了,持币有利息。
注意事项
ethereum目前仍然是通过POW挖矿,也存在大量的矿池,耗电量每年,占据0.09%的全球电量。除此以外还有计算机的算力(CPU、显卡等等)。Casper版本采用混合的POW、Pos,目前还在测试阶段。
Pos算法本身并没有提高交易的吞吐量,只不过调整了记账权竞争的权重因子而已。Casper不等于Pos,Casper在Pos基础上加了很多功能之后,是可以提高Tps的,关于TPS,具体可以参考DPos算法
优质参考
魔链社区 casper简介
https://www.jianshu.com/p/644cb0604c4f
以太坊的奖励机制
https://blog.csdn.net/cherisegege/article/details/80146273
以太坊官方解释 POS
https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQs