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

區(qū)塊生成方法、裝置和區(qū)塊鏈網(wǎng)絡(luò)與流程

文檔序號:11637274閱讀:365來源:國知局
區(qū)塊生成方法、裝置和區(qū)塊鏈網(wǎng)絡(luò)與流程

本發(fā)明涉及區(qū)塊鏈技術(shù)領(lǐng)域,尤其涉及一種區(qū)塊生成方法、裝置和區(qū)塊鏈網(wǎng)絡(luò)。



背景技術(shù):

區(qū)塊鏈技術(shù)是一種分布式、去中心、去信任的網(wǎng)絡(luò)數(shù)據(jù)共識存儲技術(shù),其基于獨(dú)特的區(qū)塊(block)生成機(jī)制和p2p(pointtopoint,點(diǎn)對點(diǎn))網(wǎng)絡(luò)通信機(jī)制實(shí)現(xiàn)了分布式計(jì)算的同步性問題。

通常意義上,在區(qū)塊鏈的形成過程中,每一個參與計(jì)算的節(jié)點(diǎn)均享有相同的權(quán)限,其中包括轉(zhuǎn)賬(transaction),計(jì)算區(qū)塊等權(quán)限?,F(xiàn)有技術(shù)中,參與區(qū)塊計(jì)算的節(jié)點(diǎn)的計(jì)算能力參差不齊,為了提高產(chǎn)生區(qū)塊的幾率,計(jì)算區(qū)塊的節(jié)點(diǎn)使用的硬件也從cpu(centralprocessingunit,中央處理器)、gpu(graphicsprocessingunit,圖形處理器)、fpga(fieldprogrammablegatearray,現(xiàn)場可編程邏輯門陣列)一直演化到asic(application-specificintegratedcircuit,專用芯片)。

但是,區(qū)塊鏈涉及一個“51%攻擊”的場景,既理論上超過51%計(jì)算能力的節(jié)點(diǎn)或者多個節(jié)點(diǎn),能夠?qū)^(qū)塊鏈進(jìn)行“51%攻擊”,阻礙區(qū)塊鏈的正常運(yùn)行,對區(qū)塊鏈的數(shù)據(jù)進(jìn)行破壞。目前,隨著單個節(jié)點(diǎn)的計(jì)算能力的增長,單一或者少數(shù)節(jié)點(diǎn)一起可以擁有極大的計(jì)算能力,這樣,在整個區(qū)塊鏈網(wǎng)絡(luò)中各節(jié)點(diǎn)的計(jì)算能力差異較大的情況下,形成“51%攻擊”的條件已經(jīng)不難達(dá)成,威脅了區(qū)塊鏈網(wǎng)絡(luò)的安全性。



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

本發(fā)明的主要目的是提供一種區(qū)塊生成方法、裝置和區(qū)塊鏈網(wǎng)絡(luò),用以提高區(qū)塊鏈的安全性。

為了實(shí)現(xiàn)上述目的,本發(fā)明第一方面提供一種區(qū)塊生成方法,所述方法應(yīng)用于區(qū)塊生成裝置,所述區(qū)塊生成裝置內(nèi)置私鑰信息,所述方法包括:

根據(jù)所述私鑰信息對所述區(qū)塊生成裝置生成的區(qū)塊進(jìn)行簽名,得到簽名區(qū)塊;

通過區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點(diǎn)設(shè)備將所述簽名區(qū)塊發(fā)布到其他節(jié)點(diǎn)設(shè)備。

本發(fā)明第二方面提供一種區(qū)塊生成方法,所述方法應(yīng)用于區(qū)塊生成裝置,所述方法包括:

通過第二節(jié)點(diǎn)設(shè)備獲取所述區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點(diǎn)設(shè)備發(fā)布的簽名區(qū)塊;

根據(jù)公鑰信息對所述簽名區(qū)塊進(jìn)行簽名認(rèn)證;

在簽名驗(yàn)證成功后,對所述簽名區(qū)塊進(jìn)行工作量證明驗(yàn)證;

根據(jù)工作量證明驗(yàn)證結(jié)果確定是否將所述簽名區(qū)塊添加到區(qū)塊鏈。

本發(fā)明第三方面提供一種區(qū)塊生成裝置,所述區(qū)塊生成裝置內(nèi)置私鑰信息,所述區(qū)塊生成裝置包括:

簽名模塊,用于根據(jù)所述私鑰信息對所述區(qū)塊生成裝置生成的區(qū)塊進(jìn)行簽名,得到簽名區(qū)塊;

發(fā)布模塊,用于通過區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點(diǎn)設(shè)備將所述簽名區(qū)塊發(fā)布到其他節(jié)點(diǎn)設(shè)備。

本發(fā)明第四方面提供一種區(qū)塊生成裝置,包括:

獲取模塊,用于通過第二節(jié)點(diǎn)設(shè)備獲取所述區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點(diǎn)設(shè)備發(fā)布的簽名區(qū)塊;

簽名認(rèn)證模塊,用于利用公鑰信息對所述簽名區(qū)塊進(jìn)行簽名認(rèn)證;

工作量證明模塊,用于在簽名認(rèn)證通過后,對所述簽名區(qū)塊進(jìn)行工作量證明驗(yàn)證;

