什麼是共識算法又有哪些優點跟缺點

2020-12-25 電子發燒友

什麼是共識算法又有哪些優點跟缺點

工程師周亮 發表於 2018-11-15 11:28:15

在廣州貝塔咖啡舉辦的迅雷鏈技術沙龍上,迅雷鏈底層工程師張驍就迅雷鏈共識算法的內在細節,向到場的開發者和區塊鏈愛好者做了詳細解讀。DPoA+PBFT的算法保證了分布式系統中的強一致性和高效率共識,吸引了在場來賓的關注。

什麼是共識算法?

張驍認為,區塊鏈建立在分布式系統上,有若干個節點,每個節點都會維護自己的數據,這些數據需要保證一致性。如果不同的節點提供的數據不同,就不是一個能夠正常對外工作的分布式系統。所以在區塊鏈中,需要把這些數據通過複製和同步,來保持一致性,這個過程就叫做共識。

共識過程中所使用的算法就叫共識算法。對於區塊鏈來說,共識算法的作用就是制定達成共識的標準,即當數據有所不同時,以誰的為準。張驍深入淺出,用通俗易懂的方式,解釋了這個概念。

當前主流共識算法的分類

張驍表示,目前共識算法可分為概率一致性共識和絕對一致性共識。

概率一致性共識算法是指在某一個時間點上,允許數據有一些不一致情況的算法。比如比特幣採用的算法,就是一種典型的概率一致性算法。比特幣達成共識的過程中,如果在同一個時間點有兩個不同的節點,都找到了滿足這個條件的計算公式,就相當於都可以產生一個區塊,然後就產生了分叉。當然,這種分叉是會被下一輪的挖礦和共識過程所修正的,最終還是會達成一致,但在其誕生後的一小段時間裡,是無法達成一致的。

絕對一致性共識算法是指數據始終保持一致性的算法,它通過犧牲一定的可用性,保證了數據的一致,其中又可以細分CFT和BFT兩個類型。

CFT算法的特點是確定一個固定的節點數量,只要有達到這個數量的節點確認,那麼共識就算達成。比如總共有11個節點,確定只要4個節點投票確認某次交易,那麼這次交易就算完成。這樣做的結果是交易確認速度很快,同時結果永遠都是確定的,而且不會出現分叉。

BFT算法是另外一種常見的絕對一致性算法,它達成共識的過程分為三個階段,分別是預準備、準備還有提交,其共識過程是:

1.預準備階段:某個節點為從客戶端收到的請求分配提案編號,然後發出預準備消息,廣播給其它節點;

2.準備階段:其它節點收到預準備消息後,檢查消息合法性,如果檢查通過則向其他節點發送準備消息,並帶上自己的ID信息,同時接收來自其他節點的準備信息。收到準備消息的節點對消息同樣進行合法性檢查驗證,全網中至少2/3的節點驗證過的消息,才會真正進入準備狀態;

3.提交階段:向全網所有節點廣播進入準備狀態的消息,然後由所有節點進行投票,投票數達2/3後該消息通過。

各種共識算法的優缺點

張驍指出,以比特幣為代表的概率一致性算法的缺點是,對確認時間的要求比較長。比特幣出塊速度為10分鐘,同時還要經過6個區塊的確認,才能得到最終的確定。即要經過60分鐘之後,某個交易才能得到確認,而且還不一定能夠保證支付成功。這在實際應用過程中是無法接受的,誰也不能付款後還要等1個小時,才能確定到底有沒有完成付款、拿走東西。

因此,概率一致性算法不適合實際商用,無法滿足實際商業場景中對交易確認速度、並發處理的要求。

CFT算法的問題是不能防止節點間的撮合,比如有4個相熟的節點勾結到一起,這樣幾乎就可以確認所有交易。同時也不能防止節點作惡,比如一個節點向其中4個節點發出一個確認請求,再向其它的節點發出另一個完全相反的確認請求,這樣就會同一時間形成兩個完全不同的交易結果,由此導致系統出現偏差。

