麻豆国内精品欧美在线-麻豆国内精品久久久久久-麻豆国产在线观看一区二区-麻豆国产在线观看免费-麻豆国产原创-麻豆国产一区二区在线观看

WF曲速未來|區(qū)塊鏈技術(shù)六大核心算法之拜占庭協(xié)定區(qū)塊鏈

區(qū)塊鏈安全檔案 2018-08-13 20:25
分享到:
導(dǎo)讀

WF曲速區(qū):近日,在加密貨幣經(jīng)歷“混亂時(shí)期”后,區(qū)塊鏈再次火爆起來,受到了各方的極大關(guān)注與重視,成為資本市場(chǎng)和各領(lǐng)域關(guān)注的焦點(diǎn),就連朋友圈中的探討和分享也讓人目不暇接。

WF曲速區(qū):近日,在加密貨幣經(jīng)歷“混亂時(shí)期”后,區(qū)塊鏈再次火爆起來,受到了各方的極大關(guān)注與重視,成為資本市場(chǎng)和各領(lǐng)域關(guān)注的焦點(diǎn),就連朋友圈中的探討和分享也讓人目不暇接。

區(qū)塊鏈核心算法一:拜占庭協(xié)定

超級(jí)賬本PBFT是Practical Byzantine Fault Tolerance的縮寫,意為實(shí)用拜占庭容錯(cuò)算法。該算法是Miguel Castro (卡斯特羅)和Barbara Liskov(利斯科夫)在1999年提出來的,解決了原始拜占庭容錯(cuò)算法效率不高的問題,將算法復(fù)雜度由指數(shù)級(jí)降低到多項(xiàng)式級(jí),使得拜占庭容錯(cuò)算法在實(shí)際系統(tǒng)應(yīng)用中變得可行。該論文發(fā)表在1999年的操作系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)國(guó)際會(huì)議上(OSDI99)。沒錯(cuò),這個(gè)Loskov就是提出著名的里氏替換原則(LSP)的人,2008年圖靈獎(jiǎng)得主。

拜占庭的故事大概是這么說的:拜占庭帝國(guó)擁有巨大的財(cái)富,周圍10個(gè)鄰邦垂誕已久,但拜占庭高墻聳立,固若金湯,沒有一個(gè)單獨(dú)的鄰邦能夠成功入侵。任何單個(gè)鄰邦入侵的都會(huì)失敗,同時(shí)也有可能自身被其他9個(gè)鄰邦入侵。拜占庭帝國(guó)防御能力如此之強(qiáng),至少要有十個(gè)鄰邦中的一半以上同時(shí)進(jìn)攻,才有可能攻破。然而,如果其中的一個(gè)或者幾個(gè)鄰邦本身答應(yīng)好一起進(jìn)攻,但實(shí)際過程出現(xiàn)背叛,那么入侵者可能都會(huì)被殲滅。于是每一方都小心行事,不敢輕易相信鄰國(guó)。這就是拜占庭將軍問題。

就上面的問題:拜占庭的n個(gè)將軍圍攻一個(gè)敵人,n個(gè)將軍包圍著這個(gè)敵人,所以他們是在不同的地方。忠誠(chéng)的將軍希望通過某種協(xié)議達(dá)成某個(gè)命令的一致(比如約定某個(gè)時(shí)間一起進(jìn)攻)。但其中一些背叛的將軍會(huì)通過發(fā)送錯(cuò)誤的消息阻撓忠誠(chéng)的將軍達(dá)成命令上的一致。如果同時(shí)發(fā)起進(jìn)攻的將軍數(shù)量少于m個(gè),那么不足以殲滅敵人反而容易被敵人全部殲滅。怎樣做才能保證有多于m個(gè)將軍在同一時(shí)間一起發(fā)起進(jìn)攻?

“拜占庭將軍問題”模型中,對(duì)于將軍們(節(jié)點(diǎn))有兩個(gè)默認(rèn)的假設(shè): 

1.所有忠誠(chéng)的將軍收到相同的命令后,執(zhí)行這條命令得到的結(jié)果一定是相同的;

2.如果命令是正確的,那么所有忠誠(chéng)的將軍必須執(zhí)行這條命令。

假設(shè)2的含義是:忠誠(chéng)的將軍需要判斷接收到的命令是不是正確的。這個(gè)判斷命令的方法是整個(gè)拜占庭容錯(cuò)技術(shù)的核心。

