本發(fā)明涉及區(qū)塊鏈領(lǐng)域,具體而言,涉及一種區(qū)塊鏈中賬戶信息的處理方法和裝置。
背景技術(shù):
區(qū)塊鏈中的賬戶,通常由一對公私鑰組成(非對稱密鑰)。賬戶的地址通常由公鑰通過哈希變換得到,而私鑰用于證明和授權(quán)對賬戶中資源的交易。用戶以賬戶私鑰證明其身份,交易其賬戶中的資源。一旦私鑰丟失,賬戶中的資源便沒有辦法轉(zhuǎn)移或者交易。
為了避免在私鑰丟失的情況下無法對賬戶中的資源進(jìn)行轉(zhuǎn)移或者交易,現(xiàn)有技術(shù)通常采用以下兩種方案:
方案1:采用中介機(jī)構(gòu)幫助用戶托管用戶的私鑰。
方案2:將賬戶的權(quán)限托管給第三方,在賬戶私鑰丟失時(shí),代為交易或轉(zhuǎn)移資源。例如利用智能合約技術(shù)或類似技術(shù)進(jìn)行托管。
然而,上述方案必須要求在私鑰丟失前進(jìn)行托管,如果用戶在在賬戶丟失前未托管,則這些方案無效。另外,當(dāng)把私鑰或者權(quán)限托管給第三方時(shí),無法完全保證資源的安全,如果資源丟失,也可能無法證明是用戶本人還是托管方造成的,導(dǎo)致賬戶不安全。
針對上述的問題,目前尚未提出有效的解決方案。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種區(qū)塊鏈中賬戶信息的處理方法和裝置,以至少解決由于區(qū)塊鏈中賬戶的私鑰丟失造成的賬戶不安全的技術(shù)問題。
根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種區(qū)塊鏈中賬戶信息的處理方法,包括:接收用戶發(fā)送轉(zhuǎn)移請求和身份信息,其中,所述轉(zhuǎn)移請求用于請求將已丟失賬戶中的資源轉(zhuǎn)移到目標(biāo)賬戶中,所述目標(biāo)賬戶由證書中心生成;根據(jù)所述轉(zhuǎn)移請求從所述證書中心獲取所述已丟失賬戶的所有者信息;對所述身份信息和所述所有者信息進(jìn)行比對;在比對出所述身份信息和所述所有者信息一致時(shí),向區(qū)塊鏈提交認(rèn)證請求,以使所述區(qū)塊鏈根據(jù)所述認(rèn)證請求在所述區(qū)塊鏈中記錄轉(zhuǎn)移事件,其中,所述轉(zhuǎn)移事件用于指示將所述已丟失賬戶中的資源轉(zhuǎn)移到所述目標(biāo)賬戶中。
根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種區(qū)塊鏈中賬戶信息的處理裝置,包括:接收單元,用于接收用戶發(fā)送轉(zhuǎn)移請求和身份信息,其中,所述轉(zhuǎn)移請求用于請求將已丟失賬戶中的資源轉(zhuǎn)移到目標(biāo)賬戶中,所述目標(biāo)賬戶由證書中心生成;獲取單元,用于根據(jù)所述轉(zhuǎn)移請求從所述證書中心獲取所述已丟失賬戶的所有者信息;第一比對單元,用于對所述身份信息和所述所有者信息進(jìn)行比對;第一提交單元,用于在比對出所述身份信息和所述所有者信息一致時(shí),向區(qū)塊鏈提交認(rèn)證請求,以使所述區(qū)塊鏈根據(jù)所述認(rèn)證請求在所述區(qū)塊鏈中記錄轉(zhuǎn)移事件,其中,所述轉(zhuǎn)移事件用于指示將所述已丟失賬戶中的資源轉(zhuǎn)移到所述目標(biāo)賬戶中。
在本發(fā)明實(shí)施例中,采用接收用戶發(fā)送轉(zhuǎn)移請求和身份信息,其中,轉(zhuǎn)移請求用于請求將已丟失賬戶中的資源轉(zhuǎn)移到目標(biāo)賬戶中,目標(biāo)賬戶由證書中心生成;根據(jù)轉(zhuǎn)移請求從證書中心獲取已丟失賬戶的所有者信息;對身份信息和所有者信息進(jìn)行比對;在比對出身份信息和所有者信息一致時(shí),向區(qū)塊鏈提交認(rèn)證請求,以使區(qū)塊鏈根據(jù)認(rèn)證請求在區(qū)塊鏈中記錄轉(zhuǎn)移事件,其中,轉(zhuǎn)移事件用于指示將已丟失賬戶中的資源轉(zhuǎn)移到目標(biāo)賬戶中的方式,通過比對用戶提供的身份信息和已丟失賬戶所有者信息是否一致,并在比對一致時(shí),向區(qū)塊鏈提交認(rèn)證請求,達(dá)到了在區(qū)塊鏈中將將已丟失賬戶中的資源轉(zhuǎn)移到目標(biāo)賬戶中的目的,從而實(shí)現(xiàn)了在將已丟失賬戶中的資源轉(zhuǎn)移到目標(biāo)賬戶中時(shí),無需驗(yàn)證丟失賬戶的私鑰簽名的技術(shù)效果,進(jìn)而解決了由于區(qū)塊鏈中賬戶的私鑰丟失造成的賬戶不安全的技術(shù)問題。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
圖1是根據(jù)現(xiàn)有技術(shù)的區(qū)塊鏈的示意圖;
圖2是根據(jù)本發(fā)明實(shí)施例的區(qū)塊鏈中賬戶信息的處理方法的硬件環(huán)境的示意圖;
圖3是根據(jù)本發(fā)明實(shí)施例的一種可選的區(qū)塊鏈中賬戶信息的處理方法的流程圖;
圖4是根據(jù)本發(fā)明實(shí)施例的第一數(shù)據(jù)的字段列表的示意圖;
圖5是根據(jù)本發(fā)明實(shí)施例的一種可選的區(qū)塊鏈中賬戶信息的處理方法的流程圖;
圖6是根據(jù)本發(fā)明實(shí)施例的一種可選的區(qū)塊鏈中賬戶信息的處理裝置的示意圖;以及
圖7是根據(jù)本發(fā)明實(shí)施例的一種終端的結(jié)構(gòu)框圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
名詞解釋:
區(qū)塊鏈:如圖1所示,區(qū)塊鏈以區(qū)塊為單位組織數(shù)據(jù)。全網(wǎng)所有的交易記錄都可以以交易單的形式存儲(chǔ)在全網(wǎng)唯一的區(qū)塊鏈中。其中,區(qū)塊鏈中的第一個(gè)區(qū)塊為初始區(qū)塊,也稱創(chuàng)世區(qū)塊。每形成一次交易,就記錄在一個(gè)區(qū)塊中,且區(qū)塊中記錄的信息對全網(wǎng)透明,多個(gè)區(qū)塊按照一定的順序連在一起形成區(qū)塊鏈。
賬戶:區(qū)塊鏈中的賬戶,通常由一對公私鑰組成(非對稱密鑰)。賬戶的地址通常由公鑰通過哈希變換得到,而私鑰用于證明和授權(quán)對賬戶中資產(chǎn)的交易,一旦私鑰丟失,一般無法進(jìn)行常規(guī)的交易了。本文的賬戶概念類似于比特幣的比特幣地址概念。
證書中心:證書中心用于創(chuàng)建賬戶,其記錄了賬戶的公鑰、地址和賬戶所有者的身份信息。
私鑰丟失:本文中,私鑰丟失、賬戶丟失可理解為同義詞。“舊賬戶”即為已丟失的賬戶。
特殊交易:在用戶丟失私鑰情況下,通過超級賬戶,把丟失的賬戶中的資產(chǎn)轉(zhuǎn)移到一個(gè)新賬戶的交易,稱為特殊交易。
第一賬戶:指區(qū)塊鏈中的超級賬戶,超級賬戶是唯一的,在區(qū)塊鏈網(wǎng)絡(luò)中被認(rèn)可的,不可偽造的賬戶。其可以用于特殊交易。也可能用于其他用途,比如在區(qū)塊鏈中創(chuàng)造資產(chǎn)等,第一賬戶的公鑰記錄在證書中心和區(qū)塊鏈的初始區(qū)塊中。
網(wǎng)關(guān):資產(chǎn)網(wǎng)關(guān)是區(qū)塊鏈的一種有特殊權(quán)限的用戶,超級賬戶即其帳號(hào)。資產(chǎn)網(wǎng)關(guān)在區(qū)塊鏈中能夠,也只有資產(chǎn)網(wǎng)關(guān)能夠,將發(fā)行資產(chǎn)、資產(chǎn)找回等請求發(fā)送給區(qū)塊鏈業(yè)務(wù)。網(wǎng)關(guān)是另外一套系統(tǒng),例如可以是電子柜臺(tái)系統(tǒng),負(fù)責(zé)處理用戶和業(yè)務(wù)請求,再把這些請求通過區(qū)塊鏈接口(通過超級賬戶)發(fā)送給區(qū)塊鏈。代表資產(chǎn)網(wǎng)關(guān)機(jī)構(gòu),是第一賬戶(超級賬戶)的所有者,通常為區(qū)塊鏈網(wǎng)絡(luò)中的權(quán)威機(jī)構(gòu)。本文中其負(fù)責(zé)受理用戶找回資源的請求。
實(shí)施例1
根據(jù)本發(fā)明實(shí)施例,提供了一種區(qū)塊鏈中賬戶信息的處理方法的方法實(shí)施例。
可選地,在本實(shí)施例中,上述區(qū)塊鏈中賬戶信息的處理方法可以應(yīng)用于如圖2所示的由服務(wù)器202和終端204所構(gòu)成的硬件環(huán)境中。如圖2所示,服務(wù)器202通過網(wǎng)絡(luò)與終端204進(jìn)行連接,上述網(wǎng)絡(luò)包括但不限于:廣域網(wǎng)、城域網(wǎng)或局域網(wǎng),終端204并不限定于pc、手機(jī)、平板電腦等。本發(fā)明實(shí)施例的區(qū)塊鏈中賬戶信息的處理方法可以由服務(wù)器202來執(zhí)行,也可以由終端204來執(zhí)行,還可以是由服務(wù)器202和終端204共同執(zhí)行。其中,終端204執(zhí)行本發(fā)明實(shí)施例的區(qū)塊鏈中賬戶信息的處理方法也可以是由安裝在其上的客戶端來執(zhí)行。
圖3是根據(jù)本發(fā)明實(shí)施例的一種可選的區(qū)塊鏈中賬戶信息的處理方法的流程圖,如圖3所示,該方法可以包括以下步驟:
步驟s302,接收用戶發(fā)送轉(zhuǎn)移請求和身份信息,其中,轉(zhuǎn)移請求用于請求將已丟失賬戶中的資源轉(zhuǎn)移到目標(biāo)賬戶中,目標(biāo)賬戶由證書中心生成;
步驟s304,根據(jù)轉(zhuǎn)移請求從證書中心獲取已丟失賬戶的所有者信息;
步驟s306,對身份信息和所有者信息進(jìn)行比對;
步驟s308,在比對出身份信息和所有者信息一致時(shí),向區(qū)塊鏈提交認(rèn)證請求,以使區(qū)塊鏈根據(jù)認(rèn)證請求在區(qū)塊鏈中記錄轉(zhuǎn)移事件,其中,轉(zhuǎn)移事件用于指示將已丟失賬戶中的資源轉(zhuǎn)移到目標(biāo)賬戶中。
通過上述步驟s302至步驟s308,通過比對用戶提供的身份信息和已丟失賬戶所有者信息是否一致,并在比對一致時(shí),向區(qū)塊鏈提交認(rèn)證請求,以在區(qū)塊鏈中將已丟失賬戶中的資源轉(zhuǎn)移到目標(biāo)賬戶,可以解決由于區(qū)塊鏈中賬戶的私鑰丟失造成的賬戶不安全的技術(shù)問題,無需驗(yàn)證丟失賬戶的私鑰簽名即可將已丟失賬戶中的資源轉(zhuǎn)移到目標(biāo)賬戶,進(jìn)而達(dá)到了提高賬戶安全性的技術(shù)效果。
在步驟s302提供的技術(shù)方案中,用戶在丟失賬戶的私鑰時(shí),可以向網(wǎng)關(guān)發(fā)送身份信息和轉(zhuǎn)移請求,以將已丟失賬戶中的資源轉(zhuǎn)移到目標(biāo)賬戶中,具體地,在用戶丟失賬戶的私鑰時(shí),先在通過證書中心生成一個(gè)新的賬戶,將新生成的賬戶作為目標(biāo)賬戶,其中,證書中心用于創(chuàng)建賬戶,并且在用戶中心中記錄了所有賬戶的公鑰、地址和賬戶所有者的信息。用戶根據(jù)已丟失的賬戶和目標(biāo)賬戶,向網(wǎng)關(guān)發(fā)送轉(zhuǎn)移請求,該轉(zhuǎn)移請求用于向網(wǎng)關(guān)請求將已丟失賬戶中的資源轉(zhuǎn)移到目標(biāo)賬戶中,同時(shí),用戶還需要向網(wǎng)關(guān)提供身份信息,以通過該身份信息證明自己是已丟失賬戶的所有者。上述網(wǎng)關(guān)可以但不限定是由區(qū)域鏈網(wǎng)絡(luò)中的權(quán)威機(jī)構(gòu)所設(shè)置的服務(wù)器或者電子平臺(tái)或者柜臺(tái)服務(wù),網(wǎng)關(guān)用于代表該權(quán)威機(jī)構(gòu)接收用戶提交的轉(zhuǎn)移請求和身份信息。用戶提交的身份信息視具體規(guī)定,可以是其身份證件的紙質(zhì)材料或者紙質(zhì)材料的掃描件,也或者是能夠證明用戶身份及其意愿的其它格式的文件,例如:人臉圖像、瞳孔掃描等。
在步驟s304提供的技術(shù)方案中,網(wǎng)關(guān)具有從證書中心獲取其中記錄的賬戶信息的權(quán)限。為了對用戶提交的身份信息進(jìn)行驗(yàn)證,網(wǎng)關(guān)根據(jù)用戶提交的轉(zhuǎn)移請求,從證書中心獲取已丟失賬戶的所有者的信息,已丟失賬戶所有者的信息為已丟失賬戶所有者的身份信息。例如,證書中心記錄了已丟失賬戶所有者的身份證號(hào)碼或者身份證復(fù)印件的掃描件,則需要用戶提供相應(yīng)的身份證復(fù)印件等證明身份的材料?;蛘撸C書中心記錄了已丟失賬戶所有者的聲紋信息,則需要用戶提供相應(yīng)的聲紋材料。
在步驟s306提供的技術(shù)方案中,網(wǎng)關(guān)將用戶提交的身份信息與從證書中心獲取到的已丟失賬戶所有者的信息進(jìn)行比對,以確定用戶提交的身份信息與丟失賬戶的所有者信息是否一致,進(jìn)而驗(yàn)證出該用戶是否是已丟失賬戶的所有者。
在步驟s308提供的技術(shù)方案中,如果經(jīng)過驗(yàn)證,用戶提交的身份信息與已丟失賬戶的所有者的信息不一致,則該用戶的身份信息驗(yàn)證失敗,用戶不是已丟失賬戶的所有者,用戶向網(wǎng)關(guān)提交的轉(zhuǎn)移請求不合法,網(wǎng)關(guān)不會(huì)對該轉(zhuǎn)移請求作出響應(yīng);如果用戶提交的身份信息與已丟失賬戶的所有者信息一致,則用戶的身份信息驗(yàn)證成功,該用戶即為已丟失的賬戶的所有者,網(wǎng)關(guān)對該用戶提交的轉(zhuǎn)移請求作出響應(yīng)。具體地,網(wǎng)關(guān)根據(jù)用戶提交的轉(zhuǎn)移請求,向區(qū)塊鏈提交認(rèn)證請求,以使區(qū)塊鏈記錄一個(gè)轉(zhuǎn)移事件,指示將上述已丟失賬戶的資源轉(zhuǎn)移到目標(biāo)賬戶中。例如,在區(qū)塊鏈中新增一個(gè)區(qū)塊,用來記錄上述轉(zhuǎn)移事件,從而完成了將上述已丟失賬戶的資源轉(zhuǎn)移到目標(biāo)賬戶中。
本發(fā)明實(shí)施例所提供的方法可以應(yīng)用于各種區(qū)塊鏈模式下的數(shù)字支付場景中,如:區(qū)塊鏈模式下的銀行、有價(jià)證券、黃金交易的賬戶交易,也可以是區(qū)塊鏈模式下的虛擬資源的交易場景中,如:網(wǎng)絡(luò)游戲中游戲賬戶的虛擬資源的交易等。
可選地,向區(qū)塊鏈提交認(rèn)證請求包括:利用第一賬戶的私鑰對初始數(shù)據(jù)進(jìn)行簽名,得到第一數(shù)據(jù),其中,初始數(shù)據(jù)包括已丟失賬戶的信息、目標(biāo)賬戶的信息、身份信息、轉(zhuǎn)移請求和資源列表,資源列表為已丟失賬戶中等待轉(zhuǎn)移的所有資源的列表;根據(jù)第一數(shù)據(jù)生成認(rèn)證請求;向區(qū)塊鏈提交攜帶有初始數(shù)據(jù)的認(rèn)證請求。
作為一種可選的實(shí)施例,網(wǎng)關(guān)在向區(qū)塊鏈提交認(rèn)證請求時(shí),先根據(jù)接收到的轉(zhuǎn)移請求獲取初始數(shù)據(jù),再對初始數(shù)據(jù)進(jìn)行簽名得到第一數(shù)據(jù),如圖4所示,可選地,在第一數(shù)據(jù)中包括有初始數(shù)據(jù)和網(wǎng)關(guān)對初始數(shù)據(jù)的簽名,在初始數(shù)據(jù)中包含了已丟失賬戶的信息、目標(biāo)賬戶的信息、用戶提交的身份信息、轉(zhuǎn)移請求以及需要從已丟失賬戶中轉(zhuǎn)移到目標(biāo)賬戶的所有資源的列表。網(wǎng)關(guān)根據(jù)上述第一數(shù)據(jù)生成認(rèn)證請求,最后將認(rèn)證請求提交給區(qū)塊鏈。
區(qū)塊鏈中存在第一賬戶,可選地,第一賬戶可以是區(qū)塊鏈中的超級賬號(hào),第一賬戶在區(qū)塊鏈中是唯一的并且不可偽造的賬戶,而網(wǎng)關(guān)是第一賬戶的所有者,具有第一賬戶的私鑰。網(wǎng)關(guān)可以利用第一賬戶私鑰對初始數(shù)據(jù)進(jìn)行簽名從而得到第一數(shù)據(jù)。網(wǎng)關(guān)向區(qū)塊鏈提交的認(rèn)證請求是根據(jù)第一數(shù)據(jù)生成的,而第一數(shù)據(jù)是利用第一賬戶的私鑰對初始數(shù)據(jù)進(jìn)行簽名得到的,網(wǎng)關(guān)作為第一賬戶的所有者且擁有第一賬戶私鑰,要對上述認(rèn)證請求,也即初始數(shù)據(jù)中信息的真實(shí)性承擔(dān)責(zé)任。因此,區(qū)塊鏈只需要驗(yàn)證網(wǎng)關(guān)利用私鑰對初始數(shù)據(jù)進(jìn)行簽名是否合法,并在合法的情況下確認(rèn)認(rèn)證通過,記錄轉(zhuǎn)移事件。
可選地,利用第一賬戶的私鑰對初始數(shù)據(jù)進(jìn)行簽名,得到第一數(shù)據(jù)包括:利用第一賬戶的公鑰對身份信息和轉(zhuǎn)移請求進(jìn)行加密,得到第二數(shù)據(jù);利用第一賬戶的私鑰對已丟失賬戶的信息、目標(biāo)賬戶的信息、資源列表和第二數(shù)據(jù)進(jìn)行簽名,得到第一數(shù)據(jù)。
作為一種可選的實(shí)施例,為了保護(hù)用戶的隱私,防止用戶的個(gè)人資料泄漏,可以對用戶提交的身份信息和轉(zhuǎn)移請求進(jìn)行加密。具體地,網(wǎng)關(guān)在利用上述第一賬戶的私鑰對初始數(shù)據(jù)進(jìn)行簽名得到第一數(shù)據(jù)時(shí),先從證書中心獲取第一賬戶的公鑰,并利用第一賬戶的公鑰對用戶提交的身份信息和轉(zhuǎn)移請求進(jìn)行加密得到第二數(shù)據(jù);再利用第一賬戶的私鑰對已丟失賬戶的信息、目標(biāo)賬戶的信息、資源列表及上述第二數(shù)據(jù)進(jìn)行簽名,得到第一數(shù)據(jù)。網(wǎng)關(guān)根據(jù)第一數(shù)據(jù)生成認(rèn)證請求,并將認(rèn)證請求提交到區(qū)塊鏈之后,由于用戶提交的身份信息和轉(zhuǎn)移請求被第一賬戶的公鑰加密過,其他人從僅可以從區(qū)塊鏈上獲取到加密后的用戶的身份信息和轉(zhuǎn)移請求,而無法獲取到用戶的身份信息和轉(zhuǎn)移請求的原文。
本發(fā)明還提供了一種優(yōu)選實(shí)施例,該優(yōu)選實(shí)施例中,利用第一賬戶的私鑰對初始數(shù)據(jù)進(jìn)行簽名,得到第一數(shù)據(jù)包括:利用第一賬戶的私鑰對身份信息和轉(zhuǎn)移請求進(jìn)行簽名,得到第三數(shù)據(jù);利用第一賬戶的私鑰對已丟失賬戶的信息、目標(biāo)賬戶的信息、資源列表和第三數(shù)據(jù)進(jìn)行簽名,得到第一數(shù)據(jù)。
網(wǎng)關(guān)在利用上述第一賬戶的私鑰對初始數(shù)據(jù)進(jìn)行簽名得到第一數(shù)據(jù)時(shí),先利用第一賬戶的私鑰對用戶提交的身份信息和轉(zhuǎn)移請求進(jìn)行簽名,得到第三數(shù)據(jù);再利用第一賬戶的私鑰對已丟失賬戶的信息、目標(biāo)賬戶的信息、資源列表及上述第三數(shù)據(jù)進(jìn)行簽名,得到第一數(shù)據(jù)。由于網(wǎng)關(guān)利用第一賬戶的私鑰對用戶提交的身份信息和轉(zhuǎn)移請求進(jìn)行簽名的過程是先對用戶提交的身份信息和轉(zhuǎn)移請求進(jìn)行哈希變換,再對其進(jìn)行加密從而得到第三數(shù)據(jù),而哈希變換的過程是不可逆的,因此,在網(wǎng)關(guān)根據(jù)第一數(shù)據(jù)生成認(rèn)證請求,并將認(rèn)證請求提交到區(qū)塊鏈之后,即使其他人能夠解密得到的也是經(jīng)過哈希變換后的身份信息和轉(zhuǎn)移請求,無法獲得用戶的身份信息和轉(zhuǎn)稱請求的原文,可以保護(hù)用戶的隱私不被泄露。
可選地,在比對出身份信息和所有者信息一致時(shí),向區(qū)塊鏈提交認(rèn)證請求,以使區(qū)塊鏈根據(jù)認(rèn)證請求在區(qū)塊鏈中記錄轉(zhuǎn)移事件包括:區(qū)塊鏈根據(jù)認(rèn)證請求獲取第一數(shù)據(jù);區(qū)塊鏈對第一數(shù)據(jù)進(jìn)行驗(yàn)證;在驗(yàn)證通過后,區(qū)塊鏈根據(jù)初始數(shù)據(jù)記錄轉(zhuǎn)移事件。
作為一種可選的實(shí)施例,在網(wǎng)關(guān)將認(rèn)證請求提交給區(qū)塊鏈,以使區(qū)塊鏈根據(jù)認(rèn)證請求記錄轉(zhuǎn)移事件的過程中,區(qū)塊鏈從網(wǎng)關(guān)提交的認(rèn)證請求中獲取第一數(shù)據(jù),并對第一數(shù)據(jù)進(jìn)行驗(yàn)證,在驗(yàn)證成功之后,區(qū)塊鏈信任該認(rèn)證請求中攜帶的初始數(shù)據(jù),并根據(jù)認(rèn)證請求中的初始數(shù)據(jù)記錄轉(zhuǎn)移事件。
區(qū)塊鏈對第一數(shù)據(jù)進(jìn)行驗(yàn)證時(shí),只需從證書中心獲取第一賬戶的公鑰,并利用第一賬戶的公鑰對第一數(shù)據(jù)進(jìn)行驗(yàn)證,如果驗(yàn)證成功,則區(qū)塊鏈信任該認(rèn)證請求,并獲取該認(rèn)證請求中攜帶的初始數(shù)據(jù),以及根據(jù)該初始數(shù)據(jù)記錄轉(zhuǎn)移事件。如圖4所示,在區(qū)塊鏈對第一數(shù)據(jù)的認(rèn)證過程中,區(qū)塊鏈僅對圖4中第五列的簽名進(jìn)行驗(yàn)證,而不需要對前4列的初始數(shù)據(jù)進(jìn)行驗(yàn)證,第五列的簽名是網(wǎng)關(guān)利用第一賬戶的私鑰對前面四列初始數(shù)據(jù)的簽名,當(dāng)區(qū)塊對第五列的簽名進(jìn)行驗(yàn)證之后,即選擇信任前四列的初始數(shù)據(jù),而前面四列初始數(shù)據(jù)的真實(shí)性由網(wǎng)關(guān)來負(fù)責(zé)驗(yàn)證,即由網(wǎng)關(guān)承擔(dān)對初始數(shù)據(jù)的驗(yàn)證責(zé)任。
在上述驗(yàn)證過程中,由于身份信息和轉(zhuǎn)移請求的核對是由網(wǎng)關(guān)完成的,區(qū)塊鏈信任網(wǎng)關(guān)的核對結(jié)果,因此,區(qū)塊鏈只需驗(yàn)證網(wǎng)關(guān)對第一數(shù)據(jù)的簽名是否是真的,而無需對用戶的身份信息和轉(zhuǎn)移請求進(jìn)行驗(yàn)證。只要區(qū)塊鏈驗(yàn)證網(wǎng)關(guān)對第一數(shù)據(jù)的簽名為真,則認(rèn)可接收到的認(rèn)證請求,并記錄轉(zhuǎn)移事件,從而將已丟失賬戶中的資源轉(zhuǎn)移到目標(biāo)賬戶中。
可選地,區(qū)塊鏈對第一數(shù)據(jù)進(jìn)行驗(yàn)證包括:區(qū)塊鏈的多個(gè)區(qū)塊從證書中心或者區(qū)塊鏈的初始區(qū)塊中獲取第一賬戶的公鑰;區(qū)塊鏈的多個(gè)區(qū)塊利用第一賬戶的公鑰對第一數(shù)據(jù)進(jìn)行驗(yàn)證。
作為一種可選的實(shí)施例,區(qū)塊鏈包括多個(gè)區(qū)塊,在區(qū)塊鏈對第一數(shù)據(jù)進(jìn)行驗(yàn)證的過程中,區(qū)塊鏈的多個(gè)區(qū)塊中每一個(gè)區(qū)塊從證書中心或者區(qū)塊鏈中的初始區(qū)塊中獲取第一賬戶的公鑰,并利用第一賬戶的公鑰對第一數(shù)據(jù)進(jìn)行驗(yàn)證,如果多個(gè)區(qū)塊中的多數(shù)區(qū)塊都驗(yàn)證成功,則區(qū)塊鏈對第一數(shù)據(jù)的驗(yàn)證成功,區(qū)塊選擇信任該第一數(shù)據(jù)中的初始數(shù)據(jù)。在每個(gè)區(qū)塊對第一數(shù)據(jù)進(jìn)行驗(yàn)證的過程中,每個(gè)區(qū)塊僅需驗(yàn)證網(wǎng)關(guān)對第一數(shù)據(jù)的簽名是否為真,而不需要對初始數(shù)據(jù)中用戶提交的身份信息和轉(zhuǎn)移請求進(jìn)行驗(yàn)證。由網(wǎng)關(guān)承擔(dān)對用戶提交的身份信息和轉(zhuǎn)移申請的真實(shí)性的進(jìn)行驗(yàn)證的責(zé)任。
可選地,在向區(qū)塊鏈提交認(rèn)證請求,以使區(qū)塊鏈根據(jù)認(rèn)證請求在區(qū)塊鏈中記錄轉(zhuǎn)移事件之后,方法還包括:區(qū)塊鏈對目標(biāo)賬戶設(shè)置凍結(jié)期,其中,在凍結(jié)期內(nèi)目標(biāo)賬戶中的資源處于不允許轉(zhuǎn)移的狀態(tài)。
作為一種可選的實(shí)施例,為了解決錯(cuò)誤的將已丟失賬戶中的資源轉(zhuǎn)移到目標(biāo)賬戶造成已丟失賬號(hào)的損失,在區(qū)塊鏈根據(jù)網(wǎng)關(guān)提交的認(rèn)證請求記錄轉(zhuǎn)移事件之后,區(qū)塊鏈對目標(biāo)賬戶設(shè)置一個(gè)凍結(jié)期,在該凍結(jié)期內(nèi),目標(biāo)賬戶中的資源無法被轉(zhuǎn)移。如果在區(qū)塊鏈對目標(biāo)賬戶設(shè)置的凍結(jié)期內(nèi),已丟失賬戶的所有者提出異議,例如:已丟失賬戶的所有者實(shí)際并未發(fā)起轉(zhuǎn)移請求,或者在對已丟失賬戶中的資源進(jìn)行轉(zhuǎn)移的過程中發(fā)生錯(cuò)誤,或者已丟失賬戶的所有者認(rèn)為網(wǎng)關(guān)或者其他人存在欺詐等,區(qū)塊鏈可以將已丟失賬戶轉(zhuǎn)移到目標(biāo)賬戶的資源重新退回給已丟失賬戶,以保護(hù)已丟失賬戶的所有者的權(quán)益。具體地,將目標(biāo)賬戶中的資源重新退回給已丟失賬戶的過程與將已丟失賬戶的資源轉(zhuǎn)移到目標(biāo)賬戶的過程相同,由已丟失賬戶的所有者向網(wǎng)關(guān)提供身份信息和資源退回請求,由網(wǎng)關(guān)驗(yàn)證身份信息和資源退回請求,并在驗(yàn)證通過后根據(jù)用戶的身份信息和資源退回請求向區(qū)塊鏈提交認(rèn)證請求,區(qū)塊鏈根據(jù)認(rèn)證請求記錄轉(zhuǎn)移事件,從而將目標(biāo)賬戶中的資源退回到已丟失賬戶中。
可選地,在向區(qū)塊鏈提交認(rèn)證請求,以使區(qū)塊鏈根據(jù)認(rèn)證請求在區(qū)塊鏈中記錄轉(zhuǎn)移事件之后,方法還包括:從區(qū)塊鏈中提取初始數(shù)據(jù),其中,初始數(shù)據(jù)包括網(wǎng)關(guān)利用第一賬戶的公鑰對身份信息和轉(zhuǎn)移請求進(jìn)行加密后得到的第二數(shù)據(jù);利用第一賬戶的私鑰對第二數(shù)據(jù)進(jìn)行解密,得到第一解密數(shù)據(jù);比對第一解密數(shù)據(jù)與網(wǎng)關(guān)本地存儲(chǔ)的數(shù)據(jù)是否一致;如果比對出第一解密數(shù)據(jù)與本地存儲(chǔ)的數(shù)據(jù)不一致,則確定本地存儲(chǔ)的數(shù)據(jù)被篡改。
作為一種可選的實(shí)施例,為了避免用戶發(fā)送給網(wǎng)關(guān)的初始數(shù)據(jù)在被提交給區(qū)塊鏈的過程中被篡改,還可以對區(qū)塊鏈所記錄的初始數(shù)據(jù)進(jìn)行驗(yàn)證。例如:在將已丟失賬戶中的資源轉(zhuǎn)移到目標(biāo)賬戶中之后,已丟失賬戶的所有者提出網(wǎng)關(guān)或者他人存在欺詐,要求退回被轉(zhuǎn)移的資源,或者目標(biāo)賬戶的凍結(jié)期已經(jīng)結(jié)束,轉(zhuǎn)移到目標(biāo)賬戶的資源已經(jīng)被再次轉(zhuǎn)移,從而無法將其退回到已丟失的賬戶,需要通過司法手段對已丟失賬戶的所有者進(jìn)行賠償時(shí),需要網(wǎng)關(guān)提供存儲(chǔ)在本地的身份信息和轉(zhuǎn)移請求作為證據(jù),并可以通過驗(yàn)證的方式證實(shí)網(wǎng)關(guān)提供的身份信息和轉(zhuǎn)移請求即是網(wǎng)關(guān)提交給區(qū)塊鏈的身份信息和轉(zhuǎn)移請求,而未被篡改過。具體地,如果網(wǎng)關(guān)提交給區(qū)塊鏈的認(rèn)證請求中包含的身份信息和轉(zhuǎn)移數(shù)據(jù)是利用第一賬戶的公鑰進(jìn)行加密的,則網(wǎng)關(guān)從區(qū)塊鏈中提取初始數(shù)據(jù),在該初始數(shù)據(jù)中即包括了網(wǎng)關(guān)利用第一賬戶的公鑰對用戶提交的身份信息和轉(zhuǎn)移請求進(jìn)行加密得到的第二數(shù)據(jù),網(wǎng)關(guān)利用第一賬戶的私鑰對第二數(shù)據(jù)進(jìn)行解密即可得到用戶提交的身份信息和轉(zhuǎn)移請求的原文,即第一解密數(shù)據(jù)。網(wǎng)關(guān)對第一解密數(shù)據(jù)與網(wǎng)關(guān)本地存儲(chǔ)的數(shù)據(jù)進(jìn)行比對,如果第一解密數(shù)據(jù)與網(wǎng)關(guān)本地存儲(chǔ)的數(shù)據(jù)一致,則網(wǎng)關(guān)本地存儲(chǔ)的數(shù)據(jù)未被篡改,如果第一解密數(shù)據(jù)與網(wǎng)關(guān)本地存儲(chǔ)的數(shù)據(jù)不一致,則網(wǎng)關(guān)本地存儲(chǔ)的數(shù)據(jù)被篡改過。
可選地,在向區(qū)塊鏈提交認(rèn)證請求,以使區(qū)塊鏈根據(jù)認(rèn)證請求在區(qū)塊鏈中記錄轉(zhuǎn)移事件之后,方法還包括:從區(qū)塊鏈中提取初始數(shù)據(jù),其中,初始數(shù)據(jù)包括利用第一賬戶的私鑰對身份信息和轉(zhuǎn)移請求進(jìn)行簽名后得到的第三數(shù)據(jù);利用第一賬戶的公鑰對第三數(shù)據(jù)進(jìn)行解密,得到第二解密數(shù)據(jù);對本地存儲(chǔ)的數(shù)據(jù)進(jìn)行哈希變換,得到哈希變換后的數(shù)據(jù);比對第二解密數(shù)據(jù)與哈希變換后的數(shù)據(jù)是否一致;如果比對出第二解密數(shù)據(jù)與哈希變換后的數(shù)據(jù)不一致,則確定本地存儲(chǔ)的數(shù)據(jù)被篡改。
作為一種可選的實(shí)施例,在驗(yàn)證網(wǎng)關(guān)提供的身份信息和轉(zhuǎn)移請求是否與網(wǎng)關(guān)提交給區(qū)塊鏈的身份信息和轉(zhuǎn)移請求一致時(shí),如果網(wǎng)關(guān)提交給區(qū)塊鏈的認(rèn)證請求中包含的身份信息和轉(zhuǎn)移數(shù)據(jù)是利用第一賬戶的私鑰進(jìn)行簽名的,則網(wǎng)關(guān)從區(qū)塊鏈中提取初始數(shù)據(jù),在該初始數(shù)據(jù)中即包括了網(wǎng)關(guān)利用第一賬戶的私鑰對用戶提交的身份信息和轉(zhuǎn)移請求進(jìn)行簽名得到的第三數(shù)據(jù),網(wǎng)關(guān)利用第一賬戶的公鑰對第三數(shù)據(jù)進(jìn)行解密即可得到第二解密數(shù)據(jù),該數(shù)據(jù)是身份信息和轉(zhuǎn)移請求經(jīng)過哈希轉(zhuǎn)換后得到的。網(wǎng)關(guān)對第一解密數(shù)據(jù)與網(wǎng)關(guān)本地存儲(chǔ)的數(shù)據(jù)進(jìn)行比對,如果第一解密數(shù)據(jù)與網(wǎng)關(guān)本地存儲(chǔ)的數(shù)據(jù)一致,則網(wǎng)關(guān)本地存儲(chǔ)的數(shù)據(jù)未被篡改,如果第一解密數(shù)據(jù)與網(wǎng)關(guān)本地存儲(chǔ)的數(shù)據(jù)不一致,則網(wǎng)關(guān)本地存儲(chǔ)的數(shù)據(jù)被篡改過。網(wǎng)關(guān)對本地存儲(chǔ)的身份信息和轉(zhuǎn)移請求進(jìn)行哈希變換,得到哈希變換后的數(shù)據(jù),將第二解密數(shù)據(jù)與上述哈希變換后的數(shù)據(jù)進(jìn)行比對,如果第二解密數(shù)據(jù)與哈希變換后的數(shù)據(jù)一致,則網(wǎng)關(guān)本地存儲(chǔ)的數(shù)據(jù)與區(qū)塊鏈記錄的數(shù)據(jù)一致,網(wǎng)關(guān)本地存儲(chǔ)的數(shù)據(jù)未被篡改,如果第二解密數(shù)據(jù)與哈希變換后的數(shù)據(jù)不一致,則網(wǎng)關(guān)本地存儲(chǔ)的數(shù)據(jù)與區(qū)塊鏈上記錄的數(shù)據(jù)不一致,網(wǎng)關(guān)本地存儲(chǔ)的數(shù)據(jù)被篡改過。
可選地,在向區(qū)塊鏈提交認(rèn)證請求,以使區(qū)塊鏈根據(jù)認(rèn)證請求在區(qū)塊鏈中記錄轉(zhuǎn)移事件之后,方法還包括:客戶端根據(jù)用戶發(fā)送的核查指令從區(qū)塊鏈中提取初始數(shù)據(jù),其中初始數(shù)據(jù)包括利用第一賬戶的公鑰對身份信息和轉(zhuǎn)移請求進(jìn)行加密后得到的第二數(shù)據(jù),核查指令用于指示對第二數(shù)據(jù)進(jìn)行核查;客戶端利用第一賬戶的公鑰對用戶發(fā)送的轉(zhuǎn)移請求和身份信息進(jìn)行加密,得到第四數(shù)據(jù);客戶端比對第二數(shù)據(jù)與第四數(shù)據(jù)是否一致,得到比對結(jié)果,其中,如果比對結(jié)果為一致,則用戶發(fā)送的轉(zhuǎn)移請求和身份信息未被篡改,如果比對結(jié)果為不一致,則用戶發(fā)送的轉(zhuǎn)移請求和身份信息被篡改。
可選地,在向區(qū)塊鏈提交認(rèn)證請求,以使區(qū)塊鏈根據(jù)認(rèn)證請求在區(qū)塊鏈中記錄轉(zhuǎn)移事件之后,方法還包括:客戶端根據(jù)用戶發(fā)送的核查指令從區(qū)塊鏈中提取初始數(shù)據(jù),其中初始數(shù)據(jù)包括利用第一賬戶的私鑰對身份信息和轉(zhuǎn)移請求進(jìn)行簽名后得到的第三數(shù)據(jù),核查指令用于指示對第三數(shù)據(jù)進(jìn)行核查;客戶端對用戶發(fā)送的轉(zhuǎn)移請求和身份信息進(jìn)行哈希變換,得到第五數(shù)據(jù);客戶端利用第一賬戶的公鑰對第三數(shù)據(jù)進(jìn)行解密,得到第三解密數(shù)據(jù);客戶端比對第五數(shù)據(jù)與第三解密數(shù)據(jù)是否一致,得到比對結(jié)果,其中,如果比對結(jié)果為一致,則用戶發(fā)送的轉(zhuǎn)移請求和身份信息未被篡改,如果比對結(jié)果為不一致,則用戶發(fā)送的轉(zhuǎn)移請求和身份信息被篡改。
作為一種可選的實(shí)施例,用戶可以通過客戶端對區(qū)塊鏈記錄的身份信息和轉(zhuǎn)移請求進(jìn)行核查,以確保區(qū)塊鏈記錄的初始信息為真實(shí)的未被篡改過的??蛇x的,用于核查的客戶端可以是由網(wǎng)關(guān)發(fā)布的核查客戶端,該客戶端可以模仿網(wǎng)關(guān)對用戶的身份信息和用戶的轉(zhuǎn)移請求進(jìn)行加密或者簽名,并得到加密獲者簽名后的數(shù)據(jù)。具體地,在區(qū)塊鏈已經(jīng)根據(jù)網(wǎng)關(guān)提交的認(rèn)證請求記錄轉(zhuǎn)移事件之后,用戶向客戶端發(fā)送核查指令,該核查指令中包括用戶向網(wǎng)關(guān)提交的身份信息和轉(zhuǎn)移請求的原文??蛻舳私邮盏接脩舻暮瞬橹噶詈?,根據(jù)該核查指令獲取用戶的身份信息和轉(zhuǎn)移請求,再提取區(qū)塊鏈記錄的用戶身份信息和轉(zhuǎn)移請求,通過驗(yàn)證來證實(shí)用戶的身份信息和轉(zhuǎn)移請求與區(qū)塊鏈記錄的用戶身份信息和轉(zhuǎn)移請求是否一致。具體地,如果網(wǎng)關(guān)提交給區(qū)塊鏈的認(rèn)證請求中包含的身份信息和轉(zhuǎn)移數(shù)據(jù)是經(jīng)過加密的,即利用第一賬戶的公鑰對身份信息和轉(zhuǎn)移數(shù)據(jù)進(jìn)行加密得到的第二數(shù)據(jù),則客戶端利用第一賬戶的公鑰對用戶的身份信息和轉(zhuǎn)移請求進(jìn)行加密,得到第四數(shù)據(jù),再將第四數(shù)據(jù)與區(qū)塊鏈上記錄的用戶身份信息和轉(zhuǎn)移請求進(jìn)行比對,得到比對結(jié)果。如果比對結(jié)果為一致,說明區(qū)塊鏈上記錄的初始數(shù)據(jù)即是用戶實(shí)際提交給網(wǎng)關(guān)的初始數(shù)據(jù);如果比對結(jié)果為不一致,說明區(qū)塊鏈上記錄的初始數(shù)據(jù)與用戶實(shí)際提交給網(wǎng)關(guān)的初始數(shù)據(jù)不一致,用戶需要向網(wǎng)關(guān)申訴;如果網(wǎng)關(guān)提交給區(qū)塊鏈的認(rèn)證請求中包含的身份信息和轉(zhuǎn)移數(shù)據(jù)是經(jīng)過簽名的,即利用第一賬戶的私鑰對身份信息和轉(zhuǎn)移數(shù)據(jù)進(jìn)行簽名得到的第三數(shù)據(jù),則客戶端利用第一賬戶的公鑰對第三數(shù)據(jù)進(jìn)行解密得到第三解密數(shù)據(jù),同時(shí)對用戶的身份信息和轉(zhuǎn)移請求進(jìn)行哈希變換得到第五數(shù)據(jù),再將第五數(shù)據(jù)與第三解密數(shù)據(jù)進(jìn)行比對,得到比對結(jié)果。如果比對結(jié)果為一致,說明區(qū)塊鏈上記錄的初始數(shù)據(jù)即是用戶實(shí)際提交給網(wǎng)關(guān)的初始數(shù)據(jù);如果比對結(jié)果為不一致,說明區(qū)塊鏈上記錄的初始數(shù)據(jù)與用戶實(shí)際提交給網(wǎng)關(guān)的初始數(shù)據(jù)不一致,用戶可以向網(wǎng)關(guān)申訴。
可選地,需要用戶向網(wǎng)關(guān)申訴,或者起訴網(wǎng)關(guān)要求網(wǎng)關(guān)提供證據(jù)可能但不限定于存在以下幾種情況:一種情況:網(wǎng)關(guān)接收到的轉(zhuǎn)移請求為其他用戶發(fā)起的錯(cuò)誤或者虛假請求,網(wǎng)關(guān)在驗(yàn)證進(jìn)程中疏忽導(dǎo)致區(qū)塊鏈根據(jù)該錯(cuò)誤或者虛假請求記錄了轉(zhuǎn)移事件,用戶發(fā)現(xiàn)時(shí),尚處于目標(biāo)賬戶的凍結(jié)期,在網(wǎng)關(guān)對材料進(jìn)行重新核對之后,可以根據(jù)用戶的退回請求將已轉(zhuǎn)移的資源重新退回到該資源的原賬戶中,也即轉(zhuǎn)移請求中的已丟失賬戶。另一種情況:在用戶發(fā)現(xiàn)時(shí),已超過了目標(biāo)賬戶的凍結(jié)期,已轉(zhuǎn)移的資源無法退回,則用戶可以向仲裁機(jī)構(gòu)起訴網(wǎng)關(guān),由仲裁機(jī)構(gòu)要求網(wǎng)關(guān)提供接收到的用戶身份信息和轉(zhuǎn)移請求,并將其作為證據(jù),如果該證據(jù)能夠證明網(wǎng)關(guān)失誤造成了用戶的損失,則由網(wǎng)關(guān)負(fù)責(zé)承擔(dān)責(zé)任并對用戶進(jìn)行賠償。需要說明的是,網(wǎng)關(guān)提供給仲裁機(jī)構(gòu)的證據(jù)無法篡改,如果該證據(jù)被網(wǎng)關(guān)篡改,仲裁機(jī)構(gòu)通過將證據(jù)再次加密或者簽名,并與區(qū)塊鏈上記錄的初始數(shù)據(jù)進(jìn)行比對,比對結(jié)果將不一致。第三種情況:網(wǎng)關(guān)自身弄虛作假,將真實(shí)的用戶份息和轉(zhuǎn)移請求偽造成虛假的初始數(shù)據(jù)。當(dāng)用戶發(fā)現(xiàn)后可以向仲裁機(jī)構(gòu)起訴網(wǎng)關(guān)。網(wǎng)關(guān)只能向仲裁機(jī)構(gòu)提供其偽造的虛假初始數(shù)據(jù)作為證據(jù),否則網(wǎng)關(guān)提供的證據(jù)經(jīng)過加密或者簽名之后,將與區(qū)塊鏈記錄的初始數(shù)據(jù)不一致。
上述根據(jù)本發(fā)明的方法實(shí)施例提供了在用戶的賬戶私鑰丟失的情況下,將區(qū)塊鏈中已丟失賬戶的資源轉(zhuǎn)移到目標(biāo)賬戶的方法,并且在資源轉(zhuǎn)移之后,當(dāng)發(fā)生糾紛或者欺詐行為時(shí),能夠提供完整的無法篡改的證據(jù)來找回資源或者鑒定責(zé)任,從而保障區(qū)塊鏈中各方的利益。
圖5是根據(jù)本發(fā)明實(shí)施例的一種可選的區(qū)塊鏈中賬戶信息的處理方法的流程圖,如圖5所示,該方法包括以下步驟:
步驟s501,用戶從證書中心中生成目標(biāo)賬戶,并向網(wǎng)關(guān)提交轉(zhuǎn)移請求和身份信息。在用戶丟失賬戶的私鑰時(shí),先在通過證書中心生成一個(gè)新的賬戶,將新生成的賬戶作為目標(biāo)賬戶,其中,證書中心用于創(chuàng)建賬戶,并且在用戶中心中記錄了所有賬戶的公鑰、地址和賬戶所有者的信息。用戶根據(jù)已丟失的賬戶和目標(biāo)賬戶,向網(wǎng)關(guān)發(fā)送轉(zhuǎn)移請求,該轉(zhuǎn)移請求用于向網(wǎng)關(guān)請求將已丟失賬戶中的資源轉(zhuǎn)移到目標(biāo)賬戶中,同時(shí),用戶還需要向網(wǎng)關(guān)提供身份信息,以通過該身份信息證明自己是已丟失賬戶的所有者。
步驟s502,網(wǎng)關(guān)接收用戶提交的轉(zhuǎn)移請求和身份信息,并根據(jù)轉(zhuǎn)移請求從證書中心中獲取已丟失賬戶的所有者信息。網(wǎng)關(guān)具有從證書中心獲取其中記錄的賬戶信息的權(quán)限,網(wǎng)關(guān)根據(jù)用戶提交的轉(zhuǎn)移請求,從證書中心獲取已丟失賬戶的所有者的身份信息,以對用戶提交的身份信息進(jìn)行驗(yàn)證。例如,證書中心記錄了已丟失賬戶所有者的身份證號(hào)碼或者身份證復(fù)印件的掃描件,則需要用戶提供相應(yīng)的身份證復(fù)印件等證明身份的材料?;蛘撸C書中心記錄了已丟失賬戶所有者的聲紋信息,則需要用戶提供相應(yīng)的聲紋材料。
步驟s503,網(wǎng)關(guān)對用戶提交的身份信息和已丟失賬戶的所有者信息進(jìn)行比對。網(wǎng)關(guān)將用戶提交的身份信息與從證書中心獲取到的已丟失賬戶所有者的信息進(jìn)行比對,以確定用戶提交的身份信息與丟失賬戶的所有者信息是否一致,進(jìn)而驗(yàn)證出該用戶是否是已丟失賬戶的所有者。
步驟s504,在用戶提交的身份信息和已丟失賬戶的所有者信息一致時(shí),網(wǎng)關(guān)利用第一賬戶的公鑰對用戶提交的身份信息和轉(zhuǎn)移請求進(jìn)行加密,得到第二數(shù)據(jù)。為了保護(hù)用戶的隱私,防止用戶的個(gè)人資料泄漏,網(wǎng)關(guān)先證書中心獲取第一賬戶的公鑰,并利用第一賬戶的公鑰對用戶提交的身份信息和轉(zhuǎn)移請求進(jìn)行加密得到第二數(shù)據(jù)。
步驟s505,網(wǎng)關(guān)利用第一賬戶的私鑰對已丟失賬戶的信息、目標(biāo)賬戶的信息、資源列表和第二數(shù)據(jù)進(jìn)行簽名,得到第一數(shù)據(jù),根據(jù)第一數(shù)據(jù)生成認(rèn)證請求,并將認(rèn)證請求提交給區(qū)塊鏈。
步驟s506,區(qū)塊鏈根據(jù)接收到的認(rèn)證請求獲取第一數(shù)據(jù),由區(qū)塊鏈的多個(gè)區(qū)塊利用第一賬戶的公鑰對第一數(shù)據(jù)進(jìn)行驗(yàn)證,驗(yàn)證成功后得到初始數(shù)據(jù)。區(qū)塊鏈從網(wǎng)關(guān)提交的認(rèn)證請求中獲取第一數(shù)據(jù),并由區(qū)塊鏈中的多個(gè)區(qū)塊利用第一賬戶的公鑰對第一數(shù)據(jù)進(jìn)行驗(yàn)證,如果驗(yàn)證成功,則區(qū)塊鏈可以從第一數(shù)據(jù)中獲取初始數(shù)據(jù)。在上述驗(yàn)證過程中,由于身份信息和轉(zhuǎn)移請求的核對是由網(wǎng)關(guān)完成的,區(qū)塊鏈信任網(wǎng)關(guān)的核對結(jié)果,因此,區(qū)塊鏈只需驗(yàn)證網(wǎng)關(guān)對第一數(shù)據(jù)的簽名是否是真的,而無需對用戶的身份信息和轉(zhuǎn)移請求進(jìn)行驗(yàn)證。
步驟s507,區(qū)塊鏈根據(jù)初始數(shù)據(jù)記錄轉(zhuǎn)移事件,以將已丟失賬戶中的資源轉(zhuǎn)移到目標(biāo)賬戶中。區(qū)塊鏈可以新增一個(gè)區(qū)塊,用來記錄上述轉(zhuǎn)移事件,從而完成了將上述已丟失賬戶的資源轉(zhuǎn)移到目標(biāo)賬戶中。
步驟s508,區(qū)塊鏈對目標(biāo)賬戶設(shè)置凍結(jié)期。為了解決錯(cuò)誤的將已丟失賬戶中的資源轉(zhuǎn)移到目標(biāo)賬戶造成已丟失賬號(hào)的損失,在區(qū)塊鏈根據(jù)網(wǎng)關(guān)提交的認(rèn)證請求記錄轉(zhuǎn)移事件之后,區(qū)塊鏈對目標(biāo)賬戶設(shè)置一個(gè)凍結(jié)期,在該凍結(jié)期內(nèi),目標(biāo)賬戶中的資源無法被轉(zhuǎn)移。如果在區(qū)塊鏈對目標(biāo)賬戶設(shè)置的凍結(jié)期內(nèi),已丟失賬戶的所有者提出異議,例如:已丟失賬戶的所有者實(shí)際并未發(fā)起轉(zhuǎn)移請求,或者在對已丟失賬戶中的資源進(jìn)行轉(zhuǎn)移的過程中發(fā)生錯(cuò)誤,或者已丟失賬戶的所有者認(rèn)為網(wǎng)關(guān)或者其他人存在欺詐等,區(qū)塊鏈可以將已丟失賬戶轉(zhuǎn)移到目標(biāo)賬戶的資源重新退回給已丟失賬戶,以保護(hù)已丟失賬戶的所有者的權(quán)益。具體地,將目標(biāo)賬戶中的資源重新退回給已丟失賬戶的過程與將已丟失賬戶的資源轉(zhuǎn)移到目標(biāo)賬戶的過程相同,由已丟失賬戶的所有者向網(wǎng)關(guān)提供身份信息和資源退回請求,由網(wǎng)關(guān)驗(yàn)證身份信息和資源退回請求,并在驗(yàn)證通過后根據(jù)用戶的身份信息和資源退回請求向區(qū)塊鏈提交認(rèn)證請求,區(qū)塊鏈根據(jù)認(rèn)證請求記錄轉(zhuǎn)移事件,從而將目標(biāo)賬戶中的資源退回到已丟失賬戶中。
步驟s509,在發(fā)生糾紛時(shí),網(wǎng)關(guān)從區(qū)塊鏈中提取初始數(shù)據(jù),并從初始數(shù)據(jù)中獲取由第一賬戶的公鑰加密過的第二數(shù)據(jù),利用第一賬戶的私鑰對第二數(shù)據(jù)進(jìn)行解密,得到解密后的數(shù)據(jù)。解密后的數(shù)據(jù)可以用作裁決上述糾紛的證據(jù),以對發(fā)生的糾紛進(jìn)行裁決。
步驟s510,網(wǎng)關(guān)利用第一賬戶的公鑰對解密后的數(shù)據(jù)進(jìn)行重新加密,以證明解密后的數(shù)據(jù)未被篡改。為了證明用作裁決上述糾紛的證據(jù)是真實(shí)的而未被篡改過,網(wǎng)關(guān)可以利用第一賬戶的公鑰對作為證據(jù)的用戶身份信息和轉(zhuǎn)移請求重新加密,并將加密后的數(shù)據(jù)與從區(qū)塊鏈上獲取的第二數(shù)據(jù)進(jìn)行比對,如果經(jīng)過比對,加密后數(shù)據(jù)與從區(qū)塊鏈上獲取的第二數(shù)據(jù)不一致,則證明用作證據(jù)的用戶信息和轉(zhuǎn)移請求被篡改過而非真實(shí)的??蛇x地,網(wǎng)關(guān)還可以從數(shù)據(jù)庫中獲取用戶提交的身份信息和轉(zhuǎn)移請求的原文的備份文件,該備份文件同樣可以由網(wǎng)關(guān)利用第一賬戶的公鑰對其進(jìn)行重新加密并與區(qū)塊鏈中的第二數(shù)據(jù)進(jìn)行比對,以證明該備份文件的真實(shí)性。
需要說明的是,對于前述的各方法實(shí)施例,為了簡單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本發(fā)明所必須的。
通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到根據(jù)上述實(shí)施例的方法可借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺(tái)終端設(shè)備(可以是手機(jī),計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。
實(shí)施例2
根據(jù)本發(fā)明實(shí)施例,還提供了一種用于實(shí)施上述區(qū)塊鏈中賬戶信息的處理方法的區(qū)塊鏈中賬戶信息的處理裝置。圖6是根據(jù)本發(fā)明實(shí)施例的一種可選的區(qū)塊鏈中賬戶信息的處理裝置的示意圖,如圖6所示,該裝置可以包括:第一接收單元610、獲取單元620、第一比對單元630和第一提交單元640。
需要說明的是,該實(shí)施例中的第一接收單元610可以用于執(zhí)行本申請實(shí)施例1中的步驟s302,該實(shí)施例中的獲取單元620可以用于執(zhí)行本申請實(shí)施例1中的步驟s304,該實(shí)施例中的第一比對單元630可以用于執(zhí)行本申請實(shí)施例1中的步驟s306,該實(shí)施例中的第一提交單元640可以用于執(zhí)行本申請實(shí)施例1中的步驟s308。
此處需要說明的是,上述單元與對應(yīng)的步驟所實(shí)現(xiàn)的示例和應(yīng)用場景相同,但不限于上述實(shí)施例1所公開的內(nèi)容。需要說明的是,上述單元作為裝置的一部分可以運(yùn)行在如圖1所示的硬件環(huán)境中,可以通過軟件實(shí)現(xiàn),也可以通過硬件實(shí)現(xiàn)。
通過上述單元,可以解決了由于區(qū)塊鏈中賬戶的私鑰丟失造成的賬戶不安全的技術(shù)問題,進(jìn)而達(dá)到提高賬戶安全性的技術(shù)效果。
可選地,提交單元包括:簽名模塊,用于利用第一賬戶的私鑰對初始數(shù)據(jù)進(jìn)行簽名,得到第一數(shù)據(jù),其中,初始數(shù)據(jù)包括已丟失賬戶的信息、目標(biāo)賬戶的信息、身份信息、轉(zhuǎn)移請求和資源列表,資源列表為已丟失賬戶中等待轉(zhuǎn)移的所有資源的列表;生成模塊,用于根據(jù)第一數(shù)據(jù)生成認(rèn)證請求;提交模塊,用于向區(qū)塊鏈提交攜帶有初始數(shù)據(jù)的認(rèn)證請求。
作為一種可選的實(shí)施例,網(wǎng)關(guān)在向區(qū)塊鏈提交認(rèn)證請求時(shí),先根據(jù)接收到的轉(zhuǎn)移請求獲取初始數(shù)據(jù),簽名模塊再通過網(wǎng)關(guān)對初始數(shù)據(jù)進(jìn)行簽名得到第一數(shù)據(jù),如圖4所示,可選地,在第一數(shù)據(jù)中包括有初始數(shù)據(jù)和網(wǎng)關(guān)對初始數(shù)據(jù)的簽名,在初始數(shù)據(jù)中包含了已丟失賬戶的信息、目標(biāo)賬戶的信息、用戶提交的身份信息、轉(zhuǎn)移請求以及需要從已丟失賬戶中轉(zhuǎn)移到目標(biāo)賬戶的所有資源的列表。生成模塊通過網(wǎng)關(guān)根據(jù)上述第一數(shù)據(jù)生成認(rèn)證請求,最后將認(rèn)證請求提交給區(qū)塊鏈。
區(qū)塊鏈中存在第一賬戶,可選地,第一賬戶可以是區(qū)塊鏈中的超級賬號(hào),第一賬戶在區(qū)塊鏈中是唯一的并且不可偽造的賬戶,而網(wǎng)關(guān)是第一賬戶的所有者,具有第一賬戶的私鑰。網(wǎng)關(guān)可以利用第一賬戶私鑰對初始數(shù)據(jù)進(jìn)行簽名從而得到第一數(shù)據(jù)。網(wǎng)關(guān)向區(qū)塊鏈提交的認(rèn)證請求是根據(jù)第一數(shù)據(jù)生成的,而第一數(shù)據(jù)是利用第一賬戶的私鑰對初始數(shù)據(jù)進(jìn)行簽名得到的,網(wǎng)關(guān)作為第一賬戶的所有者且擁有第一賬戶私鑰,要對上述認(rèn)證請求,也即初始數(shù)據(jù)中信息的真實(shí)性承擔(dān)責(zé)任。因此,區(qū)塊鏈只需要驗(yàn)證網(wǎng)關(guān)利用私鑰對初始數(shù)據(jù)進(jìn)行簽名是否合法,并在合法的情況下確認(rèn)認(rèn)證通過,記錄轉(zhuǎn)移事件。
可選地,簽名模塊包括:加密子模塊,用于利用第一賬戶的公鑰對身份信息和轉(zhuǎn)移請求進(jìn)行加密,得到第二數(shù)據(jù);第一簽名子模塊,用于利用第一賬戶的私鑰對已丟失賬戶的信息、目標(biāo)賬戶的信息、資源列表和第二數(shù)據(jù)進(jìn)行簽名,得到第一數(shù)據(jù)。
作為一種可選的實(shí)施例,為了保護(hù)用戶的隱私,防止用戶的個(gè)人資料泄漏,可以對用戶提交的身份信息和轉(zhuǎn)移請求進(jìn)行加密。具體地,簽名模塊通過網(wǎng)關(guān)在利用上述第一賬戶的私鑰對初始數(shù)據(jù)進(jìn)行簽名得到第一數(shù)據(jù)時(shí),先從證書中心獲取第一賬戶的公鑰,加密子模塊通過網(wǎng)關(guān)利用第一賬戶的公鑰對用戶提交的身份信息和轉(zhuǎn)移請求進(jìn)行加密得到第二數(shù)據(jù);第一簽名子模塊通過網(wǎng)關(guān)利用第一賬戶的私鑰對已丟失賬戶的信息、目標(biāo)賬戶的信息、資源列表及上述第二數(shù)據(jù)進(jìn)行簽名,得到第一數(shù)據(jù)。網(wǎng)關(guān)根據(jù)第一數(shù)據(jù)生成認(rèn)證請求,并將認(rèn)證請求提交到區(qū)塊鏈之后,由于用戶提交的身份信息和轉(zhuǎn)移請求被第一賬戶的公鑰加密過,其他人從僅可以從區(qū)塊鏈上獲取到加密后的用戶的身份信息和轉(zhuǎn)移請求,而無法獲取到用戶的身份信息和轉(zhuǎn)移請求的原文。
本發(fā)明還提供了一種優(yōu)選實(shí)施例,該優(yōu)選實(shí)施例中,簽名模塊包括:第二簽名子模塊,用于利用第一賬戶的私鑰對身份信息和轉(zhuǎn)移請求進(jìn)行簽名,得到第三數(shù)據(jù);第三簽名子模塊,用于利用第一賬戶的私鑰對已丟失賬戶的信息、目標(biāo)賬戶的信息、資源列表和第三數(shù)據(jù)進(jìn)行簽名,得到第一數(shù)據(jù)。
簽名模塊通過網(wǎng)關(guān)在利用上述第一賬戶的私鑰對初始數(shù)據(jù)進(jìn)行簽名得到第一數(shù)據(jù)時(shí),先由第二簽名子模塊通過網(wǎng)關(guān)利用第一賬戶的私鑰對用戶提交的身份信息和轉(zhuǎn)移請求進(jìn)行簽名,得到第三數(shù)據(jù);再由第三簽名子模塊通過網(wǎng)關(guān)利用第一賬戶的私鑰對已丟失賬戶的信息、目標(biāo)賬戶的信息、資源列表及上述第三數(shù)據(jù)進(jìn)行簽名,得到第一數(shù)據(jù)。由于網(wǎng)關(guān)利用第一賬戶的私鑰對用戶提交的身份信息和轉(zhuǎn)移請求進(jìn)行簽名的過程是先對用戶提交的身份信息和轉(zhuǎn)移請求進(jìn)行哈希變換,再對其進(jìn)行加密從而得到第三數(shù)據(jù),而哈希變換的過程是不可逆的,因此,在網(wǎng)關(guān)根據(jù)第一數(shù)據(jù)生成認(rèn)證請求,并將認(rèn)證請求提交到區(qū)塊鏈之后,即使其他人能夠解密得到的也是經(jīng)過哈希變換后的身份信息和轉(zhuǎn)移請求,無法獲得用戶的身份信息和轉(zhuǎn)稱請求的原文,可以保護(hù)用戶的隱私不被泄露。
可選地,提交單元包括:獲取模塊,用于通過區(qū)塊鏈獲取第一數(shù)據(jù);驗(yàn)證模塊,用于通過區(qū)塊鏈對第一數(shù)據(jù)進(jìn)行驗(yàn)證;記錄模塊,用于在驗(yàn)證通過后,通過區(qū)塊鏈根據(jù)初始數(shù)據(jù)記錄轉(zhuǎn)移事件。
作為一種可選的實(shí)施例,在網(wǎng)關(guān)將認(rèn)證請求提交給區(qū)塊鏈,以使區(qū)塊鏈根據(jù)認(rèn)證請求記錄轉(zhuǎn)移事件的過程中,獲取模塊通過區(qū)塊鏈從網(wǎng)關(guān)提交的認(rèn)證請求中獲取第一數(shù)據(jù),并對第一數(shù)據(jù)進(jìn)行驗(yàn)證,在驗(yàn)證成功之后,區(qū)塊鏈信任該認(rèn)證請求中攜帶的初始數(shù)據(jù),記錄模塊通過區(qū)塊鏈根據(jù)認(rèn)證請求中的初始數(shù)據(jù)記錄轉(zhuǎn)移事件。
區(qū)塊鏈對第一數(shù)據(jù)進(jìn)行驗(yàn)證時(shí),只需從證書中心獲取第一賬戶的公鑰,并利用第一賬戶的公鑰對第一數(shù)據(jù)進(jìn)行驗(yàn)證,如果驗(yàn)證成功,則區(qū)塊鏈信任該認(rèn)證請求,并獲取該認(rèn)證請求中攜帶的初始數(shù)據(jù),以及根據(jù)該初始數(shù)據(jù)記錄轉(zhuǎn)移事件。如圖4所示,在區(qū)塊鏈對第一數(shù)據(jù)的認(rèn)證過程中,區(qū)塊鏈僅對圖4中第五列的簽名進(jìn)行驗(yàn)證,而不需要對前4列的初始數(shù)據(jù)進(jìn)行驗(yàn)證,第五列的簽名是網(wǎng)關(guān)利用第一賬戶的私鑰對前面四列初始數(shù)據(jù)的簽名,當(dāng)區(qū)塊對第五列的簽名進(jìn)行驗(yàn)證之后,即選擇信任前四列的初始數(shù)據(jù),而前面四列初始數(shù)據(jù)的真實(shí)性由網(wǎng)關(guān)來負(fù)責(zé)驗(yàn)證,即由網(wǎng)關(guān)承擔(dān)對初始數(shù)據(jù)的驗(yàn)證責(zé)任。
在上述驗(yàn)證過程中,由于身份信息和轉(zhuǎn)移請求的核對是由網(wǎng)關(guān)完成的,區(qū)塊鏈信任網(wǎng)關(guān)的核對結(jié)果,因此,區(qū)塊鏈只需驗(yàn)證網(wǎng)關(guān)對第一數(shù)據(jù)的簽名是否是真的,而無需對用戶的身份信息和轉(zhuǎn)移請求進(jìn)行驗(yàn)證。只要區(qū)塊鏈驗(yàn)證網(wǎng)關(guān)對第一數(shù)據(jù)的簽名為真,則認(rèn)可接收到的認(rèn)證請求,并記錄轉(zhuǎn)移事件,從而將已丟失賬戶中的資源轉(zhuǎn)移到目標(biāo)賬戶中。
可選地,驗(yàn)證模塊包括:獲取子模塊,用于通過區(qū)塊鏈的多個(gè)區(qū)塊從證書中心或者區(qū)塊鏈的初始區(qū)塊中獲取第一賬戶的公鑰;驗(yàn)證子模塊,用于通過區(qū)塊鏈的多個(gè)區(qū)塊利用第一賬戶的公鑰對第一數(shù)據(jù)進(jìn)行驗(yàn)證。
作為一種可選的實(shí)施例,區(qū)塊鏈包括多個(gè)區(qū)塊,在區(qū)塊鏈對第一數(shù)據(jù)進(jìn)行驗(yàn)證的過程中,獲取子模塊通過區(qū)塊鏈的多個(gè)區(qū)塊中每一個(gè)區(qū)塊從證書中心或者區(qū)塊鏈中的初始區(qū)塊中獲取第一賬戶的公鑰,驗(yàn)證子模塊通過區(qū)塊鏈利用第一賬戶的公鑰對第一數(shù)據(jù)進(jìn)行驗(yàn)證,如果多個(gè)區(qū)塊中的多數(shù)區(qū)塊都驗(yàn)證成功,則區(qū)塊鏈對第一數(shù)據(jù)的驗(yàn)證成功,區(qū)塊選擇信任該第一數(shù)據(jù)中的初始數(shù)據(jù)。在每個(gè)區(qū)塊對第一數(shù)據(jù)進(jìn)行驗(yàn)證的過程中,每個(gè)區(qū)塊僅需驗(yàn)證網(wǎng)關(guān)對第一數(shù)據(jù)的簽名是否為真,而不需要對初始數(shù)據(jù)中用戶提交的身份信息和轉(zhuǎn)移請求進(jìn)行驗(yàn)證。由網(wǎng)關(guān)承擔(dān)對用戶提交的身份信息和轉(zhuǎn)移申請的真實(shí)性的進(jìn)行驗(yàn)證的責(zé)任。
可選地,裝置還包括:設(shè)置單元,用于在向區(qū)塊鏈提交認(rèn)證請求,以使區(qū)塊鏈根據(jù)認(rèn)證請求在區(qū)塊鏈中記錄轉(zhuǎn)移事件之后,通過區(qū)塊鏈對目標(biāo)賬戶設(shè)置凍結(jié)期,其中,在凍結(jié)期內(nèi)目標(biāo)賬戶中的資源處于不允許轉(zhuǎn)移的狀態(tài)。
作為一種可選的實(shí)施例,為了解決錯(cuò)誤的將已丟失賬戶中的資源轉(zhuǎn)移到目標(biāo)賬戶造成已丟失賬號(hào)的損失,在區(qū)塊鏈根據(jù)網(wǎng)關(guān)提交的認(rèn)證請求記錄轉(zhuǎn)移事件之后,設(shè)置單元通過區(qū)塊鏈對目標(biāo)賬戶設(shè)置一個(gè)凍結(jié)期,在該凍結(jié)期內(nèi),目標(biāo)賬戶中的資源無法被轉(zhuǎn)移。如果在區(qū)塊鏈對目標(biāo)賬戶設(shè)置的凍結(jié)期內(nèi),已丟失賬戶的所有者提出異議,例如:已丟失賬戶的所有者實(shí)際并未發(fā)起轉(zhuǎn)移請求,或者在對已丟失賬戶中的資源進(jìn)行轉(zhuǎn)移的過程中發(fā)生錯(cuò)誤,或者已丟失賬戶的所有者認(rèn)為網(wǎng)關(guān)或者其他人存在欺詐等,區(qū)塊鏈可以將已丟失賬戶轉(zhuǎn)移到目標(biāo)賬戶的資源重新退回給已丟失賬戶,以保護(hù)已丟失賬戶的所有者的權(quán)益。具體地,將目標(biāo)賬戶中的資源重新退回給已丟失賬戶的過程與將已丟失賬戶的資源轉(zhuǎn)移到目標(biāo)賬戶的過程相同,由已丟失賬戶的所有者向網(wǎng)關(guān)提供身份信息和資源退回請求,由網(wǎng)關(guān)驗(yàn)證身份信息和資源退回請求,并在驗(yàn)證通過后根據(jù)用戶的身份信息和資源退回請求向區(qū)塊鏈提交認(rèn)證請求,區(qū)塊鏈根據(jù)認(rèn)證請求記錄轉(zhuǎn)移事件,從而將目標(biāo)賬戶中的資源退回到已丟失賬戶中。
可選地,裝置還包括:第一提取單元,用于在向區(qū)塊鏈提交認(rèn)證請求,以使區(qū)塊鏈根據(jù)認(rèn)證請求在區(qū)塊鏈中記錄轉(zhuǎn)移事件之后,從區(qū)塊鏈中提取初始數(shù)據(jù),其中,初始數(shù)據(jù)包括利用第一賬戶的公鑰對身份信息和轉(zhuǎn)移請求進(jìn)行加密后得到的第二數(shù)據(jù);第一解密單元,用于利用第一賬戶的私鑰對第二數(shù)據(jù)進(jìn)行解密,得到第一解密數(shù)據(jù);第二比對單元,用于比對第一解密數(shù)據(jù)與本地存儲(chǔ)的數(shù)據(jù)是否一致;第一確定單元,用于在比對出第一解密數(shù)據(jù)與本地存儲(chǔ)的數(shù)據(jù)不一致時(shí),確定本地存儲(chǔ)的數(shù)據(jù)被篡改。
作為一種可選的實(shí)施例,為了避免用戶發(fā)送給網(wǎng)關(guān)的初始數(shù)據(jù)在被提交給區(qū)塊鏈的過程中被篡改,還可以對區(qū)塊鏈所記錄的初始數(shù)據(jù)進(jìn)行驗(yàn)證。例如:在將已丟失賬戶中的資源轉(zhuǎn)移到目標(biāo)賬戶中之后,已丟失賬戶的所有者提出網(wǎng)關(guān)或者他人存在欺詐,要求退回被轉(zhuǎn)移的資源,或者目標(biāo)賬戶的凍結(jié)期已經(jīng)結(jié)束,轉(zhuǎn)移到目標(biāo)賬戶的資源已經(jīng)被再次轉(zhuǎn)移,從而無法將其退回到已丟失的賬戶,需要通過司法手段對已丟失賬戶的所有者進(jìn)行賠償時(shí),需要網(wǎng)關(guān)提供存儲(chǔ)在本地的身份信息和轉(zhuǎn)移請求作為證據(jù),并可以通過驗(yàn)證的方式證實(shí)網(wǎng)關(guān)提供的身份信息和轉(zhuǎn)移請求即是網(wǎng)關(guān)提交給區(qū)塊鏈的身份信息和轉(zhuǎn)移請求,而未被篡改過。具體地,如果網(wǎng)關(guān)提交給區(qū)塊鏈的認(rèn)證請求中包含的身份信息和轉(zhuǎn)移數(shù)據(jù)是利用第一賬戶的公鑰進(jìn)行加密的,則提取單元通過網(wǎng)關(guān)從區(qū)塊鏈中提取初始數(shù)據(jù),在該初始數(shù)據(jù)中即包括了網(wǎng)關(guān)利用第一賬戶的公鑰對用戶提交的身份信息和轉(zhuǎn)移請求進(jìn)行加密得到的第二數(shù)據(jù),解密單元通過網(wǎng)關(guān)利用第一賬戶的私鑰對第二數(shù)據(jù)進(jìn)行解密即可得到用戶提交的身份信息和轉(zhuǎn)移請求的原文,即第一解密數(shù)據(jù)。第二比對單元通過網(wǎng)關(guān)對第一解密數(shù)據(jù)與網(wǎng)關(guān)本地存儲(chǔ)的數(shù)據(jù)進(jìn)行比對,如果第一解密數(shù)據(jù)與網(wǎng)關(guān)本地存儲(chǔ)的數(shù)據(jù)一致,則由第一確定單元確定網(wǎng)關(guān)本地存儲(chǔ)的數(shù)據(jù)未被篡改,如果第一解密數(shù)據(jù)與網(wǎng)關(guān)本地存儲(chǔ)的數(shù)據(jù)不一致,則由第一確定單元確定網(wǎng)關(guān)本地存儲(chǔ)的數(shù)據(jù)被篡改過。
可選地,裝置還包括:第二提取單元,用于在向區(qū)塊鏈提交認(rèn)證請求,以使區(qū)塊鏈根據(jù)認(rèn)證請求在區(qū)塊鏈中記錄轉(zhuǎn)移事件之后,從區(qū)塊鏈中提取初始數(shù)據(jù),其中,初始數(shù)據(jù)包括利用第一賬戶的私鑰對所述身份信息和所述轉(zhuǎn)移請求進(jìn)行簽名后得到的第三數(shù)據(jù);第二解密單元,用于利用第一賬戶的公鑰對第三數(shù)據(jù)進(jìn)行解密,得到第二解密數(shù)據(jù);第一變換單元,用于對本地存儲(chǔ)的數(shù)據(jù)進(jìn)行哈希變換,得到哈希變換后的數(shù)據(jù);第三比對單元,用于比對第二解密數(shù)據(jù)與哈希變換后的數(shù)據(jù)是否一致;第二確定單元,用于在比對出第二解密數(shù)據(jù)與哈希變換后的數(shù)據(jù)不一致時(shí),確定本地存儲(chǔ)的數(shù)據(jù)被篡改。
作為一種可選的實(shí)施例,在驗(yàn)證網(wǎng)關(guān)提供的身份信息和轉(zhuǎn)移請求是否與網(wǎng)關(guān)提交給區(qū)塊鏈的身份信息和轉(zhuǎn)移請求一致時(shí),如果網(wǎng)關(guān)提交給區(qū)塊鏈的認(rèn)證請求中包含的身份信息和轉(zhuǎn)移數(shù)據(jù)是利用第一賬戶的私鑰進(jìn)行簽名的,則第二提取單元通過網(wǎng)關(guān)從區(qū)塊鏈中提取初始數(shù)據(jù),在該初始數(shù)據(jù)中即包括了網(wǎng)關(guān)利用第一賬戶的私鑰對用戶提交的身份信息和轉(zhuǎn)移請求進(jìn)行簽名得到的第三數(shù)據(jù),第二解密單元通過網(wǎng)關(guān)利用第一賬戶的公鑰對第三數(shù)據(jù)進(jìn)行解密即可得到第二解密數(shù)據(jù),該數(shù)據(jù)是身份信息和轉(zhuǎn)移請求經(jīng)過哈希轉(zhuǎn)換后得到的。網(wǎng)關(guān)對第一解密數(shù)據(jù)與網(wǎng)關(guān)本地存儲(chǔ)的數(shù)據(jù)進(jìn)行比對,如果第一解密數(shù)據(jù)與網(wǎng)關(guān)本地存儲(chǔ)的數(shù)據(jù)一致,則網(wǎng)關(guān)本地存儲(chǔ)的數(shù)據(jù)未被篡改,如果第一解密數(shù)據(jù)與網(wǎng)關(guān)本地存儲(chǔ)的數(shù)據(jù)不一致,則網(wǎng)關(guān)本地存儲(chǔ)的數(shù)據(jù)被篡改過。第一變換單元通過網(wǎng)關(guān)對本地存儲(chǔ)的身份信息和轉(zhuǎn)移請求進(jìn)行哈希變換,得到哈希變換后的數(shù)據(jù),第三比對單元通過網(wǎng)關(guān)將第二解密數(shù)據(jù)與上述哈希變換后的數(shù)據(jù)進(jìn)行比對,如果第二解密數(shù)據(jù)與哈希變換后的數(shù)據(jù)一致,則網(wǎng)關(guān)本地存儲(chǔ)的數(shù)據(jù)與區(qū)塊鏈記錄的數(shù)據(jù)一致,第二確定單元確定網(wǎng)關(guān)本地存儲(chǔ)的數(shù)據(jù)未被篡改,如果第二解密數(shù)據(jù)與哈希變換后的數(shù)據(jù)不一致,則網(wǎng)關(guān)本地存儲(chǔ)的數(shù)據(jù)與區(qū)塊鏈上記錄的數(shù)據(jù)不一致,第二確定單元確定網(wǎng)關(guān)本地存儲(chǔ)的數(shù)據(jù)被篡改過。
可選地,裝置還包括:第三提取單元,用于通過客戶端根據(jù)用戶發(fā)送的核查指令從區(qū)塊鏈中提取初始數(shù)據(jù),其中初始數(shù)據(jù)包括利用第一賬戶的公鑰對身份信息和轉(zhuǎn)移請求進(jìn)行加密后得到的第二數(shù)據(jù),核查指令用于指示對第二數(shù)據(jù)進(jìn)行核查;加密單元,用于通過客戶端利用第一賬戶的公鑰對用戶發(fā)送的轉(zhuǎn)移請求和身份信息進(jìn)行加密,得到第四數(shù)據(jù);第四比對單元,用于通過客戶端比對第二數(shù)據(jù)與第四數(shù)據(jù)是否一致,得到比對結(jié)果,其中,如果比對結(jié)果為一致,則用戶發(fā)送的轉(zhuǎn)移請求和身份信息未被篡改,如果比對結(jié)果為不一致,則用戶發(fā)送的轉(zhuǎn)移請求和身份信息被篡改。
可選地,裝置還包括:第四提取單元,用于在向區(qū)塊鏈提交認(rèn)證請求,以使區(qū)塊鏈根據(jù)認(rèn)證請求在區(qū)塊鏈中記錄轉(zhuǎn)移事件之后,客戶端根據(jù)用戶發(fā)送的核查指令從區(qū)塊鏈中提取初始數(shù)據(jù),其中初始數(shù)據(jù)包括利用第一賬戶的私鑰對身份信息和轉(zhuǎn)移請求進(jìn)行簽名后得到的第三數(shù)據(jù),核查指令用于指示對第三數(shù)據(jù)進(jìn)行核查;第二變換單元,用于客戶端對用戶發(fā)送的轉(zhuǎn)移請求和身份信息進(jìn)行哈希變換,得到第五數(shù)據(jù);第三解密單元,用于通過客戶端利用第一賬戶的公鑰對第三數(shù)據(jù)進(jìn)行解密,得到第三解密數(shù)據(jù);第五比對單元,用于客戶端比對第五數(shù)據(jù)與第三解密數(shù)據(jù)是否一致,得到比對結(jié)果,其中,如果比對結(jié)果為一致,則用戶發(fā)送的轉(zhuǎn)移請求和身份信息未被篡改,如果比對結(jié)果為不一致,則用戶發(fā)送的轉(zhuǎn)移請求和身份信息被篡改。
作為一種可選的實(shí)施例,用戶可以通過客戶端對區(qū)塊鏈記錄的身份信片刻和轉(zhuǎn)移請求進(jìn)行核查,以確保區(qū)塊鏈記錄的初始信息為真實(shí)的未被篡改過的??蛇x的,用于核查的客戶端可以是由網(wǎng)關(guān)發(fā)布的核查客戶端,該客戶端可以模仿網(wǎng)關(guān)對用戶的身份信息和用戶的轉(zhuǎn)移請求進(jìn)行加密或者簽名,并得到加密獲者簽名后的數(shù)據(jù)。具體地,在區(qū)塊鏈已經(jīng)根據(jù)網(wǎng)關(guān)提交的認(rèn)證請求記錄轉(zhuǎn)移事件之后,用戶向客戶端發(fā)送核查指令,該核查指令中包括用戶向網(wǎng)關(guān)提交的身份信息和轉(zhuǎn)移請求的原文??蛻舳私邮盏接脩舻暮瞬橹噶詈螅鶕?jù)該核查指令獲取用戶的身份信息和轉(zhuǎn)移請求,再由第三提取單元或者第四提取單元通過客戶端提取區(qū)塊鏈記錄的用戶身份信息和轉(zhuǎn)移請求,通過驗(yàn)證來證實(shí)用戶的身份信息和轉(zhuǎn)移請求與區(qū)塊鏈記錄的用戶身份信息和轉(zhuǎn)移請求是否一致。具體地,如果網(wǎng)關(guān)提交給區(qū)塊鏈的認(rèn)證請求中包含的身份信息和轉(zhuǎn)移數(shù)據(jù)是經(jīng)過加密的,即由加密單元通過客戶端利用第一賬戶的公鑰對身份信息和轉(zhuǎn)移數(shù)據(jù)進(jìn)行加密得到的第二數(shù)據(jù),則客戶端利用第一賬戶的公鑰對用戶的身份信息和轉(zhuǎn)移請求進(jìn)行加密,得到第四數(shù)據(jù),再由第四比對單元通過客戶端將第四數(shù)據(jù)與區(qū)塊鏈上記錄的用戶身份信息和轉(zhuǎn)移請求進(jìn)行比對,得到比對結(jié)果。如果比對結(jié)果為一致,說明區(qū)塊鏈上記錄的初始數(shù)據(jù)即是用戶實(shí)際提交給網(wǎng)關(guān)的初始數(shù)據(jù);如果比對結(jié)果為不一致,說明區(qū)塊鏈上記錄的初始數(shù)據(jù)與用戶實(shí)際提交給網(wǎng)關(guān)的初始數(shù)據(jù)不一致,用戶需要向網(wǎng)關(guān)申訴;如果網(wǎng)關(guān)提交給區(qū)塊鏈的認(rèn)證請求中包含的身份信息和轉(zhuǎn)移數(shù)據(jù)是經(jīng)過簽名的,即利用第一賬戶的私鑰對身份信息和轉(zhuǎn)移數(shù)據(jù)進(jìn)行簽名得到的第三數(shù)據(jù),則由第三解密單元通過客戶端利用第一賬戶的公鑰對第三數(shù)據(jù)進(jìn)行解密得到第三解密數(shù)據(jù),同時(shí)由第二變換單元通過客戶端對用戶的身份信息和轉(zhuǎn)移請求進(jìn)行哈希變換得到第五數(shù)據(jù),再由第五比對單元通過客戶端將第五數(shù)據(jù)與第三解密數(shù)據(jù)進(jìn)行比對,得到比對結(jié)果。如果比對結(jié)果為一致,說明區(qū)塊鏈上記錄的初始數(shù)據(jù)即是用戶實(shí)際提交給網(wǎng)關(guān)的初始數(shù)據(jù);如果比對結(jié)果為不一致,說明區(qū)塊鏈上記錄的初始數(shù)據(jù)與用戶實(shí)際提交給網(wǎng)關(guān)的初始數(shù)據(jù)不一致,用戶可以向網(wǎng)關(guān)申訴。
可選地,需要用戶向網(wǎng)關(guān)申訴,或者起訴網(wǎng)關(guān)要求網(wǎng)關(guān)提供證據(jù)可能但不限定于以下幾種情況:一種情況:網(wǎng)關(guān)接收到的轉(zhuǎn)移請求為其他用戶發(fā)起的錯(cuò)誤或者虛假請求,網(wǎng)關(guān)在驗(yàn)證進(jìn)程中疏忽導(dǎo)致區(qū)塊鏈根據(jù)該錯(cuò)誤或者虛假請求記錄了轉(zhuǎn)移事件,用戶發(fā)現(xiàn)時(shí),尚處于目標(biāo)賬戶的凍結(jié)期,在網(wǎng)關(guān)對材料進(jìn)行重新核對之后,可以根據(jù)用戶的退回請求將已轉(zhuǎn)移的資源重新退回到該資源的原賬戶中,也即轉(zhuǎn)移請求中的已丟失賬戶。另一種情況:在用戶發(fā)現(xiàn)時(shí),已超過了目標(biāo)賬戶的凍結(jié)期,已轉(zhuǎn)移的資源無法退回,則用戶可以向仲裁機(jī)構(gòu)起訴網(wǎng)關(guān),由仲裁機(jī)構(gòu)要求網(wǎng)關(guān)提供接收到的用戶身份信息和轉(zhuǎn)移請求,并將其作為證據(jù),如果該證據(jù)能夠證明網(wǎng)關(guān)失誤造成了用戶的損失,則由網(wǎng)關(guān)負(fù)責(zé)承擔(dān)責(zé)任并對用戶進(jìn)行賠償。需要說明的是,網(wǎng)關(guān)提供給仲裁機(jī)構(gòu)的證據(jù)無法篡改,如果該證據(jù)被網(wǎng)關(guān)篡改,仲裁機(jī)構(gòu)通過將證據(jù)再次加密或者簽名,并與區(qū)塊鏈上記錄的初始數(shù)據(jù)進(jìn)行比對,比對結(jié)果將不一致。第三種情況:網(wǎng)關(guān)自身弄虛作假,將真實(shí)的用戶份息和轉(zhuǎn)移請求偽造成虛假的初始數(shù)據(jù)。當(dāng)用戶發(fā)現(xiàn)后可以向仲裁機(jī)構(gòu)起訴網(wǎng)關(guān)。網(wǎng)關(guān)只能向仲裁機(jī)構(gòu)提供其偽造的虛假初始數(shù)據(jù)作為證據(jù),否則網(wǎng)關(guān)提供的證據(jù)經(jīng)過加密或者簽名之后,將與區(qū)塊鏈記錄的初始數(shù)據(jù)不一致。
此處需要說明的是,上述模塊與對應(yīng)的步驟所實(shí)現(xiàn)的示例和應(yīng)用場景相同,但不限于上述實(shí)施例1所公開的內(nèi)容。需要說明的是,上述模塊作為裝置的一部分可以運(yùn)行在如圖1所示的硬件環(huán)境中,可以通過軟件實(shí)現(xiàn),也可以通過硬件實(shí)現(xiàn),其中,硬件環(huán)境包括網(wǎng)絡(luò)環(huán)境。
實(shí)施例3
根據(jù)本發(fā)明實(shí)施例,還提供了一種用于實(shí)施上述區(qū)塊鏈中賬戶信息的處理方法的服務(wù)器。
圖7是根據(jù)本發(fā)明實(shí)施例的一種服務(wù)器的結(jié)構(gòu)框圖,如圖7所示,該服務(wù)器可以包括:一個(gè)或多個(gè)(圖中僅示出一個(gè))處理器701、存儲(chǔ)器703、以及傳輸裝置705(如上述實(shí)施例中的發(fā)送裝置),如圖7所示,該終端還可以包括輸入輸出設(shè)備707。
其中,存儲(chǔ)器703可用于存儲(chǔ)軟件程序以及模塊,如本發(fā)明實(shí)施例中的區(qū)塊鏈中賬戶信息的處理方法和裝置對應(yīng)的程序指令/模塊,處理器701通過運(yùn)行存儲(chǔ)在存儲(chǔ)器703內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,即實(shí)現(xiàn)上述的區(qū)塊鏈中賬戶信息的處理方法。存儲(chǔ)器703可包括高速隨機(jī)存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,如一個(gè)或者多個(gè)磁性存儲(chǔ)裝置、閃存、或者其他非易失性固態(tài)存儲(chǔ)器。在一些實(shí)例中,存儲(chǔ)器703可進(jìn)一步包括相對于處理器701遠(yuǎn)程設(shè)置的存儲(chǔ)器,這些遠(yuǎn)程存儲(chǔ)器可以通過網(wǎng)絡(luò)連接至終端。上述網(wǎng)絡(luò)的實(shí)例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動(dòng)通信網(wǎng)及其組合。
上述的傳輸裝置705用于經(jīng)由一個(gè)網(wǎng)絡(luò)接收或者發(fā)送數(shù)據(jù),還可以用于處理器與存儲(chǔ)器之間的數(shù)據(jù)傳輸。上述的網(wǎng)絡(luò)具體實(shí)例可包括有線網(wǎng)絡(luò)及無線網(wǎng)絡(luò)。在一個(gè)實(shí)例中,傳輸裝置705包括一個(gè)網(wǎng)絡(luò)適配器(networkinterfacecontroller,nic),其可通過網(wǎng)線與其他網(wǎng)絡(luò)設(shè)備與路由器相連從而可與互聯(lián)網(wǎng)或局域網(wǎng)進(jìn)行通訊。在一個(gè)實(shí)例中,傳輸裝置705為射頻(radiofrequency,rf)模塊,其用于通過無線方式與互聯(lián)網(wǎng)進(jìn)行通訊。
其中,具體地,存儲(chǔ)器703用于存儲(chǔ)應(yīng)用程序。
處理器701可以通過傳輸裝置705調(diào)用存儲(chǔ)器703存儲(chǔ)的應(yīng)用程序,以執(zhí)行下述步驟:
處理器701還用于執(zhí)行下述步驟:接收用戶發(fā)送轉(zhuǎn)移請求和身份信息,其中,轉(zhuǎn)移請求用于請求將已丟失賬戶中的資源轉(zhuǎn)移到目標(biāo)賬戶中,目標(biāo)賬戶由證書中心生成;根據(jù)轉(zhuǎn)移請求從證書中心獲取已丟失賬戶的所有者信息;對身份信息和所有者信息進(jìn)行比對;在比對出身份信息和所有者信息一致時(shí),向區(qū)塊鏈提交認(rèn)證請求,以使區(qū)塊鏈根據(jù)認(rèn)證請求在區(qū)塊鏈中記錄轉(zhuǎn)移事件,其中,轉(zhuǎn)移事件用于指示將已丟失賬戶中的資源轉(zhuǎn)移到目標(biāo)賬戶中。
處理器701還用于執(zhí)行下述步驟:利用第一賬戶的私鑰對初始數(shù)據(jù)進(jìn)行簽名,得到第一數(shù)據(jù),其中,初始數(shù)據(jù)包括已丟失賬戶的信息、目標(biāo)賬戶的信息、身份信息、轉(zhuǎn)移請求和資源列表,資源列表為已丟失賬戶中等待轉(zhuǎn)移的所有資源的列表;根據(jù)第一數(shù)據(jù)生成認(rèn)證請求;向區(qū)塊鏈提交攜帶有初始數(shù)據(jù)的認(rèn)證請求。
處理器701還用于執(zhí)行下述步驟:利用第一賬戶的公鑰對身份信息和轉(zhuǎn)移請求進(jìn)行加密,得到第二數(shù)據(jù);利用第一賬戶的私鑰對已丟失賬戶的信息、目標(biāo)賬戶的信息、資源列表和第二數(shù)據(jù)進(jìn)行簽名,得到第一數(shù)據(jù)。
處理器701還用于執(zhí)行下述步驟:利用第一賬戶的私鑰對身份信息和轉(zhuǎn)移請求進(jìn)行簽名,得到第三數(shù)據(jù);利用第一賬戶的私鑰對已丟失賬戶的信息、目標(biāo)賬戶的信息、資源列表和第三數(shù)據(jù)進(jìn)行簽名,得到第一數(shù)據(jù)。
處理器701還用于執(zhí)行下述步驟:通過區(qū)塊鏈根據(jù)認(rèn)證請求獲取第一數(shù)據(jù);通過區(qū)塊鏈對第一數(shù)據(jù)進(jìn)行驗(yàn)證;在驗(yàn)證通過后,通過區(qū)塊鏈根據(jù)初始數(shù)據(jù)記錄轉(zhuǎn)移事件。
處理器701還用于執(zhí)行下述步驟:通過區(qū)塊鏈的多個(gè)區(qū)塊從證書中心或者區(qū)塊鏈的初始區(qū)塊中獲取第一賬戶的公鑰;通過區(qū)塊鏈的多個(gè)區(qū)塊利用第一賬戶的公鑰對第一數(shù)據(jù)進(jìn)行驗(yàn)證。
處理器701還用于執(zhí)行下述步驟:通過區(qū)塊鏈對目標(biāo)賬戶設(shè)置凍結(jié)期,其中,在凍結(jié)期內(nèi)目標(biāo)賬戶中的資源處于不允許轉(zhuǎn)移的狀態(tài)。
處理器701還用于執(zhí)行下述步驟:從區(qū)塊鏈中提取初始數(shù)據(jù),其中,初始數(shù)據(jù)包括網(wǎng)關(guān)利用第一賬戶的公鑰對身份信息和轉(zhuǎn)移請求進(jìn)行加密后得到的第二數(shù)據(jù);利用第一賬戶的私鑰對第二數(shù)據(jù)進(jìn)行解密,得到第一解密數(shù)據(jù);比對第一解密數(shù)據(jù)與網(wǎng)關(guān)本地存儲(chǔ)的數(shù)據(jù)是否一致;如果比對出第一解密數(shù)據(jù)與本地存儲(chǔ)的數(shù)據(jù)不一致,則確定本地存儲(chǔ)的數(shù)據(jù)被篡改。
處理器701還用于執(zhí)行下述步驟:從區(qū)塊鏈中提取初始數(shù)據(jù),其中,初始數(shù)據(jù)包括利用第一賬戶的私鑰對所述身份信息和所述轉(zhuǎn)移請求進(jìn)行簽名后得到第三數(shù)據(jù);利用第一賬戶的公鑰對第三數(shù)據(jù)進(jìn)行解密,得到第二解密數(shù)據(jù);對本地存儲(chǔ)的數(shù)據(jù)進(jìn)行哈希變換,得到哈希變換后的數(shù)據(jù);比對第二解密數(shù)據(jù)與哈希變換后的數(shù)據(jù)是否一致;在比對出第二解密數(shù)據(jù)與哈希變換后的數(shù)據(jù)不一致時(shí),確定本地存儲(chǔ)的數(shù)據(jù)被篡改。
處理器701還用于執(zhí)行下述步驟:根據(jù)用戶發(fā)送的核查指令從區(qū)塊鏈中提取初始數(shù)據(jù),其中初始數(shù)據(jù)包括利用第一賬戶的公鑰對身份信息和轉(zhuǎn)移請求進(jìn)行加密后得到的第二數(shù)據(jù),核查指令用于指示對第二數(shù)據(jù)進(jìn)行核查;利用第一賬戶的公鑰對用戶發(fā)送的轉(zhuǎn)移請求和身份信息進(jìn)行加密,得到第四數(shù)據(jù);比對第二數(shù)據(jù)與第四數(shù)據(jù)是否一致,得到比對結(jié)果,其中,如果比對結(jié)果為一致,則用戶發(fā)送的轉(zhuǎn)移請求和身份信息未被篡改,如果比對結(jié)果為不一致,則用戶發(fā)送的轉(zhuǎn)移請求和身份信息被篡改。
處理器701還用于執(zhí)行下述步驟:根據(jù)用戶發(fā)送的核查指令從區(qū)塊鏈中提取初始數(shù)據(jù),其中初始數(shù)據(jù)包括利用第一賬戶的私鑰對身份信息和轉(zhuǎn)移請求進(jìn)行簽名后得到的第三數(shù)據(jù),核查指令用于指示對第三數(shù)據(jù)進(jìn)行核查;對用戶發(fā)送的轉(zhuǎn)移請求和身份信息進(jìn)行哈希變換,得到第五數(shù)據(jù);利用第一賬戶的公鑰對第三數(shù)據(jù)進(jìn)行解密,得到第三解密數(shù)據(jù);比對第五數(shù)據(jù)與第三解密數(shù)據(jù)是否一致,得到比對結(jié)果,其中,如果比對結(jié)果為一致,則用戶發(fā)送的轉(zhuǎn)移請求和身份信息未被篡改,如果比對結(jié)果為不一致,則用戶發(fā)送的轉(zhuǎn)移請求和身份信息被篡改。
采用本發(fā)明實(shí)施例,提供了一種區(qū)塊鏈中賬戶信息的處理的方案。通過比對用戶提供的身份信息和已丟失賬戶所有者信息是否一致,并在比對一致時(shí),向區(qū)塊鏈提交認(rèn)證請求,達(dá)到了在區(qū)塊鏈中將將已丟失賬戶中的資源轉(zhuǎn)移到目標(biāo)賬戶中的目的,從而實(shí)現(xiàn)了在將已丟失賬戶中的資源轉(zhuǎn)移到目標(biāo)賬戶中時(shí),無需驗(yàn)證丟失賬戶的私鑰簽名的技術(shù)效果,進(jìn)而解決了由于區(qū)塊鏈中賬戶的私鑰丟失造成的賬戶不安全的技術(shù)問題。
可選地,本實(shí)施例中的具體示例可以參考上述實(shí)施例1和實(shí)施例2中所描述的示例,本實(shí)施例在此不再贅述。
本領(lǐng)域普通技術(shù)人員可以理解,圖7所示的結(jié)構(gòu)僅為示意,終端可以是智能手機(jī)(如android手機(jī)、ios手機(jī)等)、平板電腦、掌上電腦以及移動(dòng)互聯(lián)網(wǎng)設(shè)備(mobileinternetdevices,mid)、pad等終端設(shè)備。圖7其并不對上述電子裝置的結(jié)構(gòu)造成限定。例如,終端還可包括比圖7中所示更多或者更少的組件(如網(wǎng)絡(luò)接口、顯示裝置等),或者具有與圖7所示不同的配置。
本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可以通過程序來指令終端設(shè)備相關(guān)的硬件來完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,存儲(chǔ)介質(zhì)可以包括:閃存盤、只讀存儲(chǔ)器(read-onlymemory,rom)、隨機(jī)存取器(randomaccessmemory,ram)、磁盤或光盤等。
實(shí)施例4
本發(fā)明的實(shí)施例還提供了一種存儲(chǔ)介質(zhì)??蛇x地,在本實(shí)施例中,上述存儲(chǔ)介質(zhì)可以用于執(zhí)行區(qū)塊鏈中賬戶信息的處理方法的程序代碼。
可選地,在本實(shí)施例中,上述存儲(chǔ)介質(zhì)可以位于上述實(shí)施例所示的網(wǎng)絡(luò)中的多個(gè)網(wǎng)絡(luò)設(shè)備中的至少一個(gè)網(wǎng)絡(luò)設(shè)備上。
可選地,在本實(shí)施例中,存儲(chǔ)介質(zhì)被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:
s1,接收用戶發(fā)送轉(zhuǎn)移請求和身份信息,其中,轉(zhuǎn)移請求用于請求將已丟失賬戶中的資源轉(zhuǎn)移到目標(biāo)賬戶中,目標(biāo)賬戶由證書中心生成;
s2,根據(jù)轉(zhuǎn)移請求從證書中心獲取已丟失賬戶的所有者信息;
s3,對身份信息和所有者信息進(jìn)行比對;
s4,在比對出身份信息和所有者信息一致時(shí),向區(qū)塊鏈提交認(rèn)證請求,以使區(qū)塊鏈根據(jù)認(rèn)證請求在區(qū)塊鏈中記錄轉(zhuǎn)移事件,其中,轉(zhuǎn)移事件用于指示將已丟失賬戶中的資源轉(zhuǎn)移到目標(biāo)賬戶中。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:利用第一賬戶的私鑰對初始數(shù)據(jù)進(jìn)行簽名,得到第一數(shù)據(jù),其中,初始數(shù)據(jù)包括已丟失賬戶的信息、目標(biāo)賬戶的信息、身份信息、轉(zhuǎn)移請求和資源列表,資源列表為已丟失賬戶中等待轉(zhuǎn)移的所有資源的列表;根據(jù)第一數(shù)據(jù)生成認(rèn)證請求;向區(qū)塊鏈提交攜帶有初始數(shù)據(jù)的認(rèn)證請求。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:利用第一賬戶的公鑰對身份信息和轉(zhuǎn)移請求進(jìn)行加密,得到第二數(shù)據(jù);利用第一賬戶的私鑰對已丟失賬戶的信息、目標(biāo)賬戶的信息、資源列表和第二數(shù)據(jù)進(jìn)行簽名,得到第一數(shù)據(jù)。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:利用第一賬戶的私鑰對身份信息和轉(zhuǎn)移請求進(jìn)行簽名,得到第三數(shù)據(jù);利用第一賬戶的私鑰對已丟失賬戶的信息、目標(biāo)賬戶的信息、資源列表和第三數(shù)據(jù)進(jìn)行簽名,得到第一數(shù)據(jù)。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:通過區(qū)塊鏈根據(jù)認(rèn)證請求獲取第一數(shù)據(jù);通過區(qū)塊鏈對第一數(shù)據(jù)進(jìn)行驗(yàn)證;在驗(yàn)證通過后,通過區(qū)塊鏈根據(jù)初始數(shù)據(jù)記錄轉(zhuǎn)移事件。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:通過區(qū)塊鏈的多個(gè)區(qū)塊從證書中心或者區(qū)塊鏈的初始區(qū)塊中獲取第一賬戶的公鑰;通過區(qū)塊鏈的多個(gè)區(qū)塊利用第一賬戶的公鑰對第一數(shù)據(jù)進(jìn)行驗(yàn)證。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:通過區(qū)塊鏈對目標(biāo)賬戶設(shè)置凍結(jié)期,其中,在凍結(jié)期內(nèi)目標(biāo)賬戶中的資源處于不允許轉(zhuǎn)移的狀態(tài)。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:從區(qū)塊鏈中提取初始數(shù)據(jù),其中,初始數(shù)據(jù)包括利用第一賬戶的公鑰對身份信息和轉(zhuǎn)移請求進(jìn)行加密后得到的第二數(shù)據(jù);利用第一賬戶的私鑰對第二數(shù)據(jù)進(jìn)行解密,得到第一解密數(shù)據(jù);比對第一解密數(shù)據(jù)與本地存儲(chǔ)的數(shù)據(jù)是否一致;如果比對出第一解密數(shù)據(jù)與本地存儲(chǔ)的數(shù)據(jù)不一致,則確定本地存儲(chǔ)的數(shù)據(jù)被篡改。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:從區(qū)塊鏈中提取初始數(shù)據(jù),其中,初始數(shù)據(jù)包括利用第一賬戶的私鑰對所述身份信息和所述轉(zhuǎn)移請求進(jìn)行簽名后得到的第三數(shù)據(jù);利用第一賬戶的公鑰對第三數(shù)據(jù)進(jìn)行解密,得到第二解密數(shù)據(jù);對本地存儲(chǔ)的數(shù)據(jù)進(jìn)行哈希變換,得到哈希變換后的數(shù)據(jù);比對第二解密數(shù)據(jù)與哈希變換后的數(shù)據(jù)是否一致;在比對出第二解密數(shù)據(jù)與哈希變換后的數(shù)據(jù)不一致時(shí),確定本地存儲(chǔ)的數(shù)據(jù)被篡改。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:根據(jù)用戶發(fā)送的核查指令從區(qū)塊鏈中提取初始數(shù)據(jù),其中初始數(shù)據(jù)包括利用第一賬戶的公鑰對身份信息和轉(zhuǎn)移請求進(jìn)行加密后得到的第二數(shù)據(jù),核查指令用于指示對第二數(shù)據(jù)進(jìn)行核查;利用第一賬戶的公鑰對用戶發(fā)送的轉(zhuǎn)移請求和身份信息進(jìn)行加密,得到第四數(shù)據(jù);比對第二數(shù)據(jù)與第四數(shù)據(jù)是否一致,得到比對結(jié)果,其中,如果比對結(jié)果為一致,則用戶發(fā)送的轉(zhuǎn)移請求和身份信息未被篡改,如果比對結(jié)果為不一致,則用戶發(fā)送的轉(zhuǎn)移請求和身份信息被篡改。
可選地,存儲(chǔ)介質(zhì)還被設(shè)置為存儲(chǔ)用于執(zhí)行以下步驟的程序代碼:根據(jù)用戶發(fā)送的核查指令從區(qū)塊鏈中提取初始數(shù)據(jù),其中初始數(shù)據(jù)包括利用第一賬戶的私鑰對身份信息和轉(zhuǎn)移請求進(jìn)行簽名后得到的第三數(shù)據(jù),核查指令用于指示對第三數(shù)據(jù)進(jìn)行核查;對用戶發(fā)送的轉(zhuǎn)移請求和身份信息進(jìn)行哈希變換,得到第五數(shù)據(jù);利用第一賬戶的公鑰對第三數(shù)據(jù)進(jìn)行解密,得到第三解密數(shù)據(jù);比對第五數(shù)據(jù)與第三解密數(shù)據(jù)是否一致,得到比對結(jié)果,其中,如果比對結(jié)果為一致,則用戶發(fā)送的轉(zhuǎn)移請求和身份信息未被篡改,如果比對結(jié)果為不一致,則用戶發(fā)送的轉(zhuǎn)移請求和身份信息被篡改。
可選地,本實(shí)施例中的具體示例可以參考上述實(shí)施例1和實(shí)施例2中所描述的示例,本實(shí)施例在此不再贅述。
可選地,在本實(shí)施例中,上述存儲(chǔ)介質(zhì)可以包括但不限于:u盤、只讀存儲(chǔ)器(rom,read-onlymemory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、移動(dòng)硬盤、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
上述實(shí)施例中的集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在上述計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)或多臺(tái)計(jì)算機(jī)設(shè)備(可為個(gè)人計(jì)算機(jī)、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。
在本發(fā)明的上述實(shí)施例中,對各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒有詳述的部分,可以參見其他實(shí)施例的相關(guān)描述。
在本申請所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的客戶端,可通過其它的方式實(shí)現(xiàn)。其中,以上所描述的裝置實(shí)施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。