因此,CFT算法基本只能在能夠確保節點誠實度的情況下使用,比如私有鏈。

BFT算法彌補了CFT的漏洞,杜絕了節點撮合交易和作惡的可能性,每一次交易都經過兩輪投票,多次驗證,因此不會出現惡意交易的情況出現。

但它有兩個缺點,一是容錯率變低,因為每輪投票都需要至少2/3的節點通過才行,所以BFT算法下,節點最多只能容忍不到1/3的節點出現故障,如果超過,整個區塊鏈都不能運行。

其次是由於要進行3個階段,每個階段都需要對全網進行廣播,所以通信量非常大,是節點總數量的次方級。因此在節點數量比較多的情況下,BFT算法會顯得效率很低,簡單說,就是這種算法不太適用於多節點的區塊鏈。

迅雷鏈採用什麼共識算法?

基於以上共識算法都無法滿足要求,為了更好的適應各種大型商業場景,迅雷鏈提出了獨有的同構多鏈架構結合DPoA+PBFT的共識算法。

迅雷鏈基於玩客雲共享計算提供的150萬個節點而產生,迅雷鏈先是從這150萬個節點中,挑選那些在線穩定、傳輸通暢、性能較好的優質節點,集中成一個備選池,再用DPoA算法,從這備選池裡挑選出一定數量的節點,組成整個迅雷鏈的記帳網絡。這些節點會定期輪換、重選,以避免記帳節點暴露,被外界攻擊。

而在記帳過程中,採用PBFT算法。PBFT算法的優點是確認速度快、並發處理性能高,而且還永不分叉,有很強的一致性,非常適合於實際商用。

但PBFT也有缺點,一是容錯率低,需要保證記帳節點擁有較高的在線率,二是通信量大,不適合於太多節點的區塊鏈。迅雷鏈自身的特點,恰好彌補了這兩個缺陷。

首先,迅雷鏈所有記帳節點都是優中選優挑選出來,而且還有大量備用,因此一來節點故障率本身就不高,二來一旦有節點出現故障,可以從備選池中立即選擇新的節點來補上。150萬+的總節點數,保證了隨時都有足夠的備選節點使用。

同時由於是採用DPoA算法來挑選記帳節點,所以在同一時間記帳的節點數量不會很多,完美規避了PBFT算法通信量大的缺點。

基於這種雙重算法的設計,迅雷鏈才能在保證安全性、去中心化程度的同時,又能實現百萬級TPS、秒級確認速度等超高性能,並能保證不分叉、不回滾,是目前最適合實際商用需求的區塊鏈。