對(duì)于將軍們的通信過程,在“拜占庭將軍問題”中也是有默認(rèn)假設(shè)的:點(diǎn)對(duì)點(diǎn)通信是沒問題的。也就是說,在這里,我們假設(shè)A將軍要給B將軍一條命令X,那么派出去的傳令兵一定會(huì)準(zhǔn)確的把命令X傳遞給B將軍。

在這個(gè)分布式網(wǎng)絡(luò)里:每個(gè)將軍都有一份實(shí)時(shí)與其他將軍同步的消息賬本。賬本里有每個(gè)將軍的簽名都是可以驗(yàn)證身份的。如果有哪些消息不一致,可以知道消息不一致的是哪些將軍。盡管有消息不一致的,只要超過半數(shù)同意進(jìn)攻,少數(shù)服從多數(shù),共識(shí)達(dá)成。

有了上述假設(shè),我們來看看將軍們面臨的核心問題是什么。

拜占庭帝國(guó)的幾支軍隊(duì)攻打到了敵人的城市外面,然后分開駐扎。每一支軍隊(duì)由一位拜占庭將軍(Byzantine general)率領(lǐng)。為了制定出一個(gè)統(tǒng)一的作戰(zhàn)計(jì)劃,每一位將軍需要通過信差(messenger)與其它將軍互通消息。但是,在拜占庭將軍之間可能出現(xiàn)了叛徒(traitor)。這些叛徒將軍的目的是阻撓其他忠誠(chéng)的將軍(loyal generals)達(dá)成一致的作戰(zhàn)計(jì)劃。為了這一目的,他們可能做任何事,比如串通起來,故意傳出虛假消息,或者不傳出任何消息。

我們考慮4個(gè)將軍的情況,同時(shí)假設(shè)4個(gè)將軍中最多只有1個(gè)背叛者。當(dāng)4個(gè)將軍A、B、C、D把敵人包圍了之后,必須協(xié)商一個(gè)統(tǒng)一的時(shí)間去發(fā)起進(jìn)攻。這時(shí),A將軍派出了3個(gè)傳令兵,分別告訴B、C、D將軍,下午1點(diǎn)準(zhǔn)時(shí)發(fā)起進(jìn)攻。到了下午1點(diǎn),A、C、D三個(gè)將軍發(fā)起了進(jìn)攻,殲滅了敵人,同時(shí)他們?nèi)齻€(gè)發(fā)現(xiàn)B是背叛的。雖然B背叛了,但是對(duì)最終任務(wù)沒有影響。

但如果A是背叛的,會(huì)發(fā)生什么情況?A派出3個(gè)傳令兵,分別告訴B、C、D將軍在下午1點(diǎn)、2點(diǎn)、3點(diǎn)發(fā)起進(jìn)攻。于是,到了下午1點(diǎn),B將軍去攻擊敵人,由于寡不敵眾,全軍覆沒;2點(diǎn),C將軍全軍覆沒;3點(diǎn),D將軍全軍覆沒。

因?yàn)閷?duì)于忠誠(chéng)的將軍來說,他不知道誰是背叛者,所以,他不能完全相信接收到的命令,他必須對(duì)命令做出判斷。在1999年,著名的PBFT算法出現(xiàn)了。這個(gè)算法說起來也不難理解,他的核心思想是:對(duì)于每一個(gè)收到命令的將軍,都要去詢問其他人,他們收到的命令是什么。

回到剛才的第二種情況(A是背叛者),A派出3個(gè)傳令兵,分別告訴B、C、D將軍在下午1點(diǎn)、2點(diǎn)、3點(diǎn)發(fā)起進(jìn)攻。B將軍派出傳令兵去告訴C和D兩位將軍,B收到的命令是下午1點(diǎn)進(jìn)攻。C也同樣派出了傳令兵分別告訴B和D兩位將軍,C收到的命令是下午2點(diǎn)進(jìn)攻。D也同樣告訴B和C兩位將軍,D收到的命令是下午3點(diǎn)進(jìn)攻。于是,B得到了3條指令:A命令B下午1點(diǎn)進(jìn)攻,A命令C下午2點(diǎn)進(jìn)攻,A命令D下午3點(diǎn)進(jìn)攻。B很容易判斷出來,A是背叛者(因?yàn)锽知道最多只有一個(gè)背叛者)。C和D也能做出同樣的判斷。因此這次進(jìn)攻時(shí)間的協(xié)商是無效的。

采用了這種辦法以后,另一種情況又會(huì)怎樣?當(dāng)B是背叛者,A將軍派出了3個(gè)傳令兵,分別告訴B、C、D將軍,下午1點(diǎn)準(zhǔn)時(shí)發(fā)起進(jìn)攻。B告訴C說B收到的命令是下午2點(diǎn),B告訴D說收到的命令是下午2點(diǎn),C和D分別告訴另外2個(gè)將軍,A告訴他們的命令是下午1點(diǎn)。

