當前位置:首頁 » 比特幣問答 » 比特幣解決拜占庭將軍問題

比特幣解決拜占庭將軍問題

發布時間: 2021-08-16 17:02:20

① 什麼叫拜占庭失效

拜占庭失效

來自Wikipedia,免費的網路全書

在容錯的分布式計算中,拜占庭失效可以是分布式系統中演算法執行過程中的任意一個錯誤。這些錯誤被統稱為「崩潰失效」和「發送與遺漏是實效」。當拜占庭失效發生時,系統可能會做出任何不可預料的反應。

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

進行演算法的另一步時失效,即崩潰失效;

無法正確執行演算法的一個步驟;

執行了任意一個非演算法指定的步驟

各個步驟由各進程執行,演算法就是由這些進程執行的。一個錯誤的進程是在某個點出現了上述情況的進程。沒有出現錯誤的進程是正確的進程。

參考Byzantine fault tolerance

拜占庭指拜占庭將軍問題,這是一個協議問題,拜占庭帝國軍隊的將軍們必須全體一致的決定是否攻擊某一支敵軍。問題是這些將軍在地理上是分隔開來的,並且將軍中存在叛徒。叛徒可以任意行動以達到以下目標:欺騙某些將軍採取進攻行動;促成一個不是所有將軍都同意的決定,如當將軍們不希望進攻時促成進攻行動;或者迷惑某些將軍,使他們無法做出決定。如果叛徒達到了這些目的之一,則任何攻擊行動的結果都是註定要失敗的,只有完全達成一致的努力才能獲得勝利。

拜占庭假設是對現實世界的模型化,由於硬體錯誤、網路擁塞或斷開以及遭到惡意攻擊,計算機和網路可能出現不可預料的行為。拜占庭容錯協議必須處理這些失效,並且這些協議還要滿足所要解決的問題要求的規范。這些演算法通常以其彈性t作為特徵,t表示演算法可以應付的錯誤進程數。

很多經典演算法問題只有在t<n/3是才有解,如拜占庭將軍問題,其中n是系統中進程的總數。

參考文獻
L. Lamport, R. Shostak, and M. Pease, The Byzantine Generals Problem, ACM Trans. Programming Languages and Systems, Vol. 4, No. 3, July 1982, pp. 382-401.
來源 "http://en.wikipedia.org/wiki/Byzantine_failure"

② 拜占庭將軍問題的將軍問題

拜占庭將軍問題是一個協議問題,拜占庭帝國軍隊的將軍們必須全體一致的決定是否攻擊某一支敵軍。問題是這些將軍在地理上是分隔開來的,並且將軍中存在叛徒。叛徒可以任意行動以達到以下目標:欺騙某些將軍採取進攻行動;促成一個不是所有將軍都同意的決定,如當將軍們不希望進攻時促成進攻行動;或者迷惑某些將軍,使他們無法做出決定。如果叛徒達到了這些目的之一,則任何攻擊行動的結果都是註定要失敗的,只有完全達成一致的努力才能獲得勝利。
拜占庭假設是對現實世界的模型化,由於硬體錯誤、網路擁塞或斷開以及遭到惡意攻擊,計算機和網路可能出現不可預料的行為。拜占庭容錯協議必須處理這些失效,並且這些協議還要滿足所要解決的問題要求的規范。這些演算法通常以其彈性t作為特徵,t表示演算法可以應付的錯誤進程數。
很多經典演算法問題只有在t<n/3時才有解,如拜占庭將軍問題,其中n是系統中進程的總數。

③ 拜占庭將軍問題的失效

所謂拜占庭失效指一方向另一方發送消息,另一方沒有收到,發送方也無法確認消息確實丟失的情形。
在容錯的分布式計算中,拜占庭失效可以是分布式系統中演算法執行過程中的任意一個錯誤。這些錯誤被統稱為「崩潰失效」和「發送與遺漏式失效」。當拜占庭失效發生時,系統可能會做出任何不可預料的反應。
這些任意的失效可以粗略地分成以下幾類:
進行演算法的另一步時失效,即崩潰失效;
無法正確執行演算法的一個步驟;
執行了任意一個非演算法指定的步驟
各個步驟由各進程執行,演算法就是由這些進程執行的。一個錯誤的進程是在某個點出現了上述情況的進程。沒有出現錯誤的進程是正確的進程。

④ 拜占庭將軍問題 口頭協議演算法是怎麼推導出來的

我也是額,老是卡,而且不止第一集,後面兩集也是,放一會時間就會卡一下,就像定格了一樣

⑤ 如何理解拜占庭將軍問題

拜占庭將軍問題,其實看似一個軍事問題,實質上是一個政治問題,這也算是涉及到拜占庭的地緣政治問題吧,在國際上也算是熱點問題。

