超90%容錯共識演算法,如何實現?

買賣虛擬貨幣
2019年1月17日,北大軟微-八分量協同創新實驗室展開第9期學術沙龍討論活動。北京大學沈晴霓老師,楊雅輝老師、方躍堅老師以及多位北大的博士生,碩士生與Trias資深系統研發胡志琳就共識演算法和容錯機制問題做了探討。有一種說法是,共識演算法就是區塊鏈網路中的法律。它決定了誰有出塊的權力和誰獲得出塊的獎勵。然而,不同的共識演算法,其效率速度,能耗高低,容錯機制都不盡相同,什麼才是合理的共識演算法呢?本週,資深系統研發胡志琳博士帶來了他的見解。

先簡要回顧一下共識演算法相關。目前共識演算法主要可以分為兩類:同步共識演算法和非同步共識演算法。同步共識演算法相對比較簡單,它指的是在一定時間內收集共識訊息,只要“好”節點過半即可順利達成共識,如POW演算法。而非同步共識演算法,(比如PBFT)不需要明確的時間同步,但對“壞”節點的容錯度較低,常規的拜占庭類共識演算法的容錯能力通常不超過33%。

關於拜占庭容錯,在1981年Lamport提出了《The Byzantine Generals Problem》一文中,對拜占庭將軍問題的兩種解決辦法做出瞭解讀。

①口頭訊息,即OM(m)協議。在弱同步的假設下實現了多項式級的複雜度PBFT,也就是所謂的最多有1/3容錯節點數量的理論上限。

②簽名訊息,即SM(m)協議。與口頭協議相比,所有的訊息都是有記錄的,這樣就解決了追根溯源的問題。已經證明這種協議下可對任意多個節點實現容錯,即容錯率逼近100%。此類演算法的應用約束為同步網路。

有了上述背景,我們再簡要介紹一下Trias超級節點的由來。Trias上的節點都要具備TEE環境,並透過一個叫做“上帝擲骰子”的遊戲。這樣一來,每一個節點的可信度時時刻刻都處在動態的監測中,透過一定週期頒發的天榜,選取出排名最高且安全的節點作為超級節點。 

理論上說,超級節點的可信度是很高的,但並不排除超級節點臨時被惡意攻擊,或為牟利而說謊的可能。那如何進一步保證超級節點呢?這就要透過在超級節點集合上執行共識演算法來做文章了。

根據Trias的最佳化方案(稱之為KeepBFT方法),首先,在選擇超級節點集合時,冗餘一定的節點數。當出現問題節點時,直接選取替補節點,以保持線上正常的可信超級節點數目。

此外,Trias在去中心化的簽名確認方案的基礎上,將一部分超級節點賦予了新的功能,被稱為觀察層,也可稱之為共識確認層,觀察層由多個Paxos狀態機觀察節點和一個AI決策模組組成。所有觀察層節點始終保持線上,接受鏈上所有的提案資訊。

正常情況下,共識確認層和其他超級節點一起進行日常工作。但是當部分節點遭到攻擊時,觀察層就可以分析出誰是“好”節點,並將他們選取出來達成共識。惡意節點的提案剔除,並在此輪有效期內傳送給所有的超級節點。

即使惡意節點的數量非常多,整個系統仍然能夠可靠地實現共識的高容錯,即忠實節點仍然能夠取得有效的共識。基於TRIAS天榜所遴選的超級節點和確認層共同作出的保障,其共識容錯能力達到90%以上,乃至逼近100%。

更多數字貨幣資訊:www.qukuaiwang.com.cn/news

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;