99久久国产亚洲高清观看2020_国产免费成人_四虎国产精品永久地址入口_国产精品免费一区二区久久夜色_美国超碰在线_男人天堂tv

您的位置:首頁 > 科技 >

EOS區塊鏈系統核心技術突破——BFT-DPoS的共識算法和500毫秒出塊間隔

2018-04-17 08:52:25 來源: 金色財經

當Daniel Larimer在4月5日發布了EOSIO Dawn 3 0不久后EOS價格大幅度上漲多天。該預備版本的發布代表著目標在2018年6月發布正式版EOSIO

當Daniel Larimer在4月5日發布了EOSIO Dawn 3.0不久后EOS價格大幅度上漲多天。該預備版本的發布代表著目標在2018年6月發布正式版EOSIO 1.0的奮斗途中一個重要里程碑,并且EOS全球開發團隊為使EOSIO成為構建區塊鏈應用最強大的平臺正日以繼夜地工作著。筆者發現該版本中最引人矚目的地方要數500毫秒出塊間隔和BFT-DPoS的共識算法,這無疑是EOS為達到支持百萬級別用戶的區塊鏈系統中最核心的技術突破,因此本文將詳細分析BFT-DPoS共識算法并解讀其為何可達到遠遠超出其它區塊鏈系統的500毫秒出塊間隔的性能。

為使讀者能順利理解BFT-DPoS共識算法,筆者在這里首先簡單介紹一下BFT 協議和DPoS算法。

一、BFT協議

BFT協議全稱為拜占庭容錯協議,在介紹該協議之前首先需理解何為“拜占庭問題”。該問題是由著名計算機科學家Leslie Lamport在1982年發表的論文“The Byzantine generals problem”中提出的,拜占庭是古代東羅馬帝國的首都,由于地域寬廣,守衛邊境的多個將軍(系統中的多個節點)需要通過信使來傳遞消息,達成某些一致的決定。但由于將軍中可能存在叛徒(系統中節點出錯),這些叛徒將努力向不同的將軍發送不同的消息,試圖干擾共識的達成。拜占庭問題即為:在此情況下,如何讓忠誠的將軍們能達成行動的一致。

 

該問題的提出對后來區塊鏈的發展有著直接的影響,區塊鏈在本質上就是在一群無相互信任的節點間(有的節點會丟棄信息,有的節點會篡改信息),如何達成有效的共識。Lamport對該問題的研究指出“對于拜占庭問題來說,假如節點總數為N,叛變將軍數為F,則當N大于或等于3F+1時,問題才有解。”也就是說當一群節點中惡意節點的數量少于總數量的三分之一時,這群節點便可通過某種協議達成對某一狀態的共識,而這種協議就是BFT協議。

BFT協議簡單的表述就是:首先在一群數量有限的節點中通過輪換或者隨機算法選出某個節點為主節點,該節點在此時具有出塊的權利。當主節點將該時段的交易打包成區塊后用自己的私鑰對該區塊簽名,并將其廣播到所有節點。其它節點對該區塊進行驗證和確認,若某個節點確認該區塊后對該區塊進行簽名并發送給主節點。當主節點收到至少三分之二的不同節點的簽名區塊后,則該區塊完成了所有節點的驗證成為不可逆區塊串聯到區塊鏈中。

7z3LDXDMguMLC0MzUIKRfXFeZGgE49s4XJER78ep.jpeg

二、DPoS 算法

在比特幣的共識算法中由于PoW資源消耗過大,并且算力也越來越集中,因此Dan Larimer在2014年作為比特股的首席開發者時提出了一種快速、安全且能源消耗比較小的授權股權證明(DPoS)共識機制。DPoS在最小化網絡成本的同時,賦予每個持股人一定的投票權,由他們投票產生“超級節點”代表。最后由獲得票數最多的一定數量的超級節點輪流平等地產生區塊。在比特股中Dan Larimer選擇了101個超級節點,但在EOS中選擇了21個超級節點,主要有兩方面原因:一是由于用戶很難對較多數量的超級節點充分了解,所以過多的超級節點會降低用戶投票的活躍度;二是規模為20的節點數目可以在拜占庭問題中以更低的資源成本來獲得高效的共識。