⑥ 如何理解拜占庭將軍問題

拜占庭將軍問題(以下簡稱「共識問題」)的正式表述是:如何在一個不基於信任的分布式網路中就信息達成共識?這個表述聽起來有些晦澀,但其本質並不復雜,下面的例子與共識問題雖然並不完全一致,但卻有助於我們的理解[9]。 想像一下在遙遠的拜占庭時代,有一個富饒的城邦,金銀珠寶綾羅綢緞應有盡有,它的領主哆啦A夢獨享著這一切奢華與榮耀。而在城邦的外圍,四位拜占庭將軍大雄、胖虎、小夫和靜香都覬覦著哆啦A夢的財富,於是他們決定聯手攻佔哆啦A夢的城邦。根據雙方的實力對比,必須有超過半數的將軍同時發起進攻方能克敵制勝,因此獲勝條件就是四人中至少三個人可以就進攻時間達成一致。那麼四位將軍的勝算有多少呢? 這個問題的答案就要取決於四個人的合作方式了,如果是集中式系統,有一個盟主,比如胖虎(相當於中央伺服器),那麼他們的勝利是毫無懸念的,因為就進攻時間達成一致非常簡單,只要胖虎召集大雄、小夫和靜香開個會討論一下就可以了,即使大家意見有分歧胖虎也可以在最後予以定奪。下面讓我們回到拜占庭將軍問題的假設里,在不基於信任的分布式網路中,四位將軍的勝算又如何呢? ? 首先由於四位將軍之間缺乏信任,因此聚到小黑屋裡開個密謀會的可能性被排除了(一旦在小黑屋裡被胖虎綁架了怎麼辦?);其次由於沒有盟主,四個人的意見都會被同等的看重。在這種情況下,四位將軍只能通過信使在各自營地之間傳遞消息,來商定進攻時間了。比如大雄覺得早上6點是發動進攻的好時機,他就會派信使將自己的意見告訴胖虎、小夫和靜香,與此同時,胖虎可能認為晚上9點發動突襲更好,小夫更喜歡下午3點出擊,而靜香希望是上午10點,他們三人也會在同一時間派出自己的信使。這樣一來,在第一輪通信結束後,四位將軍每個人都有了四個可供選擇的進攻時間,他們各自要在下一輪通信中把自己選定的時間告知另外三人。由於四個人的決策都是獨立做出的,因此最終的選擇結果就有256種可能,而只有當三人以上都恰好選擇了同一時間的時候,共識才被達成,而這樣的結果才64種,也就是說達成共識的概率僅為1/4。這還只是四位將軍的情況,如果將軍的人數是10人,100人,1000人呢?我們稍加計算就可以發現隨著人數的增加,達成共識的希望會變得越來越渺茫。 把上面例子中的將軍換成計算機網路中的節點,把信使換成節點之間的通信,把進攻時間換成需要達成共識的信息,你就可以理解共識問題所描述的困境了。達成共識的能力對於一個支付系統來說重要性不言而喻,如果你給家裡匯了一筆錢買車,第二天去銀行核實的時候櫃台告訴你「關於你匯了多少錢的問題,我們的系統里有三個版本的記錄」,這樣的銀行你顯然是不敢把錢存進去的。在比特幣出現之前共識問題是很難被完美解決的,要保證達成共識就需要採用集中式系統(除非節點滿足特定條件),要想去中心化共識就無法保證。那麼區塊鏈技術又是如何解決這一難題的呢?

數字貨幣雙花 拜占庭將軍是什麼意思

拜占庭將軍問題在我看來是提出了一個錯誤模型。即錯誤節點可以做任意事情(不受protocol限制),比如不響應、發送錯誤信息、對不同節點發送不同決定、不同錯誤節點聯合起來干壞事等等。總之就是說,沒有節點會出現比這更嚴重的錯誤。
很顯然,拜占庭錯誤是overly
pessimistic的模型,因為這種錯誤實際環境中比較少見。那麼為什麼要研究這個模型呢看其中最簡單的一個原因是,如果某個一致性演算法能夠保證在系統出現f個拜占庭錯誤時保持系統一致,那麼這個演算法也就能夠保證在出現f個任意其他錯誤的時候也保持系統一致。
錯誤模型有上限,肯定也就有一個下限(overly
optimistic,沒有比它還要弱的模型)。這個下限就是『fail-stop』模型。這個模型的假設是:當一個節點出錯,這個節點會停止運行,並且其他所有節點都知道這個節點發生了錯誤。用同樣的邏輯,如果某個一致性演算法不能保證在系統出現f個錯誤的時候保持一致,那麼這個演算法也就沒法處理其他f個任意其他問題。
應用這些錯誤模型,可以對不同演算法進行比較,也可以對具體演算法的cost進行討論。

