精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

當前位置:區塊鏈行業動態 → 正文

解密區塊鏈最強心臟迅雷鏈共識算法詳解

責任編輯:zsheng |來源:企業網D1Net  2018-11-14 10:18:35 本文摘自:牛華網

11月10日在廣州貝塔咖啡舉辦的迅雷鏈技術沙龍上,迅雷鏈底層工程師張驍就迅雷鏈共識

算法的內在細節,向到場的開發者和區塊鏈愛好者做了詳細解讀。DPoA+PBFT的算法保證了分布式系統中的強一致性和高效率共識,吸引了在場來賓的關注。

12

什么是共識算法?

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

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

當前主流共識算法的分類

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

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

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

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

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

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

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

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

13

各種共識算法的優缺點

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

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

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

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

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

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

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

迅雷鏈采用什么共識算法?

14

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

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

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

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

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

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

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

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

關鍵字:企業科技創新

本文摘自:牛華網

x 解密區塊鏈最強心臟迅雷鏈共識算法詳解 掃一掃
分享本文到朋友圈
當前位置:區塊鏈行業動態 → 正文

解密區塊鏈最強心臟迅雷鏈共識算法詳解

責任編輯:zsheng |來源:企業網D1Net  2018-11-14 10:18:35 本文摘自:牛華網

11月10日在廣州貝塔咖啡舉辦的迅雷鏈技術沙龍上,迅雷鏈底層工程師張驍就迅雷鏈共識

算法的內在細節,向到場的開發者和區塊鏈愛好者做了詳細解讀。DPoA+PBFT的算法保證了分布式系統中的強一致性和高效率共識,吸引了在場來賓的關注。

12

什么是共識算法?

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

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

當前主流共識算法的分類

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

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

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

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

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

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

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

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

13

各種共識算法的優缺點

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

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

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

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

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

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

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

迅雷鏈采用什么共識算法?

14

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

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

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

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

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

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

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

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

關鍵字:企業科技創新

本文摘自:牛華網

電子周刊
回到頂部

關于我們聯系我們版權聲明隱私條款廣告服務友情鏈接投稿中心招賢納士

企業網版權所有 ©2010-2024 京ICP備09108050號-6 京公網安備 11010502049343號

^
  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 沅江市| 阿拉善右旗| 泸州市| 靖宇县| 隆林| 柳林县| 芜湖市| 德保县| 沁阳市| 嵊泗县| 汽车| 宜春市| 旬邑县| 芜湖县| 浮山县| 丰城市| 西畴县| 长春市| 乐平市| 绥江县| 观塘区| 泾阳县| 探索| 阿城市| 潢川县| 江永县| 耒阳市| 婺源县| 怀宁县| 迁西县| 临武县| 南皮县| 阳西县| 万荣县| 砚山县| 外汇| 文化| 航空| 府谷县| 郁南县| 武城县|