老K漫談區(qū)塊鏈的共識(3)- 分布式系統(tǒng)和區(qū)塊鏈共識

1. 啥是分布式系統(tǒng)

當(dāng)我們評價(jià)一個新的事物或者介紹一個新的技術(shù)的時(shí)候缎浇,我們不能架空歷史和環(huán)境港令,新的事物不可能脫離歷史和環(huán)境憑空誕生焰望。任何新的事物和新的技術(shù)總是或多或少的,與舊的事件以及過去的技術(shù)有所關(guān)聯(lián)曲秉,或是他們的衍生品采蚀。所以我們談到區(qū)塊鏈共識的時(shí)候,就需要從計(jì)算機(jī)專業(yè)中的分布式系統(tǒng)來講起承二,因?yàn)閰^(qū)塊鏈說來說去榆鼠,它也只是分布式系統(tǒng)中的一類而已。

分布式系統(tǒng)在計(jì)算機(jī)領(lǐng)域中定義為:組件分布在聯(lián)網(wǎng)的計(jì)算機(jī)上亥鸠,組件通過傳遞消息進(jìn)行通信和動作協(xié)調(diào)的系統(tǒng)妆够。這里的組件可以粗略的認(rèn)為就是一個軟件,或者某個軟件的可獨(dú)立運(yùn)行的一部分负蚊。這里面隱含的說明了分布式系統(tǒng)的三個特征:組件的并發(fā)行神妹,缺乏全局時(shí)鐘、組件故障的獨(dú)立性家妆。我們區(qū)塊鏈既然是一種分布式系統(tǒng)鸵荠,這三個特征也都是存在的。我們經(jīng)常說區(qū)塊鏈的系統(tǒng)中沒有一個同一的時(shí)間伤极,區(qū)塊鏈應(yīng)用無法獲得一個當(dāng)前的時(shí)間蛹找,這就是分布式系統(tǒng)的特征之一嵌赠,缺乏全局時(shí)鐘。

分布式系統(tǒng)幾乎無所不在熄赡,從信息領(lǐng)域來說,Google的服務(wù)器集群齿税,我們當(dāng)今的互聯(lián)網(wǎng)和移動互聯(lián)網(wǎng)彼硫,大型的多人在線游戲,銀行的金融交易系統(tǒng)以及我們的區(qū)塊鏈系統(tǒng)等等凌箕,無一例外都是分布式系統(tǒng)拧篮,現(xiàn)在還能找到不處于某個分布式系統(tǒng)的計(jì)算機(jī)么?很少牵舱!而我們身邊的生活場景中串绩,也是存在很多的分布式系統(tǒng),跨地理區(qū)域的全國投票選舉芜壁,地理分布的多個朋友協(xié)商聚會礁凡,一個蟻群中多個螞蟻相互通知食物的位置等等。

2. 啥是分布式系統(tǒng)的共識

分布式系統(tǒng)對外可以提供統(tǒng)一的服務(wù)慧妄。在這里顷牌,如果想讓分散在不同計(jì)算機(jī)的組件協(xié)調(diào)起來,我們需要有一個機(jī)制能夠協(xié)調(diào)這些組件塞淹,我們把這個機(jī)制叫做分布式系統(tǒng)的共識窟蓝,區(qū)塊鏈的共識是我們分布式系統(tǒng)共識的一種。

3. 關(guān)于分布式系統(tǒng)的分類

分布式系統(tǒng)中的概念非常多饱普,在這里面我們介紹和區(qū)塊鏈共識相關(guān)的兩組概念运挫。第一組概念是同步和異步,我們可以把分布式系統(tǒng)按照同步和異步分成兩類套耕。對于同步的分布式系統(tǒng)谁帕,我們描述為處于分布式系統(tǒng)的不同計(jì)算機(jī)之間通信,消息不丟失而且秒到冯袍,也就是說通信即快而可靠雇卷。而異步的分布式系統(tǒng)是通信不可靠,分布式系統(tǒng)中的不同計(jì)算機(jī)之間相互發(fā)送消息颠猴,消息有延遲而且也可能丟失关划。我們可以認(rèn)為我們的內(nèi)部局域網(wǎng)是一個同步系統(tǒng),大的互聯(lián)網(wǎng)是一個異步系統(tǒng)翘瓮,前者通信無延遲且可靠贮折,后者通信慢而且消息可能丟失。

第二組和區(qū)塊鏈共識相關(guān)的分布式系統(tǒng)概念是拜占庭容錯(BFT资盅,Byzantine Fault Tolerant)调榄,即可以容忍拜占庭錯誤(BF, Byzantine Fault)的分布式系統(tǒng)共識(即使存在拜占庭錯誤踊赠,分布式系統(tǒng)還可以正常工作),所謂的拜占庭錯誤每庆,即分布式系統(tǒng)中的計(jì)算機(jī)(節(jié)點(diǎn))不但有可能產(chǎn)生故障還有可能產(chǎn)生錯誤筐带。這里故障只是不響應(yīng)或者停機(jī),而錯誤是指計(jì)算機(jī)(節(jié)點(diǎn))有可能發(fā)送錯誤的消息缤灵。我們也可以理解為兩軍對戰(zhàn)伦籍,其中一方出現(xiàn)了叛徒,出現(xiàn)叛徒的一方的問題就定義為拜占庭錯誤腮出。所以我們可以從這個角度把分布式系統(tǒng)來分為:拜占庭容錯的分布式系統(tǒng)和非拜占庭容錯的分布式系統(tǒng)帖鸦。

