本發明專利技術涉及區塊鏈領域,尤其涉及一種鏈式周期投票的共識方法、存儲介質及電子設備。該方法包括:步驟1,獲得投票權成為礦工;步驟2,礦工通過生成隨機數競爭出塊,出塊幾率與礦工持有的選票成正比;步驟3,礦工周期性的對區塊進行投票;步驟4,根據投票結果選擇主鏈;步驟5,在主鏈中,將滿足終結條件的區塊終結,完成共識。本發明專利技術可以有效的將確認主鏈和終結過程結合起來,及降低了代碼復雜程度有提高了處理的效率,另外,還具有權益證明低能耗、鏈式公式對網絡環境的高容錯、驗證節點更多且要求更加寬松,此外還保證了安全性以及靈活性。此外還保證了安全性以及靈活性。此外還保證了安全性以及靈活性。
【技術實現步驟摘要】
一種鏈式周期投票的共識方法、存儲介質及電子設備
[0001]本專利技術涉及區塊鏈領域,尤其涉及一種鏈式周期投票的共識方法、存儲介質及電子設備。
技術介紹
[0002]在分布式貨幣系統中,我們最基本的需求只是能用的“賬本”,至于所有節點是否立即同步并不是我們真正關心的內容,從這點上來說很多分布式系統的要求都過于嚴格,類似于PBFT(實用拜占庭容錯)式的共識協議雖然實現了記賬功能,但是其節點之間復雜的交互都過于繁瑣,消息復雜度太高,不能支撐較多的驗證節點,而且在開放網絡當中遇到網絡狀況不好的情況時,反而會降低效率。權益證明機制的出現,實際上已經為最終性的實現打開了大門,因為權益的總量是可以統計的,那么我們根據權益進行的集體決策就有可能得出一個占絕對優勢的結果,理論上就可以被“終結”,事實上也已經有了具備最終性的共識協議出現。但是這些終結方案都顯得不太完美,比如Casper的方案雖然具備了最終性,但實現方式還是過于復雜了,沒有必要把確認主鏈和終結過程分離,既增加了代碼復雜度又降低了效率。
技術實現思路
[0003]本專利技術所要解決的技術問題是提供一種鏈式周期投票的共識方法、存儲介質及電子設備。
[0004]本專利技術解決上述技術問題的技術方案如下:一種鏈式周期投票的共識方法,包括:
[0005]步驟1,獲得投票權成為礦工;
[0006]步驟2,礦工通過生成隨機數競爭出塊,出塊幾率與礦工持有的選票成正比;
[0007]步驟3,礦工周期性的對區塊進行投票;
[0008]步驟4,根據投票結果選擇主鏈;
[0009]步驟5,在主鏈中,將滿足終結條件的區塊終結,完成共識。
[0010]本專利技術的有益效果是:通過上述方法有效的將確認主鏈和終結過程結合起來,及降低了代碼復雜程度有提高了處理的效率,另外,還具有權益證明低能耗、鏈式公式對網絡環境的高容錯、驗證節點更多且要求更加寬松,此外還保證了安全性以及靈活性。
[0011]在上述技術方案的基礎上,本專利技術還可以做如下改進。
[0012]進一步,步驟1具體為:
[0013]當權益人選擇棄權時,發布棄權記錄,當權益人未選擇棄權且滿足第一預設條件時,生成選票,獲得投票權,獲得投票權的權益人成為礦工;
[0014]其中,所述第一預設條件為:
[0015]VRF_VoteProof<Account_stakes
[0016]其中,Account_stakes為賬戶權益,VRF_VoteProof為隨機數生成函數。
[0017]采用上述進一步方案的有益效果是,通過增加棄權選擇可以有效增加方法靈活
性,另外對于后續數據的處理有減少處理量增高處理效率的作用。
[0018]進一步,步驟4具體為:
[0019]根據重量對每個分支鏈進行優先級比較,將優先級最高的分支鏈作為主鏈;
[0020]其中,所述重量為:一個分支鏈的根節點、所述根節點的所有子節點以及所述根節點的孫節點所獲得的選票總數;
[0021]所述優先級比較具體為:
[0022]從分支鏈共同的區塊開始,分別計算各自分支鏈的重量總和,重量總和最高者為優先級。
[0023]進一步,步驟5具體為:
[0024]在投票鏈不中斷的基礎上,獲得票數超過總票數三分之二的分支鏈的根節點區塊作為終結塊終結,該終結塊所在鏈為終結鏈,完成共識;
[0025]其中,所述投票鏈不中斷具體為:
[0026]礦工的第M次投票的區塊至第N次投票的區塊中至少包含一個終結塊,其中,該礦工的第M次投票至該礦工的第N次投票依次相連,N≥2,M≤N。
[0027]進一步,步驟5還包括:
[0028]基于終結條件,對第一預設周期內是否存在關鍵分叉進行判斷;
[0029]其中,終結條件具體為:滿足間隔不超過n個周期的連續投票的區塊具有投票權重;
[0030]第一預設周期為:
[0031]n+1個周期,n為正整數;
[0032]關鍵分叉具體為:
[0033]無法繼續終結的分叉。
[0034]進一步,步驟5還包括:
[0035]當終結鏈斷開的情況時,將下次投票的區塊的來源塊退回至通過回溯算法得到的回撤點區塊;
[0036]其中,來源塊為與本次投票相連的上一次投票的區塊。
[0037]進一步,通過回溯算法得到的回撤點區塊具體為:
[0038]所述回溯算法具體為:
[0039]統計當前區塊之前的所述第一預設周期內,該區塊所在區塊鏈上獲得的選票數,得到第一選票總數,判斷所述第一選票總數是否大于總票數的三分之二,若是,則反悔期I=0,若不是,則,將當前區塊的高度h的投票回溯至高度為h
?
1的位置,重新計算所述第一選票總數,判斷所述第一選票總數是否大于總票數的三分之二,若是,則反悔期I=1,若不是,則將回溯至高度為h
?
1的位置的投票與高度為h
?
1的投票合并,回溯至高度為h
?
2的位置,重復上述過程,直至所述第一選票總數大于總票數的三分之二,得到反悔期 I=i,其中,i為回溯次數;
[0040]所述回撤點區塊具體為:
[0041]高度為h
?
I的區塊。
[0042]進一步,步驟5還包括:在所述反悔期內,終結區塊回撤至所述回撤點區塊。
[0043]本專利技術解決上述技術問題的另一種技術方案如下:一種存儲介質,所述存儲介質
中存儲有指令,當計算機讀取所述指令時,使所述計算機執行如權利要求1至8中任一項所述的一種鏈式周期投票的共識方法。
[0044]本專利技術的有益效果是:通過上述方法有效的將確認主鏈和終結過程結合起來,及降低了代碼復雜程度有提高了處理的效率,另外,還具有權益證明低能耗、鏈式公式對網絡環境的高容錯、驗證節點更多且要求更加寬松,此外還保證了安全性以及靈活性。
[0045]本專利技術解決上述技術問題的另一種技術方案如下:一種電子設備,包括存儲器、處理器及存儲在所述存儲器上并在所述處理器上運行的程序,所述處理器執行所述程序時實現如權利要求1至8任一項所述的一種鏈式周期投票的共識方法。
[0046]本專利技術的有益效果是:通過上述方法有效的將確認主鏈和終結過程結合起來,及降低了代碼復雜程度有提高了處理的效率,另外,還具有權益證明低能耗、鏈式公式對網絡環境的高容錯、驗證節點更多且要求更加寬松,此外還保證了安全性以及靈活性。
附圖說明
[0047]圖1為本專利技術一種鏈式周期投票的共識方法實施例提供的流程示意圖;
[0048]圖2為本專利技術一種鏈式周期投票的共識方法實施例提供的分支重量計算示意圖;
[0049]圖3為本專利技術一種鏈式周期投票的共識方法實施例提供的出塊空窗示意圖;
[0050]圖4為本專利技術一種鏈式周期投票的共識方法實施例提供的礦工投票鏈示意圖;
[0051]圖本文檔來自技高網...
【技術保護點】
【技術特征摘要】
1.一種鏈式周期投票的共識方法,其特征在于,包括:步驟1,獲得投票權成為礦工;步驟2,礦工通過生成隨機數競爭出塊,出塊幾率與礦工持有的選票成正比;步驟3,礦工周期性的對區塊進行投票;步驟4,根據投票結果選擇主鏈;步驟5,在主鏈中,將滿足終結條件的區塊終結,完成共識。2.根據權利要求1所述的一種鏈式周期投票的共識方法,其特征在于,步驟1具體為:當權益人選擇棄權時,發布棄權記錄,當權益人未選擇棄權且滿足第一預設條件時,生成選票,獲得投票權,獲得投票權的權益人成為礦工;其中,所述第一預設條件為:VRF_VoteProof<Account_stakes其中,Account_stakes為賬戶權益,VRF_VoteProof為隨機數生成函數。3.根據權利要求1所述的一種鏈式周期投票的共識方法,其特征在于,步驟4具體為:根據重量對每個分支鏈進行優先級比較,將優先級最高的分支鏈作為主鏈;其中,所述重量為:一個分支鏈的根節點、所述根節點的所有子節點以及所述根節點的孫節點所獲得的選票總數;所述優先級比較具體為:從分支鏈共同的區塊開始,分別計算各自分支鏈的重量總和,重量總和最高者為優先級。4.根據權利要求1所述的一種鏈式周期投票的共識方法,其特征在于,步驟5具體為:在投票鏈不中斷的基礎上,獲得票數超過總票數三分之二的分支鏈的根節點區塊作為終結塊終結,該終結塊所在鏈為終結鏈,完成共識;其中,所述投票鏈不中斷具體為:礦工的第M次投票的區塊至第N次投票的區塊中至少包含一個終結塊,其中,該礦工的第M次投票至該礦工的第N次投票依次相連,N≥2,M≤N。5.根據權利要求4所述的一種鏈式周期投票的共識方法,其特征在于,步驟5還包括:基于終結條件,對第一預設周期內是否存在關鍵分叉進行判斷;其中,終結條件具體為:滿足間隔不超過n個周期的連續投票的區塊具有投票權重;第一預設周期...
【專利技術屬性】
技術研發人員:楊鑒,
申請(專利權)人:楊鑒,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。