NEXT社區 | 小課堂算法
因爲近期NEXT社區加入不少新的小夥伴,有在校大學生,有對區塊鏈感興趣的傳統企業從業者。爲了更方便、更系統的讓NEXT社區的夥伴們瞭解NEO的技術知識,所以咱們開設了小課堂,每週3節,向你們普及NEO相關的知識要點!安全
NEXT社區小課堂 | 第二課網絡
幾種主流共識對比架構
NEO dBFT更適用於大規模商用場景分佈式
在區塊鏈系統中,共識算法是每一個區塊鏈網絡的關鍵要素,它們負責維護這些分佈式系統的完整性和安全性,是區塊鏈信任體系中的核心基石。性能
通俗地講,共識算法就是經過算法機制去保證少數服從多數,當大多數人認定一件事,才被遵循爲事實。隨着區塊鏈技術這幾年的發展,適用於不一樣場景的共識算法被陸續改進與推出,主要有如下幾種主流共識機制。區塊鏈
1、工做量證實共識機制(PoW)雲計算
基本機制:經過特定計算運算獲取特定規則匹配值來取得記帳權,對系統事務消息進行記錄。設計
特色:網絡節點均可參與,具有最普遍的參與性。通常狀況下,與其餘共識算法相比計算運算資源消耗相對較高,性能速度較低,也有越過51%惡意節點攻擊的風險,特定狀況下會產生數據分叉,形成時間段內的數據不一致。blog
容錯性:允許全網50%的節點容錯(惡意、非惡意、不可控)。
適用性:通常適用於對公平性、開放性要求高的場景,如公有鏈。但不適用於對性能以及數據一致性有要求的場景。
POW小結:
優勢:
缺點:
典型的應用爲比特幣。
該共識算法簡單,容易實現,節點間無需交換額外的信息便可達成共識,破壞系統須要投入極大的成本。
但PoW的基本機制是記帳權的爭奪。特色是因爭奪記帳權,系統內不少CPU都在進行計算,會產生大量資源的消耗,特定狀況下也可能產生臨時性的分叉,須要等待多個確認,形成短期內的數據不一致。
此外,其容錯性爲50%,在一些公開性場景下較有優點,但有可能會面臨51%攻擊的問題。所以,你們一直在尋找替代方案。
** 2、基於相關權益的共識機制(PoS) **
基本機制:節點經過特定的權益分配得到不一樣的成爲記帳節點的機率,通常狀況下二者成正比,通常也會經過特定的計算運算獲取記帳權。
特色:相比PoW,必定程度減小了計算運算的資源消耗,仍有必定程度的獲取記帳權的計算消耗,在特定權益分配機制下,容易造成記帳權的公平性問題,產生中心化控制風險。
容錯性:根據不一樣的機制設計有所不一樣,但通常與PoW相似。
適用性:適用於對開放性較高,具有特定權益機制的場景。
POS小結:
優勢:
缺點:
典型應用爲以太坊。
POS也稱權宜證實。它將PoW中的算力改成系統權益,擁有權益越大則成爲下一個記帳人的機率越大。這種機制的優勢是不像PoW那麼費電,可是也有很多缺點:
(1)沒有專業化,擁有權益的參與者未必但願參與記帳;
(2)容易產生分叉,須要等待多個確認;
(3)永遠沒有最終性,須要檢查點機制來彌補最終性,最終性只能逼近100%。
POS共識機制是將來的發展方向之一,但具備必定的不肯定性,其處理能力提升空間不大。
3、基於拜占庭容錯模型(BFT)的共識機制
基本機制:採用領導者選舉機制,在領導者和共識參與者之間經過多輪交互達成共識,以達成拜占庭容措(惡意錯誤和不可控錯誤)。
特色:具有更好的容錯機制,能夠覆蓋嚴格的錯誤類型(非惡意、惡意、不可控錯誤)。共識過程交互相對較多,記帳人羣體通常事先指定,在部分場景下有選擇公平性問題。
容錯性:通常能夠容忍1/3的拜占庭錯誤節點,在特定的假設條件下,容錯範圍能夠進一步擴大。
適用性:適用於大部分聯盟鏈場景與特定的公有鏈場景,能夠保障不產生分叉和數據的一致性。此外,有許多基於BFT的各種擴展共識機制,以適用於不一樣的場景。
區塊鏈做爲一種分佈式帳本系統,其內部的經濟模型決定了每一位參與者均可以無需信任其餘的參與者,即「去信任」。
拜占庭將軍問題正是描述了參與者之間如何在去信任的狀況下達成共識,而拜占庭容錯技術正是解決此類問題的方法。
此外,區塊鏈的網絡環境很是複雜,會面臨網絡延遲、傳輸錯誤、軟件錯誤、安全漏洞、黑客入侵等問題,還有各式各樣的惡意節點,而拜占庭容錯技術正是能夠容忍這些錯誤的方案。
4、NEO dBFT共識機制:一種改進的拜占庭容錯算法
dBFT共識機制是在Castro 和 Liskov提出的「實用拜占庭容錯算法」
(Practical Byzantine Fault Tolerance)的基礎上,通過改進後使其可以適用於區塊鏈系統。
拜占庭容錯技術被普遍應用在分佈式系統中,好比分佈式文件系統、分佈式協做系統、雲計算等。
改進以下:
· 將C/S架構的請求響應模式,改進爲適合P2P網絡的對等節點模式。
· 將靜態的共識參與節點改進爲可動態進入、退出的動態共識參與節點。
· 爲共識參與節點的產生設計了一套基於持有權益比例的投票機制,經過投票決定共識參與節點(記帳節點)。
· 在區塊鏈中引入數字證書,解決了投票中對記帳節點真實身份的認證問題。
dBFT小結: 優勢:
缺點:
dBFT共識算法由知名區塊鏈項目NEO創始人張錚文改進而來,是由權益來選出記帳人,而後記帳人之間經過拜占庭容錯算法來達成共識,這種方式的優勢是:
(1)專業化的記帳人;
(2)以容忍任何類型的錯誤;
(3)記帳由多人協同完成,每個區塊都有最終性,不會分叉;
(4)算法的可靠性有嚴格的數學證實。
事實上,對於區塊鏈系統來說,共識機制的核心是要解決一致性問題。dBFT機制最核心的一點,就是能最大限度地確保系統的最終性。
而對於將來的區塊鏈大規模商業應用,做爲基礎設施的公鏈在安全性上要求:不會分叉,不會雙花,對攻擊免疫,不會出現金融損失。NEO 新版的dBFT2.0正好能夠保證這一點。
所以,dBFT是將來的發展方向之一,鑑於以上特色,它也將比其它共識算法更合適,也更有能力承擔大規模的對安全性要求高的項目。
本文來源:NEOFANS
原文連接:http://neofans.org/
聯繫咱們
微博:https://weibo.com/u/6724929880
QQ羣:612334080
twitter:https://twitter.com/NE0NEXT
掃碼關注NEONEXT官方公衆號
獲取更多一手社區資訊
VX公號:NEONEXT