CN110188112B 一種區(qū)塊鏈智能合約的變更記錄的追溯方法及裝置(深圳前海微眾銀行股份有限公司)_第1頁
CN110188112B 一種區(qū)塊鏈智能合約的變更記錄的追溯方法及裝置(深圳前海微眾銀行股份有限公司)_第2頁
CN110188112B 一種區(qū)塊鏈智能合約的變更記錄的追溯方法及裝置(深圳前海微眾銀行股份有限公司)_第3頁
CN110188112B 一種區(qū)塊鏈智能合約的變更記錄的追溯方法及裝置(深圳前海微眾銀行股份有限公司)_第4頁
CN110188112B 一種區(qū)塊鏈智能合約的變更記錄的追溯方法及裝置(深圳前海微眾銀行股份有限公司)_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

(19)國家知識產(chǎn)權(quán)局(12)發(fā)明專利(10)授權(quán)公告號CN110188112B(65)同一申請的已公布的文獻(xiàn)號(73)專利權(quán)人深圳前海微眾銀行股份有限公司地址518027廣東省深圳市前海深港合作區(qū)前灣一路1號A棟201室(72)發(fā)明人劉明臻張開翔范瑞彬周祿(74)專利代理機(jī)構(gòu)北京同達(dá)信恒知識產(chǎn)權(quán)代理有限公司11291專利代理師黃志華審查員靳苗苗獲取查詢請求根據(jù)所述區(qū)塊鏈的區(qū)塊中記錄的狀態(tài)樹根節(jié)點(diǎn),確定所述狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹;并根據(jù)所述智能合約的標(biāo)獲取查詢請求根據(jù)所述區(qū)塊鏈的區(qū)塊中記錄的狀態(tài)樹根節(jié)點(diǎn),確定所述狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹;并根據(jù)所述智能合約的標(biāo)識,從所述狀態(tài)樹中確定出所述智能合約的關(guān)鍵字段根據(jù)所述關(guān)鍵字段,確定所述智能合約的變更信息,并生成所述智能合約的變更記錄(57)摘要本發(fā)明涉及金融科技領(lǐng)域,并公開了一種區(qū)塊鏈智能合約的變更記錄的追溯方法及裝置,該方法包括:獲取查詢請求,根據(jù)區(qū)塊鏈的區(qū)塊中記錄的狀態(tài)樹根節(jié)點(diǎn),確定狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹,并根據(jù)智能合約的標(biāo)識,從狀態(tài)樹中確定出智能合約的關(guān)鍵字段,以及根據(jù)關(guān)鍵字段,確定智能合約的變更信息,并生成智能合約的變更記錄。該技術(shù)方案可以實(shí)現(xiàn)高效、快速地獲取21.一種區(qū)塊鏈智能合約的變更記錄的追溯方法,其特征在于,包括:獲取查詢請求;所述查詢請求用于指示從區(qū)塊鏈中確定出所述查詢請求中待追溯的智能合約的變更記錄;根據(jù)所述區(qū)塊鏈的區(qū)塊中記錄的狀態(tài)樹根節(jié)點(diǎn),確定所述狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹;并根據(jù)所述智能合約的標(biāo)識,從所述狀態(tài)樹中確定出所述智能合約的關(guān)鍵字段;所述關(guān)鍵字段用于表征所述智能合約的變更信息存儲在所述區(qū)塊鏈中的區(qū)塊的高度;根據(jù)所述關(guān)鍵字段,確定所述智能合約的變更信息,并生成所述智能合約的變更記錄;接收所述智能合約的創(chuàng)建請求;根據(jù)所述創(chuàng)建請求,在所述區(qū)塊鏈中創(chuàng)建所述智能合約,生成記錄有創(chuàng)建所述智能合約的交易的第一區(qū)塊;并將所述第一區(qū)塊的高度確定為所述智能合約創(chuàng)建時(shí)的關(guān)鍵字段,存儲至所述第一區(qū)塊的狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹中;以及接收所述智能合約的追加數(shù)據(jù)請求;根據(jù)所述追加數(shù)據(jù)請求,將所述追加數(shù)據(jù)請求中的待追加數(shù)據(jù)寫入所述智能合約,生成記錄有將所述待追加數(shù)據(jù)寫入所述智能合約的交易的第二區(qū)塊;并將所述第二區(qū)塊的高度確定為所述智能合約追加數(shù)據(jù)時(shí)的關(guān)鍵字段,存儲至所述第二區(qū)塊的狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹中。2.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述區(qū)塊鏈的區(qū)塊中記錄的狀態(tài)樹根節(jié)點(diǎn),確定所述狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹;并根據(jù)所述智能合約的標(biāo)識,從所述狀態(tài)樹中確定出所述智能合約的關(guān)鍵字段,包括:獲取所述區(qū)塊鏈的最高區(qū)塊,將所述最高區(qū)塊確定為當(dāng)前區(qū)塊;根據(jù)所述當(dāng)前區(qū)塊中記錄的狀態(tài)樹根節(jié)點(diǎn),確定所述狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹;并根據(jù)所述智能合約的標(biāo)識,從所述狀態(tài)樹中確定出所述智能合約追加數(shù)據(jù)時(shí)的關(guān)鍵字段;將確定出的所述智能合約追加數(shù)據(jù)時(shí)的關(guān)鍵字段減1后對應(yīng)的區(qū)塊繼續(xù)確定為當(dāng)前區(qū)塊,并根據(jù)所述當(dāng)前區(qū)塊中記錄的狀態(tài)樹根節(jié)點(diǎn),確定所述狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹,以及根據(jù)所述智能合約的標(biāo)識,從所述狀態(tài)樹中確定出所述智能合約追加數(shù)據(jù)時(shí)的關(guān)鍵字段;直至確定出所述智能合約創(chuàng)建時(shí)的關(guān)鍵字段為止。3.如權(quán)利要求1至2任一項(xiàng)所述的方法,其特征在于,所述根據(jù)所述關(guān)鍵字段,確定所述智能合約的變更信息,并生成所述智能合約的變更記錄,包括:根據(jù)多個(gè)關(guān)鍵字段,解析各關(guān)鍵字段對應(yīng)的區(qū)塊,得到所述智能合約的各變更信息;將所述智能合約的各變更信息倒序后,確定為所述智能合約的變更記錄。4.一種區(qū)塊鏈智能合約的變更記錄的追溯裝置,其特征在于,包括:獲取單元,用于獲取查詢請求;所述查詢請求用于指示從區(qū)塊鏈中確定出所述查詢請求中待追溯的智能合約的變更記錄;處理單元,用于根據(jù)所述區(qū)塊鏈的區(qū)塊中記錄的狀態(tài)樹根節(jié)點(diǎn),確定所述狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹;并根據(jù)所述智能合約的標(biāo)識,從所述狀態(tài)樹中確定出所述智能合約的關(guān)鍵字段;所述關(guān)鍵字段用于表征所述智能合約的變更信息存儲在所述區(qū)塊鏈中的區(qū)塊的高度;以及根據(jù)所述關(guān)鍵字段,確定所述智能合約的變更信息,并生成所述智能合約的變更記在所述獲取查詢請求之前,接收所述智能合約的創(chuàng)建請求;根據(jù)所述創(chuàng)建請求,在所述3區(qū)塊鏈中創(chuàng)建所述智能合約,生成記錄有創(chuàng)建所述智能合約的交易的第一區(qū)塊;并將所述第一區(qū)塊的高度確定為所述智能合約創(chuàng)建時(shí)的關(guān)鍵字段,存儲至所述第一區(qū)塊的狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹中;以及接收所述智能合約的追加數(shù)據(jù)請求;根據(jù)所述追加數(shù)據(jù)請求,將所述追加數(shù)據(jù)請求中的待追加數(shù)據(jù)寫入所述智能合約,生成記錄有將所述待追加數(shù)據(jù)寫入所述智能合約的交易的第二區(qū)塊;并將所述第二區(qū)塊的高度確定為所述智能合約追加數(shù)據(jù)時(shí)的關(guān)鍵字段,存儲至所述第二區(qū)塊的狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹中。5.如權(quán)利要求4所述的裝置,其特征在于,所述處理單元具體用于:獲取所述區(qū)塊鏈的最高區(qū)塊,將所述最高區(qū)塊確定為當(dāng)前區(qū)塊;根據(jù)所述當(dāng)前區(qū)塊中記錄的狀態(tài)樹根節(jié)點(diǎn),確定所述狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹;并根據(jù)所述智能合約的標(biāo)識,從所述狀態(tài)樹中確定出所述智能合約追加數(shù)據(jù)時(shí)的關(guān)鍵字段;將確定出的所述智能合約追加數(shù)據(jù)時(shí)的關(guān)鍵字段減1后對應(yīng)的區(qū)塊繼續(xù)確定為當(dāng)前區(qū)塊,并根據(jù)所述當(dāng)前區(qū)塊中記錄的狀態(tài)樹根節(jié)點(diǎn),確定所述狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹,以及根據(jù)所述智能合約的標(biāo)識,從所述狀態(tài)樹中確定出所述智能合約追加數(shù)據(jù)時(shí)的關(guān)鍵字段;直至確定出所述智能合約創(chuàng)建時(shí)的關(guān)鍵字段為止。6.如權(quán)利要求4至5任一項(xiàng)所述的裝置,其特征在于,所述處理單元具體用于:根據(jù)多個(gè)關(guān)鍵字段,解析各關(guān)鍵字段對應(yīng)的區(qū)塊,得到所述智能合約的各變更信息;將所述智能合約的各變更信息倒序后,確定為所述智能合約的變更記錄。處理器,用于調(diào)用所述存儲器中存儲的程序指令,按照獲得的程序執(zhí)行權(quán)利要求1至3任一項(xiàng)所述的方法。8.一種計(jì)算機(jī)可讀非易失性存儲介質(zhì),其特征在于,包括計(jì)算機(jī)可讀指令,當(dāng)計(jì)算機(jī)讀取并執(zhí)行所述計(jì)算機(jī)可讀指令時(shí),使得計(jì)算機(jī)執(zhí)行如權(quán)利要求1至3任一項(xiàng)所述的方法。4一種區(qū)塊鏈智能合約的變更記錄的追溯方法及裝置技術(shù)領(lǐng)域[0001]本發(fā)明實(shí)施例涉及金融科技(Fintech)領(lǐng)域,尤其涉及一種區(qū)塊鏈(BlockChain)智能合約的變更記錄的追溯方法及裝置。背景技術(shù)[0002]區(qū)塊鏈?zhǔn)怯梢幌盗袇^(qū)塊組成的一條鏈,每個(gè)區(qū)塊記錄本塊的數(shù)據(jù)及上一塊的哈希值,所有區(qū)塊通過這種方式前后相繼組成一條鏈。區(qū)塊鏈所基于的密碼學(xué)技術(shù)和去中心化思想使鏈上的歷史信息無法被篡改。[0003]隨著計(jì)算機(jī)技術(shù)的發(fā)展,越來越多的技術(shù)應(yīng)用在金融領(lǐng)域,傳統(tǒng)金融業(yè)正在逐步也對技術(shù)提出的更高的要求。[0004]現(xiàn)有的區(qū)塊鏈系統(tǒng)中,存證類智能合約提供追加接口用于向智能合約中追加寫入新的存證信息。該類智能合約在存證時(shí)把新的存證信息追加寫入智能合約,在需要該存證信息時(shí),可以直接從智能合約中讀取該存證信息。[0005]現(xiàn)有技術(shù)中,只讀取智能合約中的存證信息,并不能確定出智能合約中各存證信息的存儲記錄,即不能追溯到智能合約中內(nèi)容的變更記錄,進(jìn)一步也不能保障讀到的存證信息的真實(shí)性。發(fā)明內(nèi)容[0006]本發(fā)明實(shí)施例提供一種區(qū)塊鏈智能合約的變更記錄的追溯方法及裝置,通過高效、快速地獲取智能合約的變更記錄,根據(jù)變更記錄確保智能合約中存證信息的真實(shí)性。[0007]本發(fā)明實(shí)施例提供的一種區(qū)塊鏈智能合約的變更記錄的追溯方法,包括:[0008]獲取查詢請求;所述查詢請求用于指示從區(qū)塊鏈中確定出所述查詢請求中待追溯的智能合約的變更記錄;[0009]根據(jù)所述區(qū)塊鏈的區(qū)塊中記錄的狀態(tài)樹根節(jié)點(diǎn),確定所述狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹;并根據(jù)所述智能合約的標(biāo)識,從所述狀態(tài)樹中確定出所述智能合約的關(guān)鍵字段;所述關(guān)鍵字段用于表征所述智能合約的變更信息存儲在所述區(qū)塊鏈中的區(qū)塊的高度;[0010]根據(jù)所述關(guān)鍵字段,確定所述智能合約的變更信息,并生成所述智能合約的變更[0011]上述技術(shù)方案中,根據(jù)區(qū)塊鏈的區(qū)塊中記錄的狀態(tài)樹根節(jié)點(diǎn),確定狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹,并根據(jù)智能合約的標(biāo)識,從狀態(tài)樹中確定出智能合約的關(guān)鍵字段,該智能合約的關(guān)鍵字段即區(qū)塊鏈中記錄智能合約變更信息的區(qū)塊的高度,根據(jù)關(guān)鍵字段,解析各關(guān)鍵字段對應(yīng)的區(qū)塊,即可以確定出各變更信息,生成變更記錄。該技術(shù)方案,無需遍歷整個(gè)區(qū)塊鏈中各區(qū)塊的交易記錄,而是直接將智能合約的變更信息定位到具體區(qū)塊,進(jìn)而解析該具體區(qū)塊,可以快速、高效的獲取智能合約的變更記錄。進(jìn)一步根據(jù)追溯到的智能合約的變更記錄,以確保智能合約中存證信息的真實(shí)性。5[0013]接收所述智能合約的創(chuàng)建請求;根據(jù)所述創(chuàng)建請求,在所述區(qū)塊鏈中創(chuàng)建所述智能合約,生成記錄有創(chuàng)建所述智能合約的交易的第一區(qū)塊;并將所述第一區(qū)塊的高度確定為所述智能合約創(chuàng)建時(shí)的關(guān)鍵字段,存儲至所述第一區(qū)塊的狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹[0014]以及接收所述智能合約的追加數(shù)據(jù)請求;根據(jù)所述追加數(shù)據(jù)請求,將所述追加數(shù)據(jù)請求中的待追加數(shù)據(jù)寫入所述智能合約,生成記錄有所述將待追加數(shù)據(jù)寫入所述智能合約的交易的第二區(qū)塊;并將所述第二區(qū)塊的高度確定為所述智能合約追加數(shù)據(jù)時(shí)的關(guān)鍵字段,存儲至所述第二區(qū)塊的狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹中。[0015]上述技術(shù)方案中,智能合約創(chuàng)建時(shí),將創(chuàng)建智能合約的交易存儲在區(qū)塊鏈的第一區(qū)塊中,并且把該第一區(qū)塊的高度作為關(guān)鍵字段,以及每次智能合約變更時(shí),都會將本次智能合約的變更信息存儲在區(qū)塊鏈的第二區(qū)塊中,且將該第二區(qū)塊的區(qū)塊高度作為關(guān)鍵字段,將關(guān)鍵字段存儲至對應(yīng)區(qū)塊的狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹中,用于在區(qū)塊鏈中查詢智能合約的變更信息時(shí),將變更信息迅速定位到某個(gè)特定區(qū)塊上,以實(shí)現(xiàn)追溯變更信息的高[0016]可選的,所述根據(jù)所述區(qū)塊鏈的區(qū)塊中記錄的狀態(tài)樹根節(jié)點(diǎn),確定所述狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹;并根據(jù)所述智能合約的標(biāo)識,從所述狀態(tài)樹中確定出所述智能合約的[0017]獲取所述區(qū)塊鏈的最高區(qū)塊,將所述最高區(qū)塊確定為當(dāng)前區(qū)塊;根據(jù)所述當(dāng)前區(qū)塊中記錄的狀態(tài)樹根節(jié)點(diǎn),確定所述狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹;并根據(jù)所述智能合約的標(biāo)識,從所述狀態(tài)樹中確定出所述智能合約追加數(shù)據(jù)時(shí)的關(guān)鍵字段;[0018]將確定出的所述智能合約追加數(shù)據(jù)時(shí)的關(guān)鍵字段減1后對應(yīng)的區(qū)塊繼續(xù)確定為當(dāng)前區(qū)塊,并根據(jù)所述當(dāng)前區(qū)塊中記錄的狀態(tài)樹根節(jié)點(diǎn),確定所述狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹,以及根據(jù)所述智能合約的標(biāo)識,從所述狀態(tài)樹中確定出所述智能合約追加數(shù)據(jù)時(shí)的關(guān)鍵字段;直至確定出所述智能合約創(chuàng)建時(shí)的關(guān)鍵字段為止。[0019]上述技術(shù)方案中,從區(qū)塊鏈的最高區(qū)塊開始,從最高區(qū)塊中確定該最高區(qū)塊對應(yīng)的狀態(tài)樹,并從中確定出智能合約追加數(shù)據(jù)時(shí)的關(guān)鍵字段;進(jìn)一步,將關(guān)鍵字段減1后對應(yīng)的區(qū)塊開始,繼續(xù)確定狀態(tài)樹以及狀態(tài)樹中的關(guān)鍵字段,重復(fù)上述步驟直至確定出智能合約創(chuàng)建時(shí)的關(guān)鍵字段為止,也就是確定出該智能合約的全部變更信息為止。進(jìn)一步的,通過該技術(shù)方案中根據(jù)區(qū)塊確定狀態(tài)樹,再根據(jù)狀態(tài)樹確定關(guān)鍵字段的方式,可以無需遍歷整個(gè)區(qū)塊鏈中的每個(gè)區(qū)塊,例如,最高區(qū)塊高度是100,可以根據(jù)該最高區(qū)塊確定出關(guān)鍵字段為10,進(jìn)一步將區(qū)塊高度為9的區(qū)塊作為當(dāng)前區(qū)塊,從該當(dāng)前區(qū)塊中確定出關(guān)鍵字段,由上可知,本技術(shù)方案中無需查詢區(qū)塊高度為10至99的區(qū)塊,明顯提高了追溯變更記錄的效率。[0020]可選的,所述根據(jù)所述關(guān)鍵字段,確定所述智能合約的變更信息,并生成所述智能[0021]根據(jù)多個(gè)關(guān)鍵字段,解析各關(guān)鍵字段對應(yīng)的區(qū)塊,得到所述智能合約的各變更信[0022]將所述智能合約的各變更信息倒序后,確定為所述智能合約的變更記錄。[0023]上述技術(shù)方案中,智能合約的關(guān)鍵字段可以為多個(gè),根據(jù)多個(gè)關(guān)鍵字段,解析各關(guān)6鍵字段對應(yīng)的區(qū)塊,并從各區(qū)塊中解析出智能合約的各變更信息,又由于本發(fā)明實(shí)施例是從區(qū)塊鏈的最高區(qū)塊開始獲取關(guān)鍵字段,即上述獲取到的各智能合約的變更信息是倒序的,所以需要將智能合約的各變更信息執(zhí)行倒序操作后,確定為智能合約的變更記錄,倒序后的變更信息的順序更符合人員查看的習(xí)慣,提高了用戶體驗(yàn)。[0024]相應(yīng)的,本發(fā)明實(shí)施例還提供了一種區(qū)塊鏈智能合約的變更記錄的追溯裝置,包[0025]獲取單元,用于獲取查詢請求;所述查詢請求用于指示從區(qū)塊鏈中確定出所述查詢請求中待追溯的智能合約的變更記錄;[0026]處理單元,用于根據(jù)所述區(qū)塊鏈的區(qū)塊中記錄的狀態(tài)樹根節(jié)點(diǎn),確定所述狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹;并根據(jù)所述智能合約的標(biāo)識,從所述狀態(tài)樹中確定出所述智能合約的關(guān)鍵字段;所述關(guān)鍵字段用于表征所述智能合約的變更信息存儲在所述區(qū)塊鏈中的區(qū)塊的高度;以及根據(jù)所述關(guān)鍵字段,確定所述智能合約的變更信息,并生成所述智能合約的變[0028]在所述獲取查詢請求之前,接收所述智能合約的創(chuàng)建請求;根據(jù)所述創(chuàng)建請求,在所述區(qū)塊鏈中創(chuàng)建所述智能合約,生成記錄有創(chuàng)建所述智能合約的交易的第一區(qū)塊;并將所述第一區(qū)塊的高度確定為所述智能合約創(chuàng)建時(shí)的關(guān)鍵字段,存儲至所述第一區(qū)塊的狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹中;[0029]以及接收所述智能合約的追加數(shù)據(jù)請求;根據(jù)所述追加數(shù)據(jù)請求,將所述追加數(shù)據(jù)請求中的待追加數(shù)據(jù)寫入所述智能合約,生成記錄有所述將待追加數(shù)據(jù)寫入所述智能合約的交易的第二區(qū)塊;并將所述第二區(qū)塊的高度確定為所述智能合約追加數(shù)據(jù)時(shí)的關(guān)鍵字段,存儲至所述第二區(qū)塊的狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹中。[0031]獲取所述區(qū)塊鏈的最高區(qū)塊,將所述最高區(qū)塊確定為當(dāng)前區(qū)塊;根據(jù)所述當(dāng)前區(qū)塊中記錄的狀態(tài)樹根節(jié)點(diǎn),確定所述狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹;并根據(jù)所述智能合約的標(biāo)識,從所述狀態(tài)樹中確定出所述智能合約追加數(shù)據(jù)時(shí)的關(guān)鍵字段;[0032]將確定出的所述智能合約追加數(shù)據(jù)時(shí)的關(guān)鍵字段減1后對應(yīng)的區(qū)塊繼續(xù)確定為當(dāng)前區(qū)塊,并根據(jù)所述當(dāng)前區(qū)塊中記錄的狀態(tài)樹根節(jié)點(diǎn),確定所述狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹,以及根據(jù)所述智能合約的標(biāo)識,從所述狀態(tài)樹中確定出所述智能合約追加數(shù)據(jù)時(shí)的關(guān)鍵字段;直至確定出所述智能合約創(chuàng)建時(shí)的關(guān)鍵字段為止。[0034]根據(jù)多個(gè)關(guān)鍵字段,解析各關(guān)鍵字段對應(yīng)的區(qū)塊,得到所述智能合約的各變更信[0035]將所述智能合約的各變更信息倒序后,確定為所述智能合約的變更記錄。[0038]處理器,用于調(diào)用所述存儲器中存儲的程序指令,按照獲得的程序執(zhí)行上述區(qū)塊鏈智能合約的變更記錄的追溯方法。[0039]相應(yīng)的,本發(fā)明實(shí)施例還提供了一種計(jì)算機(jī)可讀非易失性存儲介質(zhì),包括計(jì)算機(jī)7可讀指令,當(dāng)計(jì)算機(jī)讀取并執(zhí)行所述計(jì)算機(jī)可讀指令時(shí),使得計(jì)算機(jī)執(zhí)行上述區(qū)塊鏈智能合約的變更記錄的追溯方法。附圖說明[0040]為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對實(shí)施例描述中所需要使用的附圖作簡要介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域的普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。[0041]圖1為本發(fā)明實(shí)施例提供的一種系統(tǒng)架構(gòu)的示意圖;[0042]圖2為本發(fā)明實(shí)施例提供的一種區(qū)塊鏈智能合約的變更記錄的追溯方法的流程示[0043]圖3為本發(fā)明實(shí)施例提供的一種區(qū)塊鏈中區(qū)塊頭的結(jié)構(gòu)示意圖;[0044]圖4為本發(fā)明實(shí)施例提供的一種確定智能合約的關(guān)鍵字段的流程示意圖;[0045]圖5為本發(fā)明實(shí)施例提供的一種區(qū)塊鏈智能合約的變更記錄的追溯裝置的結(jié)構(gòu)示具體實(shí)施方式[0046]為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對本發(fā)明作進(jìn)一步地詳細(xì)描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。[0047]區(qū)塊鏈系統(tǒng)中可以部署存證類智能合約,該類智能合約可以提供追加接口用于向智能合約中追加寫入新的存證信息,不會提供修改接口,進(jìn)而保障該類智能合約僅可以追加寫入存證信息,但不能更改已經(jīng)存入智能合約的存證信息。[0048]存證類智能合約在存證時(shí),可以把存證信息或者存證信息的哈希(Hash)值寫入智能合約,在取證時(shí)把智能合約中的存證信息或者存證信息的哈希值讀取出來進(jìn)行比較校驗(yàn)。具體實(shí)現(xiàn)中,可以在區(qū)塊鏈中采用分層的智能合約結(jié)構(gòu):工廠合約和存證合約。工廠合約由存證各方事前約定,存儲存證生效條件,并管理存證的生成;存證合約由工廠合約生[0049]圖1示例性的示出了本發(fā)明實(shí)施例提供區(qū)塊鏈智能合約的變更記錄的追溯方法所適用的系統(tǒng)架構(gòu),該系統(tǒng)架構(gòu)可以包括查詢服務(wù)器100和區(qū)塊鏈系統(tǒng)200。[0050]查詢服務(wù)器100用于向區(qū)塊鏈系統(tǒng)200發(fā)送查詢請求,查詢請求中包括待追溯的智能合約的標(biāo)識,該查詢請求用于指示區(qū)塊鏈系統(tǒng)200從區(qū)塊鏈中確定出查詢請求中待追溯的智能合約的變更記錄。其中,智能合約即存證類智能合約,為方便描述,下面提到的智能合約都是用于存儲證據(jù)類的合約。智能合約的標(biāo)識可以是該智能合約的名稱、地址等。[0051]區(qū)塊鏈系統(tǒng)200接收到該查詢請求后,會根據(jù)查詢請求中的待追溯的智能合約的標(biāo)識,從區(qū)塊鏈中確定出該智能合約中合約內(nèi)容的變更信息,并組成變更記錄。區(qū)塊鏈系統(tǒng)200將智能合約的變更記錄反饋至查詢服務(wù)器100。[0052]基于上述描述,圖2示例性的示出了本發(fā)明實(shí)施例提供的一種區(qū)塊鏈智能合約的8變更記錄的追溯方法的流程,該流程可以由區(qū)塊鏈智能合約的變更記錄的追溯裝置執(zhí)行,[0053]步驟201,獲取查詢請求。[0054]該查詢請求即查詢服務(wù)器向區(qū)塊鏈系統(tǒng)發(fā)送的記錄有待追溯的智能合約的標(biāo)識的請求,該查詢請求用于指示從區(qū)塊鏈中確定出待追溯的智能合約的變更記錄。[0055]步驟202,根據(jù)所述區(qū)塊鏈的區(qū)塊中記錄的狀態(tài)樹根節(jié)點(diǎn),確定所述狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹,并根據(jù)所述智能合約的標(biāo)識,從所述狀態(tài)樹中確定出所述智能合約的關(guān)鍵[0056]步驟203,根據(jù)所述關(guān)鍵字段,確定所述智能合約的變更信息,并生成所述智能合約的變更記錄。[0057]示例性的,智能合約的追溯過程可以涉及到三個(gè)角色,分別為用戶、存證機(jī)構(gòu)、仲裁機(jī)構(gòu),如用戶向存證機(jī)構(gòu)借款,存證機(jī)構(gòu)即可以在區(qū)塊鏈中創(chuàng)建智能合約,記錄“用戶向存證機(jī)構(gòu)借款100元”,進(jìn)一步的,當(dāng)用戶每向存證機(jī)構(gòu)還款時(shí),存證機(jī)構(gòu)都會根據(jù)該還款信若在用戶還款過程中或者過程后,用戶和存證機(jī)構(gòu)發(fā)生爭議,則仲裁機(jī)構(gòu)可以通過查詢服務(wù)器向區(qū)塊鏈系統(tǒng)發(fā)送該智能合約的查詢請求,用于指示區(qū)塊鏈系統(tǒng)根據(jù)該查詢請求確定出該智能合約的變更記錄。[0058]本發(fā)明實(shí)施例中,追溯智能合約的變更記錄,即需要確定出智能合約的每次變更智能合約中寫入存證信息“用戶還款10元””,智能合約的每次變更信息是作為區(qū)塊鏈的交易信息存儲在區(qū)塊鏈的具體區(qū)塊中,為保證更快速、高效的確定出智能合約的變更記錄,需要針對每次變更信息,確定出每次變更信息存儲在區(qū)塊鏈的具體區(qū)塊的高度。[0059]此處,可以先對區(qū)塊鏈的應(yīng)用平臺一以太坊的數(shù)據(jù)存儲結(jié)構(gòu)做簡單說明,以太坊區(qū)塊鏈上區(qū)塊數(shù)據(jù)中保存了三棵Merkle樹根的節(jié)點(diǎn),其中,三棵Merkle樹分別是狀態(tài)樹、交易樹和收據(jù)樹,存儲三棵Merkle樹可以方便賬戶做更多查詢。狀態(tài)樹根節(jié)點(diǎn)(StateRoot)、交易樹節(jié)點(diǎn)(TransactionRoot)和收據(jù)樹根節(jié)點(diǎn)(ReceiptRoot)分別理解為狀態(tài)樹根散列值、交易樹根散列值和收據(jù)樹根散列值,可以如圖3所示據(jù)樹根節(jié)點(diǎn)存儲在區(qū)塊頭中,區(qū)塊頭中還可以包括父塊的散列值(PrevHash)、叔區(qū)塊的散列值(UnclesHash)、時(shí)間戳(Timestamp)、隨機(jī)數(shù)(N[0060]一種可行的實(shí)現(xiàn)方式中,可以在智能合約中添加關(guān)鍵字段,該關(guān)鍵字段用于表征智能合約的變更信息存儲在區(qū)塊鏈中的區(qū)塊的高度,也就是說,每次智能合約變更時(shí),都會將本次智能合約的變更信息存儲在區(qū)塊鏈的區(qū)塊中,且將該區(qū)塊的區(qū)塊高度作為關(guān)鍵字段存儲在智能合約中。區(qū)塊高度可以理解為某區(qū)塊在區(qū)塊鏈上的特定標(biāo)識,可以是區(qū)塊高度,也可以是區(qū)塊編號。此外,區(qū)塊鏈在創(chuàng)建智能合約時(shí),也會將記錄有創(chuàng)建智能合約的交易的區(qū)塊高度存儲在智能合約中。進(jìn)一步解釋,狀態(tài)樹包含合約賬戶,合約賬戶里保存著智能合約的可執(zhí)行字節(jié)碼(編譯之后的,在EVM(EnvironmentVirtualMachine,以太坊虛擬機(jī))里執(zhí)行),并且有存儲空間,智能合約可以對合約賬戶的存儲空間中寫入信息。所以上述表述中,將關(guān)鍵字段存儲在智能合約中,相當(dāng)于將關(guān)鍵字段存儲在區(qū)塊的狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹中。此外,本發(fā)明實(shí)施例中的寫入智能合約相當(dāng)于寫入智能合約的存儲空間中。9[0061]也就是說,可以在步驟201獲取查詢請求之前,接收智能合約的創(chuàng)建請求,根據(jù)該創(chuàng)建請求,在區(qū)塊鏈中創(chuàng)建智能合約,并生成記錄有創(chuàng)建智能合約的交易的第一區(qū)塊,然后將第一區(qū)塊的高度確定為智能合約創(chuàng)建時(shí)的關(guān)鍵字段,存儲至第一區(qū)塊的狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹中。以及接收智能合約的追加數(shù)據(jù)請求,根據(jù)追加數(shù)據(jù)請求,將追加數(shù)據(jù)請求中的待追加數(shù)據(jù)寫入智能合約,并生成記錄有將待追加數(shù)據(jù)寫入智能合約的交易的第二區(qū)塊,然后將第二區(qū)塊的高度確定為智能合約追加數(shù)據(jù)時(shí)的關(guān)鍵字段,存儲至第二區(qū)塊的狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹中。此處,可以多次將待追加數(shù)據(jù)存儲至智能合約中,也就是說,該第二區(qū)塊可以為多個(gè),以及該智能合約追加數(shù)據(jù)時(shí)的關(guān)鍵字段也可以為多個(gè)。[0062]在步驟201的獲取查詢請求之后,即可以根據(jù)該查詢請求從區(qū)塊鏈中確定智能合約在創(chuàng)建時(shí)和在追加數(shù)據(jù)時(shí)的關(guān)鍵字段。本發(fā)明實(shí)施例中,區(qū)塊鏈系統(tǒng)可以根據(jù)區(qū)塊鏈中區(qū)塊的狀態(tài)樹根節(jié)點(diǎn)確定出對應(yīng)的狀態(tài)樹,并根據(jù)智能合約的標(biāo)識,從狀態(tài)樹中確定智能合約的關(guān)鍵字段。具體的,可以從區(qū)塊鏈的最高區(qū)塊開始,即先獲取到區(qū)塊鏈的最高區(qū)塊,并將該最高區(qū)塊確定為當(dāng)前區(qū)塊,根據(jù)當(dāng)前區(qū)塊中記錄的狀態(tài)樹根節(jié)點(diǎn),確定狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹,并根據(jù)智能合約的標(biāo)識,從狀態(tài)樹中確定出智能合約追加數(shù)據(jù)時(shí)的關(guān)鍵字段。隨后,將確定出的智能合約追加數(shù)據(jù)時(shí)的關(guān)鍵字段減1后對應(yīng)的區(qū)塊繼續(xù)確定為當(dāng)前區(qū)塊,并根據(jù)當(dāng)前區(qū)塊中記錄的狀態(tài)樹根節(jié)點(diǎn),確定狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹,以及根據(jù)智能合約的標(biāo)識,從狀態(tài)樹中確定出智能合約追加數(shù)據(jù)時(shí)的關(guān)鍵字段,直至確定出智能合約創(chuàng)建時(shí)的關(guān)鍵字段為止。為了更好的理解本發(fā)明實(shí)施例,可以參照圖4的流程圖,對本實(shí)施例進(jìn)一步說明。[0063]步驟401,獲取區(qū)塊鏈的最高區(qū)塊,將該最高區(qū)塊確定為當(dāng)前區(qū)塊。[0064]步驟402,根據(jù)當(dāng)前區(qū)塊中記錄的狀態(tài)樹根節(jié)點(diǎn),確定狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)[0065]步驟403,根據(jù)智能合約的標(biāo)識,從狀態(tài)樹中確定出智能合約追加數(shù)據(jù)時(shí)的關(guān)鍵字[0066]步驟404,將確定出的智能合約追加數(shù)據(jù)時(shí)的關(guān)鍵字段M—1,并將M—1對應(yīng)的區(qū)塊作為當(dāng)前區(qū)塊。[0067]步驟405,判斷是否確定出智能合約創(chuàng)建時(shí)的關(guān)鍵字段,若是,則結(jié)束,否則,轉(zhuǎn)向步驟402。[0068]在根據(jù)上述實(shí)施例已經(jīng)確定出該智能合約在創(chuàng)建時(shí)和追加數(shù)據(jù)時(shí)的關(guān)鍵字段,則可以如步驟203中,根據(jù)確定出的關(guān)鍵字段,確定該智能合約的變更信息,并生成智能合約的變更記錄。由于智能合約的關(guān)鍵字段可以為多個(gè),則可以根據(jù)多個(gè)關(guān)鍵字段,解析各關(guān)鍵字段對應(yīng)的區(qū)塊,并從各區(qū)塊中解析出智能合約的各變更信息,又由于本發(fā)明實(shí)施例是從區(qū)塊鏈的最高區(qū)塊開始獲取關(guān)鍵字段,即上述獲取到的各智能合約的變更信息是倒序的,所以需要將智能合約的各變更信息執(zhí)行倒序操作后,確定為智能合約的變更記錄。比如,第一次(根據(jù)最高區(qū)塊)獲取到智能合約在5月30號記錄的變更信息,第二次是在4月30號記錄的變更信息,第三次是在3月30號記錄的變更信息,所以需要將三次獲取到的變更信息執(zhí)行倒序操作后,生成最終的智能合約的變更記錄。[0069]本發(fā)明實(shí)施例中,在解析各區(qū)塊時(shí),可以解析出各區(qū)塊的時(shí)間戳(timestamp)信息,用于智能合約追溯過程中的參考信息,同時(shí)可以把該時(shí)間戳信息對應(yīng)記錄在智能合約[0070]為了更好的解釋本發(fā)明實(shí)施例,以上述用戶向存證機(jī)構(gòu)借款進(jìn)行舉例說明。能合約的內(nèi)容為“用戶向存證機(jī)構(gòu)借款100元”。創(chuàng)建智能合約的交易記錄在區(qū)塊鏈的區(qū)塊高度為1的區(qū)塊上。[0072]2019年2月,用戶向存證機(jī)構(gòu)還款10元,則智能合約中追加數(shù)據(jù)為“用戶還款10加該數(shù)據(jù)的交易記錄在區(qū)塊鏈的區(qū)塊高度為3的區(qū)塊上。[0073]2019年3月,用戶向存證機(jī)構(gòu)還款20元,則智能合約中追加數(shù)據(jù)為“用戶還款20對智能合約追加該數(shù)據(jù)的交易記錄在區(qū)塊鏈的區(qū)塊高度為10的區(qū)塊上。[0074]2019年5月,用戶和存證機(jī)構(gòu)發(fā)生爭議,仲裁機(jī)構(gòu)通過查詢服務(wù)器向區(qū)塊鏈系統(tǒng)發(fā)送該智能合約的查詢請求。區(qū)塊鏈系統(tǒng)中區(qū)塊鏈的最高區(qū)塊的高度為100,則區(qū)塊鏈系統(tǒng)首先根據(jù)最高區(qū)塊確定出智能合約的關(guān)鍵字段為10,即智能合約中追加數(shù)據(jù)“用戶還款20元”的交易記錄是在區(qū)塊鏈的區(qū)塊高度為10的區(qū)塊上。進(jìn)一步的,區(qū)塊鏈系統(tǒng)根據(jù)關(guān)鍵字段10減1后,確定區(qū)塊高度為9的區(qū)塊,并從中確定出智能合約的關(guān)鍵字段為3,即智能合約中追加數(shù)據(jù)“用戶還款10元”的交易記錄是在區(qū)塊鏈的區(qū)塊高度為3的區(qū)塊根據(jù)關(guān)鍵字段3減1后,確定區(qū)塊高度為2的區(qū)塊,并從中確定出智能合約的關(guān)鍵字段為1,即創(chuàng)建智能合約“用戶向存證機(jī)構(gòu)借款100元”的交易記錄是在區(qū)塊鏈的區(qū)塊高度為1的區(qū)塊上。從上述確定出的關(guān)鍵字段對應(yīng)的區(qū)塊中分別解析出智能合約的變更信息如下:[0075]變更信息1:區(qū)塊高度10中的交易信息是“追加智能合約數(shù)據(jù),寫入“用戶向存證機(jī)[0076]變更信息2:區(qū)塊高度3中的交易信息是“追加智能合約數(shù)據(jù),寫入“用戶向存證機(jī)[0077]變更信息3:區(qū)塊高度1中的交易信息是“創(chuàng)建智能合約,寫入“用戶向存證機(jī)構(gòu)借款100元””??梢蕴峁┙o人員查看。[0079]上述實(shí)施例中,根據(jù)區(qū)塊鏈的區(qū)塊中記錄的狀態(tài)樹根節(jié)點(diǎn),確定狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹,并根據(jù)智能合約的標(biāo)識,從狀態(tài)樹中確定出智能合約的關(guān)鍵字段,該智能合約的關(guān)鍵字段即區(qū)塊鏈中記錄智能合約變更信息的區(qū)塊的高度,根據(jù)關(guān)鍵字段,解析各關(guān)鍵字段對應(yīng)的區(qū)塊,即可以確定出各變更信息,生成變更記錄。該技術(shù)方案,無需遍歷整個(gè)區(qū)塊鏈中各區(qū)塊的交易記錄,而是直接將智能合約的變更信息定位到具體區(qū)塊,進(jìn)而解析該具體區(qū)塊,可以快速、高效的獲取智能合約的變更記錄。進(jìn)一步根據(jù)追溯到的智能合約的變更記錄,以確保智能合約中存證信息的真實(shí)性。[0080]此外,需要說明的是,本發(fā)明實(shí)施例提供智能合約的變更記錄的追溯方法,可以有效保障智能合約中存證信息的真實(shí)性。解釋為,現(xiàn)有技術(shù)中讀取智能合約中的數(shù)據(jù),例如讀取到的信息是“用戶向存證機(jī)構(gòu)借款100元,用戶還款10元,用戶還款20元”,但是僅能讀取到該數(shù)據(jù),以及確定該智能合約中寫入了該數(shù)據(jù),但是具體什么時(shí)間寫入的,現(xiàn)有技術(shù)中并11不能確定,也就是說,存證機(jī)構(gòu)可以一次性寫入該信息,也可以分三次或兩次寫入該信息,所以,需要對該智能合約的變更記錄進(jìn)行追溯,這樣,可以確保智能合約中各寫入信息的寫[0081]基于同一發(fā)明構(gòu)思,圖5示例性的示出了本發(fā)明實(shí)施例提供的一種區(qū)塊鏈智能合約的變更記錄的追溯裝置的結(jié)構(gòu),該裝置可以執(zhí)行區(qū)塊鏈智能合約的變更記錄的追溯方法的流程。[0083]獲取單元501,用于獲取查詢請求;所述查詢請求用于指示從區(qū)塊鏈中確定出所述查詢請求中待追溯的智能合約的變更記錄;[0084]處理單元502,用于根據(jù)所述區(qū)塊鏈的區(qū)塊中記錄的狀態(tài)樹根節(jié)點(diǎn),確定所述狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹;并根據(jù)所述智能合約的標(biāo)識,從所述狀態(tài)樹中確定出所述智能合約的關(guān)鍵字段;所述關(guān)鍵字段用于表征所述智能合約的變更信息存儲在所述區(qū)塊鏈中的區(qū)塊的高度;以及根據(jù)所述關(guān)鍵字段,確定所述智能合約的變更信息,并生成所述智能合約的變更記錄。[0086]在所述獲取查詢請求之前,接收所述智能合約的創(chuàng)建請求;根據(jù)所述創(chuàng)建請求,在所述區(qū)塊鏈中創(chuàng)建所述智能合約,生成記錄有創(chuàng)建所述智能合約的交易的第一區(qū)塊;并將所述第一區(qū)塊的高度確定為所述智能合約創(chuàng)建時(shí)的關(guān)鍵字段,存儲至所述第一區(qū)塊的狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹中;[0087]以及接收所述智能合約的追加數(shù)據(jù)請求;根據(jù)所述追加數(shù)據(jù)請求,將所述追加數(shù)據(jù)請求中的待追加數(shù)據(jù)寫入所述智能合約,生成記錄有所述將待追加數(shù)據(jù)寫入所述智能合約的交易的第二區(qū)塊;并將所述第二區(qū)塊的高度確定為所述智能合約追加數(shù)據(jù)時(shí)的關(guān)鍵字段,存儲至所述第二區(qū)塊的狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹中。[0088]可選的,所述處理單元502具體用于:[0089]獲取所述區(qū)塊鏈的最高區(qū)塊,將所述最高區(qū)塊確定為當(dāng)前區(qū)塊;根據(jù)所述當(dāng)前區(qū)塊中記錄的狀態(tài)樹根節(jié)點(diǎn),確定所述狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹;并根據(jù)所述智能合約的標(biāo)識,從所述狀態(tài)樹中確定出所述智能合約追加數(shù)據(jù)時(shí)的關(guān)鍵字段;[0090]將確定出的所述智能合約追加數(shù)據(jù)時(shí)的關(guān)鍵字段減1后對應(yīng)的區(qū)塊繼續(xù)確定為當(dāng)前區(qū)塊,并根據(jù)所述當(dāng)前區(qū)塊中記錄的狀態(tài)樹根節(jié)點(diǎn),確定所述狀態(tài)樹根節(jié)點(diǎn)對應(yīng)的狀態(tài)樹,以及根據(jù)所述智能合約的標(biāo)識,從所述狀態(tài)樹中確定出所述智能合約追加數(shù)據(jù)時(shí)的關(guān)鍵字段;直至

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論