亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

生成區(qū)塊鏈區(qū)塊的方法、裝置、節(jié)點、簽名設(shè)備及系統(tǒng)與流程

文檔序號:11532282閱讀:322來源:國知局
生成區(qū)塊鏈區(qū)塊的方法、裝置、節(jié)點、簽名設(shè)備及系統(tǒng)與流程

本公開涉及區(qū)塊鏈領(lǐng)域,具體地,涉及一種生成區(qū)塊鏈區(qū)塊的方法、裝置、節(jié)點、簽名設(shè)備及系統(tǒng)。



背景技術(shù):

區(qū)塊鏈技術(shù)是一種分布式、無中心、無信任的網(wǎng)絡(luò)數(shù)據(jù)共識存儲技術(shù)。基于獨特的區(qū)塊生成機制,如pow(proofofwork,工作量證明)、pos(proofofstake,權(quán)益證明),以及p2p(peertopeer,對等)網(wǎng)絡(luò)通信機制來實現(xiàn)。

通常意義上,在區(qū)塊鏈形成過程中,每一個參與計算的節(jié)點均享有相同的權(quán)限,包括轉(zhuǎn)賬、計算區(qū)塊(俗稱挖礦)等。在區(qū)塊產(chǎn)生機制中,有效區(qū)塊的產(chǎn)生是基于正確解出一個需要計算量的數(shù)學(xué)難題的工作,任何節(jié)點都可以產(chǎn)生區(qū)塊,并能夠被其它節(jié)點所認可,且區(qū)塊中的信息與區(qū)塊產(chǎn)生者無關(guān)。但是,這種區(qū)塊產(chǎn)生機制給區(qū)塊鏈網(wǎng)絡(luò)的安全帶來了一定隱患。



技術(shù)實現(xiàn)要素:

本公開提供了一種生成區(qū)塊鏈區(qū)塊的方法、裝置、節(jié)點、簽名設(shè)備及系統(tǒng),以實現(xiàn)提高區(qū)塊鏈網(wǎng)絡(luò)的安全性的目的。

根據(jù)本公開實施例的第一方面,提供了一種生成區(qū)塊鏈區(qū)塊的方法,應(yīng)用于區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點,所述方法包括:根據(jù)區(qū)塊鏈協(xié)議生成原始區(qū)塊;對所述原始區(qū)塊進行數(shù)字簽名操作,生成簽名區(qū)塊;將所述簽名區(qū)塊在所述區(qū)塊鏈網(wǎng)絡(luò)中進行廣播。

根據(jù)本公開實施例的第二方面,提供了一種生成區(qū)塊鏈區(qū)塊的裝置,配置于區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點,所述裝置包括:原始區(qū)塊生成模塊,被配置為根據(jù)區(qū)塊鏈協(xié)議生成原始區(qū)塊。簽名模塊,被配置為對所述原始區(qū)塊生成模塊生成的原始區(qū)塊進行數(shù)字簽名操作,生成簽名區(qū)塊。廣播模塊,被配置為將所述簽名模塊生成的簽名區(qū)塊在所述區(qū)塊鏈網(wǎng)絡(luò)中進行廣播。

根據(jù)本公開實施例的第三方面,提供了一種生成區(qū)塊鏈區(qū)塊的方法,應(yīng)用于簽名設(shè)備,所述方法包括:接收區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點發(fā)送的中間簽名,其中,所述中間簽名由所述第一節(jié)點使用所述第一節(jié)點的私鑰對所述第一節(jié)點生成的原始區(qū)塊的哈希值進行數(shù)字簽名操作而生成;對所述中間簽名進行驗證;在所述中間簽名驗證通過的情況下,使用所述簽名設(shè)備的私鑰,對所述中間簽名中包含的所述原始區(qū)塊的哈希值進行數(shù)字簽名操作,生成原始區(qū)塊簽名;將所述原始區(qū)塊簽名發(fā)送給所述第一節(jié)點,其中,所述原始區(qū)塊簽名,用于使所述第一節(jié)點將所述原始區(qū)塊簽名附加給所述原始區(qū)塊,生成簽名區(qū)塊。

根據(jù)本公開實施例的第四方面,提供了一種生成區(qū)塊鏈區(qū)塊的裝置,配置于簽名設(shè)備,所述裝置包括:中間簽名接收模塊,被配置為接收區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點發(fā)送的中間簽名。其中,所述中間簽名由所述第一節(jié)點使用所述第一節(jié)點的私鑰對所述第一節(jié)點生成的原始區(qū)塊的哈希值進行數(shù)字簽名操作而生成。中間簽名驗證模塊,被配置為對所述中間簽名接收模塊接收的中間簽名進行驗證。原始簽名生成模塊,被配置為在所述中間簽名驗證模塊對中間簽名驗證通過的情況下,使用所述簽名設(shè)備的私鑰,對所述中間簽名中包含的所述原始區(qū)塊的哈希值進行數(shù)字簽名操作,生成原始區(qū)塊簽名。原始簽名發(fā)送模塊,被配置為將所述原始簽名生成模塊生成的原始區(qū)塊簽名發(fā)送給所述第一節(jié)點,其中,所述原始區(qū)塊簽名,用于使所述第一節(jié)點將所述原始區(qū)塊簽名附加給所述原始區(qū)塊,生成簽名區(qū)塊。

根據(jù)本公開實施例的第五方面,提供了一種生成區(qū)塊鏈區(qū)塊的方法,應(yīng)用于區(qū)塊鏈網(wǎng)絡(luò)中的第二節(jié)點,所述方法包括:接收區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點廣播的簽名區(qū)塊,其中,所述簽名區(qū)塊由所述第一節(jié)點對原始區(qū)塊進行數(shù)字簽名操作而生成,所述原始區(qū)塊由所述第一節(jié)點根據(jù)區(qū)塊鏈協(xié)議生成;對所述簽名區(qū)塊的簽名進行驗證;在對所述簽名區(qū)塊的簽名驗證通過的情況下,將所述簽名區(qū)塊添加到所述區(qū)塊鏈網(wǎng)絡(luò)中。

根據(jù)本公開實施例的第六方面,提供了一種生成區(qū)塊鏈區(qū)塊的裝置,配置于區(qū)塊鏈網(wǎng)絡(luò)中的第二節(jié)點,所述裝置包括:簽名區(qū)塊接收模塊,被配置為接收區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點廣播的簽名區(qū)塊。其中,所述簽名區(qū)塊由所述第一節(jié)點對原始區(qū)塊進行數(shù)字簽名操作而生成,所述原始區(qū)塊由所述第一節(jié)點根據(jù)區(qū)塊鏈協(xié)議生成。簽名區(qū)塊驗證模塊,被配置為對所述簽名區(qū)塊接收模塊接收的簽名區(qū)塊的簽名進行驗證。簽名區(qū)塊添加模塊,被配置為在所述簽名區(qū)塊驗證模塊對所述簽名區(qū)塊的簽名驗證通過的情況下,將所述簽名區(qū)塊添加到所述區(qū)塊鏈網(wǎng)絡(luò)中。

根據(jù)本公開實施例的第七方面,提供了一種非臨時性計算機可讀存儲介質(zhì),所述非臨時性計算機可讀存儲介質(zhì)中包括一個或多個程序,所述一個或多個程序用于執(zhí)行本公開實施例第一方面中任一實施例所述的方法。

