區(qū)塊鏈之拜占庭將軍

拜占庭藝術(shù)

拜占庭將軍問(wèn)題是什么問(wèn)題?

拜占庭將軍問(wèn)題(Byzantine failures)趾徽,是由萊斯利·蘭伯特提出的點(diǎn)對(duì)點(diǎn)通信中的基本問(wèn)題侧巨。含義是在存在消息丟失的不可靠信道上試圖通過(guò)消息傳遞的方式達(dá)到一致性是不可能的沃缘。因此對(duì)一致性的研究一般假設(shè)信道是可靠的躯枢,或不存在本問(wèn)題。

只有了解歷史槐臀,才能感知未來(lái)

拜占庭位于如今的土耳其的伊思彈布爾锄蹂,是東羅馬帝國(guó)的首都。由于當(dāng)時(shí)拜占庭羅馬帝國(guó)國(guó)土遼闊水慨,為了防御目的得糜,因此每個(gè)軍隊(duì)都分隔很遠(yuǎn),將軍與將軍之間只能靠信差傳消息晰洒。在戰(zhàn)爭(zhēng)的時(shí)候朝抖,拜占庭軍隊(duì)內(nèi)所有將軍和副官必需達(dá)成一致的共識(shí),決定是否有贏的機(jī)會(huì)才去攻打敵人的陣營(yíng)欢顷。但是,在軍隊(duì)內(nèi)有可能存有叛徒和敵軍的間諜捉蚤,左右將軍們的決定又?jǐn)_亂整體軍隊(duì)的秩序抬驴。在進(jìn)行共識(shí)時(shí),結(jié)果并不代表大多數(shù)人的意見(jiàn)缆巧。這時(shí)候布持,在已知有成員謀反的情況下,其余忠誠(chéng)的將軍在不受叛徒的影響下如何達(dá)成一致的協(xié)議陕悬,拜占庭問(wèn)題就此形成题暖。

拜占庭將軍問(wèn)題是一個(gè)協(xié)議問(wèn)題

拜占庭帝國(guó)軍隊(duì)的將軍們必須全體一致的決定是否攻擊某一支敵軍。問(wèn)題是這些將軍在地理上是分隔開來(lái)的,并且將軍中存在叛徒胧卤。叛徒可以任意行動(dòng)以達(dá)到以下目標(biāo):欺騙某些將軍采取進(jìn)攻行動(dòng)唯绍;促成一個(gè)不是所有將軍都同意的決定,如當(dāng)將軍們不希望進(jìn)攻時(shí)促成進(jìn)攻行動(dòng)枝誊;或者迷惑某些將軍况芒,使他們無(wú)法做出決定。如果叛徒達(dá)到了這些目的之一叶撒,則任何攻擊行動(dòng)的結(jié)果都是注定要失敗的绝骚,只有完全達(dá)成一致的努力才能獲得勝利。

拜占庭假設(shè)是對(duì)現(xiàn)實(shí)世界的模型化祠够,由于硬件錯(cuò)誤压汪、網(wǎng)絡(luò)擁堵或斷開以及遭到惡意攻擊,計(jì)算機(jī)和網(wǎng)絡(luò)可能出現(xiàn)不可預(yù)料的行為古瓤。拜占庭容錯(cuò)協(xié)議必須處理這些失效止剖,并且這些協(xié)議還要滿足所要解決的問(wèn)題要求的規(guī)范。這些算法通常以其彈性t作為特征湿滓,t表示算法可以應(yīng)付的錯(cuò)誤進(jìn)程數(shù)滴须。

很多經(jīng)典算法問(wèn)題只有在n ≥ 3f+1時(shí)才有解,如拜占庭將軍問(wèn)題叽奥,其中n是系統(tǒng)中進(jìn)程的總數(shù)扔水。

所謂拜占庭失效指一方向另一方發(fā)送消息,另一方?jīng)]有收到朝氓,或者收到了錯(cuò)誤的信息的情形魔市。

在容錯(cuò)的分布式計(jì)算中,拜占庭失效可以是分布式系統(tǒng)中算法執(zhí)行過(guò)程中的任意一個(gè)錯(cuò)誤赵哲。這些錯(cuò)誤被統(tǒng)稱為“崩潰失效”和“發(fā)送與遺漏式失效”待德。當(dāng)拜占庭失效發(fā)生時(shí),系統(tǒng)可能會(huì)做出任何不可預(yù)料的反應(yīng)枫夺。

這些任意的失效可以粗略地分成以下幾類:

進(jìn)行算法的另一步時(shí)失效将宪,即崩潰失效;

無(wú)法正確執(zhí)行算法的一個(gè)步驟橡庞;

執(zhí)行了任意一個(gè)非算法指定的步驟较坛;

