区块链共识机制是什么?区块链为什么需要共识机制?首先让我们来查下新华词典,共识:指一个社会不同阶层、不同利益的人所寻求的共同认识、价值、理想。
在区块链里,共识的意思是参与者就某一区块链状态达成共同的认识。区块链为什么存在共识 ?为什么支付宝啊,网银啊,从来没听说过这个名词?
因为区块链是去中心化的,而支付宝是中心化的,支付宝的一切都是马云爸爸说了算,马云爸爸从来不需要和别人达成 共识 ,你爱玩不玩,没你说话的份。你不能跟马云爸爸说,我不同意支付这笔交易的余额,马云不理你的。
但区块链是去中心化的,所谓的去中心化的一个含义就是没有某一个人,或某一个机构处于权力领导地位,没有谁能一个人说了算。任何 决策 / 状态 / 改变等 都要大家参与者一起使用某种机制来达成相同的认识,这就是区块链的共识。
区块链共识层
区块链里的共识具体内容有哪些呢,有很多,比如对哪笔交易是否有效,需要达成共识。比如,有一个坏蛋,拿一个比特币,分别存在两台电脑上,然后同时发出去,一笔发给 A,一笔发给 B。这肯定不行啊,一笔币怎么能花两次,对吧,要不说他是坏蛋呢!
但到底是发给 A 的交易有效,还是发给 B 的交易有效呢 ? 这就需要以某种办法来让整个参与比特币的人达成相同的认识,你不能说有一部分人说 A 交易有效,另一部分说 B 交易有效。不然就乱套了。
这种针对交易的有效性达成共识是区块链最核心的功能之一。这几乎是所有区块链产品都要做到的 共识内容 。在比特币系统,本质上是一种交易顺序共识。就是哪笔交易最先被确认就有效的。
区块链共识的具体内容还有一个极端重要的是整个参与者需要对最新的高度区块达成共识。就比如如果有两个矿工同时挖出一个区块,哪谁的是有效的,谁的算是孤立块。就也需要某种机制让大家都接受最终的答案,不允许出现分歧。所有这些必须统一成共同认识的内容的集合被统称为 共识层 。
一种特定的区块链产品,除了 共识层 内容,还有大量的非 共识层 的内容。就是说这一部分内容,这条链的参与者是可以不用达成共同认识的。这就和美国的联邦制,所有州都有需要共识遵守的东西 联邦宪法,但每个州又都有自己独特的法律制度。联邦宪法就是 共识层 ,那些每个州可以独自立法和执法的部分就不属于共识层了。
对于比特币来说,钱包的 UI 界面肯定不属于共识层,你的钱包可以是绿色的,我的钱包是黄色的,我们没有必要就这些细枝末节达成共识。比特币的货币单位就不属于共识层,有的钱包可以使用 btc 作为单位,有的可以使用 bits 作为单位。
每一种币,都可能设计了不同的需要达成 共识 的具体内容,也就是具有不同的 共识层 。
区块链的共识机制
而如何实现这些共识的具体内容在参与者之间达成共同认识的方法,就叫作共识机制 。在很多文章和白皮书里, 共识机制又会被称为共识算法 。
所谓的 共识机制 ,就是一套方法论来让参与者能形成共同认识。比如在线下生活中,美国通过投票来选总统,整个投票选举的过程和方法论集合,就是一种共识机制,让整体美国人对谁来当总统达成一个共识。
比特币和其他区块链产品为了实现 共识层 的达成共识,都是有具体的方法论,并且编成了程序的。
其中比特币使用的办法叫 POW,我们汉语管它叫工作量证明机制。具体含义就是针对参与挖矿的人分别去完成一定的 工作量 ,谁完成了,那就听谁的,只要他完成了这些工作量,然后大家就听他的,大家都听他的,那当然就是达成了共识。
而 POS 也是一种共识机制,这种机制叫权益证明,就谁币多 ( 还要有一个时间的加权值 ) 就听谁的,也就是听币多的那个人的决策,来达成共识。这种机制相当于我们现行开公司的董事会里的股权投票制度,妈的,老子股票多,听我的。
当然这里讲的 就听谁的 是一个最简化的说法,还有其他一系列的方法来保证整套系统的稳定运行。但我们能理解这一层,就已经可以做到防止被大多数项目忽悠了。
类似的共识机制还有 DPOS,就是在 POS 的基础上再加一个限定条件 选举。有股票权的人是通过选举产生和更换的,而不是通过币多币少这一个维度来产生的。
一种新型的共识机制,使得去中心化的大范围高效协作成为可能。区块链技术的发展和迭代,将极大地促进各种自组织的产生。实际上,当大多数人在质疑区块链有没有价值,少数人只关注币价涨跌的时候,各种分布式自组织已在酝酿。