【技術實現步驟摘要】
區塊同步方法、裝置、計算機以及存儲介質
本申請涉及區塊鏈
,尤其涉及一種區塊同步方法、裝置、計算機以及存儲介質。
技術介紹
由于區塊鏈的去中心及防篡改的特性,使得區塊鏈的應用越來越廣泛,在區塊鏈中節點間進行區塊同步時,確保區塊數據的準確性也就極為重要。當前,在區塊鏈中的節點間進行區塊同步時,正在同步區塊的節點一般通過先同步區塊的區塊頭,校驗區塊頭中所包含的前繼區塊哈希和該區塊對應的前繼區塊的哈希值是否一致,在兩者一致的情況下,將該區塊寫入該節點的賬本中,這種基于哈希值對比的簡單校驗,使得該節點同步的區塊中可能存在部分數據的真實性無法得到驗證,也就可能導致存在該節點所同步的區塊與合法的核心節點中的區塊不一致的情況,從而降低同步的區塊的真實有效性。
技術實現思路
本申請實施例提供了一種區塊同步方法和裝置,可以提高同步的區塊的準確性。本申請實施例一方面提供了一種區塊同步方法,包括:第一節點設備獲取第二節點設備發送的交易區塊,所述交易區塊的區塊頭中包括多個核心節點的投票信息及區塊頭屬性參數;檢測所述區塊頭屬性參數的合法性;根據所述交易區塊的區塊頭中的所述投票信息確定所述交易區塊的共識結果;若所述區塊頭屬性參數為合法參數,且所述共識結果為共識成功結果,則將所述交易區塊加入所述第一節點設備對應的交易賬本中。本申請實施例一方面提供了一種區塊同步裝置,所述裝置包括:第一獲取模塊,用于第一節點設備獲取第二節點設備發送的交易區塊,所述交易區塊的區塊頭中包括 ...
【技術保護點】
1.一種區塊同步方法,其特征在于,所述方法包括:/n第一節點設備獲取第二節點設備發送的交易區塊,所述交易區塊的區塊頭中包括多個核心節點的投票信息及區塊頭屬性參數;/n檢測所述區塊頭屬性參數的合法性;/n根據所述交易區塊的區塊頭中的所述投票信息確定所述交易區塊的共識結果;/n若所述區塊頭屬性參數為合法參數,且所述共識結果為共識成功結果,則將所述交易區塊加入所述第一節點設備對應的交易賬本中。/n
【技術特征摘要】
1.一種區塊同步方法,其特征在于,所述方法包括:
第一節點設備獲取第二節點設備發送的交易區塊,所述交易區塊的區塊頭中包括多個核心節點的投票信息及區塊頭屬性參數;
檢測所述區塊頭屬性參數的合法性;
根據所述交易區塊的區塊頭中的所述投票信息確定所述交易區塊的共識結果;
若所述區塊頭屬性參數為合法參數,且所述共識結果為共識成功結果,則將所述交易區塊加入所述第一節點設備對應的交易賬本中。
2.如權利要求1所述的方法,其特征在于,所述投票信息包括投票區塊哈希;所述方法還包括:
根據所述區塊頭屬性參數確定所述交易區塊的區塊頭哈希;
所述根據所述交易區塊的區塊頭中的所述投票信息確定所述交易區塊的共識結果,包括:
對比所述區塊頭哈希與多個所述投票信息對應的投票區塊哈希;
若多個所述投票信息中存在非法投票信息,則確定所述交易區塊的所述共識結果為共識失敗結果;所述非法投票信息對應的投票區塊哈希與所述區塊頭哈希不同;
若所述多個投票信息均為合法投票信息,則確定所述交易區塊的所述共識結果為所述共識成功結果。
3.如權利要求1所述的方法,其特征在于,所述交易區塊的區塊頭中的所述投票信息還包括對應核心節點的標識及投票簽名;
所述根據所述交易區塊的區塊頭中的所述投票信息確定所述交易區塊的共識結果,包括:
獲取合法核心節點列表;所述合法核心節點列表包括所述多個核心節點的標識及每個標識對應的公鑰;
若所述多個核心節點中存在不屬于所述合法核心節點列表的核心節點,則確定所述交易區塊的所述共識結果為共識失敗結果;
若所述多個核心節點均屬于所述合法核心節點列表,則根據所述核心節點的標識獲取所述核心節點的公鑰,采用所述核心節點的公鑰對對應核心節點的投票簽名進行驗簽;
若所述多個核心節點中存在投票簽名驗簽失敗的核心節點,則確定所述交易區塊的所述共識結果為共識失敗結果;
若所述多個核心節點的投票簽名均驗簽成功,則確定所述交易區塊的所述共識結果為所述共識成功結果。
4.如權利要求1所述的方法,其特征在于,所述根據所述交易區塊的區塊頭中的所述投票信息確定所述交易區塊的共識結果,包括:
將所述多個核心節點的投票信息中投票成功的投票信息確定為目標投票信息,統計所述目標投票信息的投票數量;
若所述投票數量小于投票閾值,則確定所述交易區塊的所述共識結果為共識失敗結果;
若所述投票數量大于或等于所述投票閾值,則確定所述交易區塊的所述共識結果為所述共識成功結果。
5.如權利要求1所述的方法,其特征在于,所述區塊頭屬性參數包括所述交易區塊的前繼哈希值及所述交易區塊的區塊高度;
所述檢測所述區塊頭屬性參數的合法性,包括:
獲取所述交易區塊的所述前繼哈希值及所述區塊高度;
根據所述區塊高度確定所述交易區塊的前繼區塊高度,基于所述前繼區塊高度從所述交易賬本中查找所述交易區塊的前繼區塊;
若未查找到所述前繼區塊,則確定所述區塊頭屬性參數為非法參數;
若查找到所述前繼區塊,則獲取所述前繼區塊的區塊頭哈希值,若所述前繼區塊的區塊頭哈希值與所述前繼哈希值不同,則確定所述區塊頭屬性參數為非法參數;
若所述前繼區塊的區塊頭哈希值與所述前繼哈希值相同,則確定所述區塊頭屬性參數為所述合法參數。
6.如權利要求1所述的方法,其特征在于,所述檢測所述區塊頭屬性參數的合法性,包括:
獲取區塊頭屬性集合,所述區塊頭屬性集合包括多個區塊頭屬性;
從所述交易區塊的區塊頭中查找每個區塊頭屬性對應的區塊頭屬性參數;
若所述多個區塊頭屬性中存在缺失區塊頭屬性,則確定所述區塊頭屬性參數為非法參數;所述缺失區塊頭屬性在所述區塊頭中無對應的所述區塊頭屬性參數。
7.如權利要求1所述的方法,其特征在于,所述方法還包括:
獲取所述交易區塊的區塊體中的交易數據,根據所述交易數據...
【專利技術屬性】
技術研發人員:劉攀,
申請(專利權)人:騰訊科技深圳有限公司,
類型:發明
國別省市:廣東;44
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。