# 拜占庭問題 (Byzantine Problems) ## 拜占庭經典問題 (Byzantine Generals Problem) 拜占庭將軍要圍攻一座城池,他們必須達成進攻或撤退的共識,拜占庭地域寬廣,進攻/撤退的訊息須由信使傳遞。但是,將軍中有叛徒會發出相反的訊號干擾,或者只通知部分的將軍,在這種情況下,要如何**達成正確的共識**? ## 拜占庭容錯 (Byzantine Fault Tolerance) 少數服從多數的方法,在數學上解決**拜占庭經典問題**。 **達成共識的條件** : 將軍的數量為 $N$,叛變者的數量為$F$,當$N>=3F+1$時,將軍才能達成共識。 參考資料 : - [【入門必讀】從拜占庭容錯協議,看虛擬貨幣的關鍵:信息驗證&容錯](https://cryptowesearch.com/blog/all/BFT-Byzantine-Fault-Tolerance) - [若想搞懂區塊鏈就不能忽視的經典:PBFT]((https://medium.com/taipei-ethereum-meetup/intro-to-pbft-31187f255e68)) - [3分鐘簡介影片簡介拜占庭問題](https://www.youtube.com/watch?v=fgxqMcwY1Rk&ab_channel=Coinlife) - [李永樂-拜占庭問題](https://www.youtube.com/watch?v=e9KVmyI1eCg&ab_channel=%E6%9D%8E%E6%B0%B8%E4%B9%90%E8%80%81%E5%B8%88) ## 拜占庭問題套用在區塊鏈 ### 區塊產生的共識 : 節點需要就「誰來產生區塊」來達成共識,並防止惡意節點試圖通過重複挖礦(PoW)或投票(PoS)破壞網路。 ### 交易驗證和防止雙重支付(Double-Spending) : 惡意節點可能會嘗試將同一筆資產的交易重覆記錄在區塊鏈中。共識協議必須保證交易的唯一性,每筆交易只能確認一次。 ### 治理和投票 在有治理功能的區塊鏈上(例如 Polkadot),需要對某一個提案進行投票,某些人可能會惡意投票,或者嘗試控制治理權來達成自身利益。