各個(gè)步驟由各進(jìn)程執(zhí)行,算法就是由這些進(jìn)程執(zhí)行的扒最。一個(gè)錯(cuò)誤的進(jìn)程是在某個(gè)點(diǎn)出現(xiàn)了上述情況的進(jìn)程丑勤。沒(méi)有出現(xiàn)錯(cuò)誤的進(jìn)程是正確的進(jìn)程。


區(qū)塊鏈之PBFT共識(shí)算法


PBFT拜占庭容錯(cuò)算法:這是一種基于消息傳遞的一致性算法吧趣,算法經(jīng)過(guò)三個(gè)階段達(dá)成一致性法竞,這些階段可能因?yàn)槭《貜?fù)進(jìn)行耙厚。

預(yù)準(zhǔn)備(pre-prepare)、準(zhǔn)備(prepare)和確認(rèn)(commit)岔霸。流程如下圖所示:


拜占庭共識(shí)算法

其中C為發(fā)送請(qǐng)求端薛躬,0123為服務(wù)端,3為宕機(jī)的服務(wù)端秉剑,具體步驟如下:

1. Request:請(qǐng)求端C發(fā)送請(qǐng)求到任意一節(jié)點(diǎn)泛豪,這里是0

2. Pre-Prepare:服務(wù)端0收到C的請(qǐng)求后進(jìn)行廣播,擴(kuò)散至123

3. Prepare:123,收到后記錄并再次廣播侦鹏,1->023诡曙,2->013,3因?yàn)殄礄C(jī)無(wú)法廣播

4. Commit:0123節(jié)點(diǎn)在Prepare階段略水,若收到超過(guò)一定數(shù)量的相同請(qǐng)求价卤,則進(jìn)入Commit階段,廣播Commit請(qǐng)求

5.Reply:0123節(jié)點(diǎn)在Commit階段渊涝,若收到超過(guò)一定數(shù)量的相同請(qǐng)求慎璧,則對(duì)C進(jìn)行反饋

經(jīng)典算法參考:

在 N ≥ 3F + 1 的情況下一致性是可能解決,N為總計(jì)算機(jī)數(shù)跨释,F(xiàn)為有問(wèn)題的計(jì)算機(jī)總數(shù).

假設(shè)節(jié)點(diǎn)總數(shù)為3f+1胸私,f為拜贊庭錯(cuò)誤節(jié)點(diǎn):

1、當(dāng)節(jié)點(diǎn)發(fā)現(xiàn)leader作惡時(shí)鳖谈,通過(guò)算法選舉其他的replica為leader岁疼。

2、leader通過(guò)pre-prepare消息把它選擇的 value廣播給其他replica節(jié)點(diǎn)缆娃,其他的replica節(jié)點(diǎn)如果接受則發(fā)送 prepare捷绒,如果失敗則不發(fā)送。

3贯要、一旦2f個(gè)節(jié)點(diǎn)接受prepare消息暖侨,則節(jié)點(diǎn)發(fā)送commit消息。

4崇渗、當(dāng)2f+1個(gè)節(jié)點(diǎn)接受commit消息后字逗,代表該value值被確定

如下圖表示了4個(gè)節(jié)點(diǎn),0為leader宅广,同時(shí)節(jié)點(diǎn)3為fault節(jié)點(diǎn)葫掉,該節(jié)點(diǎn)不響應(yīng)和發(fā)出任何消息。最終節(jié)點(diǎn)狀態(tài)達(dá)到commited時(shí)乘碑,表示該輪共識(shí)成功達(dá)成挖息。

PBFT共識(shí)算法也一樣都脫離不了幣的存在金拒,系統(tǒng)的正常運(yùn)轉(zhuǎn)必須有幣的獎(jiǎng)勵(lì)機(jī)制兽肤,系統(tǒng)的安全性實(shí)際上是由系統(tǒng)幣的持有者維護(hù)保證套腹。當(dāng)我們區(qū)塊鏈系統(tǒng)實(shí)際運(yùn)用到商業(yè)應(yīng)用時(shí),由其承載的資產(chǎn)價(jià)值可能遠(yuǎn)遠(yuǎn)超出系統(tǒng)發(fā)行的幣的價(jià)值资铡,如果由幣的持有者保證系統(tǒng)的安全及穩(wěn)定性將是不可靠的电禀。

1)系統(tǒng)運(yùn)轉(zhuǎn)可以脫離幣的存在,pbft算法共識(shí)各節(jié)點(diǎn)由業(yè)務(wù)的參與方或者監(jiān)管方組成笤休,安全性與穩(wěn)定性由業(yè)務(wù)相關(guān)方保證尖飞。

2)共識(shí)的時(shí)延大約在2~5秒鐘,基本達(dá)到商用實(shí)時(shí)處理的要求店雅。

3)共識(shí)效率高政基,可滿足高頻交易量的需求。

目前使用該技術(shù)的區(qū)塊鏈項(xiàng)目:zilliqa, 據(jù)說(shuō)是EOS的強(qiáng)勁死敵闹啦。