區(qū)塊添加模塊,用于根據(jù)工作量證明驗(yàn)證結(jié)果確定是否將解密后得到的所述區(qū)塊添加到區(qū)塊鏈。

本發(fā)明第五方面提供一種區(qū)塊生成裝置,包括:

至少一個處理器單元、通信接口、存儲器和通信總線;所述至少一個處理器單元、所述通信接口和所述存儲器通過所述通信總線完成相互間的通信;

所述存儲器被配置為存儲程序代碼;

所述至少一個處理器單元被配置為運(yùn)行所述程序代碼以實(shí)現(xiàn)如下操作:

根據(jù)所述區(qū)塊生成裝置內(nèi)置的私鑰信息對所述區(qū)塊生成裝置生成的區(qū)塊進(jìn)行簽名,得到簽名區(qū)塊;

通過區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點(diǎn)設(shè)備將所述簽名區(qū)塊發(fā)布到其他節(jié)點(diǎn)設(shè)備。

本發(fā)明第六方面提供一種區(qū)塊生成裝置,包括:

至少一個處理器單元、通信接口、存儲器和通信總線;所述至少一個處理器單元、所述通信接口和所述存儲器通過所述通信總線完成相互間的通信;

所述存儲器被配置為存儲程序代碼;

所述至少一個處理器單元被配置為運(yùn)行所述程序代碼以實(shí)現(xiàn)如下操作:

通過第二節(jié)點(diǎn)設(shè)備獲取所述區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點(diǎn)設(shè)備發(fā)布的簽名區(qū)塊;

根據(jù)公鑰信息對所述簽名區(qū)塊進(jìn)行簽名認(rèn)證;

在簽名認(rèn)證成功后,對所述簽名區(qū)塊進(jìn)行工作量證明驗(yàn)證;

根據(jù)工作量證明驗(yàn)證結(jié)果確定是否將所述簽名區(qū)塊添加到區(qū)塊鏈。

本發(fā)明第七方面提供一種區(qū)塊鏈網(wǎng)絡(luò),所述區(qū)塊鏈網(wǎng)絡(luò)包括至少兩個節(jié)點(diǎn)設(shè)備;

所述至少兩個節(jié)點(diǎn)設(shè)備包括第一節(jié)點(diǎn)設(shè)備,所述第一節(jié)點(diǎn)設(shè)備包括第三方面所述的區(qū)塊生成裝置,或者所述第一節(jié)點(diǎn)設(shè)備包括第五方面所述的區(qū)塊生成裝置;

所述至少兩個節(jié)點(diǎn)設(shè)備包括第二節(jié)點(diǎn)設(shè)備,所述第二節(jié)點(diǎn)設(shè)備包括第四方面所述的區(qū)塊生成裝置,或者所述第二節(jié)點(diǎn)設(shè)備包括第六方面所述的區(qū)塊生成裝置。

本發(fā)明第八方面提供一種計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)可讀存儲介質(zhì)用于存儲計(jì)算機(jī)程序,所述計(jì)算機(jī)程序包括用于執(zhí)行第一方面所述的方法的指令。

本發(fā)明第九方面提供一種計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)可讀存儲介質(zhì)用于存儲計(jì)算機(jī)程序,所述計(jì)算機(jī)程序包括用于執(zhí)行第二方面所述的方法的指令。

采用上述技術(shù)方案,區(qū)塊生成裝置生成區(qū)塊后,對區(qū)塊進(jìn)行私鑰簽名,并通過區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點(diǎn)設(shè)備將經(jīng)過私鑰簽名后得到的簽名區(qū)塊發(fā)布到其他節(jié)點(diǎn)設(shè)備。這樣,其他節(jié)點(diǎn)設(shè)備可以通過對簽名區(qū)塊的簽名認(rèn)證驗(yàn)證該區(qū)塊生成裝置的身份。從而對于非法的區(qū)塊生成裝置,區(qū)塊鏈網(wǎng)絡(luò)可以拒絕在區(qū)塊鏈中添加其生成的區(qū)塊,保證了區(qū)塊鏈的安全性。

附圖說明

為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明實(shí)施例提供的一種區(qū)塊生成方法的流程示意圖;

圖2為本發(fā)明實(shí)施例提供的另一種區(qū)塊生成方法的流程示意圖;

圖3為本發(fā)明實(shí)施例提供的實(shí)施環(huán)境的示意圖;

圖4為圖3所示的實(shí)施環(huán)境中一種區(qū)塊生成方法的流程示意圖;

圖5a為本發(fā)明實(shí)施例提供的一種區(qū)塊生成裝置的結(jié)構(gòu)示意圖;

圖5b為本發(fā)明實(shí)施例提供的另一種區(qū)塊生成裝置的結(jié)構(gòu)示意圖;

圖6為本發(fā)明實(shí)施例提供的另一種區(qū)塊生成裝置的結(jié)構(gòu)示意圖;

圖7a為本發(fā)明實(shí)施例提供的另一種區(qū)塊生成裝置的結(jié)構(gòu)示意圖;

圖7b為本發(fā)明實(shí)施例提供的另一種區(qū)塊生成裝置的結(jié)構(gòu)示意圖;

圖8為本發(fā)明實(shí)施例提供的另一種區(qū)塊生成裝置的結(jié)構(gòu)示意圖;

