[發明專利]一種區塊鏈數據裁剪的方法、系統及存儲介質有效
| 申請號: | 201910936657.1 | 申請日: | 2019-09-29 |
| 公開(公告)號: | CN110727644B | 公開(公告)日: | 2022-06-24 |
| 發明(設計)人: | 石寧;甘子榮;李達;王晨旭 | 申請(專利權)人: | 南京金寧匯科技有限公司 |
| 主分類號: | G06F16/16 | 分類號: | G06F16/16;G06F16/22;G06Q20/38 |
| 代理公司: | 北京弘權知識產權代理有限公司 11363 | 代理人: | 李少丹;許偉群 |
| 地址: | 211800 江蘇省南京市江*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 區塊 數據 裁剪 方法 系統 存儲 介質 | ||
本發明公開了一種區塊鏈數據裁剪的方法、系統及存儲介質,方法包括以下步驟:根據區塊鏈中各個節點的投票結果,確定檢查點;生成檢查點的狀態數據庫及該狀態數據庫的哈希值;將所述哈希值加入交易信息,并將該交易信息打包進預指定的區塊;通過區塊鏈節點對所述預指定的區塊形成共識后,將檢查點之前的區塊刪除。本發明通過區塊鏈共識,將指定的區塊交易歷史數據用狀態數據庫文件來替代,既保證了區塊鏈系統狀態數據的一致性,又能減少節點需要存儲的數據量,能夠提高數據量龐大的交易效率,可廣泛應用于區塊鏈技術領域。
技術領域
本發明涉及區塊鏈技術領域,尤其是一種區塊鏈數據裁剪的方法、系統及存儲介質。
背景技術
在區塊鏈中,一般情況下,每一個區塊鏈節點需要保存全部的歷史數據,因為區塊鏈數據是節點獲取當前系統狀態數據的一個重要的途徑,即通過遍歷執行所有區塊歷史數據來生成當前系統的狀態數據庫;在比特幣區塊鏈中,部分節點可以采用裁剪模式來直接刪減被稱作檢查點的區塊之前的所有數據,但是必須要有保存所有區塊數據的全節點存在。
在一個高并發的區塊鏈系統中,交易的數據量是非常龐大的,導致區塊的歷史數據量也是非常大,這對于所有的區塊鏈節點的存儲能力都要很高的要求。但是在實際的應用中,區塊鏈節點更關心的是整個區塊鏈系統當前的狀態數據,而不是所有的歷史交易數據。在這種情況下,節點保存全部的區塊交易數據的做法是不合理的,也是低效的。
發明內容
有鑒于此,本發明實施例提供一種高效的區塊鏈數據裁剪的方法、系統及存儲介質。
第一方面,本發明實施例提供了一種區塊鏈數據裁剪的方法,包括以下步驟:
根據區塊鏈中各個節點的投票結果,確定檢查點;
生成檢查點的狀態數據庫及該狀態數據庫的哈希值;
將所述哈希值加入交易信息,并將該交易信息打包進預指定的區塊;
通過區塊鏈節點對所述預指定的區塊形成共識后,將檢查點之前的區塊刪除。
進一步,還包括初始化新加入節點數據的步驟。
進一步,所述初始化新加入節點數據這一步驟,包括以下步驟:
基于確定的檢查點,同步處于檢查點之后且包括檢查點所在位置的所有區塊數據;
同步得到檢查點的狀態數據庫文件;
計算狀態數據庫文件的哈希值;
根據計算得到的哈希值確定狀態數據庫文件的合法性;
根據合法的狀態數據庫文件初始化狀態數據庫;
根據確定的檢查點遍歷處于檢查點之后的所有區塊的交易數據,得到最新的狀態數據庫。
進一步,所述根據計算得到的哈希值確定狀態數據庫文件的合法性這一步驟,在新加入的節點的初始化過程中,包括以下步驟:
節點首先從其他節點-同步處于最新的檢查點及最新的檢查點后的所有區塊;
節點從其他節點中同步得到針對最新的檢查點的狀態數據庫文件;
節點檢查最新的檢查點區塊中的裁剪請求交易中的字段和該交易中指定的區塊高度中的狀態數據庫文件共識交易中的字段是否一致;
節點計算狀態數據庫文件的哈希值,并和最新的檢查點對應的狀態數據庫文件共識交易中的狀態數據庫文件哈希值比較,如果比較結果一致則表示合法,否則不合法;
具體的,所述節點檢查最新的檢查點區塊中的裁剪請求交易中的字段和該交易中指定的區塊高度中的狀態數據庫文件共識交易中的字段是否一致這一步驟,具體包括如下步驟:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京金寧匯科技有限公司,未經南京金寧匯科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910936657.1/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





