日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

学习区块链,绕不过去的“拜占庭将军问题”!!这里正好有通俗易懂的解释

發(fā)布時間:2025/1/21 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 学习区块链,绕不过去的“拜占庭将军问题”!!这里正好有通俗易懂的解释 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

“拜占庭將軍問題”維基百科:

拜占庭將軍問題(Byzantine Generals Problem),是由萊斯利·蘭波特在其同名論文中提出的分布式對等網(wǎng)絡(luò)通信容錯問題。在分布式計算中,不同的計算機通過通訊交換信息達成共識而按照同一套協(xié)作策略行動。但有時候,系統(tǒng)中的成員計算機可能出錯而發(fā)送錯誤的信息,用于傳遞信息的通訊網(wǎng)絡(luò)也可能導(dǎo)致信息損壞,使得網(wǎng)絡(luò)中不同的成員關(guān)于全體協(xié)作的策略得出不同結(jié)論,從而破壞系統(tǒng)一致性。拜占庭將軍問題被認為是容錯性問題中最難的問題類型之一。

?

1-THE FIRST STORY-

第一個拜占庭將軍問題的故事

?

咱們由《哆啦A夢》動畫片開始吧,故事輕松,涉及到的人物角色少,主要是哆啦A夢 / 大熊 / 靜香 / 小夫 / 胖虎,這五個小伙伴。

胖虎體胖腰圓,常常喜歡欺負弱小同學(xué),但他也很怕事,遇到強大的對手立刻就慫。某一天,常常遭到胖虎欺負的其他四個小伙伴,哆啦A夢/大熊/靜香/小夫開了一次小型的會議,決定聯(lián)合起來去找胖虎談判(下圖,他們戰(zhàn)斗值聯(lián)合起來可以讓胖虎服軟)。他們偷偷的給胖虎扔了一張小紙條,氣勢洶洶的約胖虎放學(xué)后小區(qū)小廣場見。

下課鈴響起,胖虎悠哉悠哉的走去小廣場,其他四位小伙伴計劃先各自回家,放下書包,火速去廣場集合。剛到家,大熊扔下書包打算去廣場,可是突然哆啦A夢說了一句話:小夫那么怕事,萬一他不去怎么辦?這時,大熊遲疑了,他想,對啊,靜香又是個女孩子,萬一也不想去,我們?nèi)チ藙荼匾慌只⒆嵋活D,我有點不想去了。于是哆啦A夢和大雄在家里躊躇著,靜香和小夫其實也在家里考慮著,都認為大熊膽小,也極可能不會去。就這樣,胖虎在小廣場上等了一小時也不見其他人。

這其實就是著名的拜占庭將軍問題,分析一下,它有幾個特點:1、敵人很強大(胖虎);2、作為弱者的幾個人實力均等(以上四個小伙伴);3、明確弱者聯(lián)合起來可以打敗強大的敵人;4、只要有一個弱者退出,合作勢必失敗。

首先明確并默念幾遍

拜占庭將軍問題的本質(zhì)

如何眾多完全平等的節(jié)點針對某一狀態(tài)達成共識

?

?


2 -THE SECOND STORY-

第二個拜占庭將軍問題的故事

古老的拜占庭帝國是一個強大的國家,他們常常進攻他國以擴大疆土。這次,他們打算攻打一個也很強大的國家多米諾,采取的戰(zhàn)略是兵分十路,包抄多米諾,這樣他們才會贏。他們按照地形,每支隊伍先駐扎下來做好準(zhǔn)備等待進攻時刻。這時問題出現(xiàn),十支部隊如今分開了,只要有一個或多個將軍是奸細或有將軍臨時反叛,到了約定的時間不沖鋒陷陣,那么戰(zhàn)爭就會失敗,損失也將極為慘重,只要多米諾國反攻甚至?xí)鰢?/p>

基于以上的問題,我們需要在行動時達成共識。互聯(lián)網(wǎng)上,每臺計算機都是一個個完全相等的節(jié)點,只能靠通信來協(xié)調(diào),沒有權(quán)威背書或信任,是一個急需解決的問題。

如果把十支部隊想象成互聯(lián)網(wǎng)上十個獨立平等的節(jié)點,想達成共識即拜占庭將軍問題。這個問題的提出時間是1982年,直到2009年,比特幣的出現(xiàn)才算解決了這一問題。

比特幣的工作機制,POW(proof of work)工作量證明。工作量證明系統(tǒng)主要特征是眾多參與節(jié)點需要做一定難度的工作得出一個結(jié)果,誰先得出立即全網(wǎng)廣播,其他節(jié)點很容易通過結(jié)果來檢查出之前節(jié)點是不是做了相應(yīng)的工作,一旦結(jié)果被證明正確,其他節(jié)點會把之前節(jié)點的結(jié)果添加到各自的賬單中,為爭取下一筆的交易記錄做好計算的準(zhǔn)備。

沿用比特幣的工作機制,將軍A在互聯(lián)網(wǎng)上先發(fā)布了一個消息“進攻”并附上了自己的簽名“將軍A” ,即【進攻 + 將軍A】(這則消息容易被其他將軍證實確實是將軍A發(fā)出的)。

如果消息發(fā)出去,卻沒有執(zhí)行的話,將軍A在拜占庭帝國會被認為是叛軍,他的族人都會被處死,他自己在整個社會也會混不下去。

將軍A的消息被其他節(jié)點收到,如果其他將軍也打算進攻,則在將軍A的消息后面跟上自己的信息,如:【進攻 + 將軍B】,以此類推。當(dāng)此類消息達到十個,他們必將堵上未來,一同發(fā)起進攻。

這時也會出現(xiàn)一種情況,將軍A發(fā)出消息后,可能會有兩個或多個將軍同時跟上“進攻+簽名”的消息,這時,各個節(jié)點會嚴格按照廣播的精確時間進行排序,確保一條鏈的完整性。

也有完全同時廣播出來的情況,這時就是“分叉”,出現(xiàn)一個分開的兩條鏈,之后,哪條鏈上添加的賬本多(共識多),哪條就成為主鏈,另一條分叉鏈就此中斷或被部分礦工認可繼續(xù)添加(如:以太坊和以太坊經(jīng)典)

之所以能夠達成統(tǒng)一的共識,認可這一賬本,最終是因為利益驅(qū)使。任何人都可以隨時加入比特幣這套系統(tǒng),讀取/更新/記錄賬本,只要解題的速度夠快且準(zhǔn)確,就可以爭取到比特幣作為獎勵(我們這里只用比特幣的工作機制舉例);相反,比特幣網(wǎng)絡(luò)中只有擁有超過51%的算力才能破壞網(wǎng)絡(luò)安全,如果惡搞的話,會浪費自己的大量資源,收益可能并不高于成本。



作者:動物園大亨丶
鏈接:https://www.jianshu.com/p/848d5db9ecb5
來源:簡書
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。

總結(jié)

以上是生活随笔為你收集整理的学习区块链,绕不过去的“拜占庭将军问题”!!这里正好有通俗易懂的解释的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。