谈及共识机制,就不得不提挖矿界的泰斗级人物——Sunny King。SunnyKing乃何许人也?遥想当年,正是Sunny King最早发明并提出了PoS并藉此改革了比特币的共识机制。他还一手创立了点点币并于2013年上线,在2014年其币值一度高达全球第四,彼时全球膜拜的盛况几乎不亚于如今的EOS。
遗憾的是,点点币在2016年逐渐式微,但是眼看自己楼起又楼塌的Sunny King并没有就此灰心丧气。重出江湖的Sunny King推出了V SYSTEMS项目,号称是区块链的亚马逊云,是区块链数据库的云平台。Sunny King的此番回归最引人注目的闪光点并非是VSYS项目本身,而是其所依托的新一代共识机制SPoS。
尽管EOS的横空出世将DPoS的推向了一个全新的高度,但我们仍有理由相信,SPoS会在将来掀起一阵“共识机制优胜劣汰”的腥风血雨,而近期人们关于两者的激烈讨论以及PoS挖矿所掀起的小高潮也恰恰印证了这一点。(有趣的是,正是Sunny King在某次采访中的发言令BM下定决心放弃BitShare转而去搞EOS)
那么,同样拥有超级节点SPoS和DPoS究竟存在哪些区别呢?在此,我们做一个对比性总结。
图1 百亿级的泛PoS生态
设计的核心理念
Sunny King此前称“SPoS是PoS机制的自然演变,与EOS的DPoS设计相比,SPoS更优雅,具有PoS概念的简单和纯粹。”
事实上,SPoS也的确延续了PoS原有的宗旨,而DPoS则成为了PoS的“分叉”。SPoS继承了PoS原教旨中Stake as Power(币就是权利)的哲学思想,即持币者是整个网络的核心。
Sunny King在王峰十问中是如此谈到,SPoS和DPoS之间存在重大差异,SPoS中权益量决定了决策权的权重值。用中国的人大代表制度来类比SPoS更合适,超级节点是代表持币者行使权利的发言人,持币者的利益捆绑在超级节点上。
而DPoS则更像是公司治理,股东(币权所有者)可以投票给高管(铸币节点),但不获得收益也无动力投票,高管亦无须听从股东。
在SPoS中,明确提出了完全由持币者当家做主人的生态设计:超级节点= 矿池持币者 = 矿工币=矿机。
在这里,超级节点类似于PoW共识机制中的矿池,而币则是矿机,矿工的币可以自由选择矿池,相当灵活。而作为矿工,和DPoS不同的是,持币者可以获得矿池分发的收益,这是对所有生态建设者的激励,这就很好解决了主网冷启动的问题,可以避免类似早前EOS持币者参与度低的问题。
简单总结就是SPoS可以挖矿,持币者拿到80%的收益,超级节点是矿池拿到20%收益。DPoS不能挖矿,持币者0收益,超级节点将100%收益的全数带走。
图2 VSYS挖矿收益
算法的精简度
Sunny King从数学角度简化和优化了SPoS的共识算法设计,这让SPoS的性能和安全性高出了从程序角度保证区块链安全和性能的DPoS一个时代。
DPoS的出块顺序是随机的,SPoS则是由超级节点固定顺序出块。就是因为DPoS多了一步随机计算,这就导致了进行海量处理时,时间将会多出30-50%以上。
白皮书显示,SPoS从数学上优化了共识设计,更合理,也更具扩展性。因为按照固定顺序排序后系统响应速度将会更快、更加可预测和稳定。当前SPoS设计的是一共15个可出块的超级节点,全网每4秒出一个块,1分钟内15个节点轮流有序出块,并且当系统要提升性能时,SPoS的机制还可以升级超级节点的数量,出块时间相应等比例缩短。
可以这么理解:DPoS和SPoS两拨人,分别在不同地点玩丢手绢游戏。
DPoS的玩家每次选21个人围成一圈当超级节点,然后有个叫系统的人负责将手绢随机丢在某个节点身后。身后被系统放了手绢的人,就要到中间表演一个节目。
SPoS的玩家则是选15个人作为超级节点,同样围成一个圈,系统给每个节点排一个编号,第一次丢给1号节点,第二次丢给2号节点,第三次丢给3号节点,以此类推,这样15个人分别知道自己的上台表演顺序,由于顺序是确定的,节点们事先就可以做好充分的准备,而丢手绢的系统则不需要思考就能按顺序选择节点上台,效率更高了。
安全性
重出江湖的Sunny King显然是有备而来,他总结了POS的诸多缺陷,也找到了相应的解决办法。
SPoS采用了冷铸币技术,可以理解为,用户在自己的钱包中,连接超级节点,即可使用币挖矿,而并不需要把自己的币转账到超级节点。
从安全性上讲,这让超级节点被黑客攻击后,用户可以快速将自己的币租赁到新的超级节点,让黑客几乎无法进行51%攻击。
而同时SPoS还设计了名为“MAB”的币龄数值,让持币的人对区块链进行“频繁攻击”,不能频繁地换超级节点,导致超级节点的混乱。
这两点,都是DPoS没有的,因为持币者毫无任何激励,所以如果某个超级节点被黑客攻击,持币者也不会给新的超级节点投票,超级节点只能自己想办法修复节点,而整个区块链的出块将受到严重影响,如果黑客连续攻击超过51%的节点就可以控制DPoS区块链。
图3 VSYS挖矿流程
节点的竞争性与可扩展性
和DPoS类似,SPoS除了超级节点外,还有备选节点。区别在于,DPoS的49个备选节点是有相应收益的(但相对超级节点少很多),而SPoS的备选节点是无收益的。
如此一来SPoS的超级节点就成了更加稀缺性的资源,必须积极建设和有效竞争才能够挤进去获得收益,这就形成了节点之间的自由竞争关系,这种机制有助于系统的良性发展。
目前DPoS的超级节点数固定只有21个,而SPoS的超级节点最初设计15个,在系统需要更高性能时可以扩展到30个、甚至最高的60个。30个超级节点时,出块时间由4秒缩短到2秒,60个超级节点时,出块时间将缩短到1秒。超级节点数量越多,系统越去中心化,当SPoS可拓展到30或60个的超级节点数量时,系统的去中心化程度也就越高。
SPoS的所有超级节点的收益都是固定的且完全一样的,这就从根本上避免了持币过多的人会更富,造成虚拟经济的贫富悬殊扩大。而DPoS的超级节点头部收益比后备节点大很多,这也形成了目前EOS超级节点被少数利益方控制的局面。
众所周知的DPoS核心缺陷,就是最后交易所霸占了20多个超级节点,霸占了主要的区块链产出的激励货币,而其他的节点,几乎搞得生存艰难。
而SPoS因为在设计上是所有超级节点完全一样的收益,且收益还需要给持币者分息,让超级节点变成矿池,这几乎让交易所想霸占超级节点的想法成为泡影。
换句话来说,SPoS的超级节点,是一场全民运动,不会走向巨头控制的局面,也是值得大家长期干的,无论你是做超级节点还是做一个大矿工。
毫不夸张地说,SPoS在生态平衡性上完全超越了DPoS,它带来的是持币者更大的动力一起建设区块链,也在一定程度上避免了中心化的危险。