第1章 什么是共识机制
区块链系统是一个分布式计算系统,即由许多节点共同维护一个账本。区块链维护账本包括谁来更新新账本页,和在所有节点中同步账本。
共识机制就是在区块链系统内,让所有节点达到一个——由哪个节点来更新新账本页,并且其他节点会将自己的账本同步到该最新的账本页——的共同的决策方法论。
更专业的术语是,共识机制是决定哪个节点能出块的算法。
第2章 去中心化共识机制
比特币的共识机制是工作量证明PoW,点点币的共识机制是权益证明PoS。PoW和PoS都是去中心化的共识机制。
PoW和PoS都没有规定一共有多少节点可以出块,理论上出块节点可以是无限个。
PoW机制是系统发一个“目标值”,这是一个数字,比如前面19个零的数字,只要你的节点能够提供一个通过特定算法计算出来的前面有20个零的数字,你就可以获得出块的权力。
PoW机制下是要消耗能源来完成计算,我认为这是合理的。不过整个加密数字货币社区有很大的声音认为PoW不对,浪费能源。PoS的诞生就是基于反对PoW消耗能源。
PoS是所有节点出一个叫“币龄”的值,“币龄=币数x持币不动的时间”,比大小,谁的币龄大,谁就获得出块的权力。
PoW和PoS这种模式是可以实现去中心化,任何人,都可以买矿机或买币,加入出块的博弈。
PoW的出块原理决定了竞争出块是需要消耗真实的能源的,在同一高度上,哪怕你是没有竞争到出块权,你也是真实消耗了计算能力。在每一个高度上诞生出新块后,之前所有的计算全都报废,大家又同时站在同一起跑线重新计算。
PoS出块是要真实消耗币龄的,一个PoS节点一旦获得了出块权,那它的币龄就归零了,要重新积累参与博弈。但只要你不出块,你的币龄就不会因为别人出块了而消耗。这和PoW是不一样的,PoW是别人出块了,你的计算就得清零。
目前纯PoS共识机制好像流行,点点币已经被边缘化了。ADA币看起来是最成熟的PoS。ADA币的PoS模块被Fork的最多。
PoW和PoS的出块还有一个大特点,就是出块在时间分布上是随机的,只能在统计意义上获得一个平均的出块时间。比如比特币的出块时间平均是10分钟,但具体的两个块时间间隔可能是几秒钟,也可能是1个小时以上。
第3章 多中心共识机制——SPoS
中本聪通过比特币发明了PoW机制。SunnyKing通过发明点点币发明了PoS机制。PoW工作的非常好,但PoS并没有大量流行。SunnyKing曾经发表过一篇文章描述他的认知升级,他认为真实的世界是多中心的。整个人类就是一个多中心的世界,一个国家就是一个中心。多中心形成庞大的系统。
SunnyKing思考去中心化在性能上遇到了瓶颈,大量的真实世界并不是去中心化的,自然的演化形成多中心的系统。而比特币挖矿矿池的诞生,大矿场的诞生,也证明了多中心是一个复杂系统演化的方向。
所以,SunnyKing在他的新区块链系统中采用了多中心的架构——SPoS。
在SPoS机制下,出块节点的数量是有限的,目前vsys一共15个出块节点,叫超级节点。超级节点分成两类,一类是“候任节点”,一类是“在任节点”。在任节点是可以出块的节点。要成为出块节点,需要先完成“挑战”。
“挑战”的过程就是将“在任节点”选下去,自己成为“在任节点”。“挑战”是使用“加权平均币龄”这个参数来完成。
vsys币同样是有币龄的属性,这和比特币、点点币是完全一样的。“币龄=余额x持币天数”,以“币天”为单位。只要持币不动就可以累计币龄,币只要转移其币龄就会被销毁。
但是币龄在比特币这种UTXO模型下是非常方便计算的,因为UTXO和钱包里的余额是不同的概念,钱包余额是UTXO的总和。币龄只需要计算UTXO剩余持币天数,钱包里的余额的总币龄就是所有UTXO币龄的累加。但在账户制下,比如以太坊,计算币龄就非常复杂了,因为一个账户有多笔金额转入时,余额会变成一个数值,无法像UTXO那样非常方便地区分输入。
SPoS机制下,出块节点成为一个中心节点,它们共同组成多中心的系统。SPoS机制的特点是系统设置固定数量的出块节点,和节点按顺序出块,出块时间是固定的。采用SPoS,可以获得相对去中心化共识机制更高的出块速度,更高的tps。
第4章 多中心共识机制——DPoS
现在更流行的多中心共识机制是DPoS,这是BM发明了比特股和EOS带来的,其内置的共识机制是委托权益证明DPoS。
DPoS是一个多中心共识机制,其特点是系统设置固定数量的出块节点,和节点按顺序出块,出块时间是固定的。
在DPoS机制下,同样的,节点有两类,一类是“候任节点”,一类是“在任节点”。在任节点是可以出块的节点。要成为出块节点,需要先完成“竞选”。
DPoS机制下的“竞选”选票是币的“投票权”。在DPoS机制下,币有一个属性,叫“投票权”,用户可以通过锁定币来获得“投票权”,即用户要放弃币的“流动属”性才能获得“投票权”。
在EOS系统里,任何用户的EOS币都可以通过锁定来获得一些特性,包括“内存资源”“CPU资源”和“Net资源”,还有就是一个币获得“30张投票权”。这“30张投票权”对一个节点来说,只能投一次,你不能说我给一个节点投30张票,但你可以投给30个不同的节点,一个节点一张票。用户锁仓币的行为会让币丧失流动性,赎回需要3天。
DPoS机制下“候任节点”向全网公布自己的被“投票账号”,你要吸引足够多的票数。EOS系统设定21个可以出块的“在任节点”,节点之间通过比“票数”多少来竞争,票数前21名竞选成功。
BTS也是类似的。
“在任节点”需要时刻关注全网其他“候任节点”的“票数”,一旦“票数”被比下去了,那“在任节点”就会被挤出去。
采用DPoS,可以获得更高的出块速度,更高的tps。比如EOS就是现在所有链里出块最快的,0.5秒,tps可以达到千,真实峰值达到过3000多。
第5章 多中心vs去中心化
SPoS和DPoS,vs, PoW和PoS。
显然,在区域链的性能上,包括确认时间和tps,这两个指标上多中心要明显优于去中心化机制。
多中心的缺点在于抗打击性上。去中心化机制是的出块节点可以是完全匿名的,出块节点是无须许可加入网络的,这样的机制是很难被消灭的。你消灭了任何一个出块节点,对整个网络的影响是非常小的。你又不可能同时消灭所有的出块节点。
多中心机制则有可能被同时消灭,因为多中心的节点想要匿名更难,整个网络结构决定了,这是一个需要某种许可的机制。
第6章 中心共识机制
哈哈,中心共识机制就是“服务器-客户端”结构啦,账本由中心节点负责维护,即“出块权”全部归中心节点。
银行、支付宝、微信支付都是中心共识机制。
第7章 结束语
很多人讲“多中心化”,我怎么都觉得这个“化”字多余。“去中心化”是一个动词“去”,“化”这个词是一个描述这个动作后的结果。但“多中心”,这里面没有动词,就不需要“化”了。江辉晟兴网络科技科技是一家专业的区块链研发公司,提供区块链整体解决方案,使用当下流行的区块链技术,真正实现区块链开发。作为一家专业的系统开发公司,我们已经有5年的系统开发经验,区块链开发也有两年的时间了,有非常成熟的开发经验,同时也在时刻提升着我们的技术和服务质量,大程度地解决客户的需求。如果您有区块链系统开发、区块链技术研发、区块链各种系统开发、区块链结算系统开发、区块链APP开发、区块链游戏开发、区块链商城开发、区块链交易系统开发、区块链解决方案、区块链项目开发、区块链金融系统开发、区块链商业模式系统开发、区块链支付、区块链应用开发等需求的可以联系我。《实体技术公司、随时欢迎考察》