建立共識當(dāng)然不是一個新的概念。共識在人類開始群體 生活之時便已存在。共識在日常生活中很常見,也是一種非常寶貴的東西。
從最基本的層面上說,共識只是一種讓一個多樣化團(tuán)體在不發(fā)生沖突的情況下作出決策的方法。
1.共識達(dá)成的條件
根據(jù)Edward Shils的“共識理念”,共識的達(dá)成 需以下三個條件:
團(tuán)體成員共同接受法律、規(guī)則和規(guī)范
團(tuán)體成員一致認(rèn)可實(shí)施這些法規(guī)的機(jī)構(gòu)
身份認(rèn)同或團(tuán)結(jié)意識,這樣團(tuán)體成員才會承認(rèn)他們就 達(dá)成的共識而言是平等的。
共識開始時作為社會運(yùn)作的一個概念,但如今已成為計(jì)算機(jī)科學(xué)的重要組成部分。
在分布式賬本中,共識機(jī)制是大部分(或全部)網(wǎng)絡(luò)成員就某條數(shù)據(jù)或擬定交易的價值達(dá)成一致,并就此對賬本進(jìn)行更新的機(jī)制。換言之,共識機(jī)制是在參與節(jié)點(diǎn)之間 管理一系列連貫事實(shí)的規(guī)則和程序。
2.共識機(jī)制如何運(yùn)作?不同共識機(jī)制中的參數(shù)會存在巨大差異,但是我們也找到一些參數(shù)。共識機(jī)制的基本決定參數(shù)如下:
去中心化治理:單一中央機(jī)構(gòu)不能提供交易不可改變性。
節(jié)點(diǎn)結(jié)構(gòu): 節(jié)點(diǎn)通過既定方式來交換信息,可分多個階段或 層級。
身份驗(yàn)證:此流程驗(yàn)證參與者的身份。
完整性:驗(yàn)證交易的完整性,如通過加密算法。
不可否認(rèn)性:驗(yàn)證假定發(fā)送者確實(shí)發(fā)送了信息。
協(xié)助確保只有既定接收人才能讀取信息。
容錯性:即使某些節(jié)點(diǎn)或服務(wù)器失效或運(yùn)行減慢,網(wǎng)絡(luò)仍能 高效、快速地運(yùn)行。
性能:包括吞吐量、實(shí)時性、可擴(kuò)展性和延遲。
共識算法允許關(guān)聯(lián)機(jī)器連接起來進(jìn)行工作,并在某些成 員失效的情況下,工作仍能正常進(jìn)行。這種容錯能力是 區(qū)塊鏈和分布式賬本的另一主要優(yōu)勢,并有內(nèi)置冗余余 量以作備用。
對于共識一個常見的課題是拜占庭將軍問題,目前常見的共識機(jī)制有實(shí)用拜占庭容 錯算法(PBFT)、工作量證明 (PoW)、股權(quán)證明(POS) 、股權(quán)委托證明(DPOS) 。
共識協(xié)議或共識平臺是分布式賬本技術(shù)的核心。 用以建立共識的算法多種多樣,并建基于性能、可擴(kuò)展性、一致性、數(shù)據(jù)容量、治理、安全性和失效冗余等方面的要求。
最后仍要說一句:共識是寶貴的。