想知道更多关于区块链技术知识,请百度【链客区块链技术问答社区】链客,有问必答!!
POS即权益证明,英文全称Proof of Stake。它是由匿名极客Sunny King发明的。Sunny King很神秘,类似中本聪,他的具体信息很少有人知道。同时他也是点点币(PPCoin)和质数币(PrimeCoin)的创始人。2012年点点币问世,成为全球首次使用POS共识机制的数字货币。
基于POW的公链挖矿纯靠算力,挖矿难度越高,算力也会越来越中心化。目前比特币挖矿的算力超过70%在中国,据Blockchain.info2018年的统计数据显示,目前世界前十大矿池中,中国独占8家,而中国70%的算力在四川。这样完全背离了去中心化的思想,只有算力高的机构或矿场才能挖到区块,而算力低的个人几乎没有可能挖到区块。算力低的矿工要是参与挖矿,那得赔死,投入电费、场地、矿机等等,结果几乎甚至没有收益。然后他们大部分会放弃挖矿或加入其他大型矿池。而且挖矿代币价格的较大波动也会影响挖矿收益。所以POW类型的挖矿具有很大的投资风险。POW挖矿比拼的就是算力,随着挖矿难度的提高,算力会要求越来越高,导致参与挖矿的矿机数量越来越多,配置也越来越高,如此会造成多大的资源浪费啊。
针对POW的问题,POS指出了一个全新的概念-币龄,币龄 = 持有的币数 * 持有币的天数,例如钱包里有90个点点币,持有了10天,则币龄=900。决定下一个区块是由谁出,是看当前时刻谁的币龄大。出块后币龄归零,重新计时持币时间。币龄是对应账户恒定数量持币数的值,如果账户的持币数量发生变化,那么币龄也会归零,重新计时。通过币龄来决定出块,不再需要比拼算力,多么环保啊,节省了多少资源啊。
而且为了让持币人把币握住,不乱抛售,POS还使用了“利息”机制。用户的持币钱包或客户端24小时处于工作状态或后台运行状态,其实就是pos的挖矿状态,系统会在固定时间参照币龄给予持币人一定量的利息(一定量的币)。如此币的抛售将不会像传统的币那么频繁,币价相应的也会稳定。
POS出块时间可以设为恒定值,如10分钟一个块,那么每10分钟,会触发记账功能。
为了让POS出块人带有随机性,需要借助一些随机函数,币龄只是增加成为出块者可能性的筹码。如,A的币龄100,B的币龄10,那么A能够出块的概率要比B大10倍。
使用POS较POW更不容易遭受51%攻击,相比起掌握系统一半以上的算力,拥有整个系统51%的财力会更加困难。
POS解决或者缓解了POW的一些问题,但是它也有它的很大缺点:
1.更容易被垄断:因为持币越多,持有的越久,币龄就越高,越容易挖到区块并得到激励,持币少的人基本上没有机会,这样整个系统的安全性实际上会被持币数量较大的一部分人(大股东们)掌握;而POW理论上则不存在这个问题,因为理论上任何人都可以购买矿机获得提高自己的算力(甚至可以联合起来),提升自己挖矿成功的概率;
2.很难应对分叉的情况:当出现分叉时,PoS可以在两条链上同时挖矿并获得收益。而PoW则不存在这个问题,因为当出现分叉以后,PoW总是选择工作量大的链做为主链。
但是在实际应用中,纯POS的共识机制是不可行的,通常会和POW混合一起用或者通过POS升级改进POW。这样会更好的发挥各自的优点,减小双方缺点带来的影响。
根据masternodes.online的数据显示,目前基于POS算法的币种数量已有330,但是市值在2000万美金以上的只有9种,分别是DASH、PIVX、SYS、BLOCK、XZC、SMART、XSN、PAC、DEV。其中,市值最高的为DASH,目前为21.57亿美元,POS年化收益约为7.19%;XZC市值9805万美元,POS年化收益约为27.28%。
混合共识算法的定义
现在很多公链都是在用基于xx和xx算法的混合共识算法实现共识机制的。什么是混合共识算法呢?有两种情况都可以认为是混合机制:1.在某个算法的基础上,运用其他算法的技术进行改进。如点点币,它的共识机制是用pos算法对pow算法进行改进后的机制,不过大家往往认为点点币的共识机制是pos,其实严格来说是pow+pos的。2.两个算法运算相互独立,但共同组成了一个共识机制。如初链,它的共识是pow和pbft两个算法组成的,然后自己给自己起了个新名字叫混合共识机制fpow。这种混合很明显,所以大家都会叫混合机制