「定投第27天」拜占庭將軍問題到底nan bu nan

「定投第27天」拜占庭將軍問題到底nan bu nan

拜占庭問題是容錯計算中的一個老問題,由萊斯特蘭伯特等人在1982年提出。拜佔廷帝國為公元395年直至1453年的東羅馬帝國,拜占庭城邦擁有巨大的財富,令他的十個鄰邦垂涎已久,但是拜占庭高牆聳立,固若金湯,沒有任何一個單獨的鄰邦能夠成功入侵,任何單個城邦的入侵行動都會失敗,而入侵者的軍隊也會被殲滅,使得其自身反而容易遭到其它九個城邦的入侵。這十個城邦之間也互相覬覦對方的財富並經常爆發戰爭。

在拜占庭將軍問題模型中,有兩個假設:

假設一

所有忠誠的將軍受到相同的命令後,執行這條命令,得到的結果-定是相同的,它的含義是所有節點對命令的解析和執行是一樣的,這個命令必須是一個確定性的命令,不能存在隨機性,也不能依賴節點自身的狀態,也就是說這個秘密不能是心情好,就攻擊敵人,心情不好就原地休息

假設二

如果命令是正確的,那麼所有忠誠的將軍必須執行這條命令,換句話說,忠誠的將軍需要判斷,接收到的命令是不是正確的

對於將軍們的通訊過程,在”拜占庭將軍問題”中也是有默認假設的:點對點通信是沒有問題的,也就是說在這裡,我們假設A將軍要給B將軍一條命令 "M”,那麼派出去的傳令兵一定會準確的把命令"M”傳給B將軍。

但問題在於,如果每個城邦向其他九個城邦派出一名信使, 那麼就是這十個城邦每一個都派出了九名信使,也就是在任何一個時間有總計90次的信息傳輸,並且每個城市分別收到九條信息,可能每一條都寫著不同的進攻時間,除此以外,信息傳輸過程中,如果叛徒想要破壞原有的約定時間,就會自己修改相關信息,然後發給其他城邦以混淆試聽,這樣的結果是,部分城邦收到錯誤信息後,會遵循一個或者多個城邦已經修改過的攻擊時間相關信息,從而背叛發起人的本意。這樣一來,遵循錯誤信息的城邦(包含叛徒) ,將重新廣播超過一條信息的信息鏈,整個信息鏈會隨著他們所發送的錯誤信息,迅速變成不可信的信息和攻擊時間,變成一個相互矛盾的糾結體。

針對這個問題,人們主要提出了兩種解決方法,一個是口頭協議算法另一個是書面協議算法

口頭協議算法的核心思想:要求每一個被髮送的消息都能被正確投遞,信息接收者明確知道消息發送者的身份,並且信息接收者知道信息中是否缺少信息。採用口頭協議算法,若叛徒數少於1/3時,則拜占庭將軍問題可以很容易解決。但是口頭協議算法存在著明顯的缺點,那就是消息不能溯源。

為解決該問題,提出了書面協議算法。該算法要求籤名,不可偽造,一旦被篡改即可發現,同時任何人都可以驗證簽名的可靠性。

就算是書面協議算法,也不能完全解決拜占庭將軍問題,因為該算法沒有考慮信息傳輸延遲、簽名體系難以實現的問題。且簽名消息記錄的保存,也難以擺脫中心化機構。針對這個問題,人們主要提出了兩種解決方法,一個是口頭協議算法;另一個是書面協議算法。

口頭協議算法的核心思想:要求每一個被髮送的消息都能被正確投遞,信息接收者明確知道消息發送者的身份,並且信息接收者知道信息中是否缺少信息。採用口頭協議算法,若叛徒數少於1/3時,則拜占庭將軍問題可以很容易解決。但是口頭協議算法存在著明顯的缺點,那就是消息不能溯源。

為解決該問題,提出了書面協議算法。該算法要求籤名,不可偽造,一旦被篡改即可發現,同時任何人都可以驗證簽名的可靠性。

就算是書面協議算法,也不能完全解決拜占庭將軍問題,因為該算法沒有考慮信息傳輸延遲、簽名體系難以實現的問題。且簽名消息記錄的保存,也難以擺脫中心化機構。

將比特幣的共識機制引入拜占庭問題,就形成了這樣一種情況, 城邦A向其他九個城邦發送進攻相關信息,是直接將相關信息及其當時發送的時間,附加在通過哈希算法加密的信息中,並且加上獨屬於自己的數字簽名傳遞給其他城邦。等其他城邦中相應的機器已經收到,並驗證通過這個有效哈希值和附加在上面的簽名信息,他們就會停止他們當下的計算,使用新的信息更新他們總的進攻信息,然後將新更新的信息作為哈希算法的輸入,再發給其他城邦。其他城邦接受消息後,重複此流程直至所有城邦都收到消息。如此這般,網絡持續同步著,所有網絡上的電腦都使用著同一個總賬本。

如果有人想要修改進攻信息來誤導其他城邦時,其他城邦的機器會立刻識別到異常信息,同步的虛假信息將不被認可,依舊會同步其他大部分相同一致的信息,這樣叛徒就失敗了,他無法破壞十個城邦當中的大多數節點,也就是至少六個節點,這樣信息的一致性就得到了保證,完美解決了拜占庭問題。

這就是區塊鏈共識機制為何如此特別的關鍵,他為一個算法上的難題提供瞭解決方案,區塊鏈的共識機制,通過不斷同步各個節點的信息,使得各分佈式節點之間達到一種平衡,保證了絕大多數節點的一致性,即達成了共識。

「定投第27天」拜占庭將軍問題到底nan bu nan

「定投第27天」拜占庭將軍問題到底nan bu nan

「定投第27天」拜占庭將軍問題到底nan bu nan

3大交易所實時持倉圖

━ ━ ━ ━ ━

2018.12.27

定投平臺:Huobi

定投金額:100USDT

買進幣種:HT

「定投第27天」拜占庭將軍問題到底nan bu nan

彙總

「定投第27天」拜占庭將軍問題到底nan bu nan

「定投第27天」拜占庭將軍問題到底nan bu nan

「定投第27天」拜占庭將軍問題到底nan bu nan

投資有風險,進場須謹慎

推動普及區塊鏈知識

實時追蹤行業動態


分享到:


相關文章: