System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及區塊鏈,特別是涉及一種數據驗證方法、裝置、設備及介質。
技術介紹
1、時序數據,如傳感器讀數、交易記錄等,因其具有隨時間變化的特性,需要高效且可靠的方式進行存儲。中心化的數據庫系統因其結構清晰、管理簡便的特性,一直是時序數據存儲的首選方案。
2、相關技術中,時序數據被集中存儲在中心化的數據庫系統的中心節點上,并通過統一的接口進行訪問和管理。這種管理方式使得時序數據的存儲和檢索變得相對簡單和高效,同時也方便了對時序數據的統一管理和維護。
3、然而,這種中心化的存證方式容易受到單點故障和數據篡改的風險,一旦中心節點發生故障或被攻擊,就可能導致整個數據庫系統的癱瘓或時序數據的篡改或刪除,降低了時序數據的可靠性和安全性。
技術實現思路
1、基于上述問題,本申請提供了一種數據驗證方法、裝置、設備及介質,能夠提高時序數據的可靠性和安全性。
2、本申請實施例公開了如下技術方案:
3、第一方面,本申請公開了一種數據驗證方法,所述方法包括:
4、獲取待驗證數據的待驗證哈希值;
5、從區塊鏈網絡中確定包括所述待驗證數據的目標區塊;
6、確定所述目標區塊中的默克爾merkle樹結構;
7、若通過將所述merkle樹結構的每層節點的哈希值與所述待驗證哈希值匹配確認所述待驗證數據項位于所述merkle樹結構中,則確定所述待驗證數據在所述區塊鏈網絡中未被篡改。
8、可選地,所述merkle樹結
9、確定所述merkle樹結構的第一層節點的哈希值是否與所述待驗證哈希值匹配;
10、若否,則繼續確定所述merkle樹結構的第二層節點的哈希值是否與所述待驗證哈希值匹配;
11、重復上述步驟,直至所述merkle樹結構的第m層節點的哈希值與所述待驗證哈希值匹配,則確定所述待驗證數據在所述區塊鏈網絡中未被篡改,其中,m為小于等于n的正整數。
12、可選地,所述方法還包括:
13、若所述merkle樹結構的每層節點均與所述待驗證哈希值不匹配,則確定所述待驗證數據在所述區塊鏈網絡中被篡改。
14、可選地,在執行所述確定所述待驗證數據在所述區塊鏈網絡中被篡改之后,所述方法還包括:
15、向所述區塊鏈網絡中的其他區塊發送警告指示,所述警告指示用于提示所述目標區塊中的所述待驗證數據在所述區塊鏈網絡中被篡改。
16、可選地,所述區塊鏈網絡通過如下方式構建:
17、獲取時序數據;
18、對所述時序數據進行哈希處理,得到所述時序數據對應的哈希值;
19、利用所述merkle樹結構組織所述哈希值,獲得merkle根;
20、通過將所述merkle根和時間戳打包成一個區塊,構建區塊鏈網絡。
21、第二方面,本申請公開了一種數據驗證裝置,所述裝置包括:數據獲取模塊、第一確定模塊、第二確定模塊和第三確定模塊;
22、所述數據獲取模塊,用于獲取待驗證數據的待驗證哈希值;
23、所述第一確定模塊,用于從區塊鏈網絡中確定包括所述待驗證數據的目標區塊;
24、所述第二確定模塊,用于確定所述目標區塊中的默克爾merkle樹結構;
25、所述第三確定模塊,用于若通過將所述merkle樹結構的每層節點的哈希值與所述待驗證哈希值匹配確認所述待驗證數據項位于所述merkle樹結構中,則確定所述待驗證數據在所述區塊鏈網絡中未被篡改。
26、可選地,所述merkle樹結構為n層數據結構,n為正整數;
27、所述第三確定模塊具體用于:確定所述merkle樹結構的第一層節點的哈希值是否與所述待驗證哈希值匹配;若否,則繼續確定所述merkle樹結構的第二層節點的哈希值是否與所述待驗證哈希值匹配;重復上述步驟,直至所述merkle樹結構的第m層節點的哈希值與所述待驗證哈希值匹配,則確定所述待驗證數據在所述區塊鏈網絡中未被篡改,其中,m為小于等于n的正整數。
28、可選地,所述裝置還包括:第四確定模塊;
29、所述第四確定模塊,用于若所述merkle樹結構的每層節點均與所述待驗證哈希值不匹配,則確定所述待驗證數據在所述區塊鏈網絡中被篡改。
30、可選地,所述裝置還包括:指示警告模塊;
31、所述指示警告模塊,用于向所述區塊鏈網絡中的其他區塊發送警告指示,所述警告指示用于提示所述目標區塊中的所述待驗證數據在所述區塊鏈網絡中被篡改。
32、可選地,所述區塊鏈網絡通過如下單元構建:獲取單元、哈希單元、組織單元和構建單元;
33、所述獲取單元,用于獲取時序數據;
34、所述哈希單元,用于對所述時序數據進行哈希處理,得到所述時序數據對應的哈希值;
35、所述組織單元,用于利用所述merkle樹結構組織所述哈希值,獲得merkle根;
36、所述構建單元,用于通過將所述merkle根和時間戳打包成一個區塊,構建區塊鏈網絡。
37、第三方面,本申請公開了一種數據驗證設備,所述設備包括:存儲器和處理器;
38、所述存儲器,用于存儲程序;
39、所述處理器,用于執行所述程序,實現如第一方面所述的數據驗證方法的各個步驟。
40、第四方面,本申請公開了一種計算機可讀介質,其上存儲有計算機程序,所述計算機程序被處理器執行時,實現如第一方面所述的數據驗證方法的各個步驟。
41、相較于現有技術,本申請具有以下有益效果:
42、本申請實施例提供了一種數據驗證方法、裝置、設備及介質,該方法包括:獲取待驗證數據的待驗證哈希值;從區塊鏈網絡中確定包括待驗證數據的目標區塊;確定目標區塊中的默克爾merkle樹結構;若通過將merkle樹結構的每層節點的哈希值與待驗證哈希值匹配確認待驗證數據項位于merkle樹結構中,則確定待驗證數據在區塊鏈網絡中未被篡改。由此,本申請利用區塊鏈技術將數據存儲在目標區塊的多個節點上,而不是依賴于單一的中心節點,這種去中心化的存儲方式大大降低了單點故障的風險,因為即使部分節點發生故障,其他節點仍然可以正常工作,從而保證數據的可靠性和可用性。
本文檔來自技高網...【技術保護點】
1.一種數據驗證方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述Merkle樹結構為N層數據結構,N為正整數;所述若通過將所述Merkle樹結構的每層節點的哈希值與所述待驗證哈希值匹配,確認所述待驗證數據項位于所述Merkle樹結構中,則確定所述待驗證數據在所述區塊鏈網絡中未被篡改,包括:
3.根據權利要求2所述的方法,其特征在于,所述方法還包括:
4.根據權利要求3所述的方法,其特征在于,在執行所述確定所述待驗證數據在所述區塊鏈網絡中被篡改之后,所述方法還包括:
5.根據權利要求1所述的方法,其特征在于,所述區塊鏈網絡通過如下方式構建:
6.一種數據驗證裝置,其特征在于,所述裝置包括:數據獲取模塊、第一確定模塊、第二確定模塊和第三確定模塊;
7.根據權利要求6所述的裝置,其特征在于,所述Merkle樹結構為N層數據結構,N為正整數;
8.根據權利要求6所述的裝置,其特征在于,所述裝置還包括:第四確定模塊;
9.一種數據驗證設備,其特征在于,所述設備包括
10.一種計算機可讀介質,其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時,實現如權利要求1至5中任一項所述的數據驗證方法的各個步驟。
...【技術特征摘要】
1.一種數據驗證方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述merkle樹結構為n層數據結構,n為正整數;所述若通過將所述merkle樹結構的每層節點的哈希值與所述待驗證哈希值匹配,確認所述待驗證數據項位于所述merkle樹結構中,則確定所述待驗證數據在所述區塊鏈網絡中未被篡改,包括:
3.根據權利要求2所述的方法,其特征在于,所述方法還包括:
4.根據權利要求3所述的方法,其特征在于,在執行所述確定所述待驗證數據在所述區塊鏈網絡中被篡改之后,所述方法還包括:
5.根據權利要求1所述的方法,其特征在...
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。