我們從上面的兩組概念中可以把分布式系統(tǒng)劃分為以下四類:

分布式系統(tǒng)類型 同步 異步
拜占庭容錯 同步拜占庭容錯 異步拜占庭容錯
非拜占庭容錯 同步的非拜占庭容錯 異步的非拜占庭容錯

4. 回到正題:區(qū)塊鏈共識

如果我們想按照上面的分布式系統(tǒng)分類來劃分區(qū)塊鏈的話,我們可以把區(qū)塊鏈簡單的劃分為一種異步的拜占庭容錯的分布式系統(tǒng)胚嘲。為什么是拜占庭容錯的分布式系統(tǒng)作儿,是因?yàn)閰^(qū)塊鏈中是假設(shè)參與的計(jì)算機(jī)或者節(jié)點(diǎn)是有壞人的,它們會發(fā)錯誤消息和假消息馋劈,所以區(qū)塊鏈中是存在拜占庭錯誤的攻锰,可以推出區(qū)塊鏈?zhǔn)且粋€拜占庭容錯的分布式系統(tǒng)。當(dāng)然由于區(qū)塊鏈?zhǔn)欠植荚谖覀兊幕ヂ?lián)網(wǎng)上妓雾,按照上面的定義我們認(rèn)為互聯(lián)網(wǎng)是一個異步分布式系統(tǒng)口注,所以區(qū)塊鏈也是一個異步分布式系統(tǒng)。

5. 題外話:關(guān)于異步分布式系統(tǒng)的共識

關(guān)于異步式分布式系統(tǒng)的共識君珠,有這樣一個基礎(chǔ)的結(jié)論寝志,F(xiàn)LP不可能原理。是在1985年由Fischer, Lynch 和 Patterson三位計(jì)算機(jī)科學(xué)家策添,提出了一個FLP不可能原理:“在網(wǎng)絡(luò)可靠的前提下材部,任意節(jié)點(diǎn)失效,一個或者多個的最小化異步模型系統(tǒng)中唯竹,不可能存在一個解決一致性問題的確定性算法乐导。即如果存在任意節(jié)點(diǎn)失效的情況下,就無法完全保證分布式系統(tǒng)可以達(dá)到同步”浸颓。我們可以理解為認(rèn)為完全異步的分布式系統(tǒng)是無法達(dá)到共識的物臂。所以我們區(qū)塊鏈的共識機(jī)制或多或少的對異步式分布式系統(tǒng)加了一些限制條件,比如pBFT共識算法产上,它假設(shè)節(jié)點(diǎn)之間消息節(jié)點(diǎn)有延遲棵磷,但是在有限時(shí)間內(nèi)是可以達(dá)到的。所以我們區(qū)塊鏈為了達(dá)到共識晋涣,也是有一點(diǎn)限制條件的異步分布式系統(tǒng)仪媒。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市谢鹊,隨后出現(xiàn)的幾起案子算吩,更是在濱河造成了極大的恐慌留凭,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件偎巢,死亡現(xiàn)場離奇詭異蔼夜,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)压昼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進(jìn)店門求冷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人巢音,你說我怎么就攤上這事【〕” “怎么了官撼?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長似谁。 經(jīng)常有香客問我傲绣,道長,這世上最難降的妖魔是什么巩踏? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任秃诵,我火速辦了婚禮,結(jié)果婚禮上塞琼,老公的妹妹穿的比我還像新娘菠净。我一直安慰自己,他們只是感情好彪杉,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布毅往。 她就那樣靜靜地躺著,像睡著了一般派近。 火紅的嫁衣襯著肌膚如雪攀唯。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天渴丸,我揣著相機(jī)與錄音侯嘀,去河邊找鬼。 笑死谱轨,一個胖子當(dāng)著我的面吹牛戒幔,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播土童,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼溪食,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了娜扇?” 一聲冷哼從身側(cè)響起错沃,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤栅组,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后枢析,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體玉掸,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年醒叁,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了司浪。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡把沼,死狀恐怖啊易,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情饮睬,我是刑警寧澤租谈,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站捆愁,受9級特大地震影響割去,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜昼丑,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一呻逆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧菩帝,春花似錦咖城、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至控妻,卻和暖如春州袒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背弓候。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工郎哭, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人菇存。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓夸研,卻偏偏與公主長得像,于是被迫代替她去往敵國和親依鸥。 傳聞我的和親對象是個殘疾皇子亥至,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評論 2 359