這些超級節點的主要職責是:提供相關計算資源和網絡資源,保證節點的正常運行;當輪到某超級節點擁有出塊權時,超級節點收集該時段內的所有交易,并對交易驗證后打包成區塊廣播至其他超級節點,其他節點驗證后把區塊添加到自己的數據庫中。在EOS技術白皮書中,每個出塊間隔定義為3秒,這主要是由于在當前的網絡環境下,一個超級節點打包區塊并將其廣播,絕大多數其他節點收到該區塊的過程耗時最多3秒。只有下一個超級節點收到了上一個超級節點廣播的區塊時,再進行新區塊的生成才不會造成對某個超級節點產生區塊的忽略。而一個區塊要成為不可逆區塊需要超過三分之二的超級節點進行確認,在DPoS中只有超級節點產生一個新區塊,才表示它對之前收到的區塊鏈進行了確認,所以一個區塊產生后,其后續串聯14個區塊才表明該區塊是不可逆區塊,區塊中的交易是不可逆交易,整個確認過程需要45秒。

DPoS共識算法也具有極強的抗分叉能力,因為區塊添加到一條區塊鏈分叉的速率與擁有該共識的超級節點比例是相關的,也就是說,具有較多超級節點的分叉會比擁有較少的那一條分叉增長速率快。任何時候一個誠實的超級節點看到一條有效的更長鏈時,都會從當前的分叉切換過來,又由于超級節點數量為奇數個,所以在任何時刻一定會有一條較長的鏈。當一個超級節點設法在兩條分叉上同時生產區塊時,EOS的持有者會在下一輪投票中將該超級節點刪掉,并且EOS社區會給予相關惡意節點一定的懲罰。因此,在一般情況下,使用DPoS的EOS都是很難經歷分叉的。

三、BFT-DPoS 共識機制

在最早的EOS技術白皮書中,EOS主要采用上述的DPoS機制每3秒來產生一個區塊,而在最新版的EOS Dwan 3.0中為使區塊鏈系統有更快的出塊速度,EOS 采用了BFT-DPoS共識機制從而達到了500毫秒的出塊間隔。該機制的具體過程是:EOS的持有者通過投票系統對各個超級節點競選者進行投票,選出21個節點為超級節點。然后這21個超級節點以自身的網絡資源狀況商議出一個出塊權擁有順序,在每個超級節點擁有出塊權時,以間隔為500毫秒(500毫秒是EOS團隊通過大量實驗測試得出的當前網絡狀態下可達到的最小的穩定狀態下的出塊間隔)連續產生12個新區塊,然后切換到下一個超級節點連續產生之后的12個區塊。

oxBKQUihzU9Qh8l1KEz4a01kC88TN9X0lHrCYPO9.jpeg

該方式可以保證一個超級節點可以連續以500毫秒的間隔產生區塊,因為在同一超級節點產生新區塊時不受當前網絡狀況的影響,但由于網絡的延遲很難使得其他節點對已經產生的區塊進行確認,使其成為不可逆區塊。因此EOS引入了 BFT協議,當超級節點A產生第一個新區塊后,A將該區塊進行簽名并廣播給其他超級節點,其他超級節點對該區塊進行驗證后對其進行簽名并返回給A節點,當A節點收到來自14個不同節點簽名的區塊后,該區塊就成為不可逆區塊串聯到之前的區塊鏈中(以500毫秒產生新區塊的過程和對區塊進行BFT協議共識的過程在超級節點中是同時進行的,即確認過程不影響超級節點產生新的區塊)。EOS團隊通過大量實驗測試,在當前的網絡狀況下,一個超級節點廣播一個新區塊并確認的過程可在1秒的時間內完成。因此,每個新區塊的產生到成為不可逆區塊最多需要1.5秒的時間,這就使得跨鏈通信的時延大大縮小。因為一個區塊鏈在引入另一條區塊鏈的交易狀態時必須等待其成為不可逆交易,所以兩個基于EOS的區塊鏈在3秒鐘以內就可以進行一次來回的通信,而以太坊進行類似的通信需要9分鐘,比特幣需要3小時以上。

 

