[發(fā)明專利]一種基于PBFT的聯盟鏈分片方法及相應的聯盟鏈在審
| 申請?zhí)枺?/td> | 201811561856.0 | 申請日: | 2018-12-20 |
| 公開(公告)號: | CN109510876A | 公開(公告)日: | 2019-03-22 |
| 發(fā)明(設計)人: | 尚書丞 | 申請(專利權)人: | 弗洛格(武漢)信息科技有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;H04L9/32 |
| 代理公司: | 武漢泰山北斗專利代理事務所(特殊普通合伙) 42250 | 代理人: | 程千慧 |
| 地址: | 430223 湖北省武漢市東湖高新技術*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 片區(qū) 上鏈 算法 哈希值存儲 哈希運算 節(jié)點接收 信息存儲 信息請求 預設算法 鏈系統(tǒng) 區(qū)塊 預設 主鏈 運算 并發(fā) 存儲 廣播 | ||
1.一種基于PBFT的聯盟鏈分片方法,其特征在于,包括:
S1,根據聯盟鏈中節(jié)點總數以及預設的最小節(jié)點共識數量,計算聯盟鏈中所有節(jié)點被劃分的片區(qū)數;
S2,根據所述片區(qū)數,按照預設規(guī)則對聯盟鏈中的所有節(jié)點進行片區(qū)的劃分;
S3,當聯盟鏈中的節(jié)點接收到上鏈信息請求時,按照預設算法確定存儲上鏈信息的片區(qū);
S4,按照PBFT算法將所述上鏈信息存儲到確定的片區(qū)的區(qū)塊中,并將產生的新區(qū)塊廣播到聯盟鏈的所有節(jié)點中;
S5,對所述新區(qū)塊進行哈希運算,將運算后的哈希值存儲到聯盟鏈的主鏈中。
2.根據權利要求1所述的聯盟鏈分片方法,其特征在于,所述步驟S1之前還包括:
當有新節(jié)點申請接入聯盟鏈時,聯盟鏈管理節(jié)點對申請加入的該新節(jié)點進行審核,待審核通過后,對該新節(jié)點進行編號,并將聯盟鏈中更新后的所有節(jié)點名單廣播至聯盟鏈的所有節(jié)點。
3.根據權利要求2所述的聯盟鏈分片方法,其特征在于,所述步驟S1具體包括:
當聯盟鏈中的節(jié)點接收到聯盟鏈管理節(jié)點廣播的所有節(jié)點名單后,根據所述所有節(jié)點名單中的節(jié)點總數m和預設的最小節(jié)點共識數量n,計算聯盟鏈中所有節(jié)點被劃分的片區(qū)數x=[m/n],其中,m,n均為正整數;
相應的,所述步驟S2具體包括:
根據計算的片區(qū)數,將聯盟鏈中所有節(jié)點等分為x個片區(qū),每一個片區(qū)包括n個節(jié)點。
4.根據權利要求3所述的聯盟鏈分片方法,其特征在于,所述根據計算的片區(qū)數,將聯盟鏈中所有節(jié)點等分為x個片區(qū)具體包括:
劃分后的第一片區(qū)包括編號為1~n的節(jié)點,第二片區(qū)包括編號為(n+1)~2n的節(jié)點,依次類推,第x個片區(qū)包括編號為(x-1)n+1~m的節(jié)點。
5.根據權利要求1所述的聯盟鏈分片方法,其特征在于,所述步驟S3具體包括:
當聯盟鏈中的節(jié)點接收到上鏈信息請求時,該節(jié)點計算出H=(上鏈信息+當前時間戳的哈希值),并計算y=(H的二進制后12位)mod x+1,得到小于等于x的片區(qū)序號y,其中,y為確定存儲上鏈信息的片區(qū)。
6.根據權利5所述的聯盟鏈分片方法,其特征在于,所述步驟S4具體包括:
S41,接收到上鏈信息請求的節(jié)點與第y片區(qū)中的所有節(jié)點組成第y共識小組,其中,所述接收到上鏈信息請求的節(jié)點為第y共識小組的主節(jié)點,第y片區(qū)中的所有節(jié)點為第y共識小組的從節(jié)點;
S42,按照PBFT算法進行出塊,并將產生的新區(qū)塊在第y共識小組的所有節(jié)點中進行更新;
S43,當第y共識小組的主節(jié)點接收到該共識小組中超過2/3個從節(jié)點的新區(qū)塊更新成功的反饋時,該主節(jié)點將產生的新區(qū)塊廣播至聯盟鏈的所有節(jié)點。
7.根據權利要求6所述的聯盟鏈分片方法,其特征在于,所述步驟S5具體包括:
S51,當在第y共識小組中產生的新區(qū)塊的數量為預設數量時,第y共識小組中的主節(jié)點對產生的預設數量的新區(qū)塊進行哈希運算,得到對應的哈希值;
S52,第y共識小組中的所述主節(jié)點將所述哈希值發(fā)送給第一片區(qū)的所有節(jié)點,并按照PBFT算法將所述哈希值存儲到第一片區(qū)的主鏈上;
S53,第一片區(qū)的主鏈將所述哈希值廣播至每一個片區(qū)的主鏈上,以使所述哈希值存儲到聯盟鏈的每一個片區(qū)的主鏈上。
8.根據權利要求1所述的聯盟鏈分片方法,其特征在于,所述步驟S5之后還包括:
S6,根據需要驗證的指定片區(qū)的指定區(qū)塊,對所述指定區(qū)塊進行哈希運算,得到運算后的哈希值,將該哈希值與存儲于主鏈中的所述指定片區(qū)的所述指定區(qū)塊的哈希值進行對比,若對比結果為一致,則表明指定片區(qū)的指定區(qū)塊為正確,若不一致,則指定片區(qū)的指定區(qū)塊為錯誤。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于弗洛格(武漢)信息科技有限公司,未經弗洛格(武漢)信息科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811561856.0/1.html,轉載請聲明來源鉆瓜專利網。