圖9為本發(fā)明實(shí)施例提供的區(qū)塊鏈網(wǎng)絡(luò)的結(jié)構(gòu)示意圖。

具體實(shí)施方式

為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

為了使本領(lǐng)域技術(shù)人員更容易理解本發(fā)明實(shí)施例提供的技術(shù)方案,下面首先對涉及到的相關(guān)技術(shù)進(jìn)行簡單介紹。

區(qū)塊鏈?zhǔn)怯蓞^(qū)塊鏈網(wǎng)絡(luò)中所有節(jié)點(diǎn)共同參與維護(hù)的去中心化分布式數(shù)據(jù)庫系統(tǒng),它是由一系列基于密碼學(xué)方法產(chǎn)生的數(shù)據(jù)塊組成,每個數(shù)據(jù)塊即為區(qū)塊鏈中的一個區(qū)塊。根據(jù)產(chǎn)生時間的先后順序,區(qū)塊被有序地鏈接在一起,形成一個數(shù)據(jù)鏈條,被形象地稱為區(qū)塊鏈。

在基于pow(proofofwork,工作量證明)的區(qū)塊產(chǎn)生機(jī)制中,有效區(qū)塊的產(chǎn)生要求區(qū)塊生成裝置正確解出一個需要計(jì)算量的數(shù)學(xué)難題,一般情況下是對含有nonce(numberonce,非重復(fù)的隨機(jī)數(shù)值)的區(qū)塊頭部數(shù)據(jù)進(jìn)行哈希運(yùn)算,通過對nonce進(jìn)行調(diào)整,使得哈希結(jié)果滿足特定條件,并要求生成的哈希值滿足特定條件,如前n個位為0x0。在計(jì)算出滿足特定條件的哈希結(jié)果后,節(jié)點(diǎn)設(shè)備將含有nonce的區(qū)塊頭部數(shù)據(jù)和區(qū)塊數(shù)據(jù)組合成區(qū)塊進(jìn)行廣播,其它節(jié)點(diǎn)設(shè)備認(rèn)可此區(qū)塊符合協(xié)議定義的格式和標(biāo)準(zhǔn)后,即可將該區(qū)塊添加到區(qū)塊鏈上。具體可參照比特幣(bitcoin)應(yīng)用。

值得說明的是,在pow的場景下,區(qū)塊生成裝置的計(jì)算能力通常以哈希計(jì)算能力(hashrate)做標(biāo)準(zhǔn)。另外,上述區(qū)塊數(shù)據(jù)可以包括各個節(jié)點(diǎn)設(shè)備在轉(zhuǎn)賬(transaction)過程中廣播的交易數(shù)據(jù)。該交易數(shù)據(jù)通常包括了一定的貨幣屬性,以及擁有者的數(shù)字簽名,接受者的地址。在交易數(shù)據(jù)被寫入?yún)^(qū)塊后,經(jīng)過對擁有者數(shù)字簽名的驗(yàn)證,即將所有權(quán)轉(zhuǎn)移到接受者一方。

本發(fā)明實(shí)施例提供一種區(qū)塊生成方法,該方法應(yīng)用于區(qū)塊生成裝置,所述區(qū)塊生成裝置內(nèi)置有私鑰信息,如圖1所示,該方法包括:

s101、根據(jù)所述私鑰信息對所述區(qū)塊生成裝置生成的區(qū)塊進(jìn)行簽名,得到簽名區(qū)塊。

其中,該區(qū)塊生成裝置可以是區(qū)塊鏈網(wǎng)絡(luò)中的任一節(jié)點(diǎn)設(shè)備的一部分,也可以是與所述區(qū)塊鏈網(wǎng)絡(luò)中的任一節(jié)點(diǎn)設(shè)備建立通信連接的一獨(dú)立裝置,具體地,該區(qū)塊生成裝置和節(jié)點(diǎn)設(shè)備之間可以通過不同的數(shù)據(jù)總線進(jìn)行連接,例如,usb(universalserialbus,通用串行總線)、ethernet(以太網(wǎng))、bluetooth(藍(lán)牙)、wi-fi(wireless-fidelity)等。