2018.1.27?

lola

心痛小姐姐的辛苦匯總的幣豪們沮明,小姐姐接受eos,eth,btc以及各種幣幣打賞

謝謝比豪和未來(lái)的幣豪們:

幣幣打賞地址:

BTC地址:

1PibSCEynK44Q9ef5b5WYurEb5y9dCd79y

ETH地址:

0xe9aab08d1e11b49648c768e1351879e53270c5f2

EOS地址:

0xe9aab08d1e11b49648c768e1351879e53270c5f2

如果有賞其他幣幣的,可以呼喚我哦窍奋,姐姐什么幣都不嫌棄荐健。呵呵

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市琳袄,隨后出現(xiàn)的幾起案子江场,更是在濱河造成了極大的恐慌,老刑警劉巖窖逗,帶你破解...
    沈念sama閱讀 211,639評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件址否,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡滑负,警方通過(guò)查閱死者的電腦和手機(jī)在张,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)矮慕,“玉大人帮匾,你說(shuō)我怎么就攤上這事〕睁” “怎么了瘟斜?”我有些...
    開封第一講書人閱讀 157,221評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)痪寻。 經(jīng)常有香客問(wèn)我螺句,道長(zhǎng),這世上最難降的妖魔是什么橡类? 我笑而不...
    開封第一講書人閱讀 56,474評(píng)論 1 283
  • 正文 為了忘掉前任蛇尚,我火速辦了婚禮,結(jié)果婚禮上顾画,老公的妹妹穿的比我還像新娘取劫。我一直安慰自己匆笤,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,570評(píng)論 6 386
  • 文/花漫 我一把揭開白布谱邪。 她就那樣靜靜地躺著炮捧,像睡著了一般。 火紅的嫁衣襯著肌膚如雪惦银。 梳的紋絲不亂的頭發(fā)上咆课,一...
    開封第一講書人閱讀 49,816評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音扯俱,去河邊找鬼书蚪。 笑死,一個(gè)胖子當(dāng)著我的面吹牛迅栅,可吹牛的內(nèi)容都是我干的善炫。 我是一名探鬼主播,決...
    沈念sama閱讀 38,957評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼库继,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼箩艺!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起宪萄,我...
    開封第一講書人閱讀 37,718評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤艺谆,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后拜英,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體静汤,經(jīng)...
    沈念sama閱讀 44,176評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,511評(píng)論 2 327
  • 正文 我和宋清朗相戀三年居凶,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了虫给。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,646評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡侠碧,死狀恐怖抹估,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情弄兜,我是刑警寧澤药蜻,帶...
    沈念sama閱讀 34,322評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站替饿,受9級(jí)特大地震影響语泽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜视卢,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,934評(píng)論 3 313
  • 文/蒙蒙 一踱卵、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧据过,春花似錦惋砂、人聲如沸蔬充。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至榨呆,卻和暖如春罗标,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背积蜻。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工闯割, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人竿拆。 一個(gè)月前我還...
    沈念sama閱讀 46,358評(píng)論 2 360
  • 正文 我出身青樓宙拉,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親丙笋。 傳聞我的和親對(duì)象是個(gè)殘疾皇子谢澈,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,514評(píng)論 2 348

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

  • 但凡關(guān)于區(qū)塊鏈或比特幣相關(guān)的書籍,就算是相關(guān)問(wèn)題深入探討都繞不開一個(gè)永恒的話題——拜占庭將軍問(wèn)題(TheByzan...
    葉先生的魚閱讀 2,580評(píng)論 -1 13
  • 夜雪照一方御板,印照云水間锥忿,水寒夜透寒。 雪舞同非怠肋,夜非非敬鬓。
    尋源達(dá)流閱讀 144評(píng)論 2 2
  • 元宵是個(gè)團(tuán)圓日,同時(shí)也少不了那有趣的猜燈謎啦笙各!今天钉答,明珠小學(xué)A區(qū)的小朋友們開始了有趣的猜燈謎活動(dòng)。 孩子們...
    工藤心玥閱讀 119評(píng)論 0 0
  • 國(guó)慶放假第一天杈抢,早上睡了個(gè)懶覺(jué)数尿,醒后不敢再刷手機(jī),否則時(shí)間很快就從指縫溜走了惶楼,因?yàn)槲乙驋咝l(wèi)生砌创,家里已經(jīng)臟得沒(méi)法看...
    明潔閱讀 438評(píng)論 0 0
  • 今天又接到大公司德邦的送貨電話:喂嫩实,你好!請(qǐng)問(wèn)是誰(shuí)誰(shuí)嗎窥岩? 答:是的甲献。 問(wèn):請(qǐng)問(wèn)下,你的貨是送到哪里颂翼? 答:上面不是...
    茁驍閱讀 339評(píng)論 0 1