根據(jù)本公開實施例的第八方面,提供了一種區(qū)塊鏈網(wǎng)絡(luò)節(jié)點。所述區(qū)塊鏈網(wǎng)絡(luò)節(jié)點包括:本公開實施例第七方面所述的非臨時性計算機可讀存儲介質(zhì);以及,一個或者多個處理器,用于執(zhí)行所述非臨時性計算機可讀存儲介質(zhì)中的程序。

根據(jù)本公開實施例的第九方面,提供了一種非臨時性計算機可讀存儲介質(zhì)。所述非臨時性計算機可讀存儲介質(zhì)中包括一個或多個程序,所述一個或多個程序用于本公開第三方面任一實施例所述的生成區(qū)塊鏈區(qū)塊的方法。

根據(jù)本公開實施例的第十方面,提供了一種簽名設(shè)備。所述簽名設(shè)備包括:本公開實施例第八方面所述的非臨時性計算機可讀存儲介質(zhì);以及,一個或者多個處理器,用于執(zhí)行所述非臨時性計算機可讀存儲介質(zhì)中的程序。

根據(jù)本公開實施例的第十一方面,提供了一種非臨時性計算機可讀存儲介質(zhì)。所述非臨時性計算機可讀存儲介質(zhì)中包括一個或多個程序,所述一個或多個程序用于執(zhí)行本公開第五方面任一實施例所述的生成區(qū)塊鏈區(qū)塊的方法。

根據(jù)本公開實施例的第十二方面,提供了一種區(qū)塊鏈網(wǎng)絡(luò)節(jié)點。所述區(qū)塊鏈網(wǎng)絡(luò)節(jié)點包括:本公開實施例第十一方面所述的非臨時性計算機可讀存儲介質(zhì);以及,一個或者多個處理器,用于執(zhí)行所述非臨時性計算機可讀存儲介質(zhì)中的程序。

根據(jù)本公開實施例的第十三方面,提供了一種生成區(qū)塊鏈區(qū)塊的系統(tǒng)。該系統(tǒng)可以包括:至少一個本公開實施例第八方面所述的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,至少一個本公開實施例第十方面所述的簽名設(shè)備,以及,至少一個本公開實施例第十二方面所述的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點。其中,本公開實施例第八方面所述的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點以及本公開實施例第十二方面所述的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點屬于同一區(qū)塊鏈網(wǎng)絡(luò)。

通過上述技術(shù)方案一個方面,區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點根據(jù)區(qū)塊鏈協(xié)議生成原始區(qū)塊,對所述原始區(qū)塊進行數(shù)字簽名操作,生成簽名區(qū)塊,將該簽名區(qū)塊在區(qū)塊鏈網(wǎng)絡(luò)中進行廣播,從而區(qū)塊鏈網(wǎng)絡(luò)中的區(qū)塊可以通過其數(shù)字簽名被確認區(qū)塊產(chǎn)生者,為區(qū)塊鏈網(wǎng)絡(luò)的安全提供了可驗證的信息。

通過上述技術(shù)方案的另一個方面,根據(jù)本公開實施例的簽名設(shè)備接收區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點發(fā)送的中間簽名,對中間簽名進行驗證,在中間簽名驗證通過的情況下,使用簽名設(shè)備的私鑰對所述中間簽名進行數(shù)字簽名操作,生成原始區(qū)塊簽名,使所述第一節(jié)點將所述原始區(qū)塊簽名附加給所述第一節(jié)點生成的原始區(qū)塊,生成簽名區(qū)塊,從而區(qū)塊鏈網(wǎng)絡(luò)中的區(qū)塊可以通過其數(shù)字簽名被確認區(qū)塊產(chǎn)生者,為區(qū)塊鏈網(wǎng)絡(luò)的安全提供了可驗證的信息。

通過上述技術(shù)方案的又一個方面,區(qū)塊鏈網(wǎng)絡(luò)中的第二節(jié)點接收區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點廣播的簽名區(qū)塊,在對該簽名區(qū)塊簽名驗證通過的情況下,將該簽名區(qū)塊添加到所述區(qū)塊鏈網(wǎng)絡(luò)中,從而能夠?qū)^(qū)塊的產(chǎn)生者進行控制,只有通過驗證的區(qū)塊產(chǎn)生者發(fā)布的區(qū)塊,才能夠被其他節(jié)點接受,為區(qū)塊鏈網(wǎng)絡(luò)的安全提供了一定保障。

本公開的其他特征和優(yōu)點將在隨后的具體實施方式部分予以詳細說明。

附圖說明

附圖是用來提供對本公開的進一步理解,并且構(gòu)成說明書的一部分,與下面的具體實施方式一起用于解釋本公開,但并不構(gòu)成對本公開的限制。在附圖中:

圖1是根據(jù)本公開一示例性實施例示出的實施環(huán)境示意圖。

圖2是根據(jù)本公開第一方面的一示例性實施例示出的一種生成區(qū)塊鏈區(qū)塊的方法的流程圖。

圖3是根據(jù)本公開的一示例性實施例示出的一種生成區(qū)塊鏈區(qū)塊的方法的信令交互示意圖。

圖4是根據(jù)本公開第二方面的一示例性實施例示出的一種生成區(qū)塊鏈區(qū)塊的裝置的框圖。

圖5是根據(jù)本公開第三方面的一示例性實施例示出的一種生成區(qū)塊鏈區(qū)塊的方法的流程圖。

圖6是根據(jù)本公開第四方面的一示例性實施例示出的一種生成區(qū)塊鏈區(qū)塊的裝置的框圖。

圖7是根據(jù)本公開第五方面的一示例性實施例示出的一種生成區(qū)塊鏈區(qū)塊的方法的流程圖。

圖8是根據(jù)本公開第六方面的一示例性實施例示出的一種生成區(qū)塊鏈區(qū)塊的裝置的框圖。

具體實施方式

以下結(jié)合附圖對本公開的具體實施方式進行詳細說明。應(yīng)當理解的是,此處所描述的具體實施方式僅用于說明和解釋本公開,并不用于限制本公開。

圖1是根據(jù)本公開一示例性實施例示出的實施環(huán)境示意圖。如圖1所示,該實施環(huán)境可以包括:由若干個節(jié)點組成的區(qū)塊鏈網(wǎng)絡(luò)110以及簽名設(shè)備120。其中,云主機1101、云主機1102分別為區(qū)塊鏈網(wǎng)絡(luò)110中的兩個節(jié)點。簽名設(shè)備120可以為智能手機、平板電腦等移動終端。

可以理解的是,圖1所示實施環(huán)境僅用于示意本發(fā)明實施例提供的方法,并不構(gòu)成對本公開實施例的限制。例如,區(qū)塊鏈網(wǎng)絡(luò)110中可以包括兩個或兩個以上的節(jié)點,節(jié)點可以為云主機,也可以為其他具有相應(yīng)計算能力的設(shè)備,本公開對此并不進行限制。簽名設(shè)備120可以為一個,也可以為多個。節(jié)點與簽名設(shè)備之間可以通過p2p網(wǎng)絡(luò)進行通信,也可以通過其他結(jié)構(gòu)的網(wǎng)絡(luò)進行通信,本公開對此并不進行限制。