參照上述對pow區(qū)塊產(chǎn)生機(jī)制的介紹。示例地,區(qū)塊生成裝置與第一節(jié)點(diǎn)設(shè)備通信相連。所述第一節(jié)點(diǎn)設(shè)備是區(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點(diǎn)設(shè)備,其可以通過網(wǎng)絡(luò)接口接收區(qū)塊鏈網(wǎng)絡(luò)中的其他節(jié)點(diǎn)設(shè)備廣播的交易數(shù)據(jù)。這樣,該區(qū)塊生成裝置可以從所述第一節(jié)點(diǎn)設(shè)備獲取到交易數(shù)據(jù),并將所述交易數(shù)據(jù)作為區(qū)塊數(shù)據(jù),在對含有nonce的區(qū)塊頭部數(shù)據(jù)進(jìn)行哈希運(yùn)算,并使得哈希結(jié)果滿足特定條件后,根據(jù)區(qū)塊數(shù)據(jù)與區(qū)塊頭部數(shù)據(jù)生成區(qū)塊。

上述只是對區(qū)塊生成裝置生成區(qū)塊的一種方式進(jìn)行舉例說明,在具體實(shí)施時,區(qū)塊生成裝置在沒有獲取到交易數(shù)據(jù)的情況下,仍可以生成區(qū)塊,本發(fā)明對此不做限定。

s102、通過區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點(diǎn)設(shè)備將所述簽名區(qū)塊發(fā)布到其他節(jié)點(diǎn)設(shè)備。

值得說明的是,區(qū)塊鏈網(wǎng)絡(luò)中的每一區(qū)塊生成裝置內(nèi)置的私鑰信息均不同,并且,區(qū)塊生成裝置可以將自身的公鑰信息通過特定的節(jié)點(diǎn)設(shè)備廣播至其他節(jié)點(diǎn)設(shè)備。這樣,在接收到某一節(jié)點(diǎn)設(shè)備發(fā)布的簽名區(qū)塊后,采用相應(yīng)的公鑰進(jìn)行簽名認(rèn)證,若簽名認(rèn)證成功,則表明發(fā)布的簽名區(qū)塊合法,即表明生成該簽名區(qū)塊的區(qū)塊生成裝置具備向區(qū)塊鏈中添加新區(qū)塊的權(quán)利,可進(jìn)一步對區(qū)塊進(jìn)行工作量證明驗(yàn)證,以及驗(yàn)證區(qū)塊是否符合協(xié)議定義的格式和標(biāo)準(zhǔn)。若對簽名區(qū)塊簽名認(rèn)證設(shè)備,則拒絕在區(qū)塊鏈中添加該區(qū)塊,保證了區(qū)塊鏈的安全性。

在本發(fā)明實(shí)施例的一種可能的實(shí)現(xiàn)方式中,該區(qū)塊生成裝置包括哈希處理器單元,該哈希處理器單元負(fù)責(zé)采用特定的哈希算法對區(qū)塊數(shù)據(jù)進(jìn)行哈希運(yùn)算。也就是說,在上述步驟s101之前,該區(qū)塊生成裝置利用該哈希處理器單元根據(jù)所述區(qū)塊數(shù)據(jù)生成所述區(qū)塊。

其中,區(qū)塊生成裝置內(nèi)置哈希處理器單元可以對哈希算法本身進(jìn)行保護(hù),不易被他人獲取。另外,采用專門的處理器單元負(fù)責(zé)哈希運(yùn)算可以實(shí)現(xiàn)對節(jié)點(diǎn)設(shè)備的算力進(jìn)行限制。例如,區(qū)塊鏈網(wǎng)絡(luò)在初始化時,可以只為采用相同型號和規(guī)格的哈希處理器單元的區(qū)塊生成裝置分配私鑰和公鑰,初始化完畢后,在添加新的區(qū)塊生成裝置時,也可以只允許算力相近的區(qū)塊生成裝置加入,其中,區(qū)塊鏈網(wǎng)絡(luò)添加新的區(qū)塊生成裝置可以通過特定的節(jié)點(diǎn)設(shè)備進(jìn)行,由該節(jié)點(diǎn)設(shè)備動態(tài)的向區(qū)塊鏈寫入新添加的區(qū)塊生成裝置的公鑰。從而確保了各個節(jié)點(diǎn)算力的一致性,避免單個節(jié)點(diǎn)或者少數(shù)節(jié)點(diǎn)一起具有超越閾值得計(jì)算能力,進(jìn)而避免了“51%攻擊”的形成,提升了區(qū)塊鏈的安全性。

進(jìn)一步地,所述區(qū)塊生成裝置還可以內(nèi)置有密鑰處理器單元,則上述步驟s101具體為,利用所述密鑰處理器單元中的私鑰對所述區(qū)塊進(jìn)行簽名,得到所述簽名區(qū)塊。

也就是說,區(qū)塊生成裝置內(nèi)置的私鑰處于所述密鑰處理器單元,從而實(shí)現(xiàn)利用硬件對簽名密鑰進(jìn)行保護(hù),如采用高安全性密碼芯片,其密鑰的產(chǎn)生,加解密、簽名驗(yàn)簽等計(jì)算過程均在密碼芯片內(nèi)完成,確保簽名私鑰不離開密碼芯片,從而實(shí)現(xiàn)對密鑰的高強(qiáng)度保護(hù)。

由上可知,在具備哈希處理器單元和密鑰處理器單元的情況下,區(qū)塊生成裝置要生成有效的區(qū)塊,需同時具備特定的哈希算法以及簽名密鑰,提升了區(qū)塊鏈網(wǎng)絡(luò)的安全性。

在本發(fā)明實(shí)施例的一種可能的實(shí)現(xiàn)方式,該區(qū)塊生成裝置在根據(jù)所述區(qū)塊數(shù)據(jù)生成區(qū)塊之前,還可以通過所述第一節(jié)點(diǎn)設(shè)備確定所述區(qū)塊生成裝置最近一次生成的區(qū)塊與當(dāng)前區(qū)塊鏈中的最新區(qū)塊之間相差的區(qū)塊數(shù),并確定所述區(qū)塊數(shù)不小于預(yù)設(shè)閾值m,其中,m為大于或等于1,且小于n的正整數(shù),n是所述區(qū)塊鏈網(wǎng)絡(luò)中所有節(jié)點(diǎn)設(shè)備的數(shù)目。

也就是說,區(qū)塊生成裝置在生成一次區(qū)塊后,需要間隔m個區(qū)塊后,才能再次生成區(qū)塊。其中,m具體可以根據(jù)實(shí)際需求進(jìn)行設(shè)置。例如,m=n-1,即區(qū)塊生成裝置需要間隔n-1區(qū)塊后才能再次產(chǎn)生區(qū)塊,在此種情況下,所有n個區(qū)塊生成裝置均必須保持正常工作,否則區(qū)塊鏈的區(qū)塊生成工作會停止。又例如m=1,則區(qū)塊生成裝置每間隔一個區(qū)塊即可再次生成區(qū)塊,在此種情況下,m+1個被惡意控制節(jié)點(diǎn)即可形成“51%攻擊”。

這樣,基于區(qū)塊鏈網(wǎng)絡(luò)的實(shí)際情況,合理設(shè)置m的大小,由于同一區(qū)塊生成裝置不能連續(xù)產(chǎn)生區(qū)塊,從而降低了某一區(qū)塊生成裝置的算力過高產(chǎn)生的“51%攻擊”的可能性。

本發(fā)明實(shí)施例還提供另一區(qū)塊生成方法,所述方法應(yīng)用于區(qū)塊生成裝置,如圖2所示,所述方法包括:

s201、通過第二節(jié)點(diǎn)設(shè)備獲取所述區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點(diǎn)設(shè)備發(fā)布的簽名區(qū)塊。

s202、利用公鑰信息對所述簽名區(qū)塊進(jìn)行簽名認(rèn)證。

其中,公鑰信息可以是該第二節(jié)點(diǎn)設(shè)備預(yù)先儲存的,也可以是該第二節(jié)點(diǎn)設(shè)備從所述簽名區(qū)塊中獲取到的。

s203、在簽名認(rèn)證成功后,對所述簽名區(qū)塊進(jìn)行工作量證明驗(yàn)證。

s204、根據(jù)工作量證明驗(yàn)證結(jié)果確定是否將所述簽名區(qū)塊添加到區(qū)塊鏈。

具體地,簽名區(qū)塊的生成可以參照圖1所示的方法,此處不再贅述。

值得說明的是,區(qū)塊鏈網(wǎng)絡(luò)中的每一節(jié)點(diǎn)設(shè)備既能夠?qū)ζ渌?jié)點(diǎn)設(shè)備發(fā)布的簽名區(qū)塊進(jìn)行簽名驗(yàn)證,還可以計(jì)算生成區(qū)塊。也就是說,同一區(qū)塊生成裝置,既可以應(yīng)用圖1所示的區(qū)塊生成方法,又可以應(yīng)用圖2所示的區(qū)塊生成方法。

