我一直在閱讀最近關於拜占庭容錯的許多論文。有一個常見的證據表明需要3m + 1臺計算機來處理拜占庭故障。一般的證明是這樣的:爲什麼簡單的三方多數投票不能解決拜占庭故障?
有三個 「將軍」:A,B和C.假設這樣的將領溝通,其中C是 「叛徒」:
A --> B "Attack", A --> C "Attack"
B --> A "Attack", B --> C "Attack"
C --> A "Attack", C --> B "Retreat"
A receives "Attack" from both sources, and will attack.
B receives "Attack" from A but "Retreat" from C and doesn't know what to do.
C is a traitor, so his action could be anything.
因此,我們無法保證大多數參與者會達成共識。
我有點理解證據,但似乎錯過了一個重點。不要A,B和C也做自己的內部計算該怎麼做?由於A & B是這裏的「忠誠」將軍,看起來「正確」行動是攻擊。在決定做什麼時,B不允許考慮他自己的計算嗎?在這種情況下,他可以輕鬆打破衝突的輸入並決定進行攻擊。然後,A B& B攻擊,我們解決問題。這是一個不同於經典拜占庭將軍問題的問題嗎?
嗯,我總是看到問題歸結爲這個「指揮官和副手」的問題,但我不明白這是多麼的明顯。在最初的拜占庭將軍問題中,每個將軍都「觀察」城市並決定是否進攻。那麼他們是不是正在制定自己的是否攻擊的獨立觀點?在那種情況下,他們只需要另一位將軍就可以同意他們。對「指揮將軍」問題的減少對我來說沒有意義。 –
這樣你可以確保大多數將軍的攻擊,但不是每一個忠誠的普通攻擊。更大的例子更明顯。 –