⑧ 理論上區塊鏈怎麼解決拜占庭將軍問題

拜占庭將軍問題(以下簡稱「共識問題」)的正式表述是:如何在一個不基於信任的分布式網路中就信息達成共識?這個表述聽起來有些晦澀,但其本質並不復雜,下面的例子與共識問題雖然並不完全一致,但卻有助於我們的理解[9]。

想像一下在遙遠的拜占庭時代,有一個富饒的城邦,金銀珠寶綾羅綢緞應有盡有,它的領主哆啦A夢獨享著這一切奢華與榮耀。而在城邦的外圍,四位拜占庭將軍大雄、胖虎、小夫和靜香都覬覦著哆啦A夢的財富,於是他們決定聯手攻佔哆啦A夢的城邦。根據雙方的實力對比,必須有超過半數的將軍同時發起進攻方能克敵制勝,因此獲勝條件就是四人中至少三個人可以就進攻時間達成一致。那麼四位將軍的勝算有多少呢?

這個問題的答案就要取決於四個人的合作方式了,如果是集中式系統,有一個盟主,比如胖虎(相當於中央伺服器),那麼他們的勝利是毫無懸念的,因為就進攻時間達成一致非常簡單,只要胖虎召集大雄、小夫和靜香開個會討論一下就可以了,即使大家意見有分歧胖虎也可以在最後予以定奪。下面讓我們回到拜占庭將軍問題的假設里,在不基於信任的分布式網路中,四位將軍的勝算又如何呢?

?

首先由於四位將軍之間缺乏信任,因此聚到小黑屋裡開個密謀會的可能性被排除了(一旦在小黑屋裡被胖虎綁架了怎麼辦?);其次由於沒有盟主,四個人的意見都會被同等的看重。在這種情況下,四位將軍只能通過信使在各自營地之間傳遞消息,來商定進攻時間了。比如大雄覺得早上6點是發動進攻的好時機,他就會派信使將自己的意見告訴胖虎、小夫和靜香,與此同時,胖虎可能認為晚上9點發動突襲更好,小夫更喜歡下午3點出擊,而靜香希望是上午10點,他們三人也會在同一時間派出自己的信使。這樣一來,在第一輪通信結束後,四位將軍每個人都有了四個可供選擇的進攻時間,他們各自要在下一輪通信中把自己選定的時間告知另外三人。由於四個人的決策都是獨立做出的,因此最終的選擇結果就有256種可能,而只有當三人以上都恰好選擇了同一時間的時候,共識才被達成,而這樣的結果才64種,也就是說達成共識的概率僅為1/4。這還只是四位將軍的情況,如果將軍的人數是10人,100人,1000人呢?我們稍加計算就可以發現隨著人數的增加,達成共識的希望會變得越來越渺茫。

把上面例子中的將軍換成計算機網路中的節點,把信使換成節點之間的通信,把進攻時間換成需要達成共識的信息,你就可以理解共識問題所描述的困境了。達成共識的能力對於一個支付系統來說重要性不言而喻,如果你給家裡匯了一筆錢買車,第二天去銀行核實的時候櫃台告訴你「關於你匯了多少錢的問題,我們的系統里有三個版本的記錄」,這樣的銀行你顯然是不敢把錢存進去的。在比特幣出現之前共識問題是很難被完美解決的,要保證達成共識就需要採用集中式系統(除非節點滿足特定條件),要想去中心化共識就無法保證。那麼區塊鏈技術又是如何解決這一難題的呢?(關注公眾號weoption,回復「區塊鏈」,可查看全文。)

⑨ 拜占庭將軍問題確保系統正常為什麼需要2k+1個正常節點

地域雖然淪陷了,但是本地居民基本上還是那些人,他們的宗教信仰不會變的,就像耶路撒冷,不管被什麼人占著,他都是聖城,基督、伊斯蘭、猶太人心中的聖城

熱點內容
5G與區塊鏈的關系 發布:2025-06-19 23:00:38 瀏覽:175
doge2 發布:2025-06-19 22:50:46 瀏覽:623
幣圈行情軟體AC 發布:2025-06-19 22:40:20 瀏覽:458
比特幣如何判斷真假 發布:2025-06-19 22:32:42 瀏覽:699
最近央行要發行數字貨幣嗎 發布:2025-06-19 22:32:38 瀏覽:756
比特幣頂峰一個多少人民幣 發布:2025-06-19 22:28:47 瀏覽:487
動漫q版柴犬doge表情 發布:2025-06-19 22:27:03 瀏覽:300
怎麼看懂比特幣行情圖 發布:2025-06-19 22:16:20 瀏覽:402
gym數字貨幣 發布:2025-06-19 22:11:40 瀏覽:907
boll幣圈 發布:2025-06-19 22:00:50 瀏覽:640