圖3是本發(fā)明實(shí)施例的一種實(shí)施環(huán)境示意圖,如圖所示,該實(shí)施環(huán)境包括第一節(jié)點(diǎn)設(shè)備31和第二節(jié)點(diǎn)設(shè)備32,其中,第一節(jié)點(diǎn)設(shè)備31和第二節(jié)點(diǎn)設(shè)備32是區(qū)塊鏈網(wǎng)絡(luò)中的任意兩個節(jié)點(diǎn)設(shè)備。第一節(jié)點(diǎn)設(shè)備31包括區(qū)塊生成裝置311,第二節(jié)點(diǎn)設(shè)備32包括區(qū)塊生成裝置321。

為了使本領(lǐng)域技術(shù)人員更容易理解本發(fā)明實(shí)施例提供的技術(shù)方案,下面結(jié)合圖3,對本發(fā)明實(shí)施例提供的一種區(qū)塊生成方法進(jìn)行詳細(xì)說明,如圖4所示,包括:

s401、第一節(jié)點(diǎn)設(shè)備31從區(qū)塊鏈網(wǎng)絡(luò)中獲取至少一筆交易數(shù)據(jù)。

s402、第一節(jié)點(diǎn)設(shè)備31根據(jù)所述交易數(shù)據(jù)生成區(qū)塊數(shù)據(jù)。

其中,所述區(qū)塊數(shù)據(jù)包括所述至少一筆交易數(shù)據(jù)。

s403、第一節(jié)點(diǎn)設(shè)備31的區(qū)塊生成裝置311根據(jù)所述區(qū)塊數(shù)據(jù)生成區(qū)塊。

值得說明的是,除了上述介紹的pow區(qū)塊產(chǎn)生機(jī)制,本發(fā)明還可以基于其他區(qū)塊產(chǎn)生機(jī)制產(chǎn)生區(qū)塊,例如,pos(proofofstake,權(quán)益證明),本發(fā)明對此不做限定。為了方面描述,本發(fā)明實(shí)施例采用pow區(qū)塊產(chǎn)生機(jī)制進(jìn)行舉例說明。

s404、第一節(jié)點(diǎn)設(shè)備31的區(qū)塊生成裝置311利用自身的私鑰對所述區(qū)塊進(jìn)行簽名,得到簽名區(qū)塊。

s405、第一節(jié)點(diǎn)設(shè)備31將所述簽名區(qū)塊廣播到第二節(jié)點(diǎn)設(shè)備32。

s406、第二節(jié)點(diǎn)設(shè)備32接收所述簽名區(qū)塊。