為了使本公開實施例更加易于理解,再對區(qū)塊鏈網(wǎng)絡(luò)進行簡單介紹。如圖1所示的區(qū)塊鏈網(wǎng)絡(luò),是由若干節(jié)點所組成的基于p2p的對等網(wǎng)絡(luò)。區(qū)塊鏈網(wǎng)絡(luò)中的每個節(jié)點都維護著一串使用密碼學(xué)方法相關(guān)聯(lián)產(chǎn)生的區(qū)塊鏈。各個節(jié)點之間通過廣播來獲取最新的區(qū)塊,從而保證各個節(jié)點之間的區(qū)塊是同步維護的。因此,如圖1所示的云主機1101以及云主機1102同步維護著各自的區(qū)塊鏈。

圖2是根據(jù)本公開第一方面的一示例性實施例示出的一種生成區(qū)塊鏈區(qū)塊的方法的流程圖。該方法可以應(yīng)用于區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點??梢岳斫獾氖牵摰谝还?jié)點可以為區(qū)塊鏈網(wǎng)絡(luò)中的任意節(jié)點。例如,該第一節(jié)點可以為圖1所示的云主機1101。該方法包括:

在步驟210中,根據(jù)區(qū)塊鏈協(xié)議生成原始區(qū)塊。

例如,第一節(jié)點可以接收全網(wǎng)transaction(交易)的廣播并對接收到的交易根據(jù)區(qū)塊鏈協(xié)議進行處理后生成原始區(qū)塊。相應(yīng)地,該原始區(qū)塊中含有交易和協(xié)議規(guī)定的數(shù)據(jù)。

在步驟220中,對所述原始區(qū)塊進行數(shù)字簽名操作,生成簽名區(qū)塊。

一種可能的實施方式中,在步驟220中,可以使用所述第一節(jié)點的私鑰,對所述原始區(qū)塊的哈希值進行數(shù)字簽名操作,生成原始區(qū)塊簽名,將所述原始區(qū)塊簽名附加給所述原始區(qū)塊,生成簽名區(qū)塊。

另一種可能的實施方式中,在步驟220中,可以使用所述第一節(jié)點的私鑰對所述原始區(qū)塊的哈希值進行數(shù)字簽名操作,生成中間簽名,將所述中間簽名發(fā)送給簽名設(shè)備,接收所述簽名設(shè)備發(fā)送的原始區(qū)塊簽名。其中,所述原始區(qū)塊簽名,可以由所述簽名設(shè)備在對所述中間簽名驗證通過的情況下,使用所述簽名設(shè)備的私鑰對所述中間簽名中包含的所述原始區(qū)塊的哈希值進行數(shù)字簽名操作而生成。將所述原始區(qū)塊簽名附加給所述原始區(qū)塊,生成簽名區(qū)塊。

原始區(qū)塊例如,計算該哈希值可以采用如sha-256等算法。該算法計算出的哈希值數(shù)據(jù)量極小,僅32字節(jié)。再例如,可以采用如ecdsa簽名算法進行數(shù)字簽名操作。該ecdsa簽名算法在256bit密鑰長度的情況下,其簽名僅64字節(jié)。

需要說明的是,本公開對簽名設(shè)備驗證中間簽名的實施方式不限。

例如,可以在簽名設(shè)備中預(yù)存所有合法節(jié)點的公鑰,從而簽名設(shè)備利用合法節(jié)點的公鑰對中間簽名進行驗證。

再例如,簽名設(shè)備可以預(yù)存有與其具有對應(yīng)關(guān)系的合法節(jié)點的公鑰??梢岳斫獾氖?,在該實施方式中,允許有不同節(jié)點對應(yīng)不同的簽名設(shè)備。從而第一節(jié)點可以將中間簽名發(fā)送給與第一節(jié)點具有對應(yīng)關(guān)系的簽名設(shè)備,由該簽名設(shè)備利用具有對應(yīng)關(guān)系的合法節(jié)點的公鑰對中間簽名進行驗證,進而在確定該中間簽名為具有對應(yīng)關(guān)系的第一節(jié)點的簽名的情況下,使用所述簽名設(shè)備的私鑰進行數(shù)字簽名操作生成原始區(qū)塊簽名。通過該實施方式,可以使不同簽名設(shè)備分別為自身對應(yīng)的合法的節(jié)點進行簽名,實現(xiàn)對不同類型的區(qū)塊產(chǎn)生者進行分別控制,更進一步保證了區(qū)塊鏈網(wǎng)絡(luò)的安全。

其中,第一節(jié)點與簽名設(shè)備之間的對應(yīng)關(guān)系可以設(shè)置在區(qū)塊鏈中。例如,如圖1所示實施環(huán)境中,區(qū)塊鏈網(wǎng)絡(luò)110的每個節(jié)點所維護的區(qū)塊鏈中均保存有節(jié)點與簽名設(shè)備之間的對應(yīng)關(guān)系。例如,云主機1101與簽名設(shè)備120之間具有對應(yīng)關(guān)系,則云主機1101可以在其維護的區(qū)塊鏈中查詢到云主機1101與簽名設(shè)備120之間的對應(yīng)關(guān)系。

需要說明的是,節(jié)點與簽名設(shè)備之間的對應(yīng)關(guān)系可以為一對多,多對一,或者,多對多的關(guān)系,本公開對此并不進行限制。

例如,當節(jié)點與簽名設(shè)備之間的對應(yīng)關(guān)系為一對多的關(guān)系時,由于可以有多個簽名設(shè)備為同一節(jié)點進行簽名,從而在因某個簽名設(shè)備的網(wǎng)絡(luò)連接問題、自身其它問題導(dǎo)致的不能簽名情況下,仍有相當?shù)南到y(tǒng)冗余度。即使簽名設(shè)備出現(xiàn)部分被攻擊或破壞的情況,也不會對區(qū)塊鏈產(chǎn)生影響??梢姡搶嵤┓绞竭m用于多人擁有簽名權(quán)限的場景,比如企業(yè)控制節(jié)點,由指定員工控制簽名設(shè)備。

再例如,當節(jié)點與簽名設(shè)備之間的對應(yīng)關(guān)系為多對一的關(guān)系時,多個節(jié)點產(chǎn)生的區(qū)塊可以供簽名設(shè)備進行簽名,從而對節(jié)點掉線或其他錯誤可以有更高的冗余度。在部分節(jié)點被攻擊或破壞的情況下,仍能夠保證區(qū)塊產(chǎn)生的成功率。

又例如,當節(jié)點與簽名設(shè)備之間的對應(yīng)關(guān)系為多對多的關(guān)系時,例如,可以有多個節(jié)點組,多個簽名設(shè)備組,而且每個節(jié)點組中包括多個節(jié)點,每個簽名設(shè)備組中包括多個簽名設(shè)備,一個節(jié)點組可以對應(yīng)一個簽名設(shè)備組,則節(jié)點組中任意節(jié)點產(chǎn)生的區(qū)塊都能夠被對應(yīng)的簽名設(shè)備組內(nèi)任意的簽名設(shè)備簽名。該實施方式綜合了上述兩種方式的優(yōu)點,節(jié)點以及簽名設(shè)備都具有良好的系統(tǒng)冗余度。例如,不同簽名組可以代表不同組織機構(gòu)。

