一直行走在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共识的,我们看设计者如何解决这个问题:
1. 去中心化:为了在初始能够去中心化的分配代币,Peercoin采用了POS+POW的混合共识,利用POW的方式了进行分配代币,和BTC的分配方式类同。
2. 垄断:同时Peercoin提出了币龄的概念来防止大户垄断,币龄与持有的币量和周期长短都有关系,一个地址的币量多,但时间不长就不会被经常选中来出块,反之也一样。Peercoin要求一个地址持币周期要超过30天,并且出一次块要币龄还要清0,重新计时,这样可以有效防止大户垄断的情况出现。
3. 51%攻击:对于51%的算力攻击是POS上代价非常高的攻击方式,攻击者必须持有超过51%的币量才能发起攻击,这样的攻击对于持币者并没有什么好处。
4. 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的精华,非常值得玩味,从这些设计中可以真正理解到设计的逻辑,本篇文章篇幅有限,这部分我们留到下篇文章再继续来探讨。
标签: 代币
②文章观点仅代表原作者本人不代表本站立场,并不完全代表本站赞同其观点和对其真实性负责。
③文章版权归原作者所有,部分转载文章仅为传播更多信息、受益服务用户之目的,如信息标记有误,请联系站长修正。
④本站一律禁止以任何方式发布或转载任何违法违规的相关信息,如发现本站上有涉嫌侵权/违规及任何不妥的内容,请第一时间反馈。发送邮件到 88667178@qq.com,经核实立即修正或删除。