s407、第二節(jié)點(diǎn)設(shè)備32的區(qū)塊生成裝置321利用公鑰信息對所述簽名區(qū)塊進(jìn)行簽名驗(yàn)證。

進(jìn)一步地,若簽名驗(yàn)證成功,則執(zhí)行步驟s408,若否,則第二節(jié)點(diǎn)設(shè)備可以丟棄所述簽名區(qū)塊,不再繼續(xù)處理。

s408、第二節(jié)點(diǎn)設(shè)備32的區(qū)塊生成裝置321對簽名區(qū)塊進(jìn)行工作量證明驗(yàn)證。

進(jìn)一步地,若工作量證明驗(yàn)證成功,則執(zhí)行步驟s409,若否,則第二節(jié)點(diǎn)設(shè)備可以丟棄所述簽名區(qū)塊,拒絕將其寫入?yún)^(qū)塊鏈。

s409、第二節(jié)點(diǎn)設(shè)備32的區(qū)塊生成裝置321將所述簽名區(qū)塊添加到當(dāng)前區(qū)塊鏈。

值得說明的是,上述過程中,第二節(jié)點(diǎn)設(shè)備32的區(qū)塊生成裝置321也可以生成簽名區(qū)塊,并通過第二節(jié)點(diǎn)設(shè)備32將簽名區(qū)塊廣播到第一節(jié)點(diǎn)設(shè)備31,第一節(jié)點(diǎn)設(shè)備31的區(qū)塊生成裝置321可以對第一節(jié)點(diǎn)設(shè)備31接收到的簽名區(qū)塊進(jìn)行簽名驗(yàn)證以及后續(xù)的工作量證明驗(yàn)證,具體參照上述方法步驟,此處不再贅述。

上述只是舉例說明,圖3所示的區(qū)塊生成裝置均屬于節(jié)點(diǎn)設(shè)備的一部分,可替換地,區(qū)塊生成裝置也可以作為獨(dú)立的裝置與節(jié)點(diǎn)設(shè)備通信連接,在此種情況下,圖4示出的上述方法步驟中,涉及到區(qū)塊生成裝置與節(jié)點(diǎn)設(shè)備之間的交互均可以通過通信接口實(shí)現(xiàn)。本發(fā)明對此不做限定。

另外,對于上述方法實(shí)施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動作并不一定是本發(fā)明所必須的,例如,區(qū)塊生成裝置在未獲取到交易數(shù)據(jù)的情況下,也可以產(chǎn)生區(qū)塊。

本發(fā)明實(shí)施例還提供一種區(qū)塊生成裝置50,用于實(shí)施圖1提供的一種區(qū)塊生成方法,所述區(qū)塊生成裝置50內(nèi)置私鑰信息,如圖5a所示,該區(qū)塊生成裝置50包括:

簽名模塊501,用于根據(jù)所述私鑰信息對所述區(qū)塊生成裝置生成的區(qū)塊進(jìn)行簽名,得到簽名區(qū)塊;

發(fā)布模塊502,用于通過區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點(diǎn)設(shè)備將所述簽名區(qū)塊發(fā)布到其他節(jié)點(diǎn)設(shè)備。

采用上述區(qū)塊生成裝置,該區(qū)塊生成裝置生成區(qū)塊后,對區(qū)塊進(jìn)行私鑰簽名,并通過區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點(diǎn)設(shè)備將經(jīng)過私鑰簽名后得到的簽名區(qū)塊發(fā)布到其他節(jié)點(diǎn)設(shè)備。這樣,其他節(jié)點(diǎn)設(shè)備可以通過對簽名區(qū)塊的簽名認(rèn)證驗(yàn)證該區(qū)塊生成裝置的身份。從而對于非法的區(qū)塊生成裝置,區(qū)塊鏈網(wǎng)絡(luò)可以拒絕在區(qū)塊鏈中添加其生成的區(qū)塊,保證了區(qū)塊鏈的安全性。

可選地,如圖5b所示,該區(qū)塊生成裝置50還包括:

獲取模塊503,用于通過所述第一節(jié)點(diǎn)設(shè)備獲取所述區(qū)塊鏈網(wǎng)絡(luò)中的第二節(jié)點(diǎn)設(shè)備發(fā)布的簽名區(qū)塊;簽名認(rèn)證模塊504,用于根據(jù)公鑰信息對所述第二節(jié)點(diǎn)設(shè)備發(fā)布的簽名區(qū)塊進(jìn)行簽名認(rèn)證;工作量證明模塊505,用于在簽名認(rèn)證成功后,對獲取到的所述簽名區(qū)塊進(jìn)行工作量證明驗(yàn)證;區(qū)塊添加模塊506,用于根據(jù)工作量證明驗(yàn)證結(jié)果確定是否將所述簽名區(qū)塊添加到區(qū)塊鏈。

