【硬塞科技字典】區塊鏈起源於拜占庭時期?什麼是拜占庭問題?

透過工作量證明機制 PoW ,節點使用算力去證明自己沒有惡意。
評論
評論

拜占庭問題又叫做拜占庭將軍(Byzantine Generals Problem)問題,常接觸 區塊鏈技術 的人應該對這個專有名詞不陌生, 因為可以經常看到什麼新公鏈推出的演算法解決了拜占庭將軍問題等新聞 ,但究竟什麼是拜占庭將軍問題呢?

拜占庭問題是 Leslie Lamport 1982 年提出用來解釋分散式系統一致性問題的虛構模型,在論文中 Leslie Lamport 提出一個抽象的案例來舉例:

拜占庭是古代東羅馬帝國的首都,由於地域寬廣,守衛邊境的多個將軍(就像是系統中的多個節點)需要透過信使來傳遞消息,達成是否一起進攻或撤退的決定。今天帝國派出了 10 支軍隊去包圍這個敵人,但由於這個敵人過於強大,這 10 支軍隊必須在分開的包圍狀態下同時攻擊,任一支軍隊單獨進攻都毫無勝算,而且還至少要 6 支軍隊(半數以上)同時襲擊才能成功攻下敵國。

因此, 這些將軍們需要找到一種共識機制 ,可以遠端協商戰術才能贏取戰鬥。在不確定將軍之中是否有叛徒會擅自變更進攻意向或者進攻時間的情況下,拜占庭將軍們如何才能保證有多於 6 支軍隊在同一時間一起發起進攻,從而贏取戰鬥?

論文中, Leslie Lamport 用數學證明,當叛徒不超過 1/3 時,存在有效的演算法,不論叛徒如何折騰,忠誠的將軍們總能達成一致的結果,但如果叛徒超過 1/3 則無法保證一定能達到共識,而這就是所謂的拜占庭問題。今天區塊鏈之所以也會與拜占庭問題扯上關係,是因為區塊鏈想解決的也是一樣概念的問題:

每個節點(將軍)給所有的其它節點(將軍)發送消息 ,且節點(將軍)根據接收到的所有消息來決定最終的決策,如何避免惡意節點(叛徒)影響共識的達成就是區塊鏈的特點了。

達成共識的過程中,如果有一個節點故意拒絕合作(惡意節點)或根本沒有說任何事情(錯誤的節點),就是拜占庭將軍中所謂的叛徒。 因此在比特幣的區塊鏈網路設計中中本聰借助密碼學 、工作量證明機制 PoW(Proof of Work)等技巧來制約、懲罰這些叛徒。透過工作量證明機制 PoW ,節點必須付出大量的工作量(算力)去證明自己沒有惡意,才能成功打包交易去通知其他節點。

最長鏈機制則是約定好所有節點都確認並沿著已知最長的鏈進行下去。所以即使惡意節點有試圖破壞,也會付出很大的經濟代價(付出超過系統一半的算力)。 可以說只要每個節點都足夠理性、想讓自己利益最大化的情況下 ,工作量證明機制 PoW 的確有效抑制了叛徒作惡的動機,進而解決了拜占庭問題。

歡迎加入「Inside」Line 官方帳號,關注最新創業、科技、網路、工作訊息

好友人數

 



精選熱門好工作

客服督導/客服主管

VeryBuy非常勸敗
臺北市.台灣

獎勵 NT$15,000

數位行銷資深人員

王道商業銀行
臺北市.台灣

獎勵 NT$15,000

樂趣買Customer Service Specialist(Rakuma)

台灣樂天市場
臺北市.台灣

獎勵 NT$15,000