Consensus

為什麼“經典”多 Paxos 拜占庭共識不用於公共區塊鏈?

  • July 5, 2019

拜占庭將軍問題的任何解決方案都可以用作分佈式賬本的共識方法。

那麼,為什麼中本聰選擇了超昂貴(在電力和 CPU 週期中)的工作量證明?

我能想到這些原因:

  • 工作量證明需要時間,這意味著區塊需要時間。(但現在這實際上是一個缺點?)
  • 礦工由 PoW 支付。(但這難道不能在 Multi-Paxos 環境中工作嗎?基本上所有礦工都想成為下一輪的領導者?)
  • 如果網路分成兩部分,工作量證明鏈仍然有效。這將在網路的每一半中創建單獨的塊,實際上當兩半再次連接時會出現問題(因為兩條鏈中的一條被丟棄,如果網路分裂在恢復之前需要幾分鐘,這意味著人和外部系統可能會根據它們現在無效的餘額採取行動。)

顯然,這些理由還不夠好。那麼,有什麼真正的理由使用工作證明而不是 Multi-Paxos 或其他“經典”解決方案來解決拜占庭將軍問題?

中本聰共識有一些優於 BFT 算法的特性。(它也有一些較差的屬性,但這是另一回事)。

首先,BFT 算法假設一個中央機構選擇參與者是誰。另一方面,NC 允許任何人嘗試贏得下一輪。

其次,BFT 算法一般要求 2/3 + 1(例如 67%)的參與者是誠實的。NC 設置的門檻值下限為 1/2 + 1(例如 51%)。那是因為 NC 的 PoW 阻止了一個節點同時廣播兩條消息。

最後,NC 有一個有趣的屬性,即在礦工“獲勝”的那一刻,他們還會同時選擇他們將要包含在區塊中的交易。這意味著攻擊者沒有機會試圖影響獲勝的礦工打破規則。

請注意,Paxos 不是 BFT 算法。Paxos 解決了停止失敗的問題。節點能做的最糟糕的事情就是停止工作。Paxos 不能解決“拜占庭式”故障,即一個節點可以嘗試說兩種不同的事情。

共識參與者不提前知道,所以你不知道該聽誰,忽略誰。比特幣中的身份也非常弱(礦工根本沒有身份,使用者通常只是一個便宜的密鑰對),所以女巫攻擊(<https://en.wikipedia.org/wiki/Sybil_attack>)很便宜。

引用自:https://bitcoin.stackexchange.com/questions/62589