區(qū)塊鏈的共識機(jī)制

1. 網(wǎng)絡(luò)上的交易信息如何確認(rèn)并達(dá)成共識砌烁??

雖然經(jīng)常提到共識機(jī)制,但是對于共識機(jī)制的含義和理解卻并清楚。因此需要就共識機(jī)制的相關(guān)概念原理和實現(xiàn)方法有所理解。?

區(qū)塊鏈的交易信息是通過網(wǎng)絡(luò)廣播傳輸?shù)骄W(wǎng)絡(luò)中各個節(jié)點的闸准,在整個網(wǎng)絡(luò)節(jié)點中如何對廣播的信息進(jìn)行確認(rèn)并達(dá)成共識 最終寫入?yún)^(qū)塊呢?? 如果沒有相應(yīng)的可靠安全的實現(xiàn)機(jī)制梢灭,那么就難以實現(xiàn)其基本的功能夷家,因此共識機(jī)制是整個網(wǎng)絡(luò)運行下去的一個關(guān)鍵。

共識機(jī)制解決了區(qū)塊鏈如何在分布式場景下達(dá)成一致性的問題敏释。區(qū)塊鏈能在眾多節(jié)點達(dá)到一種較為平衡的狀態(tài)也是因為共識機(jī)制库快。那么共識機(jī)制是如何在在去中心化的思想上解決了節(jié)點間互相信任的問題呢??

當(dāng)分布式的思想被提出來時颂暇,人們就開始根據(jù)FLP定理和CAP定理設(shè)計共識算法缺谴。規(guī)范的說但惶,理想的分布式系統(tǒng)的一致性應(yīng)該滿足以下三點:

1.可終止性(Termination):一致性的結(jié)果可在有限時間內(nèi)完成耳鸯。

2.共識性(Consensus):不同節(jié)點最終完成決策的結(jié)果應(yīng)該相同湿蛔。

3.合法性(Validity):決策的結(jié)果必須是其他進(jìn)程提出的提案。

但是在實際的計算機(jī)集群中县爬,可能會存在以下問題:

1.節(jié)點處理事務(wù)的能力不同阳啥,網(wǎng)絡(luò)節(jié)點數(shù)據(jù)的吞吐量有差異

2.節(jié)點間通訊的信道可能不安全

3.可能會有作惡節(jié)點出現(xiàn)

4.當(dāng)異步處理能力達(dá)到高度一致時,系統(tǒng)的可擴(kuò)展性就會變差(容不下新節(jié)點的加入)财喳。

科學(xué)家認(rèn)為察迟,在分布式場景下達(dá)成完全一致性是不可能的。但是工程學(xué)家可以犧牲一部分代價來換取分布式場景的一致性耳高,上述的兩大定理也是這種思想扎瓶,所以基于區(qū)塊鏈設(shè)計的各種公式機(jī)制都可以看作犧牲那一部分代價來換取多適合的一致性,我的想法是可以在這種思想上進(jìn)行一個靈活的變換泌枪,即在適當(dāng)?shù)臅r間空間犧牲一部分代價換取適應(yīng)于當(dāng)時場景的一致性概荷,可以實現(xiàn)靈活的區(qū)塊鏈系統(tǒng),即可插拔式的區(qū)塊鏈系統(tǒng)碌燕。今天就介紹一下我對各種共識機(jī)制的看法和分析误证,分布式系統(tǒng)中有無作惡節(jié)點分為拜占庭容錯和非拜占庭容錯機(jī)制。

FLP定理

FLP定理即FLP不可能性修壕,它證明了在分布式情景下愈捅,無論任何算法,即使是只有一個進(jìn)程掛掉慈鸠,對于其他非失敗進(jìn)程蓝谨,都存在著無法達(dá)成一致的可能。

FLP基于如下幾點假設(shè):

僅可修改一次 :?每個進(jìn)程初始時都記錄一個值(0或1)青团。進(jìn)程可以接收消息像棘、改動該值、并發(fā)送消息壶冒,當(dāng)進(jìn)程進(jìn)入decide state時缕题,其值就不再變化。所有非失敗進(jìn)程都進(jìn)入decided state時胖腾,協(xié)議成功結(jié)束烟零。這里放寬到有一部分進(jìn)程進(jìn)入decided state就算協(xié)議成功。

異步通信 :?與同步通信的最大區(qū)別是沒有時鐘咸作、不能時間同步锨阿、不能使用超時、不能探測失敗记罚、消息可任意延遲墅诡、消息可亂序。

