DPOS共識機制

2021-09-12 17:02:16 字數 1693 閱讀 1108

鏈客,有問必答!!

eos在第一版***中使用的dpos共識機制,而在新一版的白書中,對共識機制進行了改進,使用bft+dpos混合共識機制。使出塊速度從原來的3秒變為0.5秒,tps顯著提高,達到測試3590次/秒。

eos第一版共識機制dpos

eos現在系統執行的鏈用的共識機制是第一版***的,也就是純dpos共識機制。

dpos即授權權益證明共識機制。相比於位元幣的pow機制,dpos不用浪費算力資源去爭奪記賬權,而是通過賦予eos通證持有人的投票選舉,選出21個超級節點擔任記賬人的角色,保證整個網路的正常執行。值得一提的是,人們的投票所佔的比重取決於他們持有多少token。這意味著擁有更多token的人將比擁有極少token的人更多地影響網路。這其實很好理解,因為持有網路的執行的好壞會對持有更多token的人的利益產生更大的影響,這使得他們的投票更謹慎。

21個超級節點輪流負責記賬。每輪都會隨機打亂他們的出塊順序,每個超級節點作為出塊節點時,只負責出乙個塊。每乙個區塊產生後會按照順序傳遞給下乙個超級節點中。第二個超級節點要負責打包新的區塊,同時還要確認上乙個區塊的內容。當某乙個區塊被超過2/3的超級節點確認後,則該區塊將成為不可逆轉區塊,即上鏈區塊。

該演算法有些地方明顯需要改良。比如容易出現漏塊現象。21個超級節點分布世界各地,如果隨機打亂順序,導致總是依次順序的節點相距地理位置很遠,如中國和美國,這兩國的網路傳輸單向時間是300毫秒,一來一回總共600毫秒。那麼中國這邊出塊,然後經過其他20個節點確認後返回,假設時間總共是4秒;而接下來美國出塊,反饋回來的時間是3秒,比中國快1秒,肯定是先上鏈的,結果中國出的塊就被丟棄掉了。當前目前設的出塊時間是3秒,理論上能夠解決這種漏塊現象,但想提高eos的效能,這塊肯定是要改進的。

eos最新版共識機制bft-dpos

bft即拜占庭容錯演算法。eos引入這個演算法,主要是賦予出塊節點更大的權力,加快出塊速度,解決節點出的塊都被漏掉的問題。

eos共識演算法的公升級,勢必需要超級節點們更新**,使用新的程式,然後在當前鏈上繼續執行。但如果超過1/3的節點拒絕更新**,可能會出現硬分叉問題。所以如何很好地做好過渡是eos最大難題。

我們一起分析下改進後的共識機制是如何工作的。

eos使用bft+dpos共識機制後,不再按照出塊順序讓超級節點乙個個驗證區塊內容,而是讓出塊節點成為主節點。出塊後,同時向其他20個超級節點進行廣播該區塊,並獲得他們的驗證。如果超過2/3的節點驗證通過後,則該區塊將成為不可逆轉區塊。

bft可以使eos出塊速度顯著增加。目前使用bft+dpos共識機制的eos,可以實現0.5秒的出塊速度,1秒實現區塊的不可逆轉。為避免因出塊速度過快而漏塊,eos的超級節點按照其他的地理位置依次輪流成為主節點,盡可能減少超級節點的網路延遲。比如超級節點有中國、美國、加拿大、日本,那麼成為主節點的順序是中國》日本》美國》加拿大或者反過來,總之保證相鄰最近的超級節點要依次交接主節點角色。

同時規定每個主節點連續生產6個區塊,至少保證6個區塊的前幾個能確認完成,不存在整個超級節點被跳過的現象。可以看出每輪記賬節點的出塊總時間還是3秒鐘,在這3秒裡,因為他對他自己出的塊是信任的,所以可以持續出塊。一邊出塊一邊廣播,3秒之內率先廣播的區塊肯定能夠得到確認,在網路通暢的情況下,6個區塊都會可能得到確認。

eos共識處理分叉問題非常簡單,和位元幣一樣,節點只會認可最長的鏈作為合法鏈。假如某個節點開始作惡,自己出塊並生成自己的鏈,也就是每次輪到它就產生6個塊。但是超級節點總共21個,每輪產生理論126個塊。根據選擇最長鏈作為主鏈原則,肯定作惡的鏈得不到認可。所以eos不會發生分叉問題。

DPOS共識機制

鏈客,有問必答!eos在第一版 中使用的dpos共識機制,而在新一版的白書中,對共識機制進行了改進,使用bft dpos混合共識機制。使出塊速度從原來的3秒變為0.5秒,tps顯著提高,達到測試3590次 秒。eos第一版共識機制dpos eos現在系統執行的鏈用的共識機制是第一版 的,也就是純dp...

共識演算法DPOS原理及實現

dpos delegated proof of stake,委任權益證明 它的原理是讓每乙個持有幣的人進行投票,由此產生n位代表 我們可以將其理解為n個超級節點或者礦池,而這n個超級節點彼此的權利是完全相等的。從某種角度來看,dpos有點像是議會制度或人民代表大會制度。如果代表不能履行他們的職責 當...

POW機制和DPOS機制

區塊鏈技術隨著位元幣 的飛漲,被越來越多的人所認識。其實在區塊鏈這個社群裡面,一直都分成三個圈子 1 幣圈 大多數人都是從電子加密貨幣開始認識區塊鏈技術的,或者很多人一直停留在幣圈,混跡於各大虛擬幣交易所。2 礦工 這個圈子成分複雜,既有一兩台礦機的愛好者,也有經營大型礦場的老闆。但人數相對幣圈還是...