上述過程雖然可以保證同一超級節點產生新區塊時可以達到500毫秒的間隔,但當切換超級節點產生區塊時,由于網絡延遲使得上一節點產生的最后幾個新區塊有可能被該超級節點忽略。為解決此問題,EOS選用了確定順序的超級節點輪流出塊,比如以紐約(美國東海岸)、芝加哥(美國中部)、洛杉磯(美國西海岸)、日本東京、中國上海這樣的順序,該順序使得上一節點產生的最后區塊傳播到下一節點時有最小的延遲,從而避免下一個超級節點忽略上一節點產生的區塊。如果是隨機定義出塊權的超級節點,那么在現有的網絡條件下,出塊間隔只有控制在3 秒時才可保證下一節點較大概率上不會忽略上一節點產生的區塊。

使用上述BFT-DPoS協議就可以使得EOS的出塊間隔從原來的3秒降低到500毫秒,這也使得跨鏈通信的時延大大縮短,單位時間內可確認的交易數量大大提升。筆者相信如果這樣的機制在EOSIO1.0的正式版本中成功實現,那無疑是區塊鏈技術向支持百萬級別用戶的目標邁出的巨大一步。

關鍵詞: EOS 區塊鏈

精選 導讀

募資55億港元萬物云啟動招股 預計9月29日登陸港交所主板

萬科9月19日早間公告,萬物云當日啟動招股,預計發行價介乎每股47 1港元至52 7港元,預計9月29日登陸港交所主板。按發行1 167億股計算,萬

發布時間: 2022-09-20 10:39
管理   2022-09-20

公募基金二季度持股情況曝光 隱形重倉股多為高端制造業

隨著半年報披露收官,公募基金二季度持股情況曝光。截至今年二季度末,公募基金全市場基金總數為9794只,資產凈值為269454 75億元,同比上

發布時間: 2022-09-02 10:45
資訊   2022-09-02

又有上市公司宣布變賣房產 上市公司粉飾財報動作不斷

再有上市公司宣布變賣房產。四川長虹25日稱,擬以1 66億元的轉讓底價掛牌出售31套房產。今年以來,A股公司出售房產不斷。根據記者不完全統

發布時間: 2022-08-26 09:44
資訊   2022-08-26

16天12連板大港股份回復深交所關注函 股份繼續沖高

回復交易所關注函后,大港股份繼續沖高。8月11日大港股份高開,隨后震蕩走高,接近收盤時觸及漲停,報20 2元 股。值得一提的是,在7月21日

發布時間: 2022-08-12 09:56
資訊   2022-08-12

萬家基金再添第二大股東 中泰證券擬受讓11%基金股權

7月13日,中泰證券發布公告,擬受讓齊河眾鑫投資有限公司(以下簡稱齊河眾鑫)所持有的萬家基金11%的股權,交易雙方共同確定本次交易的標的資

發布時間: 2022-07-14 09:39
管理   2022-07-14

央行連續7日每天30億元逆回購 對債市影響如何?

央行12日再次開展了30億元逆回購操作,中標利率2 10%。這已是央行連續7日每天僅進行30億元的逆回購縮量投放,創下去年1月以來的最低操作規

發布時間: 2022-07-13 09:38
資訊   2022-07-13

美元指數創近20年新高 黃金期貨創出逾9個月新低

由于對美聯儲激進加息的擔憂,美元指數11日大漲近1%創出近20年新高。受此影響,歐美股市、大宗商品均走弱,而黃金期貨創出逾9個月新低。美

發布時間: 2022-07-13 09:36
資訊   2022-07-13

美股三大股指全線下跌 納斯達克跌幅創下記錄以來最大跌幅

今年上半年,美股持續回落。數據顯示,道瓊斯指數上半年下跌15 3%,納斯達克綜合指數下跌29 5%,標普500指數下跌20 6%。其中,納斯達克連續

發布時間: 2022-07-04 09:51
推薦   2022-07-04

融資客熱情回升 兩市融資余額月內增加超344億元

近期A股走強,滬指6月以來上漲4%,融資客熱情明顯回升。數據顯示,截至6月16日,兩市融資余額1 479萬億元,月內增加344 67億元,最近一個半

發布時間: 2022-06-20 09:41
資訊   2022-06-20

4個交易日凈買入超百億元 北向資金持續流入A股市場

北向資金凈流入態勢延續。繼6月15日凈買入133 59億元后,北向資金6月16日凈買入44 52億元。自5月27日至今,除6月13日以外,北向資金累計凈

發布時間: 2022-06-17 09:37
推薦   2022-06-17