通信健壯:只要進(jìn)程非失敗桐智,消息雖會被無限延遲末早,但最終會被送達(dá)烟馅;并且消息僅會被送達(dá)一次(無重復(fù))。

Fail-Stop模型:進(jìn)程失敗如同宕機(jī)然磷,不再處理任何消息郑趁。

失敗進(jìn)程數(shù)量 :最多一個進(jìn)程失敗。


CAP定理

CAP是分布式系統(tǒng)姿搜、特別是分布式存儲領(lǐng)域中被討論最多的理論寡润。CAP由Eric Brewer在2000年P(guān)ODC會議上提出,是Eric Brewer在Inktomi期間研發(fā)搜索引擎舅柜、分布式web緩存時得出的關(guān)于數(shù)據(jù)一致性(consistency)梭纹、服務(wù)可用性(availability)、分區(qū)容錯性(partition-tolerance)的猜想:

數(shù)據(jù)一致性(consistency):如果系統(tǒng)對一個寫操作返回成功致份,那么之后的讀請求都必須讀到這個新數(shù)據(jù)栗柒;如果返回失敗,那么所有讀操作都不能讀到這個數(shù)據(jù)知举,對調(diào)用者而言數(shù)據(jù)具有強(qiáng)一致性(strong consistency) (又叫原子性 atomic瞬沦、線性一致性 linearizable consistency)[5]

服務(wù)可用性(availability):所有讀寫請求在一定時間內(nèi)得到響應(yīng),可終止雇锡、不會一直等待

分區(qū)容錯性(partition-tolerance):在網(wǎng)絡(luò)分區(qū)的情況下逛钻,被分隔的節(jié)點仍能正常對外服務(wù)

在某時刻如果滿足AP,分隔的節(jié)點同時對外服務(wù)但不能相互通信锰提,將導(dǎo)致狀態(tài)不一致曙痘,即不能滿足C;如果滿足CP立肘,網(wǎng)絡(luò)分區(qū)的情況下為達(dá)成C边坤,請求只能一直等待,即不滿足A谅年;如果要滿足CA茧痒,在一定時間內(nèi)要達(dá)到節(jié)點狀態(tài)一致,要求不能出現(xiàn)網(wǎng)絡(luò)分區(qū)融蹂,則不能滿足P旺订。

C、A超燃、P三者最多只能滿足其中兩個区拳,和FLP定理一樣,CAP定理也指示了一個不可達(dá)的結(jié)果(impossibility result)意乓。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末樱调,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌笆凌,老刑警劉巖圣猎,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異菩颖,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)为障,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進(jìn)店門晦闰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人鳍怨,你說我怎么就攤上這事呻右。” “怎么了鞋喇?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵声滥,是天一觀的道長。 經(jīng)常有香客問我侦香,道長落塑,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任罐韩,我火速辦了婚禮憾赁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘散吵。我一直安慰自己龙考,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布矾睦。 她就那樣靜靜地躺著晦款,像睡著了一般。 火紅的嫁衣襯著肌膚如雪枚冗。 梳的紋絲不亂的頭發(fā)上缓溅,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天,我揣著相機(jī)與錄音赁温,去河邊找鬼肛宋。 笑死,一個胖子當(dāng)著我的面吹牛束世,可吹牛的內(nèi)容都是我干的酝陈。 我是一名探鬼主播,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼毁涉,長吁一口氣:“原來是場噩夢啊……” “哼沉帮!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤穆壕,失蹤者是張志新(化名)和其女友劉穎待牵,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體喇勋,經(jīng)...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡缨该,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了川背。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片贰拿。...
    茶點故事閱讀 39,727評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖熄云,靈堂內(nèi)的尸體忽然破棺而出膨更,到底是詐尸還是另有隱情,我是刑警寧澤缴允,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布荚守,位于F島的核電站,受9級特大地震影響练般,放射性物質(zhì)發(fā)生泄漏矗漾。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一薄料、第九天 我趴在偏房一處隱蔽的房頂上張望缩功。 院中可真熱鬧,春花似錦都办、人聲如沸嫡锌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽势木。三九已至,卻和暖如春歌懒,著一層夾襖步出監(jiān)牢的瞬間啦桌,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工及皂, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留甫男,地道東北人。 一個月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓验烧,卻偏偏與公主長得像板驳,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子碍拆,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,619評論 2 354

推薦閱讀更多精彩內(nèi)容