Community post
来深度扒一下POS的历史和未来

一直行走在POS共识的边缘,多次打交道后感觉POS里面确实有很多值得玩味的设计哲学,忍不住好好了扒了一下POS的历史,发现整个POS史其实就是一场无数精英为之出谋划策的社会实验。这场实验当中,出来了无数多伟大的践行者,其中就包含一些大名鼎鼎的区块链人物,Sunny King、Vitalik、Charles、Auther B、Jae Kwon。
大神带领的项目本应该放我们放心,但追究POS的历史的过程中,卡咩才发现:POS的这一路,走的可不容易啊。
POS(Prove of Stake,股权证明机制)最早由Sunny King在2012年提出,在Peercoin实现了首秀。在2013年12月,Nxt将其改进并延续至今。同时期的Blackcoin,在随后的2014年2月,采用了一版更纯净的POS共识,但现在已鲜为人知。我们再看现在,现存的POS领域,我们看到只有卡咩一直关注的Tezos还在线,市值前20里面,真正采用POS共识的,真的是少得可怜。
到这我们不禁抛出一个疑问:从2012年到2018年,这期间长达6年左右的研究,难道就出不来成果?Ethereum的Casper和Cardano的Ouroboros 都4年了还在胎中?难道胎死腹中了?POS到底是不是区块链共识的未来?
也许我们都无法想象POS设计的过程中到底出了什么问题?也许对于普通投资者来说,12年到18年币价上涨所带来的收获是令人欣喜若狂的,但对于区块链开发者来说,特别是POS的信仰者来说,结果是极其惨烈的,也许同时期进展顺利的Cosmos,是对开发者些许的安慰了。
那到底POS在设计的过程中碰到了什么问题呢?
POS出发的本源就是为了解决POW产生的大量能耗问题,而POW大量能耗的产生是因为矿工为了争夺记账权的奖励。所以POS的设计点来到了,如何选择矿工来记账并同时不浪费大量能耗。
别看转换问题简单,这相当于把这套POW的设计逻辑都改了,能耗争夺记账所带来的经济模型是通过反复推敲的,最终的目的其实是保障整个网络中的安全。区块链被抽出来之前是比特币的底层,比特币致力于发展点对点的电子现金网络,如果网络不安全,也谈不上电子现金了,估摸着也就是极早期的一个极客玩物罢了。
现在POS要修改这套逻辑,是必就会碰到一些非常棘手的问题。
-
去中心化:初始代币如何分配?
-
垄断:如何避免节点垄断?
-
51%攻击:如何避免51%算力攻击?
-
Nothing at stake的问题?
股权证明,其实就持有代币的权利,那代币的初始分配是否合理决定了后续依赖此分配的节点垄断情况,同时也会影响到节点垄断后是否会产生51%算力攻击的问题。最后第4个问题,其实就是采用POS共识的整个网络的抗攻击能力问题。
通俗点解释,POS最合理的情况就是:代币初始分配要平均,同时POS选取节点出块的时候要做到随机并且和持币量正相关,但又要保证Staking数量较少的节点也有一定几率被选中,尽量减少一个大户控制整个网络的情况发生。同时,还要控制非持币或者少量持币用户的网络攻击,因为攻击网络对于这些用户来说并没有什么成本。
Peercoin(PPC)是最早采用POS共识的,我们看设计者如何解决这个问题:

-
去中心化:为了在初始能够去中心化的分配代币,Peercoin采用了POS+POW的混合共识,利用POW的方式了进行分配代币,和BTC的分配方式类同。
-
垄断:同时Peercoin提出了币龄的概念来防止大户垄断,币龄与持有的币量和周期长短都有关系,一个地址的币量多,但时间不长就不会被经常选中来出块,反之也一样。Peercoin要求一个地址持币周期要超过30天,并且出一次块要币龄还要清0,重新计时,这样可以有效防止大户垄断的情况出现。
-
51%攻击:对于51%的算力攻击是POS上代价非常高的攻击方式,攻击者必须持有超过51%的币量才能发起攻击,这样的攻击对于持币者并没有什么好处。
-
Nothing at Stake:Peercoin的开发者认为这是理论上的问题,实际中并不会发生,所以也就不解决了。
Nxt和BLK是在PPC上做的改进,Nxt和BLK都去除了PPC里面币龄概念和POW的部分,因为BLK的开发者觉得这样的设计对Staking的人并不友好,这会导致整个staking数量的减少从而更容易导致51%算力的攻击情况发生。所以BLK尝试用短暂的POW方式足够去中心化的分配代币,来保证垄断性的发生。其他第3、4点和PPC没有异同。
Tezos的POS去掉了POW的初始分配,转型用IC0的方式进行代币初始化分配,并且不设硬顶的方式来决定代币分配足够的去中心化。同时借用了Staking需要抵押一定比例的代币方式来防止垄断和Nothing at Stake的问题。其他的3、4点和PPC没有异同。
目前发展的情况,PPC、Nxt和BLK都没有完全死掉,只不过最开始的时候,这三种采用POS机制的都是冲着电子货币去的,到今年听不到声音也是因为如此,因为智能合约平台的兴起使得这些代币的知名度在不断下降,市值上也是不断下降。而新时代POS产物,带着新时代的信仰而来,势必会更受到人们的关注。

所以,我们也能看到,抵押金的模式现在基本成为了POS里面解决Nothing at Stake问题的主流,除了Tezos,现在开发正的Cosmos、Ethereum、Cardano和Pokaldot等都使用了这种方式来防止Nothing on Stake的情况发生。
攻击者发起攻击的时候,会承担抵押金被扣除的风险,这样保证了验证节点不会轻易发起作恶行为。同时,系统会奖励因抵押金锁定所造成的波动损失。这样,从奖惩两方面都给与了验证人/矿工不作恶的理由,保证了系统的稳定运行。
不过,值得关注的是,这套新的设计方案并没有在市场上经受很长时间的考验,Tezos的betanet也仅仅运行了2个月的时间,而其他的尚未开发成功,所以大家都不知道这种理论的验证方式是否能成功。而且这套理论模型的部署会碰到众多的问题,挑选验证人的算法,出块打包的算法,防止作恶的算法以及如何惩罚那些企图作恶的节点等等,这些都是实践过程中所会出现的问题。
往往这些细节设计问题才是POS的精华,非常值得玩味,从这些设计中可以真正理解到设计的逻辑,本篇文章篇幅有限,这部分我们留到下篇文章再继续来探讨。
欢迎关注微信公众号:区块链卡咩
欢迎关注本人微博:比特币卡咩
希望交流的朋友可以添加我的个人微信:kamiesheep
Replies (1)
Congratulations @linsheep! You have completed the following achievement on Steemit and have been rewarded with new badge(s) :
Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word
STOPDo not miss the last post from @steemitboard:
SteemFest³ - SteemitBoard support the Travel Reimbursement Fund.