本公開(kāi)涉及區(qū)塊鏈領(lǐng)域,特別是涉及一種跨區(qū)塊鏈?zhǔn)聞?wù)處理方法、裝置、電子設(shè)備和存儲(chǔ)介質(zhì)。
背景技術(shù):
1、在區(qū)塊鏈領(lǐng)域中,不同的區(qū)塊鏈網(wǎng)絡(luò)之間有時(shí)需要進(jìn)行數(shù)據(jù)通訊,例如,區(qū)塊鏈領(lǐng)域中的母鏈與子鏈。母鏈與子鏈可以是兩個(gè)獨(dú)立的區(qū)塊鏈網(wǎng)絡(luò),但是子鏈往往是依賴于母鏈創(chuàng)建的,子鏈中的有一些事務(wù)也需要記錄在母鏈上。為了保證區(qū)塊鏈中事務(wù)處理的安全性,不同的區(qū)塊鏈網(wǎng)絡(luò)無(wú)法直接進(jìn)行數(shù)據(jù)通訊。為了將一個(gè)區(qū)塊鏈網(wǎng)絡(luò)中的事務(wù)記錄在另一個(gè)區(qū)塊鏈網(wǎng)絡(luò)中,需要對(duì)事務(wù)進(jìn)行驗(yàn)證,以確保事務(wù)是有效且安全的。在相關(guān)技術(shù)中,對(duì)事務(wù)進(jìn)行驗(yàn)證的過(guò)程需要利用大量的事務(wù)相關(guān)數(shù)據(jù)與事務(wù)所在區(qū)塊鏈的區(qū)塊數(shù)據(jù),這導(dǎo)致事務(wù)驗(yàn)證效率較低,從而使跨區(qū)塊鏈數(shù)據(jù)傳輸效率較低。
技術(shù)實(shí)現(xiàn)思路
1、本公開(kāi)實(shí)施例提供了一種跨區(qū)塊鏈?zhǔn)聞?wù)處理方法、裝置、電子設(shè)備和存儲(chǔ)介質(zhì),可以提高跨區(qū)塊鏈的事務(wù)處理效率。
2、根據(jù)本公開(kāi)的一方面,提供了一種跨區(qū)塊鏈?zhǔn)聞?wù)處理方法,所述方法應(yīng)用于第一區(qū)塊鏈網(wǎng)絡(luò)和第二區(qū)塊鏈網(wǎng)絡(luò)之間的跨鏈中繼節(jié)點(diǎn),所述第一區(qū)塊鏈網(wǎng)絡(luò)維護(hù)第一區(qū)塊鏈,所述第二區(qū)塊鏈網(wǎng)絡(luò)維護(hù)第二區(qū)塊鏈,所述方法包括:
3、獲取待跨鏈處理事務(wù),其中,所述待跨鏈處理事務(wù)已記錄在所述第一區(qū)塊鏈中,并需要記錄到所述第二區(qū)塊鏈;
4、獲取區(qū)塊有效證明隊(duì)列,所述區(qū)塊有效證明隊(duì)列按照所述第一區(qū)塊鏈上已上鏈區(qū)塊的上鏈順序,存儲(chǔ)所述已上鏈區(qū)塊的區(qū)塊有效證明,其中,所述已上鏈區(qū)塊的區(qū)塊有效證明在所述已上鏈區(qū)塊記錄到所述第一區(qū)塊鏈時(shí)由所述跨鏈中繼節(jié)點(diǎn)對(duì)所述已上鏈區(qū)塊進(jìn)行區(qū)塊驗(yàn)證而生成并放入所述區(qū)塊有效證明隊(duì)列;
5、從所述區(qū)塊有效證明隊(duì)列中,獲取所述待跨鏈處理事務(wù)對(duì)應(yīng)的目標(biāo)區(qū)塊有效證明,并基于所述目標(biāo)區(qū)塊有效證明生成事務(wù)有效證明;
6、將所述事務(wù)有效證明發(fā)送給所述第二區(qū)塊鏈網(wǎng)絡(luò),以便所述第二區(qū)塊鏈網(wǎng)絡(luò)基于所述事務(wù)有效證明將所述待跨鏈處理事務(wù)記錄到所述第二區(qū)塊鏈。
7、根據(jù)本公開(kāi)的一方面,提供了一種跨區(qū)塊鏈?zhǔn)聞?wù)處理裝置,所述跨區(qū)塊鏈?zhǔn)聞?wù)處理裝置位于第一區(qū)塊鏈網(wǎng)絡(luò)和第二區(qū)塊鏈網(wǎng)絡(luò)之間的跨鏈中繼節(jié)點(diǎn),包括:
8、第一獲取單元,用于獲取待跨鏈處理事務(wù),其中,所述待跨鏈處理事務(wù)已記錄在所述第一區(qū)塊鏈中,并需要記錄到所述第二區(qū)塊鏈;
9、第二獲取單元,用于獲取區(qū)塊有效證明隊(duì)列,所述區(qū)塊有效證明隊(duì)列按照所述第一區(qū)塊鏈上已上鏈區(qū)塊的上鏈順序,存儲(chǔ)所述已上鏈區(qū)塊的區(qū)塊有效證明,其中,所述已上鏈區(qū)塊的區(qū)塊有效證明在所述已上鏈區(qū)塊記錄到所述第一區(qū)塊鏈時(shí)由所述跨鏈中繼節(jié)點(diǎn)對(duì)所述已上鏈區(qū)塊進(jìn)行區(qū)塊驗(yàn)證而生成并放入所述區(qū)塊有效證明隊(duì)列;
10、第一生成單元,用于從所述區(qū)塊有效證明隊(duì)列中,獲取所述待跨鏈處理事務(wù)對(duì)應(yīng)的目標(biāo)區(qū)塊有效證明,并基于所述目標(biāo)區(qū)塊有效證明生成事務(wù)有效證明;
11、第一發(fā)送單元,用于將所述事務(wù)有效證明發(fā)送給所述第二區(qū)塊鏈網(wǎng)絡(luò),以便所述第二區(qū)塊鏈網(wǎng)絡(luò)基于所述事務(wù)有效證明將所述待跨鏈處理事務(wù)記錄到所述第二區(qū)塊鏈。
12、可選地,所述區(qū)塊有效證明隊(duì)列通過(guò)以下方式預(yù)先生成:
13、獲取所述第一區(qū)塊鏈上增加的增加區(qū)塊;
14、利用區(qū)塊驗(yàn)證算法對(duì)所述增加區(qū)塊進(jìn)行驗(yàn)證,生成所述增加區(qū)塊的所述區(qū)塊有效證明;
15、將所述區(qū)塊有效證明按照所述增加區(qū)塊在所述第一區(qū)塊鏈的區(qū)塊高度記錄到所述區(qū)塊有效證明隊(duì)列。
16、可選地,所述利用區(qū)塊驗(yàn)證算法對(duì)所述增加區(qū)塊進(jìn)行驗(yàn)證,生成所述增加區(qū)塊的所述區(qū)塊有效證明,包括:
17、獲取所述增加區(qū)塊的第一區(qū)塊頭、所述增加區(qū)塊的前一區(qū)塊的第二區(qū)塊頭;
18、基于所述第一區(qū)塊頭與所述第二區(qū)塊頭,進(jìn)行區(qū)塊頭驗(yàn)證;
19、如果所述區(qū)塊頭驗(yàn)證成功,且從所述區(qū)塊有效證明隊(duì)列中獲取到所述增加區(qū)塊的前一區(qū)塊高度對(duì)應(yīng)的前一區(qū)塊證明,則生成所述增加區(qū)塊的所述區(qū)塊有效證明。
20、可選地,所述第一區(qū)塊頭包含所述前一區(qū)塊的第一區(qū)塊摘要,所述第二區(qū)塊頭包含所述前一區(qū)塊的第二區(qū)塊摘要;
21、所述基于所述第一區(qū)塊頭與所述第二區(qū)塊頭,進(jìn)行區(qū)塊頭驗(yàn)證,包括:
22、如果所述第一區(qū)塊摘要與所述第二區(qū)塊摘要相同,則確定所述區(qū)塊頭驗(yàn)證成功。
23、可選地,所述如果所述區(qū)塊頭驗(yàn)證成功,且從所述區(qū)塊有效證明隊(duì)列中獲取到所述增加區(qū)塊的前一區(qū)塊高度對(duì)應(yīng)的前一區(qū)塊證明,則生成所述增加區(qū)塊的所述區(qū)塊有效證明,包括:
24、如果所述區(qū)塊頭驗(yàn)證成功,且從所述區(qū)塊有效證明隊(duì)列中獲取到所述增加區(qū)塊的前一區(qū)塊高度對(duì)應(yīng)的前一區(qū)塊證明,則獲取記錄所述增加區(qū)塊的所述第一區(qū)塊鏈網(wǎng)絡(luò)的第一簽名和所述第一區(qū)塊鏈網(wǎng)絡(luò)的第一密鑰;
25、用所述第一密鑰對(duì)所述第一簽名進(jìn)行解密,得到解密結(jié)果;
26、計(jì)算所述增加區(qū)塊的摘要,并將所述摘要與所述解密結(jié)果比較;
27、如果所述摘要與所述解密結(jié)果一致,則生成所述增加區(qū)塊的所述區(qū)塊有效證明。
28、可選地,所述待跨鏈處理事務(wù)中包含目標(biāo)區(qū)塊的區(qū)塊標(biāo)識(shí);
29、所述第一生成單元具體用于:
30、響應(yīng)于所述目標(biāo)區(qū)塊有效證明,基于所述區(qū)塊標(biāo)識(shí),確定所述待跨鏈處理事務(wù)位于所述目標(biāo)區(qū)塊中;
31、基于所述目標(biāo)區(qū)塊有效證明,與所述待跨鏈處理事務(wù)與目標(biāo)區(qū)塊的歸屬關(guān)系,生成事務(wù)有效證明。
32、可選地,所述第一生成單元具體用于:
33、基于所述區(qū)塊標(biāo)識(shí),獲取所述目標(biāo)區(qū)塊的待驗(yàn)證默克爾樹(shù)數(shù)根、和所述待跨鏈處理事務(wù)在所述目標(biāo)區(qū)塊中的驗(yàn)證用旁路摘要值;
34、基于所述待跨鏈處理事務(wù)和所述驗(yàn)證用旁路摘要值,確定重計(jì)算默克爾樹(shù)根;
35、如果所述待驗(yàn)證默克爾樹(shù)樹(shù)根與所述重計(jì)算默克爾樹(shù)根相同,確定所述待跨鏈處理事務(wù)位于所述目標(biāo)區(qū)塊中。
36、可選地,所述第一獲取單元具體用于:
37、獲取所述第一區(qū)塊鏈中的已上鏈?zhǔn)聞?wù);
38、在包含轉(zhuǎn)發(fā)標(biāo)記的所述已上鏈?zhǔn)聞?wù)中,獲取待跨鏈處理事務(wù)。
39、可選地,所述第一獲取單元具體用于:
40、將包含轉(zhuǎn)發(fā)標(biāo)記的所述已上鏈?zhǔn)聞?wù)存儲(chǔ)在事務(wù)緩沖池中;
41、在所述事務(wù)緩沖池中的事務(wù)達(dá)到預(yù)定條件后,將所述事務(wù)緩沖池中的所述事務(wù)取出,作為所述待跨鏈處理事務(wù)。
42、可選地,所述包含所述轉(zhuǎn)發(fā)標(biāo)記的所述已上鏈?zhǔn)聞?wù)在所述第一區(qū)塊鏈網(wǎng)絡(luò)中通過(guò)以下方式生成:
43、獲取待上鏈?zhǔn)聞?wù),并確定所述待上鏈?zhǔn)聞?wù)的第一事務(wù)類型;
44、獲取所述第一事務(wù)類型對(duì)應(yīng)的事務(wù)處理合約;
45、如果所述待上鏈?zhǔn)聞?wù)滿足所述事務(wù)處理合約中的預(yù)定轉(zhuǎn)發(fā)條件,由所述事務(wù)處理合約為所述待上鏈?zhǔn)聞?wù)添加所述轉(zhuǎn)發(fā)標(biāo)記,并在所述第一區(qū)塊鏈中記錄所述待上鏈?zhǔn)聞?wù),生成包含所述轉(zhuǎn)發(fā)標(biāo)記的所述已上鏈?zhǔn)聞?wù)。
46、根據(jù)本公開(kāi)的一方面,提供了一種跨區(qū)塊鏈?zhǔn)聞?wù)處理方法,所述跨區(qū)塊鏈?zhǔn)聞?wù)處理方法應(yīng)用于第二區(qū)塊鏈網(wǎng)絡(luò),所述第二區(qū)塊鏈網(wǎng)絡(luò)維護(hù)第二區(qū)塊鏈,所述方法包括:
47、接收來(lái)自跨鏈中繼節(jié)點(diǎn)的事務(wù)有效證明,其中,所述事務(wù)有效證明由所述跨鏈中繼節(jié)點(diǎn)針對(duì)待跨鏈處理事務(wù),基于所述待跨鏈處理事務(wù)與目標(biāo)區(qū)塊的歸屬關(guān)系、以及所述目標(biāo)區(qū)塊的區(qū)塊有效證明生成,其中,所述待跨鏈處理事務(wù)已記錄在第一區(qū)塊鏈網(wǎng)絡(luò)的第一區(qū)塊鏈中,并需要記錄到所述第二區(qū)塊鏈,所述區(qū)塊有效證明從區(qū)塊有效證明隊(duì)列中獲取,所述區(qū)塊有效證明隊(duì)列按照所述第一區(qū)塊鏈上已上鏈區(qū)塊的上鏈順序,存儲(chǔ)所述已上鏈區(qū)塊的所述區(qū)塊有效證明,所述區(qū)塊有效證明在所述已上鏈區(qū)塊記錄到所述第一區(qū)塊鏈時(shí)由所述跨鏈中繼節(jié)點(diǎn)對(duì)所述已上鏈區(qū)塊進(jìn)行區(qū)塊驗(yàn)證而生成并放入所述區(qū)塊有效證明隊(duì)列;
48、基于接收到的所述事務(wù)有效證明,對(duì)所述跨鏈中繼節(jié)點(diǎn)的身份進(jìn)行身份驗(yàn)證;
49、在所述身份驗(yàn)證成功后,將所述待跨鏈處理事務(wù)記錄到所述第二區(qū)塊鏈。
50、根據(jù)本公開(kāi)的一方面,提供了一種跨區(qū)塊鏈?zhǔn)聞?wù)處理裝置,所述跨區(qū)塊鏈?zhǔn)聞?wù)處理裝置位于第二區(qū)塊鏈網(wǎng)絡(luò),包括:
51、接收單元,用于接收來(lái)自跨鏈中繼節(jié)點(diǎn)的事務(wù)有效證明,其中,所述事務(wù)有效證明由所述跨鏈中繼節(jié)點(diǎn)針對(duì)待跨鏈處理事務(wù),基于所述待跨鏈處理事務(wù)與目標(biāo)區(qū)塊的歸屬關(guān)系、以及所述目標(biāo)區(qū)塊的區(qū)塊有效證明生成,其中,所述待跨鏈處理事務(wù)已記錄在第一區(qū)塊鏈網(wǎng)絡(luò)的第一區(qū)塊鏈中,并需要記錄到所述第二區(qū)塊鏈,所述區(qū)塊有效證明從區(qū)塊有效證明隊(duì)列中獲取,所述區(qū)塊有效證明隊(duì)列按照所述第一區(qū)塊鏈上已上鏈區(qū)塊的上鏈順序,存儲(chǔ)所述已上鏈區(qū)塊的所述區(qū)塊有效證明,所述區(qū)塊有效證明在所述已上鏈區(qū)塊記錄到所述第一區(qū)塊鏈時(shí)由所述跨鏈中繼節(jié)點(diǎn)對(duì)所述已上鏈區(qū)塊進(jìn)行區(qū)塊驗(yàn)證而生成并放入所述區(qū)塊有效證明隊(duì)列;
52、驗(yàn)證單元,用于基于接收到的所述事務(wù)有效證明,對(duì)所述跨鏈中繼節(jié)點(diǎn)的身份進(jìn)行身份驗(yàn)證;
53、事務(wù)記錄單元,用于在所述身份驗(yàn)證成功后,將所述待跨鏈處理事務(wù)記錄到所述第二區(qū)塊鏈。
54、可選地,所述事務(wù)有效證明是所述跨鏈中繼節(jié)點(diǎn)利用第一私鑰加密后的所述事務(wù)有效證明,所述第一私鑰由所述跨鏈中繼節(jié)點(diǎn)在所述第二區(qū)塊鏈網(wǎng)絡(luò)上存儲(chǔ)的區(qū)塊鏈管理合約上注冊(cè)后由所述區(qū)塊鏈管理合約頒發(fā);
55、所述驗(yàn)證單元具體用于:
56、從所述區(qū)塊鏈管理合約中,獲取所述跨鏈中繼節(jié)點(diǎn)的第一公鑰,其中,所述第一公鑰和所述第一私鑰由所述區(qū)塊鏈管理合約成對(duì)頒發(fā);
57、用所述第一公鑰解密所述事務(wù)有效證明,從而對(duì)所述跨鏈中繼節(jié)點(diǎn)的身份進(jìn)行身份驗(yàn)證。
58、可選地,每一所述第一區(qū)塊鏈網(wǎng)絡(luò)對(duì)應(yīng)于一個(gè)所述跨鏈中繼節(jié)點(diǎn);
59、所述第二區(qū)塊鏈網(wǎng)絡(luò)通過(guò)以下方式注冊(cè)所述跨鏈中繼節(jié)點(diǎn):
60、接收來(lái)自所述第一區(qū)塊鏈網(wǎng)絡(luò)的區(qū)塊鏈節(jié)點(diǎn)注冊(cè)請(qǐng)求;
61、由所述區(qū)塊鏈管理合約為所述第一區(qū)塊鏈網(wǎng)絡(luò)對(duì)應(yīng)的所述跨鏈中繼節(jié)點(diǎn)頒發(fā)所述第一公鑰與所述第一私鑰;
62、基于所述區(qū)塊鏈節(jié)點(diǎn)注冊(cè)請(qǐng)求,生成所述第一區(qū)塊鏈網(wǎng)絡(luò)對(duì)應(yīng)的區(qū)塊鏈驗(yàn)證合約,其中,所述區(qū)塊鏈驗(yàn)證合約用于利用所述第一公鑰對(duì)所述跨鏈中繼節(jié)點(diǎn)進(jìn)行身份驗(yàn)證。
63、可選地,所述事務(wù)記錄單元具體用于:
64、在所述身份驗(yàn)證成功后,獲取待跨鏈處理事務(wù)的第二事務(wù)類型;
65、調(diào)取所述第二事務(wù)類型對(duì)應(yīng)的事務(wù)匯總合約,以基于所述第二事務(wù)類型的多個(gè)所述待跨鏈處理事務(wù),生成匯總事務(wù);
66、將所述匯總事務(wù)記錄到所述第二區(qū)塊鏈上。
67、可選地,所述跨區(qū)塊鏈?zhǔn)聞?wù)處理裝置還包括:
68、第二生成單元,用于基于所述待跨鏈處理事務(wù)的記錄結(jié)果,生成事務(wù)處理反饋消息;
69、第二發(fā)送單元,用于將所述事務(wù)處理反饋消息發(fā)送至所述第一區(qū)塊鏈網(wǎng)絡(luò),以便所述第一區(qū)塊鏈更新所述待跨鏈處理事務(wù)的轉(zhuǎn)發(fā)狀態(tài),所述轉(zhuǎn)發(fā)狀態(tài)指示了所述待跨鏈處理事務(wù)是否被所述第二區(qū)塊鏈成功記錄。
70、根據(jù)本公開(kāi)的一方面,提供了一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器和處理器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如上所述的跨區(qū)塊鏈?zhǔn)聞?wù)處理方法。
71、根據(jù)本公開(kāi)的一方面,提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上所述的跨區(qū)塊鏈?zhǔn)聞?wù)處理方法。
72、根據(jù)本公開(kāi)的一方面,提供了一種計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被計(jì)算機(jī)設(shè)備的處理器讀取并執(zhí)行,使得該計(jì)算機(jī)設(shè)備執(zhí)行如上所述的跨區(qū)塊鏈?zhǔn)聞?wù)處理方法。
73、本公開(kāi)實(shí)施例中的跨區(qū)塊鏈?zhǔn)聞?wù)處理方法應(yīng)用于第一區(qū)塊鏈網(wǎng)絡(luò)和第二區(qū)塊鏈網(wǎng)絡(luò)之間的跨鏈中繼節(jié)點(diǎn),其中第一區(qū)塊鏈網(wǎng)絡(luò)維護(hù)第一區(qū)塊鏈,第二區(qū)塊鏈網(wǎng)絡(luò)維護(hù)第二區(qū)塊鏈??珂溨欣^節(jié)點(diǎn)在獲取到已記錄在第一區(qū)塊鏈中,并需要記錄到第二區(qū)塊鏈的待跨鏈處理事務(wù)后,獲取區(qū)塊有效證明隊(duì)列。區(qū)塊有效證明隊(duì)列中按照第一區(qū)塊鏈上已上鏈區(qū)塊的上鏈順序,存儲(chǔ)了每一已上鏈區(qū)塊的區(qū)塊有效證明。區(qū)塊有效證明是在已上鏈區(qū)塊記錄到第一區(qū)塊鏈時(shí),由跨鏈中繼節(jié)點(diǎn)對(duì)已上鏈區(qū)塊進(jìn)行區(qū)塊驗(yàn)證后生成并存入?yún)^(qū)塊有效證明隊(duì)列中,以便在需要對(duì)待跨鏈處理事務(wù)進(jìn)行驗(yàn)證時(shí)可以隨時(shí)調(diào)用對(duì)應(yīng)的目標(biāo)區(qū)塊有效證明。目標(biāo)區(qū)塊有效證明可以證明待跨鏈處理事務(wù)對(duì)應(yīng)的目標(biāo)區(qū)塊是第一區(qū)塊鏈中的有效區(qū)塊?;谀繕?biāo)區(qū)塊有效證明可以生成事務(wù)有效證明,事務(wù)有效證明可以證明待跨鏈處理事務(wù)是第一區(qū)塊鏈中有效區(qū)塊中的有效事務(wù)。因此,將事務(wù)有效證明發(fā)送給第二區(qū)塊鏈網(wǎng)絡(luò)后,第二區(qū)塊鏈網(wǎng)絡(luò)可以根據(jù)事務(wù)有效證明將待跨鏈處理事務(wù)記錄到第二區(qū)塊鏈中。通過(guò)上述過(guò)程,在驗(yàn)證待跨鏈處理事務(wù)的安全性時(shí),直接調(diào)用區(qū)塊有效證明隊(duì)列中預(yù)先生成的區(qū)塊有效證明即可,再基于區(qū)塊有效證明生成事務(wù)有效證明,大大減少了驗(yàn)證區(qū)塊有效性所需的數(shù)據(jù)量,也大大減少了多重驗(yàn)證所需的時(shí)間。這樣,本公開(kāi)實(shí)施例就能夠提升待跨鏈處理事務(wù)的驗(yàn)證效率,從而提高跨區(qū)塊鏈的事務(wù)處理效率。
74、本公開(kāi)的其他特征和優(yōu)點(diǎn)將在隨后的說(shuō)明書(shū)中闡述,并且,部分地從說(shuō)明書(shū)中變得顯而易見(jiàn),或者通過(guò)實(shí)施本公開(kāi)而了解。本公開(kāi)的目的和其他優(yōu)點(diǎn)可通過(guò)在說(shuō)明書(shū)、權(quán)利要求書(shū)以及附圖中所特別指出的結(jié)構(gòu)來(lái)實(shí)現(xiàn)和獲得。