也就是說,區(qū)塊生成裝置50在接收到某一節(jié)點(diǎn)設(shè)備發(fā)布的簽名區(qū)塊后,采用相應(yīng)的公鑰進(jìn)行簽名認(rèn)證,若簽名認(rèn)證成功,則表明發(fā)布的簽名區(qū)塊合法,即表明生成該簽名區(qū)塊的區(qū)塊生成裝置具備向區(qū)塊鏈中添加新區(qū)塊的權(quán)利,可進(jìn)一步對區(qū)塊進(jìn)行工作量證明驗(yàn)證,以及驗(yàn)證區(qū)塊是否符合協(xié)議定義的格式和標(biāo)準(zhǔn)。若對簽名區(qū)塊簽名認(rèn)證設(shè)備,則拒絕在區(qū)塊鏈中添加該區(qū)塊,保證了區(qū)塊鏈的安全性。

可選地,如圖5b所示,該區(qū)塊生成裝置50還包括:確定模塊507,用于在所述簽名模塊根據(jù)私鑰對所述區(qū)塊生成裝置生成的區(qū)塊進(jìn)行簽名之前,通過所述第一節(jié)點(diǎn)設(shè)備確定所述區(qū)塊生成裝置最近一次生成的區(qū)塊與當(dāng)前區(qū)塊鏈中的最新區(qū)塊之間相差的區(qū)塊數(shù);確定所述區(qū)塊數(shù)不小于預(yù)設(shè)閾值m,其中,m為大于或等于1,且小于n的正整數(shù),n是所述區(qū)塊鏈網(wǎng)絡(luò)中所有節(jié)點(diǎn)設(shè)備的數(shù)目。

值的說明的是,圖5只是舉例說明,在具體實(shí)施時,區(qū)塊生成裝置還可以包括其他部件,圖中未一一示出,例如存儲器,用于存儲相關(guān)密鑰信息。或者區(qū)塊生成裝置還可以采用高安全性密碼芯片,其密鑰的產(chǎn)生,加解密、簽名驗(yàn)簽等計(jì)算過程均在密碼芯片內(nèi)完成,確保簽名私鑰不離開密碼芯片,從而實(shí)現(xiàn)對密鑰的高強(qiáng)度保護(hù)。

所屬本領(lǐng)域的技術(shù)人員應(yīng)該清楚地了解到,為描述的方便和簡潔,上述描述的區(qū)塊生成裝置的各模塊的具體工作過程,可以參考前述方法實(shí)施例中對應(yīng)的過程,此處不再贅述。

另外,上述對區(qū)塊生成裝置組成模塊進(jìn)行的劃分,僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時可以有另外的劃分方式。并且,各個模塊的物理實(shí)現(xiàn)也可以有多種方式,本發(fā)明對此不做限定。

本發(fā)明實(shí)施例還提供另一種區(qū)塊生成裝置60,用于實(shí)施圖2提供的一種區(qū)塊生成方法,如圖6所示,該區(qū)塊生成裝置60包括:

獲取模塊601,用于通過第二節(jié)點(diǎn)設(shè)備獲取所述區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點(diǎn)設(shè)備發(fā)布的簽名區(qū)塊;

簽名認(rèn)證模塊602,用于利用公鑰信息對所述簽名區(qū)塊進(jìn)行簽名認(rèn)證;

工作量證明模塊603,用于在簽名認(rèn)證通過后,對所述簽名區(qū)塊進(jìn)行工作量證明驗(yàn)證;

區(qū)塊添加模塊604,用于根據(jù)工作量證明驗(yàn)證結(jié)果確定是否將解密后得到的所述區(qū)塊添加到區(qū)塊鏈。

所屬本領(lǐng)域的技術(shù)人員應(yīng)該清楚地了解到,為描述的方便和簡潔,上述描述的區(qū)塊生成裝置的各單元的具體工作過程,可以參考前述方法實(shí)施例中對應(yīng)的過程,此處不再贅述。

另外,上述對區(qū)塊生成裝置組成模塊進(jìn)行的劃分,僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時可以有另外的劃分方式。并且,各個模塊的物理實(shí)現(xiàn)也可以有多種方式,本發(fā)明對此不做限定。

本發(fā)明實(shí)施例還提供一種區(qū)塊生成裝置70,如圖7a所示,該區(qū)塊生成裝置70包括:

至少一個處理器單元(如圖7示出的處理器單元701)、通信接口702、存儲器703和通信總線704;所述至少一個處理器單元、所述通信接口702和所述存儲器703通過所述通信總線704完成相互間的通信;

所述存儲器703被配置為存儲程序代碼;所述程序代碼包括計(jì)算機(jī)操作指令和網(wǎng)絡(luò)流圖。所述存儲器703可能攜帶高速ram(randomaccessmemory,隨機(jī)存取存儲器),也可能還包括非易失性存儲器(non-volatilememory),例如至少一個磁盤存儲器。

所述至少一個處理器單元被配置為運(yùn)行所述程序代碼以實(shí)現(xiàn)如下操作:

根據(jù)所述區(qū)塊生成裝置內(nèi)置的私鑰信息對所述區(qū)塊生成裝置生成的區(qū)塊進(jìn)行簽名,得到簽名區(qū)塊;

通過區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點(diǎn)設(shè)備將所述簽名區(qū)塊發(fā)布到其他節(jié)點(diǎn)設(shè)備。

可選地,如圖7b所示,所述至少一個處理器單元包括主處理器單元7011和哈希處理器單元7012;所述主處理器單元被配置為,根據(jù)所述哈希處理器單元中內(nèi)置的特定哈希算法進(jìn)行哈希計(jì)算,得到所述區(qū)塊。這樣,所述主處理器單元還用于,通過所述第一節(jié)點(diǎn)設(shè)備獲取交易數(shù)據(jù),所述哈希處理器單元計(jì)算得到的區(qū)塊中包括所述交易數(shù)據(jù)。