在步驟230中,將所述簽名區(qū)塊在所述區(qū)塊鏈網(wǎng)絡(luò)中進行廣播。

例如,所述區(qū)塊鏈網(wǎng)絡(luò)中接收到所述廣播的第二節(jié)點,在對所述簽名區(qū)塊的簽名驗證通過的情況下,可以將所述簽名區(qū)塊添加到所述區(qū)塊鏈網(wǎng)絡(luò)中。

可見,通過本公開上述實施例提供的技術(shù)方案,區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點可以根據(jù)區(qū)塊鏈協(xié)議生成原始區(qū)塊,對所述原始區(qū)塊進行數(shù)字簽名操作,生成簽名區(qū)塊,將該簽名區(qū)塊在區(qū)塊鏈網(wǎng)絡(luò)中進行廣播,從而區(qū)塊鏈網(wǎng)絡(luò)中的區(qū)塊可以通過其數(shù)字簽名被確認區(qū)塊產(chǎn)生者,為區(qū)塊鏈網(wǎng)絡(luò)的安全提供了可驗證的信息。

尤其在一些應(yīng)用環(huán)境中,需要對區(qū)塊的產(chǎn)生者進行控制,例如僅允許特定的節(jié)點產(chǎn)生新的區(qū)塊,根據(jù)本公開實施例提供的方法,區(qū)塊產(chǎn)生者可以對區(qū)塊進行數(shù)字簽名的操作來證明自己是合法的區(qū)塊產(chǎn)生者,從而只有合法的區(qū)塊產(chǎn)生者發(fā)布的區(qū)塊,才能夠被其它節(jié)點接受和認可。

為了使本公開實施例提供的技術(shù)方案更加易于理解,下面,再結(jié)合本公開實施例一種可能的信令交互方式進行詳細說明。圖3是根據(jù)本公開的一示例性實施例示出的一種生成區(qū)塊鏈區(qū)塊的方法的信令交互示意圖。如圖3所示,該方法包括:

在步驟310中,第一節(jié)點根據(jù)區(qū)塊鏈協(xié)議生成原始區(qū)塊。

在步驟311中,第一節(jié)點使用所述第一節(jié)點的私鑰對所述原始區(qū)塊的哈希值進行數(shù)字簽名操作,生成中間簽名。

在步驟312中,第一節(jié)點將所述中間簽名發(fā)送給簽名設(shè)備。

在步驟320中,簽名設(shè)備對所述中間簽名是否為與所述簽名設(shè)備具有對應(yīng)關(guān)系的第一節(jié)點的簽名進行驗證。其中,簽名設(shè)備在確定所述中間簽名為與所述簽名設(shè)備具有對應(yīng)關(guān)系的第一節(jié)點的簽名的情況下,驗證通過。

在步驟321中,簽名設(shè)備在所述中間簽名驗證通過的情況下,使用所述簽名設(shè)備的私鑰對所述中間簽名中包含的所述原始區(qū)塊的哈希值進行數(shù)字簽名操作,生成原始區(qū)塊簽名。

在步驟322中,簽名設(shè)備將所述原始區(qū)塊簽名發(fā)送給所述第一節(jié)點。

在步驟330中,第一節(jié)點將所述原始區(qū)塊簽名附加給所述原始區(qū)塊,生成簽名區(qū)塊。

在步驟331中,第一節(jié)點將所述簽名區(qū)塊在所述區(qū)塊鏈網(wǎng)絡(luò)中進行廣播。

在步驟340中,第二節(jié)點接收區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點廣播的簽名區(qū)塊。

在步驟341中,第二節(jié)點使用簽名設(shè)備的公鑰對所述簽名區(qū)塊的原始區(qū)塊簽名進行驗證。

在步驟342,在驗證通過的情況下,將所述簽名區(qū)塊添加到所述區(qū)塊鏈網(wǎng)絡(luò)中。

可見,在該實施方式中,由于節(jié)點與簽名設(shè)備分別承擔(dān)了生成區(qū)塊、簽名的角色,因此,簽名設(shè)備無需接收交易、無需參與原始區(qū)塊的產(chǎn)生、也無需同步整個區(qū)塊鏈,簽名設(shè)備不涉及如pow等巨大的計算,且傳輸?shù)暮灻麛?shù)據(jù)量小,從而降低了對網(wǎng)絡(luò)穩(wěn)定性、設(shè)備計算能力的要求,適于使用例如移動終端等簽名設(shè)備來參與區(qū)塊的簽名,適用范圍更廣。

圖4是根據(jù)本公開第二方面的一示例性實施例示出的一種生成區(qū)塊鏈區(qū)塊的裝置400的框圖。該裝置可以配置于區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點。例如,該第一節(jié)點可以為圖1所示的云主機1101。該裝置包括:原始區(qū)塊生成模塊410、簽名模塊420、以及廣播模塊430。

該原始區(qū)塊生成模塊410,可以被配置為根據(jù)區(qū)塊鏈協(xié)議生成原始區(qū)塊。

該簽名模塊420,可以被配置為對所述原始區(qū)塊生成模塊410生成的原始區(qū)塊進行數(shù)字簽名操作,生成簽名區(qū)塊。

一種可能的實施方式中,所述簽名模塊420可以被配置為使用所述第一節(jié)點的私鑰,對所述原始區(qū)塊的哈希值進行數(shù)字簽名操作,生成原始區(qū)塊簽名,將所述原始區(qū)塊簽名附加給所述原始區(qū)塊,生成簽名區(qū)塊。

另一種可能的實施方式中,所述簽名模塊420可以包括:中間簽名生成子模塊421、中間簽名發(fā)送子模塊422、原始簽名接收子模塊423、以及簽名區(qū)塊生成子模塊424。

該中間簽名生成子模塊421,可以被配置為使用所述第一節(jié)點的私鑰對所述原始區(qū)塊的哈希值進行數(shù)字簽名操作,生成中間簽名。可選地,所述中間簽名生成子模塊421可以包括:哈希計算子模塊4211,可以被配置為計算所述原始區(qū)塊的哈希值。哈希簽名子模塊4212,可以被配置為使用所述第一節(jié)點的私鑰對所述哈希值進行數(shù)字簽名操作,生成中間簽名。

該中間簽名發(fā)送子模塊422,可以被配置為將所述中間簽名發(fā)送給簽名設(shè)備。

該原始簽名接收子模塊423,可以被配置為接收所述簽名設(shè)備發(fā)送的原始區(qū)塊簽名,其中,所述原始區(qū)塊簽名,由所述簽名設(shè)備在對所述中間簽名驗證通過的情況下,使用所述簽名設(shè)備的私鑰,對所述中間簽名中包含的所述原始區(qū)塊的哈希值進行數(shù)字簽名操作而生成。

該簽名區(qū)塊生成子模塊424,可以被配置為將所述原始區(qū)塊簽名附加給所述原始區(qū)塊,生成簽名區(qū)塊。

