首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

剖析区块链-九:共识机制

看到共识机制这几个字,总有种似懂非懂的感觉,我们都能从字面意思推测出一些东西,可是具体在区块链当中如何做又是有些模糊不清,下文就来解决一下大家的疑惑,剖析区块链当中著名的共识机制以及其所解决的拜占庭将军问题。

从字面意思来看,共识就是一群人在某一方面达成一致意见,某一方面可以是:道德、理想、观点、价值等。古往今来,人类社会的发展一直都需要人与人相互间的协作,不论是以前的部落,还是如今的公司,都是不同的人各司其职,共同建造壮大自己的组织群体,而共识则是达成互相协作的前提。

一个群体在协作当中,如何进行分工,成果如何分配,奖惩如何规定,谁负责领导、实施奖惩、成果分配等等,必须有一个所有成员都认可的规则,这个规则是说服众人、促进合作关系、提高工作效率、壮大群体的必要条件。如果出现了一个大家都认可的规则,那么大家的一致认可,就是共识。而在这个规则出现之后,如何去让大家认可这个规则、达成共识并去维护发展共识的方式,就是共识机制

古代许多皇室采用 “顺我者昌,逆我者亡” 的共识机制,这样用权威方式来决定共识的目标,虽然高效,可是难免会出现暗地里的背叛与策反。到了和平的现代,我们有了更多的共识机制:法律、道德、规则等等来提供更高效更稳定的协作环境。

时代在飞速变更,互联网慢慢成为我们赖以生存提供便利的工具,如果没有共识或者规则来约束,那么将会一团乱,即使有规则,依然会有背叛者来捣乱。在1982年,莱斯利·兰伯特提出了一个针对点对点通信中的基本问题——分布式系统一致性问题,也就是拜占庭将军问题。这个问题的核心理念是:在整个网络中的任意节点都无法信任与之通信的对方时,如何能创建出共识基础来进行安全的信息交互而无需担心数据被篡改。

莱斯利·兰伯特说:故事让问题变得受欢迎。所以就编了下面这个拜占庭将军问题的故事:拜占庭帝国想要进攻一个无比强大的敌人,派出了10支军队去包围这个敌人。由于各种的原因,这10支军队不能集合在一起进攻,必须分开驻扎,然后同时发起攻击。而这个敌人十分的强大,可以同时抵抗5支拜占庭军队的袭击。拜占庭军队里的任何一支,想要单独进攻的话,都毫无胜算。除非至少超过一半(即6支及以上的军队)同时进攻,才能打败敌人。军队分散在敌人的四周,依靠通信兵来相互传递消息:商量“要不要进攻”和“什么时候进攻”。(因为存在消息丢失的不可靠信道上,试图通过消息传递来达到一致性,是不可能的。所以,在研究拜占庭将军问题的时候,我们已经假定了信道即通信兵是没有问题的,没有叛徒)。

但是如果将军里有叛徒,那么这个叛徒将军可能发送错误消息。比如:告诉其中4只军队要进攻,然后告诉另外5只军队不进攻,然后只有4只军队同时进攻,吃了败仗。剩下5只军队,也无法战胜这个强大的敌人。最后拜占庭军队战败。在这种状态下,拜占庭将军们,能不能找到一种分布式的协议,让他们能够远程协商,并且不用担心有叛徒,保证6支及6支以上军队在同时发起进攻,从而打赢这场仗?

比特币的创始人中本聪解决了这个史上难题,我们都知道比特币是一个分布式网络,一个个节点就像是拜占庭的将军们,至于上述故事中出现叛徒将军发送错误消息的情况,在比特币中很难当个叛徒,很难去篡改真实消息,或者传递假消息。那是因为中本聪在设计比特币系统时,采用了工作量证明机制(POW)

节点(将军)们会出于自私的目的--奖励比特币(国王的封赏)去争夺记账权(发号施令的权力)并且遵循共识机制(这套奖励规则)。他们需要提供自己的算力来计算,争抢找到一个正确的随机数,就能去记账(发号施令),并且会将该记账信息(号令)同时广播发送到每一个节点(将军)手里,每个节点(将军)都可以对这场竞争胜出的节点的记账信息(号令)进行校验,这样就不会存在故事中有的进攻有的不进攻的情况。一旦有任何节点发现这是在作假,那么这个消息是不会被大家认同的。很难再出现篡改记账信息(传达错误号令)的情况。

如果想成功篡改,那么得要其中一个节点拥有超过系统一半以上的算力(买通超过一半的将军)才行,相对于大家能得到的--比特币奖励(国王封赏)来说,付出那么多简直亏大了,大家都不傻。于是,所有的节点(将军)达成共识,都去乖乖积极挖矿(计算)。这就是比特币的共识机制:工作量证明(POW)。

随着区块链的发展,出现了多种共识机制,大体如下:

POW:工作量证明。如上述分析,通过评估工作量来决定获得记账权的机率,工作量越大,就越有可能获得此次记账机会,作为奖励,记账者也将获得一定数量的币。优点:算法简单、破坏系统需要极大成本。缺点:不停计算耗电量大导致浪费能源、达成共识时间长。采用该机制挖矿的数字货币有:BTC、LTC、ETC、早期的ETH、XMR等。

POS:权益证明。将POW中的算力改成了权益,拥有代币多的人,权益大,而拥有权益越大,成为下一个记账人的可能越大。优点:不浪费能源、缩短了达成共识的时间。缺点:持币越多,收获越多,成为有钱人的游戏,容易出现硬分叉。采用该机制挖矿的数字货币有:ETH。

DPOS:委任权益证明。与POS原理相同,类似董事会投票,只是选了一些“董事代表”。 DPOS又称为股份授权证明。持币者投出一定数量的节点 (董事)。代表按照既定时间表,轮流产生区块,如果代表没能很好的行使权力(比如产生区块),他们会被除名,网络会选出新的超级节点来取代他们。所有的代表将收到平均水平区块所含交易费的10%作为报酬。优点:效率高,达到秒级共识验证。缺点:依赖代币、并且只是得民心者的天下,不适合完全去中心化的场景。采用该机制挖矿的数字货币有:EOS、BTS等。

每种共识机制都是为了解决特定问题,各有利弊并不完美,但是都是为了区块链的繁荣在不停的进步。以上就是对于共识机制的介绍,欢迎大家评论转发,如果对你有所帮助不胜荣幸。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181107A1PO7L00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券
http://www.vxiaotou.com