實用拜占庭將軍問題解法(PBFT),這個機制跟前面兩種都不一樣,也就是說,我不需要礦工,我也不需要挖礦。
我通過周圍的人,來判斷我記錄的賬本對不對就行了。也就是說,一個人打完一場比賽以后,我們全部50桌都記錄一遍。
那么怎么判斷我記錄的對不對?我問我身邊的幾桌,譬如我周圍有四桌,如果三桌都說結果是王二戰勝李四,那么即使第四個桌說王二輸給李四了,我也不用擔心,我知道肯定結果就是王二戰勝李四。
所以聽起來很玄乎的拜占庭將軍問題,就是這么簡單的一回事。如果你周圍有四個人,你問他們今天路上堵不堵車。如果三個人說堵車,另外一個人說不堵車。你就可以確認,路上是堵車的,也就是達成一致意見。
但是注意,達成一致意見,并不意味著意見是正確的。有可能這三個人合起伙來騙你,那么這種情況下,也是達成一致,只不過一致的結論實際上是錯誤的。拜占庭算法只解決是否能達成一致意見的問題,不考慮意見是否正確。
具體來說,就是在一個分布式系統中,在N≥3F+1的情況下,一致性是可能實現的(N為計算機總數,F為有問題的計算機總數)。信息在計算機間互相交換后,各計算機列出所有得到的信息,以大多數的結果作為解決辦法。
PBFT的優點:它不需要礦工,不需要確認,節約
能源。
但是缺點是:這種模式需要節點之間進行大量可靠的網絡通信(就是我不停地要問周圍的乒乓球桌,比分是多少,設想一下有50桌、500桌、5000桌的情況,這個通信強度呈指數級增加)。因此,這種方法只適用于一小群節點,譬如
聯盟鏈。
總結:按照《經濟學人》雜志的說法,
區塊鏈是一個信任機器。信任由共識產生,而具體的共識機制包括PoW、PoS、DPoS、PBFT等等。具體選擇哪一種方法,與項目和應用有關,不應一概而論。
版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。