需要說明的是,本公開對簽名設(shè)備驗證中間簽名的實施方式不限??蛇x地,所述中間簽名發(fā)送子模塊422可以被配置為將所述中間簽名發(fā)送給與所述第一節(jié)點具有對應(yīng)關(guān)系的簽名設(shè)備。從而,由該簽名設(shè)備利用具有對應(yīng)關(guān)系的合法節(jié)點的公鑰對中間簽名進行驗證,進而在確定該中間簽名為具有對應(yīng)關(guān)系的第一節(jié)點的簽名的情況下,使用所述簽名設(shè)備的私鑰對所述中間簽名中包含的所述原始區(qū)塊的哈希值進行數(shù)字簽名操作生成原始區(qū)塊簽名。因此,所述原始區(qū)塊簽名,由所述簽名設(shè)備在確定所述中間簽名為具有對應(yīng)關(guān)系的第一節(jié)點的簽名的情況下,使用所述簽名設(shè)備的私鑰對所述中間簽名中包含的所述原始區(qū)塊的哈希值進行數(shù)字簽名操作而生成。通過該實施方式,可以使不同簽名設(shè)備分別為自身對應(yīng)的合法的節(jié)點進行簽名,實現(xiàn)對不同類型的區(qū)塊產(chǎn)生者進行分別控制,更進一步保證了區(qū)塊鏈網(wǎng)絡(luò)的安全。

在上述實施方式中,由于節(jié)點與簽名設(shè)備分別承擔(dān)了生成區(qū)塊、簽名的角色,因此,簽名設(shè)備無需接收交易、無需參與原始區(qū)塊的產(chǎn)生、也無需同步整個區(qū)塊鏈,簽名設(shè)備不涉及如pow等巨大的計算,且傳輸?shù)暮灻麛?shù)據(jù)量小,從而降低了對網(wǎng)絡(luò)穩(wěn)定性、設(shè)備計算能力的要求,適于使用例如移動終端等簽名設(shè)備來參與區(qū)塊的簽名,適用范圍更廣。

廣播模塊430,可以被配置為將所述簽名模塊420生成的簽名區(qū)塊在所述區(qū)塊鏈網(wǎng)絡(luò)中進行廣播。

可選地,所述簽名區(qū)塊,可以用于使所述區(qū)塊鏈網(wǎng)絡(luò)中接收到所述廣播的第二節(jié)點,在對所述簽名區(qū)塊的簽名驗證通過的情況下,將所述簽名區(qū)塊添加到所述區(qū)塊鏈網(wǎng)絡(luò)中。

可見,通過本公開上述實施例提供的技術(shù)方案,區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點可以根據(jù)區(qū)塊鏈協(xié)議生成原始區(qū)塊,對所述原始區(qū)塊進行數(shù)字簽名操作,生成簽名區(qū)塊,將該簽名區(qū)塊在區(qū)塊鏈網(wǎng)絡(luò)中進行廣播,從而區(qū)塊鏈網(wǎng)絡(luò)中的區(qū)塊可以通過其數(shù)字簽名被確認區(qū)塊產(chǎn)生者,為區(qū)塊鏈網(wǎng)絡(luò)的安全提供了可驗證的信息。

需要注意的是,本公開實施例所述中間簽名生成子模塊421、所述中間簽名發(fā)送子模塊422、所述原始簽名接收子模塊423、所述簽名區(qū)塊生成子模塊424、所述哈希計算子模塊4211、所述哈希簽名子模塊4212在圖4中以虛線繪制,以表示這些子模塊不是本公開實施例提供的生成區(qū)塊鏈區(qū)塊的裝置的必要模塊。

圖5是根據(jù)本公開第三方面的一示例性實施例示出的一種生成區(qū)塊鏈區(qū)塊的方法的流程圖。該方法可以應(yīng)用于簽名設(shè)備。例如,該簽名設(shè)備可以為圖1所示的移動終端120。該方法包括:

在步驟510中,接收區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點發(fā)送的中間簽名,其中,所述中間簽名由所述第一節(jié)點使用所述第一節(jié)點的私鑰對所述第一節(jié)點生成的原始區(qū)塊的哈希值進行數(shù)字簽名操作而生成。

在步驟520中,對所述中間簽名進行驗證。

一種可能的實施方式中,可以在簽名設(shè)備中預(yù)存所有合法節(jié)點的公鑰,從而簽名設(shè)備利用合法節(jié)點的公鑰對中間簽名進行驗證。

另一種可能的實施方式中,簽名設(shè)備可以預(yù)存有與其具有對應(yīng)關(guān)系的合法節(jié)點的公鑰。可以理解的是,在該實施方式中,允許有不同節(jié)點對應(yīng)不同的簽名設(shè)備。因此,在步驟420中,簽名設(shè)備可以對所述中間簽名是否為與所述簽名設(shè)備具有對應(yīng)關(guān)系的第一節(jié)點的簽名進行驗證,在所述中間簽名為與所述簽名設(shè)備具有對應(yīng)關(guān)系的第一節(jié)點的簽名的情況下,驗證通過。

通過上述實施方式,可以使不同簽名設(shè)備分別為自身對應(yīng)的合法的節(jié)點進行簽名,實現(xiàn)對不同類型的區(qū)塊產(chǎn)生者進行分別控制,更進一步保證了區(qū)塊鏈網(wǎng)絡(luò)的安全。

在步驟530中,在所述中間簽名驗證通過的情況下,使用所述簽名設(shè)備的私鑰,對所述中間簽名中包含的所述原始區(qū)塊的哈希值進行數(shù)字簽名操作,生成原始區(qū)塊簽名。

在步驟540中,將所述原始區(qū)塊簽名發(fā)送給所述第一節(jié)點,其中,所述原始區(qū)塊簽名,用于使所述第一節(jié)點將所述原始區(qū)塊簽名附加給所述第一節(jié)點生成的原始區(qū)塊,生成簽名區(qū)塊。

可見,通過本公開上述實施例提供的技術(shù)方案,簽名設(shè)備可以接收區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點發(fā)送的中間簽名,對中間簽名進行驗證,在中間簽名驗證通過的情況下,使用簽名設(shè)備的私鑰對所述中間簽名中包含的所述原始區(qū)塊的哈希值進行數(shù)字簽名操作,生成原始區(qū)塊簽名,使所述第一節(jié)點將所述原始區(qū)塊簽名附加給所述第一節(jié)點生成的原始區(qū)塊,生成簽名區(qū)塊,從而區(qū)塊鏈網(wǎng)絡(luò)中的區(qū)塊可以通過其數(shù)字簽名被確認區(qū)塊產(chǎn)生者,為區(qū)塊鏈網(wǎng)絡(luò)的安全提供了可驗證的信息。而且,由于節(jié)點與簽名設(shè)備分別承擔(dān)了生成區(qū)塊、簽名的角色,簽名設(shè)備無需接收交易、無需參與原始區(qū)塊的產(chǎn)生、也無需同步整個區(qū)塊鏈,簽名設(shè)備不涉及如pow等巨大的計算,且傳輸?shù)暮灻麛?shù)據(jù)量小,從而降低了對網(wǎng)絡(luò)穩(wěn)定性、設(shè)備計算能力的要求,適于使用例如移動終端等簽名設(shè)備來參與區(qū)塊的簽名,適用范圍更廣。