張驍最後說,沒有任何一種共識算法是最好的,我們不能說到底是POW好,還是DPoA+PBFT好。因為算法好不好,要根據實際承載的區塊鏈來判定,通過區塊鏈面向的業務場景和目標去考量。迅雷鏈作為區塊鏈3.0時代的引領者,需要能夠接納更多的商戶上鏈,能夠達到百萬級的TPS,能夠讓交易在每秒級別的時間當中確認。在這樣的需求下,再結合到有150萬以上節點的玩客雲硬體支持,所以最終選擇了DPoA+PBFT的算法,成就了迅雷鏈的最強心臟。

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • 數字貨幣共識算法的優缺點分析
    在每一個偉大的數字貨幣背後,都有一個很好的共識算法。沒有一種共識算法是完美的,但它們都有各自的優點。在密碼術的世界裡,存在著防止雙倍支出的共識算法。這裡有一個到目前為止最流行的一些算法的快速概述,從區塊鏈到DAG和所有介於兩者之間的東西。
  • 淺談區塊鏈主流的共識算法
    工作量證明:POW (Proof - of -Work) 代表項目:BTC.ETH.BCH.LTC.Doge 優點:目前最安全的共識算法 缺點:需要成長期,吞吐速度慢 工作量證明是第一個區塊鏈共識算法。由中本聰(Satoshi Nakamoto)設計用於比特幣區塊鏈,我們要感謝PoW,感謝我們在全球範圍內看到的大量採礦作業和電力消耗。
  • 烘乾機有哪些優點 烘乾機缺點有哪些
    那麼,烘乾機有哪些優點?烘乾機缺點有哪些呢? 現如今我們的生活日趨智能化,智能化冰箱、智能化洗衣機、智能化電視等等這些小家電基本成為了我們家庭的標配。
  • 買公寓房的缺點有哪些?優點又有哪些?
    購房者在購買房屋的時候,有很多房產類型可以選擇,比如小產權房、公寓房和商品房等等,不同產權類型的房屋是有差別的,適合的購房人群也不一樣,很多年輕在初次購買房屋的時候會選擇購買公寓房,因為公寓房不僅適合單身的人居住,而且總價比較低,那麼買公寓房的缺點有哪些?
  • 什麼是硅藻泥?它的優點和缺點有哪些
    硅藻泥電視背景牆二、硅藻泥的缺點有哪些1、硅藻泥使用時間長硅藻泥可以使用20年或者更長的時間,而乳膠漆和壁紙,一般使用3到5年就會脫落,褪色或者起泡,要想牆面一直保持嶄新,就必須要翻新,這樣一算還是硅藻泥比較省事和划算了2、硅藻泥能調節室內溼溫
  • 圖像去噪算法的優點和缺點
    圖像去噪算法的優點和缺點 會飛的碼 發表於 2020-05-04 18:36:00 圖像降噪算法總結 分析各種算法的優點和缺點 1、BM3D
  • 什麼是區塊鏈共識算法?
    分布式系統的首要問題就是如何解決一致性的問題,也就是如何在多個獨立的節點之間達成共識。在有錯誤的進程存在並且有可能出現網絡分區的情況下,FLP 定理徹底關閉了在傳統計算機算法體系下提出解決方案的大門。由社會學和博弈論得到啟發,我們嘗試引入以下機制。(1)激勵機制。比如,在拜佔庭將軍問題中給忠誠的將軍以獎勵。
  • 解密區塊鏈最強心臟 迅雷鏈共識算法詳解
    11 月 10 日在廣州貝塔咖啡舉辦的迅雷鏈技術沙龍上,迅雷鏈底層工程師張驍就迅雷鏈共識算法的內在細節,向到場的開發者和區塊鏈愛好者做了詳細解讀。DPoA+PBFT的算法保證了分布式系統中的強一致性和高效率共識,吸引了在場來賓的關注。什麼是共識算法?
  • 木塑地板是什麼?有哪些優點和缺點?
    時代在進步,建材市場的各種材料也是日新月異,讓人目不暇接,一臉懵逼,剛才有個被建材市場整到頭暈的小夥伴問我:木塑地板是個啥?以前咋沒聽過?不如你今天就寫寫這個,給我科普一下?我們首先來說說,木塑地板是什麼?木塑地板,顧名思義,它是由木酚和再生塑料相結合而產生出來的一種新型複合地板,相對於傳統的實木地板來說,性價比還算比較高。
  • 微晶石背景牆優點有哪些 微晶石背景牆缺點有哪些
    對於背景牆的裝修大家都是比較重視的,背景牆裝修的話要注意選擇合適的材料,味精石是很常見的一種裝修材料,大家在裝修之前一定要注意做好相關的準備工作,結合室內的裝修風格來進行選擇,那麼微晶石背景牆優點有哪些?微晶石背景牆缺點有哪些?下面我們來具體的了解一下吧。
  • 歐根紗面料有哪些優點和缺點?
    歐根紗面料有哪些優點和缺點? 2016-09-19 09:33:57 來源:全球紡織網 歐根紗面料的特點:優點歐根紗面料的優點就是有質感上檔次,輕柔的面料顯得衣服非常的輕盈,很容易打造仙氣逼人的效果
  • 轉基因食品有哪些優點和缺點?
    轉基因食品有哪些優點和缺點的人,大多數是為了聽缺點。 優點是中國農業部美國歐盟拍胸脯的承諾轉基因無害,134個諾獎得主聯名表態支持轉基因,轉基因商業化這麼多年沒見過吃出事的,安全性有保障;轉基因之所以叫轉基因是因為轉入了人類期待的優良基因,有的能提高營養,有的能讓動植物抗蟲抗病耐惡劣環境,有的能延長食品保存期限balabala,反正沒人閒著沒事拿科研經費轉沒卵用的基因。
  • 蒸烤一體機的優點和缺點有哪些 平時使用烤箱的時候需要注意什麼
    那麼蒸烤一體機的優點和缺點有哪些呢?接下來和小編一起來看看吧!一、蒸烤一體機的優點和缺點有哪些優點在於它的功能非常多,不但可以純蒸或烤,還可以將兩者結合,能夠滿足各種烹飪需求,節省了廚房不少空間。但缺點在於箱內容易產生水蒸氣,時間久了之後容易滲透到內部的零件,縮短壽命,並且現在的品牌非常多,不是行業人很容易買到劣質品。
  • 銀行定期存款到期後自動轉存的優點與缺點有哪些?
    簡單來說,假如有一儲戶將12萬元存入銀行並辦理一年定期存款業務,利率為1.95%,在辦理存款前如果儲戶同意自動轉存,那麼在該筆存款到期後銀行系統會自動將本金12萬與產生的利息234元一併轉存為第二個定期存款,並且存款利率依然按照1.95%計算,不需要人工幹預,這也就是銀行自動轉存與櫃檯存款的區別。那麼,銀行定期存款到期後自動轉存的優點與缺點有哪些呢?
  • 小高層有何優點和缺點,洋房有何優點和缺點,買誰更划算?
    配圖1,小高層有著怎樣的優點和缺點?沒有十全十美的房子,想要知道如何取捨,就要分析房屋的優點和缺點,到底存在著哪些。因此我們簡單歸納一下,看看小高層住宅到底有著怎樣的一些優點和缺點。優點:小高層的優點非常的多,比如容積率相對低一些,樓層沒有那麼高,出行更便利,綠化率比高層住宅高一些。缺點:戶型設計不夠合理,有很大的浪費空間,小區的配套可能沒有洋房那麼完善。
  • 區塊鏈中的PoC共識算法是什麼意思?
    共識算法是區塊鏈技術的核心要素, 由於區塊鏈的快速發展,共識已得到各界關注,它將人類帶入數學領域的信任時代,因為有共識的存在,人類可以展開無信用抵押的大規模協作
  • 摩羯座的男生,有哪些優點和缺點?
    摩羯座的男生,有哪些優點和缺點摩羯座,出生日期為12月22日至1月19日,黃道十二宮的第十宮,摩羯座的守護星為土星,守護神是赫淮斯託斯。摩羯座受土星影響,不會有偏財,不會有機會找上門的好事,他們的成功都是靠自己的努力打拼出來的,摩羯座是一個很現實的星座。
  • 自考都有哪些優點和缺點?
    那麼自考都有哪些優點和缺點?下面一起來了解下!一、自考優點1、自考沒有學制限制,自考專科一般有16門,本科有14門,只有一門一門全部通過才能辦理畢業,目前最快的畢業時間為一年半左右,正常情況下為一年半到兩年。
  • 針灸豐胸的優點和缺點有哪些
    針灸豐胸優點一:沒有反彈針灸豐胸和針灸減肥一樣幾乎是不會反彈的.我們都知道藥物豐胸和運動豐胸是比較容易反彈的,但是如果用針灸豐胸就不會有這樣的擔憂.針灸豐胸通過刺激乳房穴位,激活乳房本身的潛能,調整乳房的生理機能,從而達到豐胸的目的.
  • 談談曲面屏顯示器,都有哪些優點和缺點
    那曲面屏的優點和缺點大家可能就沒有去深入研究了。下面波仔就來跟大家分享一下曲面屏都有哪些優缺點。一、曲面屏的優點1、沉浸式的體驗沉浸式的體驗,這一點是曲面屏最大的一個宣傳賣點,因他的外觀屏幕略微彎曲,能夠提供更好的環繞式觀感,為用戶提供更具有深度的觀賞視覺。