基于區(qū)塊鏈技術(shù)的存在證明及認(rèn)證服務(wù)方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提出基于區(qū)塊鏈技術(shù)的存在證明及認(rèn)證服務(wù)方法,該方法包括在公有區(qū)塊鏈中為每個用戶設(shè)置至少一對公/私鑰,對數(shù)字化物品進(jìn)行哈希運(yùn)算,生成哈希值,使用所述私鑰對所述哈希值進(jìn)行簽名,將所述簽名進(jìn)行哈希運(yùn)算,生成新哈希值,將所述新哈希值嵌入所述標(biāo)準(zhǔn)消息中,生成新標(biāo)準(zhǔn)消息;在用戶向所述公有區(qū)塊鏈廣播新標(biāo)準(zhǔn)消息之前,將新標(biāo)準(zhǔn)消息的發(fā)送者設(shè)為用戶自己的地址,廣播所述新標(biāo)準(zhǔn)消息,若新標(biāo)準(zhǔn)消息被用戶打包且新標(biāo)準(zhǔn)消息被確認(rèn),返回新標(biāo)準(zhǔn)消息的哈希值,如果新標(biāo)準(zhǔn)消息所在的區(qū)塊被確認(rèn),返回所述區(qū)塊的哈希值;如果未存在用戶打包新標(biāo)準(zhǔn)消息,且過了新標(biāo)準(zhǔn)消息存在的合法時間,標(biāo)記新標(biāo)準(zhǔn)消息為無效,重新構(gòu)造新標(biāo)準(zhǔn)消息。
【專利說明】
基于區(qū)塊鏈技術(shù)的存在證明及認(rèn)證服務(wù)方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及存在證明與認(rèn)證服務(wù)領(lǐng)域,特別涉及基于區(qū)塊鏈技術(shù)的存在證明及認(rèn)證服務(wù)方法及系統(tǒng)。
【背景技術(shù)】
[0002]近百年來,如何證明某件物品(如音樂,學(xué)歷,文檔等)的存在時間、合法性以及所有者的歸屬一直是社會學(xué)問題中的研究熱點,隨著信息時代的到來,物品(如音樂,學(xué)歷,文檔)越來越多的被數(shù)字化,極大的方便了其傳播,與此同時許多問題暴露了出來,如何證明一份文檔、一首音樂作品的完整性、合法性以及產(chǎn)生的時間,來保護(hù)當(dāng)事人的合法權(quán)益不被侵害,因此產(chǎn)生了數(shù)字簽名、時間戳服務(wù)等方法,這些方法無一例外的需要第三方可信機(jī)構(gòu)的認(rèn)證參與,如果第三方可信認(rèn)證機(jī)構(gòu)被黑客攻擊,或者第三方機(jī)構(gòu)主動的篡改行為都將使當(dāng)事人的合法權(quán)益受到侵害,在2008年,伴隨于比特幣出現(xiàn)的區(qū)塊鏈技術(shù)第一次從數(shù)學(xué)、密碼學(xué)角度實現(xiàn)了去中心化的服務(wù),無需第三方機(jī)構(gòu)(中央銀行)的參與,可靠安全的實現(xiàn)了貨幣的產(chǎn)生、交易,由于人們對第三方機(jī)構(gòu)的不信任,導(dǎo)致對去中心的服務(wù)需求越來越多,但是現(xiàn)下還沒有出現(xiàn)能提供去中心化的物品存在證明以及認(rèn)證的服務(wù)。
【發(fā)明內(nèi)容】
[0003]針對現(xiàn)有技術(shù)的不足,本發(fā)明提出基于區(qū)塊鏈技術(shù)的存在證明及認(rèn)證服務(wù)方法及系統(tǒng)。
[0004]本發(fā)明提出一種基于區(qū)塊鏈技術(shù)的存在證明及認(rèn)證服務(wù)方法,所述區(qū)塊鏈為公有區(qū)塊鏈,包括:
[0005]步驟I,在公有區(qū)塊鏈中為每個用戶設(shè)置至少一對公/私鑰,將用戶的數(shù)字化物品通過哈希函數(shù)進(jìn)行哈希運(yùn)算,生成哈希值,使用所述私鑰對所述哈希值進(jìn)行簽名,將所述簽名進(jìn)行哈希運(yùn)算,生成新哈希值,根據(jù)所述公有區(qū)塊鏈中標(biāo)準(zhǔn)消息的格式,將所述新哈希值嵌入所述標(biāo)準(zhǔn)消息中,生成新標(biāo)準(zhǔn)消息,在所述新標(biāo)準(zhǔn)消息中加入代幣;
[0006]步驟2,在用戶向所述公有區(qū)塊鏈廣播所述新標(biāo)準(zhǔn)消息之前,將所述新標(biāo)準(zhǔn)消息的發(fā)送者設(shè)為用戶自己的地址,廣播所述新標(biāo)準(zhǔn)消息,若所述新標(biāo)準(zhǔn)消息被用戶打包且所述新標(biāo)準(zhǔn)消息被確認(rèn),則返回所述新標(biāo)準(zhǔn)消息的哈希值,如果所述新標(biāo)準(zhǔn)消息所在的區(qū)塊被確認(rèn),返回所述區(qū)塊的哈希值;如果未存在用戶打包所述新標(biāo)準(zhǔn)消息,且過了所述新標(biāo)準(zhǔn)消息存在的合法時間,標(biāo)記所述新標(biāo)準(zhǔn)消息為無效,重新構(gòu)造所述新標(biāo)準(zhǔn)消息,增加所述代幣,以便被參與所述公有區(qū)塊鏈打包的用戶打包確認(rèn)。
[0007]所述步驟I中的所述哈希函數(shù)滿足:
[0008]給定一個哈希值h,找不到一個消息m使得hash(m) =h;
[0009]給定一個消息m,找不到一個消息η使得hash(m) =hash(n)。
[0010]所述代幣為在所述公有區(qū)塊鏈上產(chǎn)生、流通的貨幣。
[0011]所述步驟2中將用戶的公鑰進(jìn)行編碼產(chǎn)生所述地址。
[0012]所述步驟2還包括若只為所述數(shù)字化物品的存在時間證明以及認(rèn)證服務(wù),則將接收者設(shè)定為無效地址;若允許轉(zhuǎn)移所述數(shù)字化物品,則將接收者設(shè)定為所述地址或者其它用戶的地址。
[0013]本發(fā)明還提出一種基于區(qū)塊鏈技術(shù)的存在證明及認(rèn)證服務(wù)系統(tǒng),所述區(qū)塊鏈為公有區(qū)塊鏈,包括:
[0014]生成標(biāo)準(zhǔn)消息模塊,用于在公有區(qū)塊鏈中為每個用戶設(shè)置至少一對公/私鑰,作為所述公有區(qū)塊鏈的標(biāo)識,將用戶的數(shù)字化物品通過哈希函數(shù)進(jìn)行哈希運(yùn)算,生成哈希值,根據(jù)所述公有區(qū)塊鏈中標(biāo)準(zhǔn)消息的格式,將所述哈希值嵌入所述標(biāo)準(zhǔn)消息中,生成新標(biāo)準(zhǔn)消息,在所述新標(biāo)準(zhǔn)消息中加入代幣;
[0015]廣播模塊,用于在用戶向所述公有區(qū)塊鏈廣播所述新標(biāo)準(zhǔn)消息之前,將所述新標(biāo)準(zhǔn)消息的發(fā)送者設(shè)為用戶自己的地址,廣播所述新標(biāo)準(zhǔn)消息,若所述新標(biāo)準(zhǔn)消息被用戶打包且所述新標(biāo)準(zhǔn)消息被確認(rèn),則返回所述新標(biāo)準(zhǔn)消息的哈希值,如果所述新標(biāo)準(zhǔn)消息所在的區(qū)塊被確認(rèn),返回所述區(qū)塊的哈希值;如果未存在用戶打包所述新標(biāo)準(zhǔn)消息,且過了所述新標(biāo)準(zhǔn)消息存在的合法時間,標(biāo)記所述新標(biāo)準(zhǔn)消息為無效,重新構(gòu)造所述新標(biāo)準(zhǔn)消息,增加所述代幣,以便被參與所述公有區(qū)塊鏈打包的用戶打包確認(rèn)。
[0016]所述生成標(biāo)準(zhǔn)消息模塊中的所述哈希函數(shù)滿足:
[0017]給定一個哈希值h,找不到一個消息m使得hash(m) =h;
[0018]給定一個消息m,找不到一個消息η使得hash(m) =hash(n)。
[0019]所述代幣為在所述公有區(qū)塊鏈上產(chǎn)生、流通的貨幣。
[0020]所述廣播模塊中將用戶的公鑰進(jìn)行編碼產(chǎn)生所述地址。
[0021]所述廣播模塊還包括若只為所述數(shù)字化物品的存在時間證明以及認(rèn)證服務(wù),則將接收者設(shè)定為無效地址;若允許轉(zhuǎn)移所述數(shù)字化物品,則將接收者設(shè)定為所述地址或者其它用戶的地址。
[0022]由以上方案可知,本發(fā)明的優(yōu)點在于:
[0023]本發(fā)明通過將數(shù)字化后的物品的哈希值放入到一條公有的區(qū)塊鏈中,實現(xiàn)不可篡改,保證該物品在區(qū)塊生成的時間戳之前存在,以及認(rèn)證該物品的所有者等特性,整個過程無需第三方的參與,基于區(qū)塊鏈技術(shù)的安全性、可認(rèn)證性,從技術(shù)角度實現(xiàn)了去中心化的服務(wù)。
【附圖說明】
[0024]圖1為一次數(shù)字化物品記錄于區(qū)塊鏈中的流程圖;
[0025]圖2為本發(fā)明系統(tǒng)結(jié)構(gòu)圖。
【具體實施方式】
[0026]區(qū)塊鏈分公有鏈、私有鏈、聯(lián)盟鏈三種,所謂公有鏈,意味著每一個人都可以參與區(qū)塊鏈的產(chǎn)生,并且可以查看區(qū)塊鏈中包含的信息,比特幣所依附的區(qū)塊鏈就是公有鏈的一種;私有鏈則是某一企業(yè)內(nèi)部使用的區(qū)塊鏈,不對外開放;聯(lián)盟鏈服務(wù)于同一個聯(lián)盟的企業(yè),屬于同一聯(lián)盟的企業(yè)共享區(qū)塊鏈,不難看出,公有鏈?zhǔn)亲畲蠡貙崿F(xiàn)了去中心化特性的區(qū)塊鏈技術(shù),聯(lián)盟鏈次之,私有鏈最弱。
[0027]由于公有區(qū)塊鏈的公開性,人人都可以參與,真正與去中心化的理念相符合,因此本發(fā)明建立于公有的區(qū)塊鏈基礎(chǔ)之上,當(dāng)下比較流行的區(qū)塊產(chǎn)生方式為POW(工作量證明)和POS(權(quán)益證明)兩種,POW最大限度地保證了區(qū)塊鏈產(chǎn)生的公平性,通過消耗計算機(jī)的計算能力來產(chǎn)生區(qū)塊,缺點就是造成了計算資源以及電力資源的浪費(fèi);POS雖然緩解了計算資源和電力資源的浪費(fèi),但是卻某種程度上提高了人人參與區(qū)塊打包的門檻,降低了區(qū)塊鏈產(chǎn)生的公平性,其中構(gòu)建于區(qū)塊鏈技術(shù)之上最流行的應(yīng)用比特幣網(wǎng)絡(luò)采取的正是P0W,區(qū)塊一旦產(chǎn)生且被全網(wǎng)參與人認(rèn)同,就很難被篡改,如果在當(dāng)前區(qū)塊之后已經(jīng)鏈接了 N個區(qū)塊,那么我們認(rèn)為,該區(qū)塊的內(nèi)容一定不會被篡改。
[0028]本發(fā)明是構(gòu)建于區(qū)塊鏈技術(shù)基礎(chǔ)之上的存在證明及認(rèn)證服務(wù)的一種實現(xiàn)方法,每個用戶在該區(qū)塊鏈中都擁有不少于一對的公私鑰,作為在該區(qū)塊鏈上獨一無二的標(biāo)識,將數(shù)字化的物品的哈希值嵌入到能在該公有區(qū)塊鏈上流通的標(biāo)準(zhǔn)消息格式中,然后廣播該消息到全網(wǎng)中,等待參與該區(qū)塊鏈打包的用戶確認(rèn)該消息的正確性,一旦消息被確認(rèn)正確,則打包該消息即將該消息放入到區(qū)塊中,一個區(qū)塊可包含多個消息,一旦該消息被打包到某一區(qū)塊,且該區(qū)塊被參與該區(qū)塊鏈的所有用戶確認(rèn),區(qū)塊的確認(rèn)需要滿足一定的規(guī)則,例如在比特幣系統(tǒng)中,當(dāng)根據(jù)區(qū)塊頭的信息計算出的哈希值小于其目標(biāo)值時,我們就可以認(rèn)為該區(qū)塊被確認(rèn)。我們可以基本認(rèn)為該消息一經(jīng)確認(rèn)不可被篡改,在該區(qū)塊之后如果又經(jīng)歷N個區(qū)塊的確認(rèn),我們一定認(rèn)為,該消息不可被篡改,且該物品的產(chǎn)生時間不會比該區(qū)塊中的時間戳更晚,例如比特幣交易所在的區(qū)塊,一旦在該交易所在的區(qū)塊被確認(rèn),且該區(qū)塊之后又產(chǎn)生并鏈接了 6個區(qū)塊,則在攻擊者有10%的機(jī)會產(chǎn)生下一區(qū)塊的場景下,可以達(dá)到攻擊目的的概率只有0.02428%,而且隨著區(qū)塊鏈的長度增大,攻擊者的概率是呈指數(shù)下降的。
[0029]本發(fā)明是構(gòu)建于區(qū)塊鏈技術(shù)基礎(chǔ)之上的存在證明及認(rèn)證服務(wù)一種實現(xiàn)方法,其實現(xiàn)方法如下:
[0030]A用戶希望將自己的數(shù)字化的物品(如音樂,學(xué)歷,專利等)存放在公有區(qū)塊鏈中,來證明該物品屬于A用戶自己,且在該區(qū)塊的時間戳之前已經(jīng)存在。
[0031]首先,將數(shù)字化后的物品進(jìn)行一次哈希運(yùn)算,得到獨一無二的哈希值,所使用的哈希函數(shù)必須包括以下兩個特性:1、給定一個哈希值h,找到一個消息m使得hash(m) =h是極其困難的;2、給定一個消息m,找到一個消息η使得hash (m) = hash (η)是及其困難的,該哈希函數(shù)可以選擇被廣泛使用的SHA256函數(shù)。
[0032]接著,對生成的哈希值使用A用戶的私鑰進(jìn)行簽名,然后將得到的簽名再次進(jìn)行哈希,得到哈希值。這樣做的目的是只有A用戶的公鑰可以驗證該簽名的準(zhǔn)確性,從而證明該物品的所有者是A用戶;使用哈希值的目的是,保證我們要保護(hù)的物品不會明文出現(xiàn)在公有區(qū)塊鏈上而被他人讀取,而且該物品一旦被篡改,它的哈希值就會變得跟原來哈希值完全不一樣。
[0033]其次,根據(jù)該公有區(qū)塊鏈的標(biāo)準(zhǔn)消息的格式,將上步得到的哈希值嵌入到標(biāo)準(zhǔn)消息中中;在此過程中要保證該消息的合法性即不能違背標(biāo)準(zhǔn)消息格式,也要保證該交易的有效性即參與該公有區(qū)塊鏈的用戶愿意打包該交易,所以我們可以在該消息中加入一定的代幣(在此區(qū)塊鏈上產(chǎn)生、流通的貨幣),作為獎勵給打包該交易的用戶,例如,在已經(jīng)成熟的比特幣網(wǎng)絡(luò)中,有一種標(biāo)準(zhǔn)的交易格式,該交易消息的輸出部分操作碼是0P_RETURN,意味著該輸出是不可作為比特幣交易的輸入而被使用的,即不可被花費(fèi),將哈希值嵌入到0P_RETURN后,此時該筆交易的輸入的值應(yīng)該是大于輸出的值,差值作為打包該筆交易的礦工的獎勵,若該交易沒有成功被打包且過了存在的有效時間,則重新構(gòu)造該交易消息,加大該交易輸入與輸出的差值,即給礦工的費(fèi)用,來得到更大的被打包到區(qū)塊的機(jī)會。
[0034]然后在A用戶向公有區(qū)塊鏈廣播該消息之前,將該消息的發(fā)送者設(shè)定為A用戶自己的地址,該地址是由A用戶的公鑰進(jìn)行一定合理的編碼產(chǎn)生。如若只是為了該物品的存在時間證明以及認(rèn)證服務(wù),則將接收者設(shè)定為無效地址(這樣可以保證無法被轉(zhuǎn)移);如若還允許該物品的轉(zhuǎn)移,則將接收者設(shè)定為A用戶自己的地址或者其它用戶的地址。
[0035]最后廣播該消息,等待參與該區(qū)塊鏈的用戶進(jìn)行打包,如果該消息被確認(rèn),則返回該消息的哈希值,如果該消息所在的區(qū)塊被確認(rèn),返回該區(qū)塊的哈希值;如果沒有用戶愿意打包該消息,且過了該消息存在的合法時間,標(biāo)記該消息無效,重新構(gòu)造該消息,加大獎勵,以便被參與區(qū)塊鏈打包的用戶打包確認(rèn)。
[0036]以下為本發(fā)明的具體實施例,如下所示:
[0037]圖1中,一次數(shù)字化物品存在時間證明以及認(rèn)證的步驟如下:
[0038]步驟S1.1:A用戶希望進(jìn)行存在證明及認(rèn)證服務(wù)的數(shù)字化物品;
[0039]步驟S1.2:使用哈希函數(shù)對該數(shù)字化物品進(jìn)行哈希運(yùn)算,得到哈希值;
[0040]步驟S1.3:使用A用戶的私鑰對S1.2中得到的哈希值進(jìn)行簽名;
[0041]步驟S1.4:使用哈希函數(shù)對S1.3中的簽名進(jìn)行哈希運(yùn)算,得到哈希值;
[0042]步驟S1.5:將S1.4得到的哈希值嵌入到消息中;
[0043]步驟S1.6:判斷用戶是否允許該數(shù)字化物品轉(zhuǎn)移,允許進(jìn)入S1.7,不允許進(jìn)入S1.8;
[0044]步驟S1.7:將消息發(fā)送者設(shè)為A用戶地址,接收者設(shè)為A用戶的地址或者其它用戶的地址;
[0045]步驟S1.8:將消息發(fā)送者設(shè)為A用戶地址,接收者設(shè)為無效地址;
[0046]步驟S1.9:判斷構(gòu)造好的消息是否合法,合法進(jìn)入S1.10,不合法進(jìn)入S1.5;
[0047]步驟S1.10:向全網(wǎng)廣播該消息;
[0048]步驟S1.11:該消息是否被參與區(qū)塊鏈打包的用戶打包,并且打包該消息的區(qū)塊是否被確認(rèn),被確認(rèn)進(jìn)入S1.12,未被確認(rèn)進(jìn)入S1.13;
[0049]步驟S1.12:得到該消息以及包含該消息的區(qū)塊的哈希值,作為憑證,基于區(qū)塊鏈技術(shù)的數(shù)字化物品存在證明及認(rèn)證服務(wù)的過程結(jié)束;
[0050]步驟S1.13:判斷該消息是否超過合法的存在時間,超過進(jìn)入S1.5,沒有進(jìn)入S1.14;
[0051]步驟S1.14:等待至超時,進(jìn)入S1.5。
[0052]如圖2所示,本發(fā)明還包括一種基于區(qū)塊鏈技術(shù)的存在證明及認(rèn)證服務(wù)系統(tǒng),所述區(qū)塊鏈為公有區(qū)塊鏈,包括:
[0053]生成標(biāo)準(zhǔn)消息模塊,用于在公有區(qū)塊鏈中為每個用戶設(shè)置至少一對公/私鑰,作為所述公有區(qū)塊鏈的標(biāo)識,將用戶的數(shù)字化物品通過哈希函數(shù)進(jìn)行哈希運(yùn)算,生成哈希值,根據(jù)所述公有區(qū)塊鏈中標(biāo)準(zhǔn)消息的格式,將所述哈希值嵌入所述標(biāo)準(zhǔn)消息中,生成新標(biāo)準(zhǔn)消息,在所述新標(biāo)準(zhǔn)消息中加入代幣;
[0054]廣播模塊,用于在用戶向所述公有區(qū)塊鏈廣播所述新標(biāo)準(zhǔn)消息之前,將所述新標(biāo)準(zhǔn)消息的發(fā)送者設(shè)為用戶自己的地址,廣播所述新標(biāo)準(zhǔn)消息,若所述新標(biāo)準(zhǔn)消息被用戶打包且所述新標(biāo)準(zhǔn)消息被確認(rèn),則返回所述新標(biāo)準(zhǔn)消息的哈希值,如果所述新標(biāo)準(zhǔn)消息所在的區(qū)塊被確認(rèn),返回所述區(qū)塊的哈希值;如果未存在用戶打包所述新標(biāo)準(zhǔn)消息,且過了所述新標(biāo)準(zhǔn)消息存在的合法時間,標(biāo)記所述新標(biāo)準(zhǔn)消息為無效,重新構(gòu)造所述新標(biāo)準(zhǔn)消息,增加所述代幣,以便被參與所述公有區(qū)塊鏈打包的用戶打包確認(rèn)。
[0055]所述生成標(biāo)準(zhǔn)消息模塊中的所述哈希函數(shù)滿足:
[0056]給定一個哈希值h,找不到一個消息m使得hash(m) =h;
[0057]給定一個消息m,找不到一個消息η使得hash(m) =hash(n)。
[0058]所述代幣為在所述公有區(qū)塊鏈上產(chǎn)生、流通的貨幣。
[0059]所述廣播模塊中將用戶的公鑰進(jìn)行編碼產(chǎn)生所述地址。
[0060]所述廣播模塊還包括若只為所述數(shù)字化物品的存在時間證明以及認(rèn)證服務(wù),則將接收者設(shè)定為無效地址;若允許轉(zhuǎn)移所述數(shù)字化物品,則將接收者設(shè)定為所述地址或者其它用戶的地址。
【主權(quán)項】
1.一種基于區(qū)塊鏈技術(shù)的存在證明及認(rèn)證服務(wù)方法,所述區(qū)塊鏈為公有區(qū)塊鏈,其特征在于,包括: 步驟I,在公有區(qū)塊鏈中為每個用戶設(shè)置至少一對公/私鑰,將用戶的數(shù)字化物品通過哈希函數(shù)進(jìn)行哈希運(yùn)算,生成哈希值,使用所述私鑰對所述哈希值進(jìn)行簽名,將所述簽名進(jìn)行哈希運(yùn)算,生成新哈希值,根據(jù)所述公有區(qū)塊鏈中標(biāo)準(zhǔn)消息的格式,將所述新哈希值嵌入所述標(biāo)準(zhǔn)消息中,生成新標(biāo)準(zhǔn)消息,在所述新標(biāo)準(zhǔn)消息中加入代幣; 步驟2,在用戶向所述公有區(qū)塊鏈廣播所述新標(biāo)準(zhǔn)消息之前,將所述新標(biāo)準(zhǔn)消息的發(fā)送者設(shè)為用戶自己的地址,廣播所述新標(biāo)準(zhǔn)消息,若所述新標(biāo)準(zhǔn)消息被用戶打包且所述新標(biāo)準(zhǔn)消息被確認(rèn),則返回所述新標(biāo)準(zhǔn)消息的哈希值,如果所述新標(biāo)準(zhǔn)消息所在的區(qū)塊被確認(rèn),返回所述區(qū)塊的哈希值;如果未存在用戶打包所述新標(biāo)準(zhǔn)消息,且過了所述新標(biāo)準(zhǔn)消息存在的合法時間,標(biāo)記所述新標(biāo)準(zhǔn)消息為無效,重新構(gòu)造所述新標(biāo)準(zhǔn)消息,增加所述代幣,以便被參與所述公有區(qū)塊鏈打包的用戶打包確認(rèn)。2.如權(quán)利要求1所述的基于區(qū)塊鏈技術(shù)的存在證明及認(rèn)證服務(wù)方法,其特征在于,所述步驟I中的所述哈希函數(shù)滿足: 給定一個哈希值h,找不到一個消息m使得hash(m) =h; 給定一個消息m,找不到一個消息η使得hash(m) =hash(n)。3.如權(quán)利要求1所述的基于區(qū)塊鏈技術(shù)的存在證明及認(rèn)證服務(wù)方法,其特征在于,所述代幣為在所述公有區(qū)塊鏈上產(chǎn)生、流通的貨幣。4.如權(quán)利要求1所述的基于區(qū)塊鏈技術(shù)的存在證明及認(rèn)證服務(wù)方法,其特征在于,所述步驟2中將用戶的公鑰進(jìn)行編碼產(chǎn)生所述地址。5.如權(quán)利要求1所述的基于區(qū)塊鏈技術(shù)的存在證明及認(rèn)證服務(wù)方法,其特征在于,所述步驟2還包括若只為所述數(shù)字化物品的存在時間證明以及認(rèn)證服務(wù),則將接收者設(shè)定為無效地址;若允許轉(zhuǎn)移所述數(shù)字化物品,則將接收者設(shè)定為所述地址或者其它用戶的地址。6.—種基于區(qū)塊鏈技術(shù)的存在證明及認(rèn)證服務(wù)系統(tǒng),所述區(qū)塊鏈為公有區(qū)塊鏈,其特征在于,包括: 生成標(biāo)準(zhǔn)消息模塊,用于在公有區(qū)塊鏈中為每個用戶設(shè)置至少一對公/私鑰,作為所述公有區(qū)塊鏈的標(biāo)識,將用戶的數(shù)字化物品通過哈希函數(shù)進(jìn)行哈希運(yùn)算,生成哈希值,根據(jù)所述公有區(qū)塊鏈中標(biāo)準(zhǔn)消息的格式,將所述哈希值嵌入所述標(biāo)準(zhǔn)消息中,生成新標(biāo)準(zhǔn)消息,在所述新標(biāo)準(zhǔn)消息中加入代幣; 廣播模塊,用于在用戶向所述公有區(qū)塊鏈廣播所述新標(biāo)準(zhǔn)消息之前,將所述新標(biāo)準(zhǔn)消息的發(fā)送者設(shè)為用戶自己的地址,廣播所述新標(biāo)準(zhǔn)消息,若所述新標(biāo)準(zhǔn)消息被用戶打包且所述新標(biāo)準(zhǔn)消息被確認(rèn),則返回所述新標(biāo)準(zhǔn)消息的哈希值,如果所述新標(biāo)準(zhǔn)消息所在的區(qū)塊被確認(rèn),返回所述區(qū)塊的哈希值;如果未存在用戶打包所述新標(biāo)準(zhǔn)消息,且過了所述新標(biāo)準(zhǔn)消息存在的合法時間,標(biāo)記所述新標(biāo)準(zhǔn)消息為無效,重新構(gòu)造所述新標(biāo)準(zhǔn)消息,增加所述代幣,以便被參與所述公有區(qū)塊鏈打包的用戶打包確認(rèn)。7.如權(quán)利要求6所述的基于區(qū)塊鏈技術(shù)的存在證明及認(rèn)證服務(wù)系統(tǒng),其特征在于,所述生成標(biāo)準(zhǔn)消息模塊中的所述哈希函數(shù)滿足: 給定一個哈希值h,找不到一個消息m使得hash(m) =h; 給定一個消息m,找不到一個消息η使得hash(m) =hash(n)。8.如權(quán)利要求6所述的基于區(qū)塊鏈技術(shù)的存在證明及認(rèn)證服務(wù)系統(tǒng),其特征在于,所述代幣為在所述公有區(qū)塊鏈上產(chǎn)生、流通的貨幣。9.如權(quán)利要求6所述的基于區(qū)塊鏈技術(shù)的存在證明及認(rèn)證服務(wù)系統(tǒng),其特征在于,所述廣播模塊中將用戶的公鑰進(jìn)行編碼產(chǎn)生所述地址。10.如權(quán)利要求6所述的基于區(qū)塊鏈技術(shù)的存在證明及認(rèn)證服務(wù)系統(tǒng),其特征在于,所述廣播模塊還包括若只為所述數(shù)字化物品的存在時間證明以及認(rèn)證服務(wù),則將接收者設(shè)定為無效地址;若允許轉(zhuǎn)移所述數(shù)字化物品,則將接收者設(shè)定為所述地址或者其它用戶的地址。
【文檔編號】H04L9/32GK105959307SQ201610513011
【公開日】2016年9月21日
【申請日】2016年6月30日
【發(fā)明人】孫毅, 李康, 張建軍, 李軍
【申請人】中國科學(xué)院計算技術(shù)研究所