圖6是根據(jù)本公開第四方面的一示例性實施例示出的一種生成區(qū)塊鏈區(qū)塊的裝置600的框圖。該裝置可以配置于簽名設(shè)備。例如,該簽名設(shè)備可以為圖1所示的移動終端120。該裝置包括:中間簽名接收模塊610、中間簽名驗證模塊620、原始簽名生成模塊630、以及原始簽名發(fā)送模塊640。

該中間簽名接收模塊610,可以被配置為接收區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點發(fā)送的中間簽名,其中,所述中間簽名由所述第一節(jié)點使用所述第一節(jié)點的私鑰對所述第一節(jié)點生成的原始區(qū)塊的哈希值進行數(shù)字簽名操作而生成。.

該中間簽名驗證模塊620,可以被配置為對所述中間簽名接收模塊610接收的中間簽名進行驗證。

一種可能的實施方式中,可以在簽名設(shè)備中預(yù)存所有合法節(jié)點的公鑰,從而簽名設(shè)備利用合法節(jié)點的公鑰對中間簽名進行驗證。

另一種可能的實施方式中,簽名設(shè)備可以預(yù)存有與其具有對應(yīng)關(guān)系的合法節(jié)點的公鑰??梢岳斫獾氖?,在該實施方式中,允許有不同節(jié)點對應(yīng)不同的簽名設(shè)備。因此,所述中間簽名驗證模塊620可以被配置為對所述中間簽名是否為與所述簽名設(shè)備具有對應(yīng)關(guān)系的第一節(jié)點的簽名進行驗證,在所述中間簽名為與所述簽名設(shè)備具有對應(yīng)關(guān)系的第一節(jié)點的簽名的情況下,驗證通過。

通過上述實施方式,可以使不同簽名設(shè)備分別為自身對應(yīng)的合法的節(jié)點進行簽名,實現(xiàn)對不同類型的區(qū)塊產(chǎn)生者進行分別控制,更進一步保證了區(qū)塊鏈網(wǎng)絡(luò)的安全。

該原始簽名生成模塊630,被配置為在所述中間簽名驗證模塊620對中間簽名驗證通過的情況下,使用所述簽名設(shè)備的私鑰,對所述中間簽名中包含的所述原始區(qū)塊的哈希值進行數(shù)字簽名操作,生成原始區(qū)塊簽名。

該原始簽名發(fā)送模塊640,可以被配置為將所述原始簽名生成模塊630生成的原始區(qū)塊簽名發(fā)送給所述第一節(jié)點,其中,所述原始區(qū)塊簽名,用于使所述第一節(jié)點將所述原始區(qū)塊簽名附加給所述第一節(jié)點生成的原始區(qū)塊,生成簽名區(qū)塊。

可見,通過本公開上述實施例提供的技術(shù)方案,簽名設(shè)備可以接收區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點發(fā)送的中間簽名,對中間簽名進行驗證,在中間簽名驗證通過的情況下,使用簽名設(shè)備的私鑰對所述中間簽名中包含的所述原始區(qū)塊的哈希值進行數(shù)字簽名操作,生成原始區(qū)塊簽名,使所述第一節(jié)點將所述原始區(qū)塊簽名附加給所述第一節(jié)點生成的原始區(qū)塊,生成簽名區(qū)塊,從而區(qū)塊鏈網(wǎng)絡(luò)中的區(qū)塊可以通過其數(shù)字簽名被確認區(qū)塊產(chǎn)生者,為區(qū)塊鏈網(wǎng)絡(luò)的安全提供了可驗證的信息。而且,由于節(jié)點與簽名設(shè)備分別承擔(dān)了生成區(qū)塊、簽名的角色,簽名設(shè)備無需接收交易、無需參與原始區(qū)塊的產(chǎn)生、也無需同步整個區(qū)塊鏈,簽名設(shè)備不涉及如pow等巨大的計算,且傳輸?shù)暮灻麛?shù)據(jù)量小,從而降低了對網(wǎng)絡(luò)穩(wěn)定性、設(shè)備計算能力的要求,適于使用例如移動終端等簽名設(shè)備來參與區(qū)塊的簽名,適用范圍更廣。

圖7是根據(jù)本公開第五方面的一示例性實施例示出的一種生成區(qū)塊鏈區(qū)塊的方法的流程圖。該方法可以應(yīng)用于區(qū)塊鏈網(wǎng)絡(luò)中的第二節(jié)點??梢岳斫獾氖?,該第二節(jié)點可以為區(qū)塊鏈網(wǎng)絡(luò)中與第一節(jié)點不同的任意節(jié)點。例如,該第二節(jié)點可以為圖1所示的云主機1102。該方法包括:

在步驟710中,接收區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點廣播的簽名區(qū)塊,其中,所述簽名區(qū)塊由所述第一節(jié)點對原始區(qū)塊進行數(shù)字簽名操作而生成,其中,所述原始區(qū)塊由所述第一節(jié)點根據(jù)區(qū)塊鏈協(xié)議生成。

在步驟720中,對所述簽名區(qū)塊的簽名進行驗證。

在步驟730中,在對所述簽名區(qū)塊的簽名驗證通過的情況下,將所述簽名區(qū)塊添加到所述區(qū)塊鏈網(wǎng)絡(luò)中。

例如,第二節(jié)點可以使用簽名設(shè)備的公鑰對所述簽名區(qū)塊的原始區(qū)塊簽名進行驗證。其中,所述簽名區(qū)塊,由所述第一節(jié)點將原始區(qū)塊簽名附加給所述原始區(qū)塊而生成。所述原始區(qū)塊簽名,由所述簽名設(shè)備在中間簽名驗證通過的情況下,使用所述簽名設(shè)備的私鑰,對所述中間簽名中包含的所述原始區(qū)塊的哈希值進行數(shù)字簽名操作而生成。所述中間簽名,由所述第一節(jié)點使用所述第一節(jié)點的私鑰對所述原始區(qū)塊的哈希值進行數(shù)字簽名操作而生成。

再例如,區(qū)塊鏈中可以保存有節(jié)點與簽名設(shè)備之間的對應(yīng)關(guān)系。所述原始區(qū)塊簽名,由所述簽名設(shè)備在確定所述中間簽名為具有對應(yīng)關(guān)系的第一節(jié)點的簽名的情況下,使用所述簽名設(shè)備的私鑰對所述中間簽名中包含的所述原始區(qū)塊的哈希值進行數(shù)字簽名操作而生成。相應(yīng)地,第二節(jié)點可以使用簽名設(shè)備的公鑰對所述簽名區(qū)塊的原始區(qū)塊簽名進行驗證。通過該實施方式,只有與簽名設(shè)備對應(yīng)的節(jié)點生成的原始區(qū)塊可以被簽名設(shè)備簽名,并被其他節(jié)點驗證通過,從而可以使不同簽名設(shè)備分別為自身對應(yīng)的合法的節(jié)點進行簽名,實現(xiàn)對不同類型的區(qū)塊產(chǎn)生者進行分別控制,更進一步保證了區(qū)塊鏈網(wǎng)絡(luò)的安全。。

