本發(fā)明涉及一種信息認(rèn)證和溯源方法及系統(tǒng),尤其涉及一種基于區(qū)塊鏈的信息認(rèn)證和溯源方法及系統(tǒng)。
背景技術(shù):
隨著信息科學(xué)和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,越來越多的人接觸互聯(lián)網(wǎng),2010年中國網(wǎng)民規(guī)模為45730萬人,截至2016年年底,中國網(wǎng)民規(guī)模達(dá)到了64875萬人,四年時間實現(xiàn)了近2億人的增長。單從網(wǎng)民規(guī)模來看,中國是網(wǎng)絡(luò)第一大國毋庸置疑。
龐大的網(wǎng)民規(guī)模導(dǎo)致越來越多的信息在互聯(lián)網(wǎng)上廣泛傳播,各大社交媒體產(chǎn)生的信息量以pb級增長。由于網(wǎng)絡(luò)信息發(fā)布大多數(shù)都是非實名制,加之復(fù)雜的網(wǎng)民成分,無疑為互聯(lián)網(wǎng)謠言的滋生和傳播提供了條件。
某些謠言為了提高其真實感,會附加通常是權(quán)威機(jī)構(gòu)的轉(zhuǎn)載來源。發(fā)明人考慮可以從溯源方面入手,通過與原新聞的比對判別所瀏覽新聞的真實性。
傳統(tǒng)的溯源方法需要對記錄的每個新聞進(jìn)行標(biāo)號并存儲在一個中心服務(wù)器上,這會造成數(shù)據(jù)量巨大、容易被篡改、容易被攻擊等問題。
區(qū)塊鏈?zhǔn)且环N按照時間順序?qū)?shù)據(jù)區(qū)塊以順序相連的方式組合成的一種鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),并以密碼學(xué)方式保證的不可篡改和不可偽造的分布式賬本。廣義來講,區(qū)塊鏈技術(shù)是利用塊鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu)來驗證與存儲數(shù)據(jù)、利用分布式節(jié)點(diǎn)共識算法來生成和更新數(shù)據(jù)、利用密碼學(xué)的方式保證數(shù)據(jù)傳輸和訪問的安全、利用由自動化腳本代碼組成的智能合約來編程和操作數(shù)據(jù)的一種全新的分布式基礎(chǔ)架構(gòu)與計算范式。區(qū)塊鏈格式首先用于比特幣,作為解決數(shù)據(jù)庫安全和不需要信任的管理員的問題的解決方案。第一塊區(qū)塊鏈由中本聰在2008年概念化,并在次年實施作為數(shù)字貨幣比特幣的核心組成部分,其中它作為所有交易的公開總帳。通過使用對等網(wǎng)絡(luò)和分布式時間戳服務(wù)器,區(qū)塊鏈數(shù)據(jù)庫被自主地管理。比特幣區(qū)塊鏈的發(fā)明使它成為第一個解決雙重支出問題的數(shù)字貨幣。
發(fā)明人考慮可以利用區(qū)塊鏈的分布式存儲、去中心、可追溯、不可篡改等特性提出一種可靠高效的溯源方法。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的之一是提供一種基于區(qū)塊鏈的信息認(rèn)證和溯源方法,該方法利用區(qū)塊鏈的特性可靠高效地實現(xiàn)信息認(rèn)證和溯源,從而可以利用該方法實現(xiàn)對新聞的追溯、核實以及真?zhèn)舞b別。此外,該方法還可以用于食品安全、疫苗追溯以及奢侈品保障等領(lǐng)域。
根據(jù)上述目的,本發(fā)明提出了一種基于區(qū)塊鏈的信息認(rèn)證和溯源方法,其包括步驟:
(1)獲取原始信息發(fā)布端所要發(fā)布的原始信息的副本;
(2)基于所述副本,采用hash算法生成所述副本的hash值,同時摘取副本的內(nèi)容信息;
(3)將所述副本的內(nèi)容信息和副本的hash值創(chuàng)建為第一交易信息;
(4)將第一交易信息寫入中心數(shù)據(jù)庫和區(qū)塊鏈,或者將第一交易信息寫入?yún)^(qū)塊鏈;
(5)獲取信息轉(zhuǎn)載端發(fā)布的轉(zhuǎn)載信息,基于所述轉(zhuǎn)載信息采用hash算法生成該轉(zhuǎn)載信息的hash值;
(6)將該轉(zhuǎn)載信息的hash值與所述副本的hash值進(jìn)行比對,如果轉(zhuǎn)載信息的hash值與所述副本的hash值相同,則向所述信息轉(zhuǎn)載端返回表征信息真實或未被篡改的第一憑證;如果轉(zhuǎn)載信息的hash值與所述副本的hash值不相同,則不向所述信息轉(zhuǎn)載端返回表征信息真實或未被篡改的第一憑證,或者向所述信息轉(zhuǎn)載端返回表征信息不真實或被篡改的第二憑證。
本發(fā)明所述的基于區(qū)塊鏈的信息認(rèn)證和溯源方法,其將原始信息的副本的hash值和內(nèi)容信息作為第一交易信息寫入?yún)^(qū)塊鏈,利用區(qū)塊鏈的分布式存儲、去中心、可追溯、不可篡改等特性,保證原始信息的副本的hash值和內(nèi)容信息被可靠存儲且不被篡改,因此可以將轉(zhuǎn)載信息的hash值與原始信息的副本的hash值進(jìn)行比較,以判斷轉(zhuǎn)載信息是否與原始信息的副本一致,從而實現(xiàn)轉(zhuǎn)載信息的信息認(rèn)證和溯源。其中:
hash值是按照hash算法對信息進(jìn)行處理得到的數(shù)值,不同的信息得到的hash值是不同的。而hash值相對于其相應(yīng)信息來說占用存儲空間又非常小,因此非常適合用于大段信息的檢索和比較,例如對新聞的追溯、核實以及真?zhèn)舞b別,以及食品安全、疫苗追溯以及奢侈品保障等領(lǐng)域所涉及的信息認(rèn)證和溯源。
所述原始信息發(fā)布端可以是一個,也可以是多個,例如各大新聞媒體網(wǎng)站,因此通常獲取原始信息的副本。
所述副本的內(nèi)容信息通常包括信息的id、信息的標(biāo)題、信息的內(nèi)容、信息的作者、信息的日期、信息的發(fā)布站點(diǎn)名稱的至少其中之一,其可以配合hash值進(jìn)行檢索以提高檢索效率,還可以保存原始信息副本以便于進(jìn)一步地查看和核實。
本發(fā)明的交易信息存儲可以有多種模式選擇:1.弱中心模式,此模式下寫入中心數(shù)據(jù)庫。此模式又有兩種選擇:(a)多個信息發(fā)布事件寫入一次交易。(b)一個信息發(fā)布事件寫入一次交易,但只寫入信息摘要。2.去中心模式,此模式下直接將信息詳細(xì)信息寫入?yún)^(qū)塊鏈。本發(fā)明所述方案中,所述副本的內(nèi)容信息和所述副本的hash值作為第一交易信息可以寫入?yún)^(qū)塊鏈和中心數(shù)據(jù)庫,此時中心數(shù)據(jù)庫可以起到減輕區(qū)塊鏈存儲壓力的作用,例如可以將原始信息副本的內(nèi)容信息存儲于中心數(shù)據(jù)庫中。
所述信息轉(zhuǎn)載端通常在轉(zhuǎn)載原始信息發(fā)布端發(fā)布的信息時通常會附加轉(zhuǎn)載來源,或者某些信息轉(zhuǎn)載端出于某種目的在發(fā)布虛假信息時會附加通常是權(quán)威機(jī)構(gòu)的轉(zhuǎn)載來源,這些轉(zhuǎn)載來源通??梢栽谒龈北镜膬?nèi)容信息中進(jìn)行匹配查找,這樣就可以快速鎖定檢索范圍。
區(qū)塊鏈技術(shù)如今飛速發(fā)展,如今的區(qū)塊鏈可分為公有鏈、聯(lián)盟鏈以及私有鏈,本發(fā)明所述方法可以在這三種鏈中的任意一種上實現(xiàn)。
進(jìn)一步地,本發(fā)明所述的基于區(qū)塊鏈的信息認(rèn)證和溯源方法中,所述步驟(5)還包括:基于所述轉(zhuǎn)載信息摘取其內(nèi)容信息,將轉(zhuǎn)載信息的hash值和轉(zhuǎn)載信息的內(nèi)容信息創(chuàng)建為第二交易信息,將第二交易信息寫入中心數(shù)據(jù)庫和區(qū)塊鏈,或者將第二交易信息寫入?yún)^(qū)塊鏈;所述第二交易信息還包括轉(zhuǎn)載信息的父交易的哈希值。
上述方案中,為便于信息的追蹤,將所述轉(zhuǎn)載信息的內(nèi)容信息和所述轉(zhuǎn)載信息的hash值作為所述第二交易信息寫入?yún)^(qū)塊鏈。這樣信息轉(zhuǎn)載端一旦發(fā)布了轉(zhuǎn)載信息,該轉(zhuǎn)載信息的內(nèi)容信息和hash值就會被永久記錄,從而從機(jī)制上保存信息轉(zhuǎn)載端產(chǎn)生的轉(zhuǎn)載信息證據(jù)。
所述轉(zhuǎn)載信息的內(nèi)容信息和所述轉(zhuǎn)載信息的hash值作為第二交易信息可以寫入?yún)^(qū)塊鏈和中心數(shù)據(jù)庫,此時中心數(shù)據(jù)庫可以起到減輕區(qū)塊鏈存儲壓力的作用,例如可以將轉(zhuǎn)載信息的內(nèi)容信息存儲于中心數(shù)據(jù)庫中。
所述第二交易信息還包括轉(zhuǎn)載信息的父交易的哈希值,其可以幫助找到上一級信息來源。
進(jìn)一步地,本發(fā)明所述的基于區(qū)塊鏈的信息認(rèn)證和溯源方法還包括步驟(7):從信息閱讀端獲取終端信息,采用hash算法生成該終端信息的hash值,將該終端信息的hash值與所述副本的hash值進(jìn)行比對;如果終端信息的hash值與所述副本的hash值相同,則向所述信息閱讀端返回表征信息真實或未被篡改的第三憑證;如果終端信息的hash值與所述副本的hash值不相同,則不向所述信息閱讀端返回表征信息真實或未被篡改的第三憑證,或者向所述信息閱讀端返回表征信息不真實或被篡改的第四憑證。
上述方案中,為了進(jìn)一步保證信息閱讀端獲取的終端信息的真實或不被篡改,將所述終端信息的hash值與原始信息的副本的hash值進(jìn)行比較,以判斷終端信息是否與原始信息的副本一致,從而實現(xiàn)終端信息的信息認(rèn)證和溯源。
更進(jìn)一步地,上述基于區(qū)塊鏈的信息認(rèn)證和溯源方法還包括步驟(8):訪問第一憑證和/或第三憑證,以從中心數(shù)據(jù)庫或區(qū)塊鏈獲取與該終端信息對應(yīng)的原始信息的第一交易信息和/或與該終端信息對應(yīng)的轉(zhuǎn)載信息的第二交易信息。
上述方案中,所述第一憑證和/或第三憑證通常包含連接所述與該終端信息對應(yīng)的原始信息的第一交易信息和/或與該終端信息對應(yīng)的轉(zhuǎn)載信息的第二交易信息的訪問入口。
優(yōu)選地,上述基于區(qū)塊鏈的信息認(rèn)證和溯源方法中,所述第一憑證和第三憑證表征為二維碼。
上述方案中,二維碼是一種優(yōu)選的憑證表征方式,其可以附在轉(zhuǎn)載信息和終端信息旁邊供用戶識別。
進(jìn)一步地,本發(fā)明所述的基于區(qū)塊鏈的信息認(rèn)證和溯源方法中,所述內(nèi)容信息包括:信息的id、信息的標(biāo)題、信息的內(nèi)容、信息的作者、信息的日期、信息的發(fā)布站點(diǎn)名稱的至少其中之一。
上述方案中,信息的id可以包括信息的原始鏈接地址。
更進(jìn)一步地,上述基于區(qū)塊鏈的信息認(rèn)證和溯源方法中,當(dāng)將第一交易信息或第二交易信息寫入?yún)^(qū)塊鏈時,將第一交易信息或第二交易信息的全部內(nèi)容均寫入?yún)^(qū)塊鏈;當(dāng)將第一交易信息或第二交易信息寫入?yún)^(qū)塊鏈和中心數(shù)據(jù)庫時,將第一交易信息和第二交易信息的全部內(nèi)容均寫入中心數(shù)據(jù)庫,同時還將第一交易信息和第二交易信息中的hash值和信息的id寫入?yún)^(qū)塊鏈。
上述方案中,當(dāng)將第一交易信息或第二交易信息寫入?yún)^(qū)塊鏈和中心數(shù)據(jù)庫時,所述中心數(shù)據(jù)庫減輕了所述區(qū)塊鏈中除了信息的id外的內(nèi)容信息的存儲壓力。由于信息的id通常占用存儲空間通常比較小,并且對于查找信息比較重要,因此將其保留在區(qū)塊鏈中。
本發(fā)明的另一目的是提供一種基于區(qū)塊鏈的信息認(rèn)證和溯源系統(tǒng),該系統(tǒng)利用區(qū)塊鏈的特性可靠高效地實現(xiàn)信息認(rèn)證和溯源,從而可以利用該系統(tǒng)實現(xiàn)對新聞的追溯、核實以及真?zhèn)舞b別。此外,該系統(tǒng)還可以用于食品安全、疫苗追溯以及奢侈品保障等領(lǐng)域。
根據(jù)上述目的,本發(fā)明提出了一種基于區(qū)塊鏈的信息認(rèn)證和溯源系統(tǒng),其中:
所述系統(tǒng)獲取原始信息發(fā)布端所要發(fā)布的原始信息的副本;
所述系統(tǒng)基于所述副本,采用hash算法生成所述副本的hash值,同時摘取副本的內(nèi)容信息;
所述系統(tǒng)將所述副本的內(nèi)容信息和副本的hash值創(chuàng)建為第一交易信息;
所述系統(tǒng)將第一交易信息寫入中心數(shù)據(jù)庫和區(qū)塊鏈,或者將第一交易信息寫入?yún)^(qū)塊鏈;
所述系統(tǒng)獲取信息轉(zhuǎn)載端發(fā)布的轉(zhuǎn)載信息,基于所述轉(zhuǎn)載信息采用hash算法生成該轉(zhuǎn)載信息的hash值;
所述系統(tǒng)將該轉(zhuǎn)載信息的hash值與所述副本的hash值進(jìn)行比對,如果轉(zhuǎn)載信息的hash值與所述副本的hash值相同,則向所述信息轉(zhuǎn)載端返回表征信息真實或未被篡改的第一憑證;如果轉(zhuǎn)載信息的hash值與所述副本的hash值不相同,則不向所述信息轉(zhuǎn)載端返回表征信息真實或未被篡改的第一憑證,或者向所述信息轉(zhuǎn)載端返回表征信息不真實或被篡改的第二憑證。
本發(fā)明所述的基于區(qū)塊鏈的信息認(rèn)證和溯源系統(tǒng)基于區(qū)塊鏈網(wǎng)絡(luò)實現(xiàn),該區(qū)塊鏈網(wǎng)絡(luò)可以是公有鏈、聯(lián)盟鏈以及私有鏈中的任意一種。
本發(fā)明所述的基于區(qū)塊鏈的信息認(rèn)證和溯源系統(tǒng),其被配置為執(zhí)行上述本發(fā)明方法,因此同樣利用區(qū)塊鏈的特性可靠高效地實現(xiàn)信息認(rèn)證和溯源,從而可以利用該系統(tǒng)實現(xiàn)對新聞的追溯、核實以及真?zhèn)舞b別。此外,該系統(tǒng)還可以用于食品安全、疫苗追溯以及奢侈品保障等領(lǐng)域。
本發(fā)明所述的基于區(qū)塊鏈的信息認(rèn)證和溯源系統(tǒng)的原理在相應(yīng)的本發(fā)明方法中已經(jīng)描述,在此不再贅述。
進(jìn)一步地,本發(fā)明所述的基于區(qū)塊鏈的信息認(rèn)證和溯源系統(tǒng)中,所述系統(tǒng)還基于所述轉(zhuǎn)載信息摘取其內(nèi)容信息,將轉(zhuǎn)載信息的hash值和轉(zhuǎn)載信息的內(nèi)容信息創(chuàng)建為第二交易信息,將第二交易信息寫入中心數(shù)據(jù)庫和區(qū)塊鏈,或者將第二交易信息寫入?yún)^(qū)塊鏈;所述第二交易信息還包括轉(zhuǎn)載信息的父交易的哈希值。
進(jìn)一步地,本發(fā)明所述的基于區(qū)塊鏈的信息認(rèn)證和溯源系統(tǒng)中,所述系統(tǒng)還從信息閱讀端獲取終端信息,采用hash算法生成該終端信息的hash值,將該終端信息的hash值與所述副本的hash值進(jìn)行比對;如果終端信息的hash值與所述副本的hash值相同,則向所述信息閱讀端返回表征信息真實或未被篡改的第三憑證;如果終端信息的hash值與所述副本的hash值不相同,則不向所述信息閱讀端返回表征信息真實或未被篡改的第三憑證,或者向所述信息閱讀端返回表征信息不真實或被篡改的第四憑證。
更進(jìn)一步地,上述基于區(qū)塊鏈的信息認(rèn)證和溯源方法中,所述系統(tǒng)訪問第一憑證和/或第三憑證,以從中心數(shù)據(jù)庫或區(qū)塊鏈獲取與該終端信息對應(yīng)的原始信息的第一交易信息和/或與該終端信息對應(yīng)的轉(zhuǎn)載信息的第二交易信息。
更進(jìn)一步地,上述基于區(qū)塊鏈的信息認(rèn)證和溯源方法中,當(dāng)所述系統(tǒng)將第一交易信息或第二交易信息寫入?yún)^(qū)塊鏈時,其將第一交易信息或第二交易信息的全部內(nèi)容均寫入?yún)^(qū)塊鏈;當(dāng)所述系統(tǒng)將第一交易信息或第二交易信息寫入?yún)^(qū)塊鏈和中心數(shù)據(jù)庫時,其將第一交易信息和第二交易信息的全部內(nèi)容均寫入中心數(shù)據(jù)庫,同時還將第一交易信息和第二交易信息中的hash值和信息的id寫入?yún)^(qū)塊鏈。
本發(fā)明所述的基于區(qū)塊鏈的信息認(rèn)證和溯源方法,其具有以下優(yōu)點(diǎn)和有益效果:
(1)可靠高效地實現(xiàn)信息認(rèn)證和溯源,從而可以實現(xiàn)對新聞的記錄、匹配、追溯、核實以及真?zhèn)舞b別。
(2)基于區(qū)塊鏈溯源,具有不可篡改,去中心化,難以攻擊,數(shù)據(jù)存儲量小,速度快等優(yōu)點(diǎn)。
(3)克服互聯(lián)網(wǎng)媒體信息無法追溯、無法證實真?zhèn)蔚娜毕?,記錄新聞傳播鏈并實現(xiàn)新舊信息、轉(zhuǎn)發(fā)信息比對、證實證偽。
(4)使得互聯(lián)網(wǎng)社交媒體的新聞、信息可以被追溯、證實和證偽。
(5)不僅可以用于新聞溯源,還可以用于食品安全、疫苗追溯、奢侈品保障等領(lǐng)域。
本發(fā)明所述的基于區(qū)塊鏈的信息認(rèn)證和溯源系統(tǒng),其同樣具有上述效果。
附圖說明
圖1為本發(fā)明所述的基于區(qū)塊鏈的信息認(rèn)證和溯源方法在一種實施方式下的流程圖。
圖2為本發(fā)明系統(tǒng)實施例涉及原始信息發(fā)布端和信息轉(zhuǎn)載端的具體運(yùn)行流程。
圖3為本發(fā)明系統(tǒng)實施例涉及信息閱讀端的具體運(yùn)行流程。
圖4為本發(fā)明系統(tǒng)實施例運(yùn)行時訪問憑證后獲取的部分交易信息。
圖5為本發(fā)明系統(tǒng)實施例運(yùn)行時產(chǎn)生的一個憑證示例。
圖6為本發(fā)明系統(tǒng)實施例的信息閱讀端的一個運(yùn)行結(jié)果示例。
具體實施方式
下面將結(jié)合說明書附圖和具體的實施例來對本發(fā)明所述的基于區(qū)塊鏈的信息認(rèn)證和溯源方法及系統(tǒng)進(jìn)行進(jìn)一步地詳細(xì)說明,但是該詳細(xì)說明不構(gòu)成對本發(fā)明的限制。
圖1顯示了本發(fā)明所述的基于區(qū)塊鏈的信息認(rèn)證和溯源方法在一種實施方式下的流程。如圖1所示,該基于區(qū)塊鏈的信息認(rèn)證和溯源方法包括步驟:
(1)獲取原始信息發(fā)布端所要發(fā)布的原始信息的副本。
(2)基于副本,采用hash算法生成副本的hash值,同時摘取副本的內(nèi)容信息。
(3)將副本的內(nèi)容信息和副本的hash值創(chuàng)建為第一交易信息。
(4)將第一交易信息寫入中心數(shù)據(jù)庫和區(qū)塊鏈,或者將第一交易信息寫入?yún)^(qū)塊鏈。
(5)獲取信息轉(zhuǎn)載端發(fā)布的轉(zhuǎn)載信息,基于轉(zhuǎn)載信息采用hash算法生成該轉(zhuǎn)載信息的hash值。
(6)將該轉(zhuǎn)載信息的hash值與副本的hash值進(jìn)行比對,如果轉(zhuǎn)載信息的hash值與副本的hash值相同,則向信息轉(zhuǎn)載端返回表征信息真實或未被篡改的第一憑證;如果轉(zhuǎn)載信息的hash值與副本的hash值不相同,則不向信息轉(zhuǎn)載端返回表征信息真實或未被篡改的第一憑證,或者向信息轉(zhuǎn)載端返回表征信息不真實或被篡改的第二憑證。
在某些實施方式中,步驟(5)還包括:基于轉(zhuǎn)載信息摘取其內(nèi)容信息,將轉(zhuǎn)載信息的hash值和轉(zhuǎn)載信息的內(nèi)容信息創(chuàng)建為第二交易信息,將第二交易信息寫入中心數(shù)據(jù)庫和區(qū)塊鏈,或者將第二交易信息寫入?yún)^(qū)塊鏈;第二交易信息還包括轉(zhuǎn)載信息的父交易的哈希值。
在某些實施方式中,還包括步驟(7):從信息閱讀端獲取終端信息,采用hash算法生成該終端信息的hash值,將該終端信息的hash值與副本的hash值進(jìn)行比對;如果終端信息的hash值與副本的hash值相同,則向信息閱讀端返回表征信息真實或未被篡改的第三憑證;如果終端信息的hash值與副本的hash值不相同,則不向信息閱讀端返回表征信息真實或未被篡改的第三憑證,或者向信息閱讀端返回表征信息不真實或被篡改的第四憑證。此外,還可以包括步驟(8):訪問第一憑證和/或第三憑證,以從中心數(shù)據(jù)庫或區(qū)塊鏈獲取與該終端信息對應(yīng)的原始信息的第一交易信息和/或與該終端信息對應(yīng)的轉(zhuǎn)載信息的第二交易信息。此外,第一憑證和第三憑證可以表征為二維碼。
在某些實施方式中,內(nèi)容信息包括:信息的id、信息的標(biāo)題、信息的內(nèi)容、信息的作者、信息的日期、信息的發(fā)布站點(diǎn)名稱的至少其中之一。此外,當(dāng)將第一交易信息或第二交易信息寫入?yún)^(qū)塊鏈時,可以將第一交易信息或第二交易信息的全部內(nèi)容均寫入?yún)^(qū)塊鏈;當(dāng)將第一交易信息或第二交易信息寫入?yún)^(qū)塊鏈和中心數(shù)據(jù)庫時,可以將第一交易信息和第二交易信息的全部內(nèi)容均寫入中心數(shù)據(jù)庫,同時還將第一交易信息和第二交易信息中的hash值和信息的id寫入?yún)^(qū)塊鏈。
本發(fā)明所述的基于區(qū)塊鏈的信息認(rèn)證和溯源系統(tǒng)基于區(qū)塊鏈網(wǎng)絡(luò)實現(xiàn),該區(qū)塊鏈網(wǎng)絡(luò)可以是公有鏈、聯(lián)盟鏈以及私有鏈中的任意一種。本發(fā)明所述系統(tǒng)被配置為執(zhí)行上述任一實施方式的本發(fā)明所述方法。所述系統(tǒng)通常以軟件形式被分布式地安裝在涉及所述方法的硬件載體上,以執(zhí)行所述方法的步驟,該硬件載體可以包括區(qū)塊鏈網(wǎng)絡(luò)的節(jié)點(diǎn)設(shè)備、移動終端等。
下面基于上述方法和系統(tǒng)介紹實施例,以進(jìn)一步說明本發(fā)明。
本實施例系統(tǒng)的編程語言為java,基于的區(qū)塊鏈?zhǔn)莍bm超級賬本(hyperledger),瀏覽器為chrome。本實施例認(rèn)證和溯源的信息為新聞。
圖2顯示了本發(fā)明系統(tǒng)實施例涉及原始信息發(fā)布端和信息轉(zhuǎn)載端的具體運(yùn)行流程。該流程在新聞發(fā)布者層、溯源系統(tǒng)層以及區(qū)塊鏈層的架構(gòu)中運(yùn)行。
圖3顯示了本發(fā)明系統(tǒng)實施例涉及信息閱讀端的具體運(yùn)行流程。該流程在客戶端層、溯源系統(tǒng)層以及區(qū)塊鏈層的架構(gòu)中運(yùn)行。
圖4顯示了本發(fā)明系統(tǒng)實施例運(yùn)行時訪問憑證后獲取的部分交易信息。圖5顯示了本發(fā)明系統(tǒng)實施例運(yùn)行時產(chǎn)生的一個憑證示例。圖6顯示了本發(fā)明系統(tǒng)實施例的信息閱讀端的一個運(yùn)行結(jié)果示例。
結(jié)合參考圖1-圖6,本實施例的基于區(qū)塊鏈的信息認(rèn)證和溯源系統(tǒng)的運(yùn)行流程包括步驟:
步驟110:系統(tǒng)獲取原始信息發(fā)布端所要發(fā)布的原始信息的副本。
該步驟在圖2的站點(diǎn)發(fā)布新聞步驟前實現(xiàn)。
步驟120:系統(tǒng)基于副本,采用hash算法生成副本的hash值,同時摘取副本的內(nèi)容信息。其中,內(nèi)容信息包括:信息的id、信息的標(biāo)題、信息的內(nèi)容、信息的作者、信息的日期、信息的發(fā)布站點(diǎn)名稱。
該步驟在圖2的站點(diǎn)發(fā)布新聞步驟前實現(xiàn)。
本實施例的原始信息的副本的內(nèi)容信息如表1所示:
表1.原始信息的副本的內(nèi)容信息
步驟130:系統(tǒng)將副本的內(nèi)容信息和副本的hash值創(chuàng)建為第一交易信息。
該步驟在圖2的生成交易步驟中實現(xiàn)。
本實施例的第一交易信息包括交易id“55b8e2a3-f903-430d-bc96-7cc601319a17”,交易內(nèi)容“cpyccaesgwesgae2yjgxodg0ywfkngfmnwy5yme4nzuymwm5n2m4zdy1zdqxyjvhmtjjyzfjzjbmotk4mdkzzdy5mtuyyzu2nwfhogiyogm3owjhzji0mzi0zgywogzjzgfjmmrlnddjmzy3mgrimtm2mgexodjmzjy0zgiyotq5zthlodm0zgrmmxqlaqoky3jlyxrltmv3cwofmtawmdekbkfwbhbseqobmqoqdghpcybpcybhbibhchbseqpaodjmowrkyzzknwfmodg1nju2nzqwzmzimjhiyjg4njiyztrhntmynwnlztblzgiyzji3mzm0mja4otviy2mwoqocbwukeziwmtctmdmtmtqgmdk6mjc6mzk=”。
步驟140:系統(tǒng)將第一交易信息寫入中心數(shù)據(jù)庫和區(qū)塊鏈。其中,將第一交易信息的全部內(nèi)容均寫入中心數(shù)據(jù)庫,同時還將第一交易信息中的hash值和信息的id寫入?yún)^(qū)塊鏈。區(qū)塊鏈每15s掃描一次交易,發(fā)現(xiàn)新交易后,寫入鏈中。
該步驟在圖2的生成交易至系統(tǒng)數(shù)據(jù)庫和區(qū)塊鏈自動寫入流程實現(xiàn)。
本實施例中,上述步驟110-步驟140不執(zhí)行圖2的驗證發(fā)布新聞?wù)鎸嵭灾琳军c(diǎn)發(fā)布新聞和拒絕流程。當(dāng)然,在其它實施例中也可以執(zhí)行,以驗證原始信息發(fā)布端發(fā)布的原始信息。
步驟150:系統(tǒng)獲取信息轉(zhuǎn)載端發(fā)布的轉(zhuǎn)載信息,基于轉(zhuǎn)載信息采用hash算法生成該轉(zhuǎn)載信息的hash值?;谵D(zhuǎn)載信息摘取其內(nèi)容信息,將轉(zhuǎn)載信息的hash值和轉(zhuǎn)載信息的內(nèi)容信息創(chuàng)建為第二交易信息,將第二交易信息寫入中心數(shù)據(jù)庫和區(qū)塊鏈;第二交易信息還包括轉(zhuǎn)載信息的父交易的哈希值。其中,內(nèi)容信息包括:信息的id、信息的標(biāo)題、信息的內(nèi)容、信息的作者、信息的日期、信息的發(fā)布站點(diǎn)名稱。其中,將第二交易信息的全部內(nèi)容均寫入中心數(shù)據(jù)庫,同時還將第二交易信息中的hash值和信息的id寫入?yún)^(qū)塊鏈。區(qū)塊鏈每15s掃描一次交易,發(fā)現(xiàn)新交易后,寫入鏈中。
該步驟在圖2的站點(diǎn)發(fā)布新聞步驟前、站點(diǎn)發(fā)布新聞步驟中、生成交易至系統(tǒng)數(shù)據(jù)庫和區(qū)塊鏈自動寫入流程實現(xiàn)。
步驟160:系統(tǒng)將該轉(zhuǎn)載信息的hash值與副本的hash值進(jìn)行比對,如果轉(zhuǎn)載信息的hash值與副本的hash值相同,則向信息轉(zhuǎn)載端返回表征信息真實或未被篡改的第一憑證;如果轉(zhuǎn)載信息的hash值與副本的hash值不相同,則不向信息轉(zhuǎn)載端返回表征信息真實或未被篡改的第一憑證,或者向信息轉(zhuǎn)載端返回表征信息不真實或被篡改的第二憑證。其中,第一憑證表征為二維碼。
該步驟在圖2的驗證發(fā)布新聞?wù)鎸嵭灾琳军c(diǎn)發(fā)布新聞和拒絕流程實現(xiàn)。
步驟170:通過系統(tǒng)從信息閱讀端獲取終端信息,采用hash算法生成該終端信息的hash值,將該終端信息的hash值與副本的hash值進(jìn)行比對;如果終端信息的hash值與副本的hash值相同,則向信息閱讀端返回表征信息真實或未被篡改的第三憑證;如果終端信息的hash值與副本的hash值不相同,則不向信息閱讀端返回表征信息真實或未被篡改的第三憑證,或者向信息閱讀端返回表征信息不真實或被篡改的第四憑證。其中,第三憑證表征為二維碼。
該步驟在圖3的客戶端層和溯源系統(tǒng)層的流程實現(xiàn)。
步驟180:通過系統(tǒng)訪問第一憑證,以從中心數(shù)據(jù)庫或區(qū)塊鏈獲取與該終端信息對應(yīng)的原始信息的第一交易信息。
該步驟在圖3的區(qū)塊鏈層的流程實現(xiàn)。
本實施例中,上述步驟170和步驟180具體包括如下步驟:
a.閱讀者從信息閱讀端打開新聞,此時通過系統(tǒng)插件自動獲取作為終端信息的終端新聞文本。
b.向中心數(shù)據(jù)庫發(fā)送匹配請求,對比新聞hash值、新聞?wù)?、新聞id等信息,如果匹配成功,返回作為第三憑證的正確標(biāo)記;否則返回作為第四憑證的錯誤標(biāo)記。
c.若返回正確標(biāo)記,新聞閱讀者訪問發(fā)布者步驟160中所返回的第一憑證獲得新聞版本、引用等存儲在區(qū)塊鏈上的詳細(xì)信息,并且可以得知當(dāng)前閱讀新聞是哪種版本,并且支持找到最原始版本或最新版本。
上述a-c步驟中,訪問憑證后獲取的部分交易信息如圖4所示,其中v1-v5為五個不同的原始信息發(fā)布端發(fā)布的版本信息,q為信息轉(zhuǎn)載端發(fā)布的轉(zhuǎn)載版本信息;產(chǎn)生的一個憑證示例如圖5所示;信息閱讀端的一個運(yùn)行結(jié)果示例如圖6所示,其中,圖中帶圈符號“×”為錯誤標(biāo)記。
需要注意的是,以上列舉的僅為本發(fā)明的具體實施例,顯然本發(fā)明不限于以上實施例,隨之有著許多的類似變化。本領(lǐng)域的技術(shù)人員如果從本發(fā)明公開的內(nèi)容直接導(dǎo)出或聯(lián)想到的所有變形,均應(yīng)屬于本發(fā)明的保護(hù)范圍。