[發明專利]一種基于區塊鏈的數據結構在審
| 申請號: | 201810436884.3 | 申請日: | 2018-05-09 |
| 公開(公告)號: | CN108615156A | 公開(公告)日: | 2018-10-02 |
| 發明(設計)人: | 喬丹·厄爾斯 | 申請(專利權)人: | 上海魅聯信息技術有限公司 |
| 主分類號: | G06Q20/38 | 分類號: | G06Q20/38 |
| 代理公司: | 北京德恒律治知識產權代理有限公司 11409 | 代理人: | 章社杲;盧軍峰 |
| 地址: | 200050 上*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據結構 區塊 存儲狀態 樹狀結構 相關信息 數據量 | ||
本發明公開了一種基于區塊鏈的數據結構,該基于區塊鏈的數據結構包括:數據結構通過樹狀結構來存儲狀態改變相關信息。本發明通過上述這種技術方案,使得數據量大大減少。
技術領域
本發明涉及區塊鏈技術領域,具體來說,涉及一種基于區塊鏈的數據結構。
背景技術
區塊鏈(blockchain)是用分布式數據庫識別、傳播和機載信息的智能化對等網絡,也稱為價值互聯網。中本聰在2008年,于《比特幣白皮書》中提出“區塊鏈”的概念。
以太坊(Ethereum)是一個開源的有合約功能的公共區塊鏈平臺。通過其專用加密貨幣以太幣(Ether)提供去中心化的虛擬機來處理點對點合約。
比特幣采用Merkle tree(梅克爾樹)存儲交易數據。Merkle樹是一種哈希二叉樹,其可以提供一種校驗區塊是否存在某交易的高效途徑。Merkle樹的根節點存儲在區塊的區塊頭中。同時,根據梅克爾樹的特點,中本聰在比特幣白皮書中提出一種SPV(SimplifiedPayment Verification,簡單支付驗證)。SPV使用戶不運行全節點也可以驗證支付,用戶只需要保存所有的區塊頭(Block Header)就可以了。以太坊采用狀態樹MPT(MerklePatricia tree,梅克爾.帕特里夏樹)存儲區塊的狀態信息。MPT是一種經過改良的、融合了默克爾樹和前綴樹兩種樹結構優點的數據結構,這樣的數據結構設計,使得我們可以在插入、修改或者刪除操作后,快速地計算出新的樹根。
然而,以太坊某一個區塊的狀態樹MPT存儲區塊的所有合約地址的狀態信息,這些信息總量較大,而維護一個完全節點的本地數據庫需要保存區塊的狀態樹MPT信息,隨著區塊數量的增多,以太坊的全節點將需要巨大的存儲空間。
此外,由于以太坊中狀態數據庫的數據量過大,必須采用布隆濾波器來實現狀態改變信息的篩選,布隆濾波器本身需要額外的維護才能正常工作。
另外,以太坊每個區塊的狀態改變信息中只存儲該區塊的最終狀態改變信息,實際上該區塊的狀態中間可能經過多次變化,以太坊的狀態數據庫無法快速的獲取某合約相關的所有相關狀態變化列表,因為其存儲的是全局狀態信息,缺少可以獲取這些信息的基礎設施,然而現實應用中往往需要快速獲取這一信息。
除此之外,比特幣的SPV節點容易受到隱藏信息攻擊,即惡意節點故意隱藏部分狀態變化信息,同時,SPV客戶端較難發覺。
針對相關技術中的問題,目前尚未提出有效的解決方案。
發明內容
針對相關技術中的問題,本發明提出一種基于區塊鏈的數據結構。
為了解決現有技術中存在的技術問題,本發明提出了一種基于區塊鏈的數據結構,該基于區塊鏈的數據結構包括:數據結構通過樹狀結構來存儲狀態改變相關信息。
根據本發明的一個實施例,狀態改變相關信息包括:發生狀態改變的地址信息、狀態改變信息、與狀態改變信息相對應的運行結果信息。
根據本發明的一個實施例,發生狀態改變的地址信息包括賬戶地址信息、合約地址信息、UTXO地址信息中的至少一種。
根據本發明的一個實施例,狀態改變信息為最近一次狀態改變信息、數據變化信息、合約變化信息、事件觸發信息、運行收據信息、余額改變信息中的一種或多種的組合,其中,數據變化信息包括:數據添加信息、數據刪除信息、數據改變信息中的至少一種,合約變化信息包括:合約創建信息、合約修改信息、合約刪除信息中的至少一種。
根據本發明的一個實施例,樹狀結構為梅克爾樹。
根據本發明的一個實施例,樹狀結構的葉子節點存儲狀態改變相關信息或狀態改變相關信息相對應的哈希值。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海魅聯信息技術有限公司,未經上海魅聯信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810436884.3/2.html,轉載請聲明來源鉆瓜專利網。





