本發(fā)明涉及區(qū)塊鏈技術(shù)領(lǐng)域,更具體地說,涉及一種區(qū)塊鏈數(shù)據(jù)的處理方法及裝置。
背景技術(shù):
區(qū)塊鏈本質(zhì)上是一個(gè)區(qū)中心化數(shù)據(jù)庫,就像一個(gè)共享賬本,作為比特幣的底層技術(shù),區(qū)塊鏈具有去中心化、開放性、匿名性和不可篡改等特點(diǎn)。在傳統(tǒng)的公有區(qū)塊鏈中,用戶的賬戶信息和交易內(nèi)容等數(shù)據(jù)都是公開的,任何用戶都可以參與記賬和查看交易數(shù)據(jù),僅僅通過“偽匿名”的方式保護(hù)用戶隱私。這雖然增加了用戶對數(shù)據(jù)真實(shí)可靠的信心,但對于金融行業(yè)來說,數(shù)據(jù)的完全公開涉及到大量商業(yè)機(jī)密和利益,因此有必要使用一種隱私保護(hù)方法來保護(hù)數(shù)據(jù)隱私。
現(xiàn)有技術(shù)中,銀行通過建立許可賬本的方法來解決這個(gè)問題。這種方法將區(qū)塊鏈的參與者限制在了已知實(shí)體的范圍內(nèi),可保證只有被許可的用戶才可查閱區(qū)塊鏈中的數(shù)據(jù)。但是已知實(shí)體的范圍仍然較大,不能實(shí)現(xiàn)只有數(shù)據(jù)的利益相關(guān)方才可查閱區(qū)塊鏈中的數(shù)據(jù),安全性差。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供一種區(qū)塊鏈數(shù)據(jù)的處理方法及裝置,將散列原始數(shù)據(jù)得到散列值,再由相關(guān)利益人將散列值用私鑰加密,保證了只有擁有與私鑰相匹配的公鑰的使用者才可查閱區(qū)塊鏈中存儲的數(shù)據(jù),提高了區(qū)塊鏈存儲數(shù)據(jù)的安全性。
為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
一種區(qū)塊鏈數(shù)據(jù)的處理方法,應(yīng)用于處理器,所述方法包括:
基于第一客戶端發(fā)送的原始數(shù)據(jù)生成第一散列值;
接收所述第一客戶端基于第一私鑰加密所述第一散列值生成的第一加密散列值;
接收第二客戶端基于第二私鑰加密所述第一加密散列值生成的第二加密散列值,所述第一客戶端與所述第二客戶端不相同;
存儲所述第二客戶端發(fā)送的所述第二加密散列值。
優(yōu)選地,所述基于第一客戶端發(fā)送的原始數(shù)據(jù)生成第一散列值包括:
基于預(yù)設(shè)算法將所述原始數(shù)據(jù)分為至少一份原始分?jǐn)?shù)據(jù);
基于所有所述原始分?jǐn)?shù)據(jù)生成所述第一散列值。
優(yōu)選地,所述方法還包括:
接收所述第一客戶端發(fā)送的與所述第一私鑰相匹配的第一公鑰;
接收所述第二客戶端發(fā)送的與所述第二私鑰相匹配的第二公鑰;
存儲所述第一公鑰及所述第二公鑰。
優(yōu)選地,所述存儲所述第二加密散列值后,所述方法還包括:
判斷所述處理器存儲的第二加密散列值是否與所述第二客戶端發(fā)送的第二客戶端存儲的第二加密散列值相同;
當(dāng)所述處理器存儲的第二加密散列值與所述第二客戶端發(fā)送的第二客戶端存儲的第二加密散列值相同時(shí),基于所述第二公鑰解密所述處理器存儲的第二加密散列值生成第三加密散列值;
基于所述第一公鑰解密所述第三加密散列值生成第三散列值;
判斷所述第三散列值是否與第三客戶端發(fā)送的所述第一客戶端存儲的第一散列值相同;
當(dāng)所述第三散列值與所述第三客戶端發(fā)送的所述第一客戶端存儲的第一散列值相同時(shí),生成表示所述處理器存儲的第二加密散列值真實(shí)的驗(yàn)證信號。
優(yōu)選地,所述原始數(shù)據(jù)包括客戶數(shù)據(jù)及隨機(jī)數(shù)據(jù),所述每一所述原始數(shù)據(jù)的隨機(jī)數(shù)據(jù)是唯一的。
一種區(qū)塊鏈數(shù)據(jù)的處理裝置,所述裝置包括計(jì)算模塊、傳輸模塊及存儲模塊,其中:
所述計(jì)算模塊用于基于第一客戶端發(fā)送的原始數(shù)據(jù)生成第一散列值;
所述傳輸模塊用于接收所述第一客戶端基于第一私鑰加密所述第一散列值生成的第一加密散列值;
所述傳輸模塊還用于接收第二客戶端基于第二私鑰加密所述第一加密散列值生成的第二加密散列值,所述第一客戶端與所述第二客戶端不相同;
所述存儲模塊用于存儲所述第二客戶端發(fā)送的所述第二加密散列值。
優(yōu)選地,所述計(jì)算模塊包括分類單元及計(jì)算單元,其中:
所述分類單元用于基于預(yù)設(shè)算法將所述原始數(shù)據(jù)分為至少一份原始分?jǐn)?shù)據(jù);
所述計(jì)算單元用于基于所有所述原始分?jǐn)?shù)據(jù)生成所述第一散列值。
優(yōu)選地,所述傳輸模塊還用于接收所述第一客戶端發(fā)送的與所述第一私鑰相匹配的第一公鑰;所述傳輸模塊還用于接收所述第二客戶端發(fā)送的與所述第二私鑰相匹配的第二公鑰。
優(yōu)選地,所述裝置還包括判斷模塊、解密模塊及生成模塊,其特征在于:
所述判斷模塊用于判斷所述處理器存儲的第二加密散列值是否與所述第二客戶端發(fā)送的第二客戶端存儲的第二加密散列值相同;
當(dāng)所述處理器存儲的所述第二加密散列值與所述第二客戶端發(fā)送的第二客戶端存儲的第二加密散列值相同時(shí),所述解密模塊用于基于所述第二公鑰解密所述處理器存儲的第二加密散列值生成第三加密散列值;
所述解密模塊還用于基于所述第一公鑰解密所述第三加密散列值生成第三散列值;
所述判斷模塊還用于判斷所述第三散列值是否與第三客戶端發(fā)送的所述第一客戶端存儲的第一散列值相同;
當(dāng)所述第三散列值與第三客戶端發(fā)送的所述第一客戶端存儲的第一散列值相同時(shí),所述生成模塊生成表示所述處理器存儲的第二加密散列值真實(shí)的驗(yàn)證信號。
優(yōu)選地,所述原始數(shù)據(jù)包括客戶數(shù)據(jù)及隨機(jī)數(shù)據(jù),每一所述原始數(shù)據(jù)的隨機(jī)數(shù)據(jù)是唯一的。
從上述技術(shù)方案可以看出,本發(fā)明公開了一種區(qū)塊鏈數(shù)據(jù)的處理方法,應(yīng)用于處理器,方法包括基于第一客戶端發(fā)送的原始數(shù)據(jù)生成第一散列值,接收第一客戶端基于第一私鑰加密第一散列值生成的第一加密散列值,接收第二客戶端基于第二私鑰加密第一加密散列值生成的第二加密散列值,第一客戶端與第二客戶端不相同,存儲第二加密散列值。將散列原始數(shù)據(jù)得到散列值,再由相關(guān)利益人將散列值用私鑰加密,保證了只有擁有與私鑰相匹配的公鑰的使用者才可查閱區(qū)塊鏈中存儲的數(shù)據(jù),提高了區(qū)塊鏈存儲數(shù)據(jù)的安全性。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
圖1為本發(fā)明公開的一種區(qū)塊鏈數(shù)據(jù)的處理方法的實(shí)施例1的流程圖;
圖2為本發(fā)明公開的一種區(qū)塊鏈數(shù)據(jù)的處理方法的實(shí)施例2的流程圖;
圖3為本發(fā)明公開的一種區(qū)塊鏈數(shù)據(jù)的處理方法的實(shí)施例3的流程圖;
圖4為本發(fā)明公開的一種區(qū)塊鏈數(shù)據(jù)的處理方法的實(shí)施例4的流程圖;
圖5為本發(fā)明公開的一種區(qū)塊鏈數(shù)據(jù)的處理裝置的實(shí)施例1的結(jié)構(gòu)示意圖;
圖6為本發(fā)明公開的一種區(qū)塊鏈數(shù)據(jù)的處理裝置的實(shí)施例2的結(jié)構(gòu)示意圖;
圖7為本發(fā)明公開的一種區(qū)塊鏈數(shù)據(jù)的處理裝置的實(shí)施例3的結(jié)構(gòu)示意圖;
圖8為本發(fā)明公開的一種區(qū)塊鏈數(shù)據(jù)的處理裝置的實(shí)施例4的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
如圖1所示,為本發(fā)明提供的一種區(qū)塊鏈數(shù)據(jù)的處理方法的實(shí)施例1的流程圖,所述方法應(yīng)用于處理器,包括以下步驟:
s101、基于第一客戶端發(fā)送的原始數(shù)據(jù)生成第一散列值;
原始數(shù)據(jù)可以包括商業(yè)合同、賬本等機(jī)密信息,用戶通過第一客戶端將原始數(shù)據(jù)發(fā)送至處理器,處理器可以基于哈希算法計(jì)算原始數(shù)據(jù)的哈希值,即第一散列值。使用第一客戶端的用戶可為原始數(shù)據(jù)的利益相關(guān)方。
s102、接收第一客戶端基于第一私鑰加密第一散列值生成的第一加密散列值;
將第一散列值發(fā)送至第一客戶端,用戶使用第一客戶端基于第一私鑰對第一散列值進(jìn)行加密生成第一加密散列值。用戶可自行保存與第一私鑰相匹配的第一公鑰。
s103、接收第二客戶端基于第二私鑰加密第一加密散列值生成的第二加密散列值,第一客戶端與第二客戶端不相同;
將第一加密散列值發(fā)送至第二客戶端,用戶使用第二客戶端基于第二私鑰對第一加密散列值進(jìn)行加密生成第二加密散列值。用戶可自行保存于第二私鑰相匹配的第二公鑰。第一客戶端與第二客戶端不同,且使用第二客戶端的用戶可為中立方,如登記中心或交易中心等。
s104、存儲第二客戶端發(fā)送的第二加密散列值;
將第二客戶端發(fā)送的第二加密散列值存儲在區(qū)塊鏈中,存儲時(shí)可任意選擇存儲的區(qū)塊。
從上述技術(shù)方案可以看出,本發(fā)明公開了一種區(qū)塊鏈數(shù)據(jù)的處理方法,應(yīng)用于處理器,方法包括基于第一客戶端發(fā)送的原始數(shù)據(jù)生成第一散列值,接收第一客戶端基于第一私鑰加密第一散列值生成的第一加密散列值,接收第二客戶端基于第二私鑰加密第一加密散列值生成的第二加密散列值,第一客戶端與第二客戶端不相同,存儲第二加密散列值。將散列原始數(shù)據(jù)得到散列值,再由相關(guān)利益人將散列值用私鑰加密,保證了只有擁有與私鑰相匹配的公鑰的使用者才可查閱區(qū)塊鏈中存儲的數(shù)據(jù),提高了區(qū)塊鏈存儲數(shù)據(jù)的安全性。
如圖2所示,為本發(fā)明提供的一種區(qū)塊鏈數(shù)據(jù)的處理方法的實(shí)施例2的流程圖,所述方法應(yīng)用于處理器,包括以下步驟:
s201、基于預(yù)設(shè)算法將原始數(shù)據(jù)分為至少一份原始分?jǐn)?shù)據(jù);
原始數(shù)據(jù)包括客戶數(shù)據(jù)及隨機(jī)數(shù)據(jù),每一原始數(shù)據(jù)的隨機(jī)數(shù)據(jù)是唯一的,隨機(jī)數(shù)可用來區(qū)分客戶數(shù)據(jù)相同的原始數(shù)據(jù),用來保證原始數(shù)據(jù)的唯一性。客戶數(shù)據(jù)可以包括商業(yè)合同、賬本等機(jī)密信息,用戶通過第一客戶端將原始數(shù)據(jù)發(fā)送至處理器。處理器基于預(yù)設(shè)算法將原始數(shù)據(jù)分為至少一份原始分?jǐn)?shù)據(jù),以原始數(shù)據(jù)為合同為例,可以將合同分為格式化信息及自填信息,其中,自填信息還可以分為填空信息、選擇信息、附言信息等。將原始數(shù)據(jù)分為原始分?jǐn)?shù)據(jù)可進(jìn)一步提高存儲的信息的安全性。
s202、基于所有原始分?jǐn)?shù)據(jù)生成第一散列值;
基于哈希算法計(jì)算原始數(shù)據(jù)的哈希值,即第一散列值。使用第一客戶端的用戶可為原始數(shù)據(jù)的利益相關(guān)方。
s203、接收第一客戶端基于第一私鑰加密第一散列值生成的第一加密散列值;
將第一散列值發(fā)送至第一客戶端,用戶使用第一客戶端基于第一私鑰對第一散列值進(jìn)行加密生成第一加密散列值。用戶可自行保存與第一私鑰相匹配的第一公鑰。
s204、接收第二客戶端基于第二私鑰加密第一加密散列值生成的第二加密散列值,第一客戶端與第二客戶端不相同;
將第一加密散列值發(fā)送至第二客戶端,用戶使用第二客戶端基于第二私鑰對第一加密散列值進(jìn)行加密生成第二加密散列值。用戶可自行保存于第二私鑰相匹配的第二公鑰。第一客戶端與第二客戶端不同,且使用第二客戶端的用戶可為中立方,如登記中心或交易中心等。
s205、存儲第二客戶端發(fā)送的第二加密散列值;
將第二客戶端發(fā)送的第二加密散列值存儲在區(qū)塊鏈中,存儲時(shí)可任意選擇存儲的區(qū)塊。
如圖3所示,為本發(fā)明在上述實(shí)施例的基礎(chǔ)上提供的一種區(qū)塊鏈數(shù)據(jù)的處理方法的實(shí)施例3的流程圖,包括以下步驟:
s301、接收第一客戶端發(fā)送的與第一私鑰相匹配的第一公鑰;
s302、接收第二客戶端發(fā)送的與第二私鑰相匹配的第二公鑰;
s303、存儲第一公鑰及第二公鑰;
將第一公鑰及第二公鑰存儲到區(qū)塊鏈中可便于其他有權(quán)利查閱存儲的信息的用戶(司法機(jī)構(gòu))查閱信息。
如圖4所示,為本發(fā)明在上述實(shí)施例的基礎(chǔ)上提供的一種區(qū)塊鏈數(shù)據(jù)的處理方法的實(shí)施例4的流程圖,包括以下步驟:
s401、判斷處理器存儲的第二加密散列值是否與第二客戶端發(fā)送的第二客戶端存儲的第二加密散列值相同;
處理器將第二加密散列值存儲到區(qū)塊鏈中以后,可校驗(yàn)區(qū)塊鏈中存儲的信息與用戶存儲的信息是否相同,從而判斷區(qū)塊鏈中的信息是否被篡改,本實(shí)施例的方法可用于實(shí)現(xiàn)此功能。接收第二客戶端發(fā)送的第二客戶端存儲的第二加密散列值,判斷處理器存儲的第二加密散列值是否與第二客戶端發(fā)送的第二客戶端存儲的第二加密散列值相同。
s402、當(dāng)處理器存儲的第二加密散列值與第二客戶端發(fā)送的第二客戶端存儲的第二加密散列值相同時(shí),基于第二公鑰解密處理器存儲的第二加密散列值生成第三加密散列值;
當(dāng)處理器存儲的第二加密散列值與第二客戶端發(fā)送的第二客戶端存儲的第二加密散列值相同時(shí),可使用已存儲的第二密鑰解密處理器存儲的第二加密散列值生成第三加密散列值。若處理器存儲的第二加密散列值為被篡改,則生成的第三加密散列值應(yīng)與上述第一加密散列值相同。
s403、基于第一公鑰解密第三加密散列值生成第三散列值;
可使用已存儲的第一密鑰解密第三加密散列值生成第三散列值,若第三加密散列值與上述第一加密散列值相同,則第三散列應(yīng)與上述第一散列值相同。
s404、判斷第三散列值是否與第三客戶端發(fā)送的第一客戶端存儲的第一散列值相同;
第三客戶端可與第一客戶端相同,也可與第一客戶端不同,例如,第一客戶端由原始數(shù)據(jù)的利益相關(guān)方使用,第三客戶端可由第三方(監(jiān)察機(jī)構(gòu))使用,此時(shí),第一客戶端將存儲的第一散列值發(fā)送至第三客戶端,第三客戶端將此第一散列值發(fā)送至處理器。處理器判斷第三散列值是否與第三客戶端發(fā)送的第一客戶端存儲的第一散列值相同。
s405、當(dāng)?shù)谌⒘兄蹬c第三客戶端發(fā)送的第一客戶端存儲的第一散列值相同時(shí),生成表示處理器存儲的第二加密散列值真實(shí)的驗(yàn)證信號;
當(dāng)?shù)谌⒘兄蹬c第三客戶端發(fā)送的第一客戶端存儲的第一散列值相同時(shí),則說明區(qū)塊鏈中存儲的第二加密散列值未被更改,此時(shí)生成用于表示處理器存儲的第二加密散列值真實(shí)的驗(yàn)證信號。
如圖5所示,為本發(fā)明提供的一種區(qū)塊鏈數(shù)據(jù)的處理裝置的實(shí)施例1的結(jié)構(gòu)示意圖,所述裝置包括計(jì)算模塊101、傳輸模塊102及存儲模塊103,其中:
計(jì)算模塊101用于基于第一客戶端發(fā)送的原始數(shù)據(jù)生成第一散列值;
原始數(shù)據(jù)可以包括商業(yè)合同、賬本等機(jī)密信息,用戶通過第一客戶端將原始數(shù)據(jù)發(fā)送至處理器,處理器可以基于哈希算法計(jì)算原始數(shù)據(jù)的哈希值,即第一散列值。使用第一客戶端的用戶可為原始數(shù)據(jù)的利益相關(guān)方。
傳輸模塊102用于接收第一客戶端基于第一私鑰加密第一散列值生成的第一加密散列值;
將第一散列值發(fā)送至第一客戶端,用戶使用第一客戶端基于第一私鑰對第一散列值進(jìn)行加密生成第一加密散列值。用戶可自行保存與第一私鑰相匹配的第一公鑰。
傳輸模塊102還用于接收第二客戶端基于第二私鑰加密第一加密散列值生成的第二加密散列值,第一客戶端與第二客戶端不相同;
將第一加密散列值發(fā)送至第二客戶端,用戶使用第二客戶端基于第二私鑰對第一加密散列值進(jìn)行加密生成第二加密散列值。用戶可自行保存于第二私鑰相匹配的第二公鑰。第一客戶端與第二客戶端不同,且使用第二客戶端的用戶可為中立方,如登記中心或交易中心等。
存儲模塊103用于存儲第二客戶端發(fā)送的第二加密散列值;
將第二客戶端發(fā)送的第二加密散列值存儲在區(qū)塊鏈中,存儲時(shí)可任意選擇存儲的區(qū)塊。
從上述技術(shù)方案可以看出,本發(fā)明公開了一種區(qū)塊鏈數(shù)據(jù)的處理裝置,其工作原理為基于第一客戶端發(fā)送的原始數(shù)據(jù)生成第一散列值,接收第一客戶端基于第一私鑰加密第一散列值生成的第一加密散列值,接收第二客戶端基于第二私鑰加密第一加密散列值生成的第二加密散列值,第一客戶端與第二客戶端不相同,存儲第二加密散列值。將散列原始數(shù)據(jù)得到散列值,再由相關(guān)利益人將散列值用私鑰加密,保證了只有擁有與私鑰相匹配的公鑰的使用者才可查閱區(qū)塊鏈中存儲的數(shù)據(jù),提高了區(qū)塊鏈存儲數(shù)據(jù)的安全性。
如圖6所示,為本發(fā)明提供的一種區(qū)塊鏈數(shù)據(jù)的處理裝置的實(shí)施例2的結(jié)構(gòu)示意圖,所述裝置包括計(jì)算模塊201、傳輸模塊204及存儲模塊205,其中計(jì)算模塊201包括分類單元202及計(jì)算單元203;在所述裝置中:
分類單元202用于基于預(yù)設(shè)算法將原始數(shù)據(jù)分為至少一份原始分?jǐn)?shù)據(jù);
原始數(shù)據(jù)包括客戶數(shù)據(jù)及隨機(jī)數(shù)據(jù),每一原始數(shù)據(jù)的隨機(jī)數(shù)據(jù)是唯一的,隨機(jī)數(shù)可用來區(qū)分客戶數(shù)據(jù)相同的原始數(shù)據(jù),用來保證原始數(shù)據(jù)的唯一性??蛻魯?shù)據(jù)可以包括商業(yè)合同、賬本等機(jī)密信息,用戶通過第一客戶端將原始數(shù)據(jù)發(fā)送至處理器。處理器基于預(yù)設(shè)算法將原始數(shù)據(jù)分為至少一份原始分?jǐn)?shù)據(jù),以原始數(shù)據(jù)為合同為例,可以將合同分為格式化信息及自填信息,其中,自填信息還可以分為填空信息、選擇信息、附言信息等。將原始數(shù)據(jù)分為原始分?jǐn)?shù)據(jù)可進(jìn)一步提高存儲的信息的安全性。
計(jì)算單元203用于基于所有原始分?jǐn)?shù)據(jù)生成第一散列值;
基于哈希算法計(jì)算原始數(shù)據(jù)的哈希值,即第一散列值。使用第一客戶端的用戶可為原始數(shù)據(jù)的利益相關(guān)方。
傳輸模塊204用于接收第一客戶端基于第一私鑰加密第一散列值生成的第一加密散列值;
將第一散列值發(fā)送至第一客戶端,用戶使用第一客戶端基于第一私鑰對第一散列值進(jìn)行加密生成第一加密散列值。用戶可自行保存與第一私鑰相匹配的第一公鑰。
傳輸模塊204還用于接收第二客戶端基于第二私鑰加密第一加密散列值生成的第二加密散列值,第一客戶端與第二客戶端不相同;
將第一加密散列值發(fā)送至第二客戶端,用戶使用第二客戶端基于第二私鑰對第一加密散列值進(jìn)行加密生成第二加密散列值。用戶可自行保存于第二私鑰相匹配的第二公鑰。第一客戶端與第二客戶端不同,且使用第二客戶端的用戶可為中立方,如登記中心或交易中心等。
存儲模塊205用于存儲第二客戶端發(fā)送的第二加密散列值;
將第二客戶端發(fā)送的第二加密散列值存儲在區(qū)塊鏈中,存儲時(shí)可任意選擇存儲的區(qū)塊。
如圖7所示,為本發(fā)明在上述實(shí)施例的基礎(chǔ)上提供的一種區(qū)塊鏈數(shù)據(jù)的處理裝置的實(shí)施例3的結(jié)構(gòu)示意圖,在上述系統(tǒng)中:
傳輸模塊301還用于接收第一客戶端發(fā)送的與第一私鑰相匹配的第一公鑰;
傳輸模塊301還用于接收第二客戶端發(fā)送的與第二私鑰相匹配的第二公鑰;
存儲模塊302還用于存儲第一公鑰及第二公鑰;
將第一公鑰及第二公鑰存儲到區(qū)塊鏈中可便于其他有權(quán)利查閱存儲的信息的用戶(司法機(jī)構(gòu))查閱信息。
如圖8所示,為本發(fā)明在上述實(shí)施例的基礎(chǔ)上提供的一種區(qū)塊鏈數(shù)據(jù)的處理方法的實(shí)施例4的結(jié)構(gòu)示意圖,所述系統(tǒng)還包括判斷模塊401、解密模塊402及生成模塊403,其中:
判斷模塊401用于判斷處理器存儲的第二加密散列值是否與第二客戶端發(fā)送的第二客戶端存儲的第二加密散列值相同;
處理器將第二加密散列值存儲到區(qū)塊鏈中以后,可校驗(yàn)區(qū)塊鏈中存儲的信息與用戶存儲的信息是否相同,從而判斷區(qū)塊鏈中的信息是否被篡改,本實(shí)施例的方法可用于實(shí)現(xiàn)此功能。接收第二客戶端發(fā)送的第二客戶端存儲的第二加密散列值,判斷處理器存儲的第二加密散列值是否與第二客戶端發(fā)送的第二客戶端存儲的第二加密散列值相同。
當(dāng)處理器存儲的第二加密散列值與第二客戶端發(fā)送的第二客戶端存儲的第二加密散列值相同時(shí),解密模塊402用于基于第二公鑰解密處理器存儲的第二加密散列值生成第三加密散列值;
當(dāng)處理器存儲的第二加密散列值與第二客戶端發(fā)送的第二客戶端存儲的第二加密散列值相同時(shí),可使用已存儲的第二密鑰解密處理器存儲的第二加密散列值生成第三加密散列值。若處理器存儲的第二加密散列值為被篡改,則生成的第三加密散列值應(yīng)與上述第一加密散列值相同。
解密模塊402還用于基于第一公鑰解密第三加密散列值生成第三散列值;
可使用已存儲的第一密鑰解密第三加密散列值生成第三散列值,若第三加密散列值與上述第一加密散列值相同,則第三散列應(yīng)與上述第一散列值相同。
判斷模塊401還用于判斷第三散列值是否與第三客戶端發(fā)送的第一客戶端存儲的第一散列值相同;
第三客戶端可與第一客戶端相同,也可與第一客戶端不同,例如,第一客戶端由原始數(shù)據(jù)的利益相關(guān)方使用,第三客戶端可由第三方(監(jiān)察機(jī)構(gòu))使用,此時(shí),第一客戶端將存儲的第一散列值發(fā)送至第三客戶端,第三客戶端將此第一散列值發(fā)送至處理器。處理器判斷第三散列值是否與第三客戶端發(fā)送的第一客戶端存儲的第一散列值相同。
當(dāng)?shù)谌⒘兄蹬c第三客戶端發(fā)送的第一客戶端存儲的第一散列值相同時(shí),生成模塊403生成表示處理器存儲的第二加密散列值真實(shí)的驗(yàn)證信號;
當(dāng)?shù)谌⒘兄蹬c第三客戶端發(fā)送的第一客戶端存儲的第一散列值相同時(shí),則說明區(qū)塊鏈中存儲的第二加密散列值未被更改,此時(shí)生成用于表示處理器存儲的第二加密散列值真實(shí)的驗(yàn)證信號。
本說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其它實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見即可。
對所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實(shí)施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。