[發(fā)明專利]一種區(qū)塊鏈中使用靜態(tài)默克爾樹的方法和裝置在審
| 申請?zhí)枺?/td> | 202110798223.7 | 申請日: | 2021-07-14 |
| 公開(公告)號: | CN113704249A | 公開(公告)日: | 2021-11-26 |
| 發(fā)明(設(shè)計)人: | 王曉亮;張亞寧 | 申請(專利權(quán))人: | 杭州溪塔科技有限公司 |
| 主分類號: | G06F16/22 | 分類號: | G06F16/22;G06F16/27;G06Q20/38 |
| 代理公司: | 北京德崇智捷知識產(chǎn)權(quán)代理有限公司 11467 | 代理人: | 邢飛飛;王欣 |
| 地址: | 310012 浙江省杭州市西湖區(qū)文三路*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 區(qū)塊 使用 靜態(tài) 克爾 方法 裝置 | ||
本說明書實施例公開了一種區(qū)塊鏈中使用靜態(tài)默克爾樹的方法和裝置,所述方法中,構(gòu)造靜態(tài)默克爾樹的過程包括:根據(jù)葉子節(jié)點個數(shù),計算靜態(tài)默克爾樹總節(jié)點個數(shù);初始化空數(shù)組用于表征靜態(tài)默克爾樹,所述數(shù)組元素的個數(shù)為所述靜態(tài)默克爾樹總節(jié)點個數(shù);從所述數(shù)組尾部逆序選取所述葉子節(jié)點個數(shù)長度的數(shù)組元素用于插入所述葉子節(jié)點;從所述靜態(tài)默克爾樹最下層開始逐層計算節(jié)點值直至根節(jié)點,并依次存入所述數(shù)組。本發(fā)明應(yīng)用于區(qū)塊鏈中對處理性能要求較高的場景,在使用靜態(tài)默克爾樹的情況下可以減少哈希計算量;同時在輕客戶端、區(qū)塊交易密碼學驗證、跨鏈密碼學證明中,采用靜態(tài)默克爾樹的方式,也可以減少哈希計算量。
技術(shù)領(lǐng)域
本說明書涉及計算機軟件技術(shù)領(lǐng)域,尤其涉及一種區(qū)塊鏈中使用靜態(tài)默克爾樹的方法、裝置和電子設(shè)備。
背景技術(shù)
在比特幣中,為了解決輕節(jié)點的交易驗證問題,引入了默克爾樹。默克爾樹的每個節(jié)點的產(chǎn)生都要計算一次哈希,而哈希計算比較耗時。當根節(jié)點以外的任意一層有奇數(shù)個節(jié)點時,都需要對節(jié)點進行一次復制湊成偶數(shù)個節(jié)點的完全二叉樹再進行計算。默克爾樹這樣設(shè)計的原因是因為比特幣或者以太坊采用PoW的共識算法,在共識過程中(計算)是一邊處理交易一邊構(gòu)造區(qū)塊結(jié)構(gòu)的。而在聯(lián)盟鏈中,通常會采用BFT類的共識算法,使用該類共識算法在共識過程中,可以先共識區(qū)塊交易順序,再處理和計算交易結(jié)果,采用先共識再處理的流程。由于是先共識交易順序然后再計算交易的結(jié)果,所以區(qū)塊中的交易順序已經(jīng)完全確定的,不會在共識的過程中進行變更。在這種情況下,交易和交易回執(zhí)都可以采用靜態(tài)默克爾數(shù)的方式來計算其根哈希,以減少哈希計算量。
發(fā)明內(nèi)容
本說明書實施例的目的是針對默克爾樹哈希計算量大特別是在聯(lián)盟鏈應(yīng)用場景下哈希計算性能要求更高的問題,提供一種區(qū)塊鏈中使用靜態(tài)默克爾樹的方法和裝置。
為解決上述技術(shù)問題,本說明書實施例是這樣實現(xiàn)的:
第一方面,提出了區(qū)塊鏈中使用靜態(tài)默克爾樹的方法,構(gòu)造靜態(tài)默克爾樹的過程包括:
根據(jù)葉子節(jié)點個數(shù),計算靜態(tài)默克爾樹總節(jié)點個數(shù);
初始化空數(shù)組用于表征靜態(tài)默克爾樹,所述數(shù)組元素的個數(shù)為所述靜態(tài)默克爾樹總節(jié)點個數(shù);
從所述數(shù)組尾部逆序選取所述葉子節(jié)點個數(shù)長度的數(shù)組元素用于插入所述葉子節(jié)點;
從所述靜態(tài)默克爾樹最下層開始逐層計算節(jié)點值直至根節(jié)點,并依次存入所述數(shù)組。
第二方面,提出了一種區(qū)塊鏈中使用靜態(tài)默克爾樹的裝置,包括:
節(jié)點個數(shù)計算模塊,用于根據(jù)葉子節(jié)點個數(shù),計算靜態(tài)默克爾樹總節(jié)點個數(shù);
數(shù)組管理模塊,用于根據(jù)靜態(tài)默克爾樹總節(jié)點個數(shù)初始化空數(shù)組表征靜態(tài)默克爾樹;
節(jié)點值計算模塊,用于從所述數(shù)組尾部逆序選取所述葉子節(jié)點個數(shù)長度的數(shù)組元素插入所述葉子節(jié)點;以及從所述靜態(tài)默克爾樹最下層開始逐層計算節(jié)點值直至根節(jié)點,并依次存入所述數(shù)組。
第三方面,提出了一種電子設(shè)備,包括:處理器;以及
被安排成存儲計算機可執(zhí)行指令的存儲器,所述可執(zhí)行指令在被執(zhí)行時使所述處理器執(zhí)行第一方面所述的方法。
第四方面,提出了一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)存儲一個或多個程序,所述一個或多個程序當被包括多個應(yīng)用程序的電子設(shè)備執(zhí)行時,使得所述電子設(shè)備執(zhí)行第一方面所述的方法。
本說明書可以達到至少以下技術(shù)效果:
本發(fā)明應(yīng)用于區(qū)塊鏈中對處理性能要求較高的場景,在使用靜態(tài)默克爾樹的情況下可以減少哈希計算量;同時在輕客戶端、區(qū)塊交易密碼學驗證、跨鏈密碼學證明中,采用靜態(tài)默克爾樹的方式,也可以減少哈希計算量。
附圖說明
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于杭州溪塔科技有限公司,未經(jīng)杭州溪塔科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110798223.7/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 沿縱向拓展的區(qū)塊鏈的生成方法及系統(tǒng)
- 沿橫向拓展的區(qū)塊鏈的生成方法及系統(tǒng)
- 區(qū)塊鏈輕量化處理方法、區(qū)塊鏈節(jié)點及存儲介質(zhì)
- 餐廳配備裝置總成
- 區(qū)塊鏈處理方法、裝置及區(qū)塊鏈節(jié)點
- 本地區(qū)塊同步的檢驗方法、裝置、設(shè)備及存儲介質(zhì)
- 用于使用現(xiàn)有區(qū)塊鏈節(jié)點來托管新區(qū)塊鏈的方法和系統(tǒng)
- 一種錐體區(qū)塊、錐體區(qū)塊鏈結(jié)構(gòu)和方法
- 一種錐體區(qū)塊鏈共識系統(tǒng)、方法及網(wǎng)絡(luò)
- 區(qū)塊分布式區(qū)塊鏈的區(qū)塊數(shù)據(jù)結(jié)構(gòu)、存儲介質(zhì)及電子設(shè)備
- 復雜背景中實現(xiàn)靜態(tài)目標檢測和識別的方法
- 一種設(shè)置靜態(tài)認證信息的方法及裝置
- 一種基于物聯(lián)網(wǎng)技術(shù)的機房靜態(tài)資源快速定位的方法
- 一種動態(tài)網(wǎng)頁靜態(tài)化的方法和裝置
- 瀏覽器靜態(tài)資源加載方法、瀏覽器程序及可讀存儲介質(zhì)
- 靜態(tài)資源更新方法、裝置、存儲介質(zhì)和計算機設(shè)備
- 一種圖像顯示方法及裝置
- 一種靜態(tài)方法修改非靜態(tài)對象的方法
- 一種靜態(tài)資源加載方法、裝置、設(shè)備及可讀存儲介質(zhì)
- 一種靜態(tài)資源獲取方法、裝置及其相關(guān)設(shè)備