可以理解的是,在第二節(jié)點對所述簽名區(qū)塊簽名驗證通過的情況下,還可以在節(jié)點間廣播將該簽名區(qū)塊添加到區(qū)塊鏈網(wǎng)絡(luò)的消息,從而第一節(jié)點也同樣將該簽名區(qū)塊添加到區(qū)塊鏈網(wǎng)絡(luò)中,從而使得節(jié)點間的區(qū)塊得到同步更新。在第二節(jié)點對所述簽名區(qū)塊的簽名驗證未通過的情況下,還可以在節(jié)點間廣播拒絕將該簽名區(qū)塊添加到區(qū)塊鏈網(wǎng)絡(luò)的消息,保障了區(qū)塊鏈網(wǎng)絡(luò)的安全。

可見,通過本公開上述實施例提供的技術(shù)方案,區(qū)塊鏈網(wǎng)絡(luò)中的第二節(jié)點接收區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點廣播的簽名區(qū)塊,在對該簽名區(qū)塊簽名驗證通過的情況下,將該簽名區(qū)塊添加到所述區(qū)塊鏈網(wǎng)絡(luò)中,從而能夠?qū)^(qū)塊的產(chǎn)生者進行控制,只有通過驗證的區(qū)塊產(chǎn)生者發(fā)布的區(qū)塊,才能夠被其他節(jié)點接受,為區(qū)塊鏈網(wǎng)絡(luò)的安全提供了一定保障。

圖8是根據(jù)本公開第六方面的一示例性實施例示出的一種生成區(qū)塊鏈區(qū)塊的裝置800的框圖。該裝置可以配置于區(qū)塊鏈網(wǎng)絡(luò)中的第二節(jié)點??梢岳斫獾氖?,該第二節(jié)點可以為區(qū)塊鏈網(wǎng)絡(luò)中與第一節(jié)點不同的任意節(jié)點。例如,該第二節(jié)點可以為圖1所示的云主機1102。該裝置包括:簽名區(qū)塊接收模塊810、簽名區(qū)塊驗證模塊820、以及簽名區(qū)塊添加模塊830。

該簽名區(qū)塊接收模塊810,可以被配置為接收區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點廣播的簽名區(qū)塊,其中,所述簽名區(qū)塊由所述第一節(jié)點對原始區(qū)塊進行數(shù)字簽名操作而生成,所述原始區(qū)塊由所述第一節(jié)點根據(jù)區(qū)塊鏈協(xié)議生成。

該簽名區(qū)塊驗證模塊820,可以被配置為對所述簽名區(qū)塊接收模塊810接收的簽名區(qū)塊的簽名進行驗證。

例如,所述簽名區(qū)塊驗證模塊820可以被配置為使用簽名設(shè)備的公鑰對所述簽名區(qū)塊的原始區(qū)塊簽名進行驗證。其中,所述簽名區(qū)塊,由所述第一節(jié)點將原始區(qū)塊簽名附加給所述原始區(qū)塊而生成。所述原始區(qū)塊簽名,由所述簽名設(shè)備在中間簽名驗證通過的情況下,使用所述簽名設(shè)備的私鑰,對所述中間簽名中包含的所述原始區(qū)塊的哈希值進行數(shù)字簽名操作而生成。所述中間簽名,由所述第一節(jié)點使用所述第一節(jié)點的私鑰對所述原始區(qū)塊的哈希值進行數(shù)字簽名操作而生成。

再例如,所述簽名設(shè)備與所述第一節(jié)點具有對應(yīng)關(guān)系。所述原始區(qū)塊簽名,由所述簽名設(shè)備在確定所述中間簽名為具有對應(yīng)關(guān)系的第一節(jié)點的簽名的情況下,使用所述簽名設(shè)備的私鑰對所述中間簽名中包含的所述原始區(qū)塊的哈希值進行數(shù)字簽名操作而生成。相應(yīng)地,所述簽名區(qū)塊驗證模塊820可以被配置為使用所述簽名設(shè)備的公鑰對所述簽名區(qū)塊的原始區(qū)塊簽名進行驗證。

通過該實施方式,只有與簽名設(shè)備對應(yīng)的節(jié)點生成的原始區(qū)塊可以被簽名設(shè)備簽名,并被其他節(jié)點驗證通過,從而可以使不同簽名設(shè)備分別為自身對應(yīng)的合法的節(jié)點進行簽名,實現(xiàn)對不同類型的區(qū)塊產(chǎn)生者進行分別控制,更進一步保證了區(qū)塊鏈網(wǎng)絡(luò)的安全。。

該簽名區(qū)塊添加模塊830,可以被配置為在所述簽名區(qū)塊驗證模塊820對所述簽名區(qū)塊的簽名驗證通過的情況下,將所述簽名區(qū)塊添加到所述區(qū)塊鏈網(wǎng)絡(luò)中。

可見,通過本公開上述實施例提供的技術(shù)方案,區(qū)塊鏈網(wǎng)絡(luò)中的第二節(jié)點接收區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點廣播的簽名區(qū)塊,在對該簽名區(qū)塊簽名驗證通過的情況下,將該簽名區(qū)塊添加到所述區(qū)塊鏈網(wǎng)絡(luò)中,從而能夠?qū)^(qū)塊的產(chǎn)生者進行控制,只有通過驗證的區(qū)塊產(chǎn)生者發(fā)布的區(qū)塊,才能夠被其他節(jié)點接受,為區(qū)塊鏈網(wǎng)絡(luò)的安全提供了一定保障。

本公開實施例第七方面還提供一種非臨時性計算機可讀存儲介質(zhì)。該非臨時性計算機可讀存儲介質(zhì)中包括一個或多個程序,所述一個或多個程序用于執(zhí)行本公開第一方面任一實施例所述的生成區(qū)塊鏈區(qū)塊的方法。

本公開實施例第一方面所述的生成區(qū)塊鏈區(qū)塊的方法應(yīng)用于區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點,所述方法包括:根據(jù)區(qū)塊鏈協(xié)議生成原始區(qū)塊,對所述原始區(qū)塊進行數(shù)字簽名操作,生成簽名區(qū)塊,將所述簽名區(qū)塊在所述區(qū)塊鏈網(wǎng)絡(luò)中進行廣播。

可選地,所述簽名區(qū)塊,可以用于使所述區(qū)塊鏈網(wǎng)絡(luò)中接收到所述廣播的第二節(jié)點,在對所述簽名區(qū)塊的簽名驗證通過的情況下,將所述簽名區(qū)塊添加到所述區(qū)塊鏈網(wǎng)絡(luò)中。

可選地,所述對所述原始區(qū)塊進行數(shù)字簽名操作,生成簽名區(qū)塊可以包括:使用所述第一節(jié)點的私鑰,對所述原始區(qū)塊的哈希值進行數(shù)字簽名操作,生成原始區(qū)塊簽名,將所述原始區(qū)塊簽名附加給所述原始區(qū)塊,生成簽名區(qū)塊。

可選地,所述對所述原始區(qū)塊進行數(shù)字簽名操作,生成簽名區(qū)塊可以包括:使用所述第一節(jié)點的私鑰對所述原始區(qū)塊的哈希值進行數(shù)字簽名操作,生成中間簽名;將所述中間簽名發(fā)送給簽名設(shè)備;接收所述簽名設(shè)備發(fā)送的原始區(qū)塊簽名,其中,所述原始區(qū)塊簽名,由所述簽名設(shè)備在對所述中間簽名驗證通過的情況下,使用所述簽名設(shè)備的私鑰,對所述中間簽名中包含的所述原始區(qū)塊的哈希值進行數(shù)字簽名操作而生成;將所述原始區(qū)塊簽名附加給所述原始區(qū)塊,生成簽名區(qū)塊。