于是,C、D收到的消息都是兩個(gè)1點(diǎn),一個(gè)2點(diǎn)。對(duì)于C、D而言,不需要判斷是A和B誰是背叛者——他們只需要執(zhí)行收到多的那個(gè)命令就可以了。

如果A是忠誠(chéng)的,那么B是背叛的,這種情況下對(duì)于A來說,他知道自己是忠誠(chéng)的,他發(fā)出的命令,至少有2個(gè)將軍會(huì)執(zhí)行,所以下午1點(diǎn),A、C、D三個(gè)將軍一起去進(jìn)攻,有3個(gè)將軍一起發(fā)起攻擊,敵人被殲滅了。如果B是忠誠(chéng)的,那么B會(huì)收到兩個(gè)1點(diǎn)一個(gè)2點(diǎn),B也會(huì)執(zhí)行收到多的命令,于是B、C、D三個(gè)將軍一起去進(jìn)攻,有3個(gè)將軍一起發(fā)起攻擊,敵人被殲滅了。不管怎樣,按照這種方式執(zhí)行,結(jié)果是沒問題的。

據(jù)區(qū)塊鏈安全社區(qū)WF曲速區(qū) 表示:由此,在一個(gè)分布式的系統(tǒng)中,盡管有壞人,壞人可以做任意事情(不受protocol限制),比如不響應(yīng)、發(fā)送錯(cuò)誤信息、對(duì)不同節(jié)點(diǎn)發(fā)送不同決定、不同錯(cuò)誤節(jié)點(diǎn)聯(lián)合起來干壞事等等。但是,只要大多數(shù)人是好人,就完全有可能去中心化地實(shí)現(xiàn)共識(shí)。

注: 本文內(nèi)容由區(qū)塊鏈安全公司W(wǎng)F曲速未來(WarpFuture.com)  編譯,轉(zhuǎn)載請(qǐng)注明來自WF曲速區(qū)。WF是交易所與超級(jí)節(jié)點(diǎn)的安全技術(shù)提供商,為區(qū)塊鏈交易所提供媲美某貓雙十一級(jí)別的賬戶安全與交易安全對(duì)抗云引擎,現(xiàn)交易所每日安全攻防調(diào)用量達(dá)億級(jí)。

將軍 拜占庭 命令 進(jìn)攻 敵人
分享到:

1.TMT觀察網(wǎng)遵循行業(yè)規(guī)范,任何轉(zhuǎn)載的稿件都會(huì)明確標(biāo)注作者和來源;
2.TMT觀察網(wǎng)的原創(chuàng)文章,請(qǐng)轉(zhuǎn)載時(shí)務(wù)必注明文章作者和"來源:TMT觀察網(wǎng)",不尊重原創(chuàng)的行為TMT觀察網(wǎng)或?qū)⒆肪控?zé)任;
3.作者投稿可能會(huì)經(jīng)TMT觀察網(wǎng)編輯修改或補(bǔ)充。


專題報(bào)道

主站蜘蛛池模板: 丝袜美女被艹 | 初尝黑人巨大h文 | yin娃sao货调教情趣用品店 | 日本不卡高清免费v日本 | 日本动漫啪啪动画片mv | 好硬好大好浪夹得好紧h | 亚洲成色| 国产91精品在线观看 | 色交视频| 公交车强校花系列小说 | 99久久精品免费看国产四区 | 国产亚洲99影院 | 天天色一色 | 国产美女做爰免费视频软件 | 国产精品3p视频 | 高清一级做a爱免费视 | 亚洲精品www久久久久久久软件 | 肥胖女人一级毛片 | 亚洲网站在线播放 | 动漫美女被羞羞产奶 | 亚洲风情无码免费视频 | 国产成人免费在线观看 | 女同色图 | 国产成人精品曰本亚洲78 | 欧美精品一区二区三区免费 | 1024国产基地永久免费 | 美女林柏欣21p人体之仓之梦 | 日本午夜大片免费观看视频 | 波多野结衣同性系列698 | 国产99视频精品免费视频免里 | 国内自拍网红在线综合 | 日本人成年视频在线观看 | 精品国产91久久久久久久 | 日日干影院| 成人免费体验区福利云点播 | 日日舔| 四虎国产成人亚洲精品 | 青草久久精品亚洲综合专区 | 丝袜老师好湿好紧我要进去了 | 免费刷10000名片赞网站 | 91热国产|