我们来继续学习第10讲:共识漫谈之常见共识机制。首先让我们简单回顾一下上一讲的内容,在上一讲中,我们一共讲了5个知识点,分别是POW共识流程,POW的数学难题和POW的奖励机制这三个关于POW的知识点,以及我们上一节课程的重点,分解共识机制的思维方法以及POW的无准入机制。
这一节课中,让我们继续使用上一讲中的思维方法,分解拜占庭将军问题以及EOS的DPOS共识机制。
上一讲中我们说POW是可以容忍坏人的竞争模型的共识算法。
那解决拜占庭将军问题的算法呢?这里以最经典的实用拜占庭容错算法PBFT举例。
还是我们在第6讲中举过的例子,在拜占庭容错算法中,所有的将军是需要传播消息的,且我们的假设是诚实的将军一定会诚实的传递消息,只有叛徒才会做错误的事情。这就意味着每个将军是依赖别人会做诚实的事情的前提去工作的,因此诚实将军与诚实将军之间是合作的关系。所以,我们归纳出,PBFT是可以容忍坏人的合作模型的共识算法。
这样,算法的差异就出来了。
POW是可以容忍坏人的竞争模型的共识算法,而PBFT是可以容忍坏人的合作模型的共识算法。
那竞争与合作究竟有什么区别呢?会给系统带来什么影响呢?
首先,从时间上来看,我们知道,POW是比PBFT更晚出现的。所以在某些领域,POW实际上是比PBFT更好的解决方案,究其原因就在于竞争与合作的差别。
竞争是能提高效率的,这个结论实际上在我们的生活中很容易得到印证。
比如,当我们还在学校上学的时候,各个班级之间就会搞卫生评比,还有各种体育比赛。这些其实都是通过竞争提高效率的案例。在这些案例中,一旦我们的好胜心被调动起来,我们往往能做的更好,而同样的事情,如果采用合作的方式,我们主观能动性往往会降低。尤其是在有奖励的竞争模式下,如果我获胜了,奖励全是我的,而合作的模式呢,奖励是大家的不说,往往还会因为遇到猪队友而得不到奖励。
所以,直到POW出现了之后,我们才能做到无准入机制,允许系统的参与者不论是10个节点还是10万个节点,都可以正常运行而不出错。而PBFT算法就有局限性,不能做到无准入机制,这也是为什么说它不适用于公链项目的原因之一。
如我们在第6讲中所说,PBFT的前提是需要声明有一部分节点必须一直在,并且他们中的诚实节点数量至少要三倍于叛徒。因此,PBFT不能支撑完全的无准入机制功能。
好了,通过POW和PBFT的对比,让我们对共识机制的核心有了更深一步的理解,了解了竞争和合作的区别。接着再让我们再来看看共识机制的另一大方向,POS类共识又是怎样一回事。
说到POS啊,大家可能首先想到的是EOS的DPOS共识,或者以太坊团队的Casper共识,如果有更早就关注区块链的朋友,可能还听说过点点币的POS共识或者未来币的POS共识等等。那么,他们这些POS之间有很么关系吗?既然名字中都带POS,是不是就一样呢?
答案当然是不一样,甚至他们之中,有些差别还很大。究其原因,简单来说,就是因为POS与POW或者PBFT不同,POS实际上只是一种思想而不是一个具体的算法。
这是什么意思呢?POS即权益证明的英文首字母缩写。
它实际上只是想声明我用权益这个概念去代替算力,POW不是算力越大权力约大么?那我就是权益越大,权力越大。
但是啊,POS的描述也仅到此为止,它既没有解释有哪些权力,也没有解释如何分配权力。如果单纯的就是谁持有的币多就谁说了算,持有少量或者没有币的人不是很快就退出这个系统了?反正又不需要像POW那样付出算力这种实打实的电力成本。
所以说,每个采用POS思想的项目方,首先都要阐述一套完整的实施方案给大家。而分享给大家的思维方法的目的也是如此,不论项目方使用什么眼花缭乱的名词,只要抓住问题的问题。你的算法到底可不可以容忍坏人?可以容忍多少坏人?是合作模型还是竞争模型?
这几个问题搞清楚了,你就能识别出不少骗子项目。
先来看看人气也很旺的DPOS同学。DPOS即委托权益证明的英文首字母缩写。
如同上一讲POW的思路,我们还是先从DPOS的运行流程入手。实际上,DPOS制度和现实世界中的股东治理制度非常相似。在一个公司里,股东是通过持有公司的股票来获得对公司的治理权,谁持有的股票越多,谁拥有权力就越大。在DPOS中呢,他把股东的权力定义为投票权,股东通过投票选出他信任的人,被称为超级节点,获得票数最多的超级节点组成委员会。而系统的运行就是靠这些超级节点支撑的,超级节点之间并没有互相监督或者投票之类的流程,轮到哪个超级节点记账就谁记账,然后下一个超级节点继续。如果某个超级节点真的干的不行或者犯了错,股东就不会继续把选票投给他,他就不在是超级节点了。这个和我们国家的人大代表选举制度是不是也很类似,民众通过手中的选票选出人大代表,人大代表组成人大代表委员会,如果人大代表干的不好,不为民请命,下一届民众就不选他当人大代表了。
说到这里,我们其实可以看出DPOS的规则跟PBFT与POW也不一样,DPOS在共识运行期间已经默认超级节点都是被筛选过的,是没有坏人的。所以,应用我们的思维方法来看,DPOS是一个不允许坏人的合作模型的共识网络。
有人可能会有疑问,为什么说不允许坏人?不是可以发起投票,把坏人踢出委员会么。
和人大代表换届一样,民众并不能因为今天对人大代表不满意,今天就把人大代表换掉,而是要等到下一届换届时不选他当人大代表。
因此,我们也能理解,在DPOS中,那些被选出来的超级节点犯了恶,即使我们第一时间发现了,我们也没有什么办法阻止错误的事情发生,只能眼睁睁地看着,对于代表广大劳动人民利益的超级节点,我们只能信任他们,当他们干了坏事之后,我们再去夺回广大劳动人民赋予他们的权力。
好了,总结一下我们今天的内容。今天给大家用思维方法,分析了经典的PBFT和EOS的DPOS共识。也给大家分享的5个知识点。
1,PBFT是可以容忍坏人的合作类型的共识算法。
2,PBFT不能支撑完全的无准入机制功能。
3,POS实际上只是一种思想而不是一个具体方案。
4,DPOS的运行流程。
5,DPOS是一个不允许坏人的合作类型的共识网络。
最后,恭喜你完成《区块链入门到精通》第10讲的学习。
本文来自,仅作分享,存在异议请联系平台删除。本文观点不代表刺猬财经 - 刺猬区块链资讯站立场。