1. 程式人生 > >共識演算法——拜占庭問題中的同步、非同步

共識演算法——拜占庭問題中的同步、非同步

共識演算法——拜占庭問題中的同步、非同步

前言

最近在研究共識演算法,找到原始的paper,在對比拜占庭容錯演算法(BFT)和實用拜占庭容錯演算法(PBFT)的時候談到了同步和非同步。

同步VS非同步

從論文中看,同步實現的難度更大,非同步實現的難度更小。之前學過通訊原理,同步傳輸對時間同步要求高,比如要求多個節點的時間都一樣,這樣要求會比較高,但是同步傳輸的效率是高於非同步傳輸的。非同步傳輸能夠適應多種情況,但是會加很多輔助資訊來識別傳輸什麼時候開始和結束,相對同步傳輸來說效率更低。
再舉個簡單的例子,打電話,微信語音,視訊都是同步通訊。
而發簡訊,發微信都是非同步傳輸。

拜占庭容錯的同步和非同步

針對拜占庭同步的攻擊

拜占庭容錯機制如果基於同步機制來保證正確性,會存在一定的危險性。
因為惡意節點可以延遲傳遞正常節點A的訊息,讓其他正常節點把正常節點A判定為惡意節點,從而將其從網路中剔除,這可以算是一種對正常節點進行拒絕服務的攻擊(雖然是間接的)。

參考

通俗理解同步、非同步傳輸