其中,區(qū)塊生成裝置內(nèi)置的哈希處理器單元7012可以對哈希算法本身進(jìn)行保護(hù),不易被他人獲取。另外,采用專門的處理器單元負(fù)責(zé)哈希運(yùn)算可以實(shí)現(xiàn)對節(jié)點(diǎn)設(shè)備的算力進(jìn)行限制。避免單個節(jié)點(diǎn)或者少數(shù)節(jié)點(diǎn)一起具有超越閾值得計(jì)算能力,進(jìn)而避免了“51%攻擊”的形成,提升了區(qū)塊鏈的安全性。

可選地,如圖7b所示,所述至少一個處理器單元還密鑰處理器單元7013,所述主處理器單元7011被配置為,根據(jù)所述密鑰處理器單元中的私鑰對所述區(qū)塊進(jìn)行簽名,得到所述簽名區(qū)塊。也就是說,利用硬件對簽名密鑰進(jìn)行保護(hù),如采用高安全性密碼芯片,其密鑰的產(chǎn)生,加解密、簽名驗(yàn)簽等計(jì)算過程均在密碼芯片內(nèi)完成,確保簽名私鑰不離開密碼芯片,從而實(shí)現(xiàn)對簽名密鑰的高強(qiáng)度保護(hù)。

本發(fā)明實(shí)施例還提供另一種區(qū)塊生成裝置80,如圖8所示,所述區(qū)塊生成裝置80包括:

至少一個處理器單元(如圖8示出的處理器單元801)、通信接口802、存儲器803和通信總線804;所述至少一個處理器單元、所述通信接口802和所述存儲器803通過所述通信總線804完成相互間的通信;

所述存儲器803被配置為存儲程序代碼;

所述至少一個處理器單元被配置為運(yùn)行所述程序代碼以實(shí)現(xiàn)如下操作:

通過第二節(jié)點(diǎn)設(shè)備獲取所述區(qū)塊鏈網(wǎng)絡(luò)中的第一節(jié)點(diǎn)設(shè)備發(fā)布的簽名區(qū)塊;

根據(jù)公鑰信息對所述簽名區(qū)塊進(jìn)行簽名認(rèn)證;

在簽名認(rèn)證成功后,對所述簽名區(qū)塊進(jìn)行工作量證明驗(yàn)證;

根據(jù)工作量證明驗(yàn)證結(jié)果確定是否將所述簽名區(qū)塊添加到區(qū)塊鏈。

本發(fā)明實(shí)施例還提供一種區(qū)塊鏈網(wǎng)絡(luò)90,所述區(qū)塊鏈網(wǎng)絡(luò)包括至少兩個節(jié)點(diǎn)設(shè)備。如圖9所示,所述至少兩個節(jié)點(diǎn)設(shè)備包括第一節(jié)點(diǎn)設(shè)備901,所述第一節(jié)點(diǎn)設(shè)備901包括圖7a或圖7b所示的區(qū)塊生成裝置70。具體參照上述對應(yīng)圖7a或圖7b的描述,此處不再贅述。可替換地,所述第一節(jié)點(diǎn)設(shè)備901包括圖5a或圖5b所示的區(qū)塊生成裝置50。具體參照上述對應(yīng)圖5a或圖5b的描述,此處不再贅述。

所述至少兩個節(jié)點(diǎn)設(shè)備包括第二節(jié)點(diǎn)設(shè)備902,所述第二節(jié)點(diǎn)設(shè)備包括圖8所示的區(qū)塊生成裝置80。具體參照上述對應(yīng)圖8的描述,此處不再贅述??商鎿Q地,所述第二節(jié)點(diǎn)設(shè)備902包括圖6所示的區(qū)塊生成裝置60。具體參照上述對應(yīng)圖6的描述,此處不再贅述。

這樣,基于公私鑰的權(quán)限控制,利用算力一致的區(qū)塊生成裝置組成區(qū)塊鏈網(wǎng)絡(luò),例如,區(qū)塊鏈私鏈。由于各個區(qū)塊生成裝置生成區(qū)塊的幾率大體一致,從而增加了“51%攻擊”條件達(dá)成的難度,進(jìn)而提升了區(qū)塊鏈的安全性。

在本申請所提供的幾個實(shí)施例中,應(yīng)該理解到,所公開的網(wǎng)絡(luò),裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,多個模塊可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。

另外,在本發(fā)明各個實(shí)施例中的各功能模塊可以集成在一個處理單元中,也可以是各個模塊單獨(dú)物理存在,也可以兩個或兩個以上模塊集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用硬件加軟件功能單元的形式實(shí)現(xiàn)。

上述以軟件功能單元的形式實(shí)現(xiàn)的集成的單元,可以存儲在一個計(jì)算機(jī)可讀取存儲介質(zhì)中。上述軟件功能單元存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實(shí)施例所述方法的部分步驟。而前述的存儲介質(zhì)包括:u盤、移動硬盤、ram、磁碟或者光盤等各種可以存儲數(shù)據(jù)的介質(zhì)。

以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。

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