可選地,所述將所述中間簽名發(fā)送給簽名設(shè)備包括:將所述中間簽名發(fā)送給與所述第一節(jié)點具有對應(yīng)關(guān)系的簽名設(shè)備。所述原始區(qū)塊簽名,由所述簽名設(shè)備在確定所述中間簽名為具有對應(yīng)關(guān)系的第一節(jié)點的簽名的情況下,使用所述簽名設(shè)備的私鑰對所述中間簽名中包含的所述原始區(qū)塊的哈希值進行數(shù)字簽名操作而生成。

可選地,所述簽名設(shè)備為移動設(shè)備。

本公開實施例第八方面還提供了一種區(qū)塊鏈網(wǎng)絡(luò)節(jié)點。該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點可以包括:本公開實施例第七方面所述的非臨時性計算機可讀存儲介質(zhì);以及,一個或者多個處理器,用于執(zhí)行所述非臨時性計算機可讀存儲介質(zhì)中的程序。

本公開實施例第九方面還提供另一種非臨時性計算機可讀存儲介質(zhì)。該非臨時性計算機可讀存儲介質(zhì)中包括一個或多個程序,所述一個或多個程序用于執(zhí)行本公開第三方面任一實施例所述的生成區(qū)塊鏈區(qū)塊的方法。

本公開實施例第三方面所述的生成區(qū)塊鏈區(qū)塊的方法應(yīng)用于簽名設(shè)備,所述方法包括:接收區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點發(fā)送的中間簽名,其中,所述中間簽名由所述第一節(jié)點使用所述第一節(jié)點的私鑰對所述第一節(jié)點生成的原始區(qū)塊的哈希值進行數(shù)字簽名操作而生成;對所述中間簽名進行驗證;在所述中間簽名驗證通過的情況下,使用所述簽名設(shè)備的私鑰,對所述中間簽名中包含的所述原始區(qū)塊的哈希值進行數(shù)字簽名操作,生成原始區(qū)塊簽名;將所述原始區(qū)塊簽名發(fā)送給所述第一節(jié)點,其中,所述原始區(qū)塊簽名,用于使所述第一節(jié)點將所述原始區(qū)塊簽名附加給所述原始區(qū)塊,生成簽名區(qū)塊。

可選地,所述對所述中間簽名進行驗證包括:對所述中間簽名是否為與所述簽名設(shè)備具有對應(yīng)關(guān)系的第一節(jié)點的簽名進行驗證;在所述中間簽名為與所述簽名設(shè)備具有對應(yīng)關(guān)系的第一節(jié)點的簽名的情況下,驗證通過。

可選地,所述簽名設(shè)備為移動設(shè)備。

本公開實施例第十方面還提供了一種簽名設(shè)備。該簽名設(shè)備可以包括:本公開實施例第八方面所述的非臨時性計算機可讀存儲介質(zhì);以及,一個或者多個處理器,用于執(zhí)行所述非臨時性計算機可讀存儲介質(zhì)中的程序。

本公開實施例第十一方面還提供又一種非臨時性計算機可讀存儲介質(zhì)。該非臨時性計算機可讀存儲介質(zhì)中包括一個或多個程序,所述一個或多個程序用于執(zhí)行本公開第五方面任一實施例所述的生成區(qū)塊鏈區(qū)塊的方法。

本公開實施例第五方面所述的生成區(qū)塊鏈區(qū)塊的方法應(yīng)用于區(qū)塊鏈網(wǎng)絡(luò)中的第二節(jié)點,所述方法包括:接收區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點廣播的簽名區(qū)塊,其中,所述簽名區(qū)塊由所述第一節(jié)點對原始區(qū)塊進行數(shù)字簽名操作而生成,所述原始區(qū)塊由所述第一節(jié)點根據(jù)區(qū)塊鏈協(xié)議生成;對所述簽名區(qū)塊的簽名進行驗證;在對所述簽名區(qū)塊的簽名驗證通過的情況下,將所述簽名區(qū)塊添加到所述區(qū)塊鏈網(wǎng)絡(luò)中。

可選地,所述對所述簽名區(qū)塊的簽名進行驗證包括:使用簽名設(shè)備的公鑰對所述簽名區(qū)塊的原始區(qū)塊簽名進行驗證。其中,所述簽名區(qū)塊,由所述第一節(jié)點將原始區(qū)塊簽名附加給所述原始區(qū)塊而生成。所述原始區(qū)塊簽名,由所述簽名設(shè)備在中間簽名驗證通過的情況下,使用所述簽名設(shè)備的私鑰,對所述中間簽名中包含的所述原始區(qū)塊的哈希值進行數(shù)字簽名操作而生成。所述中間簽名,由所述第一節(jié)點使用所述第一節(jié)點的私鑰對所述原始區(qū)塊的哈希值進行數(shù)字簽名操作而生成。

可選地,所述簽名設(shè)備與所述第一節(jié)點具有對應(yīng)關(guān)系。所述原始區(qū)塊簽名,由所述簽名設(shè)備在確定所述中間簽名為具有對應(yīng)關(guān)系的第一節(jié)點的簽名的情況下,使用所述簽名設(shè)備的私鑰對所述中間簽名中包含的所述原始區(qū)塊的哈希值進行數(shù)字簽名操作而生成。所述對所述簽名區(qū)塊的簽名進行驗證包括:使用所述簽名設(shè)備的公鑰,對所述簽名區(qū)塊的原始區(qū)塊簽名進行驗證。

本公開實施例第十二方面還提供了另一種區(qū)塊鏈網(wǎng)絡(luò)節(jié)點。該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點可以包括:本公開實施例第十一方面所述的非臨時性計算機可讀存儲介質(zhì);以及,一個或者多個處理器,用于執(zhí)行所述非臨時性計算機可讀存儲介質(zhì)中的程序。

本公開實施例第十三方面還提供了一種生成區(qū)塊鏈區(qū)塊的系統(tǒng)。該系統(tǒng)可以包括:至少一個本公開實施例第八方面所述的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,至少一個本公開實施例第十方面所述的簽名設(shè)備,以及,至少一個本公開實施例第十二方面所述的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點。其中,本公開實施例第八方面所述的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點以及本公開實施例第十二方面所述的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點屬于同一區(qū)塊鏈網(wǎng)絡(luò)。

以上結(jié)合附圖詳細描述了本公開的優(yōu)選實施方式,但是,本公開并不限于上述實施方式中的具體細節(jié),在本公開的技術(shù)構(gòu)思范圍內(nèi),可以對本公開的技術(shù)方案進行多種簡單變型,這些簡單變型均屬于本公開的保護范圍。

另外需要說明的是,在上述具體實施方式中所描述的各個具體技術(shù)特征,在不矛盾的情況下,可以通過任何合適的方式進行組合。為了避免不必要的重復(fù),本公開對各種可能的組合方式不再另行說明。

此外,本公開的各種不同的實施方式之間也可以進行任意組合,只要其不違背本公開的思想,其同樣應(yīng)當視為本公開所公開的內(nèi)容。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1