本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種基于區(qū)塊鏈的數(shù)字資產(chǎn)處理方法和裝置。
背景技術(shù):
隨著通信技術(shù)的發(fā)展,區(qū)塊鏈由于去中心化、公開、透明、無法篡改等優(yōu)點而逐漸被應(yīng)用于數(shù)據(jù)處理的應(yīng)用場景中。區(qū)塊鏈由于其技術(shù)本身的限制難以承載海量的數(shù)據(jù)交易,同時不同的區(qū)塊鏈承載不同類型的數(shù)據(jù)業(yè)務(wù)也符合實際的業(yè)務(wù)需求。例如股權(quán)區(qū)塊鏈、不動產(chǎn)區(qū)塊鏈、小額支付區(qū)塊鏈等分別承載對應(yīng)的數(shù)字資產(chǎn)業(yè)務(wù)。
現(xiàn)有的不同區(qū)塊鏈各自使用本區(qū)塊鏈的特有貨幣。不同區(qū)塊鏈上使用數(shù)字貨幣進行資產(chǎn)交易就需要將不同數(shù)字貨幣進行轉(zhuǎn)換,例如,比特幣需要進入以太網(wǎng)就需要轉(zhuǎn)化為以太幣?,F(xiàn)有的區(qū)塊鏈數(shù)字資產(chǎn)處理方法存在操作繁瑣、不同幣種相互轉(zhuǎn)化會產(chǎn)生貨幣損耗、缺乏央行等權(quán)威機構(gòu)監(jiān)管、用戶的數(shù)字資產(chǎn)的隱私得不到保護。
如何保障用戶的隱私權(quán),并在隱私保護的前提下實現(xiàn)單一通用法定貨幣在不同區(qū)塊鏈中順暢流通、并保持貨幣總量不變,是業(yè)界需要解決的問題。
技術(shù)實現(xiàn)要素:
鑒于以上所述一個或多個問題,本發(fā)明實施例提供了一種數(shù)字資產(chǎn)處理方法和裝置。
第一方面,提供了一種基于區(qū)塊鏈的數(shù)字資產(chǎn)處理方法。該方法包括以下步驟:
接收用于從轉(zhuǎn)出端通過區(qū)塊鏈流轉(zhuǎn)至轉(zhuǎn)入端的數(shù)字資產(chǎn)的隱私密文、和用于傳遞隱私密文的預(yù)設(shè)公鑰;
基于預(yù)設(shè)公鑰,得到用于共享隱私密文的共享公鑰,以使:當隱私密文和共享公鑰廣播在區(qū)塊鏈中時,區(qū)塊鏈中的區(qū)塊鏈節(jié)點基于共享公鑰來共享隱私密文,并對所共享的隱私密文進行盲共識,以及,在隱私密文被達成共識后,由轉(zhuǎn)入端、轉(zhuǎn)出端、監(jiān)管端中至少一者基于預(yù)設(shè)私鑰對隱私密文進行解密,得到數(shù)字資產(chǎn)的明文。
第二方面,提供了一種基于區(qū)塊鏈的數(shù)字資產(chǎn)處理方法。該方法包括以下步驟:
獲取廣播在區(qū)塊鏈中的隱私密文和用于共享所述隱私密文的共享公鑰;
當所述隱私密文和所述共享公鑰廣播在所述區(qū)塊鏈中時,基于所述共享公鑰來共享所述隱私密文,并對所共享的隱私密文進行盲共識,以及,在所述隱私密文被達成共識后,由所述轉(zhuǎn)入端、所述轉(zhuǎn)出端、所述監(jiān)管端中至少一者基于預(yù)設(shè)私鑰對所述隱私密文進行解密,得到所述數(shù)字資產(chǎn)的明文。
第三方面,提供了一種基于區(qū)塊鏈的數(shù)字資產(chǎn)處理裝置。該裝置包括:
數(shù)據(jù)接收單元,用于接收用于從轉(zhuǎn)出端通過區(qū)塊鏈流轉(zhuǎn)至轉(zhuǎn)入端的數(shù)字資產(chǎn)的隱私密文、和用于傳遞所述隱私密文的預(yù)設(shè)公鑰;
隱私處理單元,用于基于所述預(yù)設(shè)公鑰,得到用于共享所述隱私密文的共享公鑰,以使:所述隱私密文和所述共享公鑰廣播在所述區(qū)塊鏈中時,所述區(qū)塊鏈中的區(qū)塊鏈節(jié)點基于所述共享公鑰來共享所述隱私密文,并對所共享的隱私密文進行盲共識,以及,在所述隱私密文被達成共識后,由所述轉(zhuǎn)入端、所述轉(zhuǎn)出端和所述監(jiān)管端基于預(yù)設(shè)私鑰對所述隱私密文進行解密,得到所述數(shù)字資產(chǎn)的明文。
第四方面,提供了一種基于區(qū)塊鏈的數(shù)字資產(chǎn)處理裝置。該裝置包括:
數(shù)據(jù)獲取單元,用于獲取廣播在區(qū)塊鏈中的隱私密文和用于共享隱私密文的共享公鑰;
數(shù)據(jù)處理單元,用于當所述隱私密文和所述共享公鑰廣播在所述區(qū)塊鏈中時,基于所述共享公鑰來共享所述隱私密文,并對所共享的隱私密文進行盲共識,以及,在所述隱私密文被達成共識后,由所述轉(zhuǎn)入端、所述轉(zhuǎn)出端、所述監(jiān)管端中至少一者基于預(yù)設(shè)私鑰對所述隱私密文進行解密,得到所述數(shù)字資產(chǎn)的明文。
由此,本發(fā)明實施例通過明文消息進行加密,生成隱私密文,并基于預(yù)設(shè)公鑰,得到用于共享隱私密文的共享公鑰,將隱私密文和共享公鑰廣播在區(qū)塊鏈中,以使:轉(zhuǎn)入端、轉(zhuǎn)出端和監(jiān)管端基于預(yù)設(shè)私鑰對隱私密文進行解密,得到明文;區(qū)塊鏈中的節(jié)點基于共享公鑰來共享隱私密文,并對所共享的隱私密文進行盲共識,保障了用戶的隱私權(quán)。另外,本實施例可以通過設(shè)置監(jiān)管方(監(jiān)管端)作為中間跳轉(zhuǎn)機構(gòu),將轉(zhuǎn)出端發(fā)出的數(shù)字資產(chǎn)進行隱私處理,然后再通過區(qū)塊鏈轉(zhuǎn)至轉(zhuǎn)入端,在隱私保護的前提下,可以實現(xiàn)單一通用數(shù)字資產(chǎn)在一個或者多個區(qū)塊鏈中順暢流通,并保持貨幣總量不變。
附圖說明
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對本發(fā)明實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面所描述的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明一實施例的基于區(qū)塊鏈的數(shù)字資產(chǎn)處理的系統(tǒng)架構(gòu)示意圖。
圖2是本發(fā)明一實施例的基于區(qū)塊鏈的數(shù)字資產(chǎn)處理的流程示意圖。
圖3是本發(fā)明另一實施例的基于區(qū)塊鏈的數(shù)字資產(chǎn)處理的流程示意圖。
圖4是本發(fā)明一實施例的基于區(qū)塊鏈的數(shù)字資產(chǎn)處理的結(jié)構(gòu)示意圖。
圖5是本發(fā)明另一實施例的基于區(qū)塊鏈的數(shù)字資產(chǎn)處理的結(jié)構(gòu)示意圖。
具體實施方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結(jié)合實施例來詳細說明本申請。
數(shù)字資產(chǎn)可以是區(qū)塊鏈上可轉(zhuǎn)移的數(shù)字信息,往往與現(xiàn)實世界的某種實物對應(yīng),它由前述賬戶地址或智能合約地址持有。數(shù)字資產(chǎn)可以包括但不限于法定數(shù)字貨幣。法定數(shù)字貨幣可以是由政府央行發(fā)行的數(shù)字貨幣。下面以數(shù)字貨幣在區(qū)塊鏈中進行交易為例說明基于區(qū)塊鏈的數(shù)字資產(chǎn)處理方法的實現(xiàn)方式。
圖1是本發(fā)明一實施例的基于區(qū)塊鏈的數(shù)字資產(chǎn)處理的系統(tǒng)架構(gòu)示意圖。
如圖1所示,該系統(tǒng)架構(gòu)可以包括:監(jiān)管方(即監(jiān)管端)110、轉(zhuǎn)出端120、轉(zhuǎn)入端130、網(wǎng)絡(luò)140和區(qū)塊鏈150。區(qū)塊鏈150可以包括:區(qū)塊鏈節(jié)點151-154和部署在區(qū)塊鏈150中的智能合約程序155。監(jiān)管方110可以央行、票交所等權(quán)威機構(gòu)。監(jiān)管方110可以包括:數(shù)字貨幣中心系統(tǒng)111和監(jiān)管系統(tǒng)112。數(shù)字貨幣中心系統(tǒng)111可以用于發(fā)行法定數(shù)字貨幣,存儲支付準備數(shù)據(jù)庫,支付準備數(shù)據(jù)庫用于記錄支付準備數(shù)字資產(chǎn)的發(fā)行(創(chuàng)建)和回收(轉(zhuǎn)出)等數(shù)據(jù)。
轉(zhuǎn)出端120和轉(zhuǎn)入端130分別是交易的付款方和收款方。例如,轉(zhuǎn)出端120需要想轉(zhuǎn)100萬數(shù)字貨幣給轉(zhuǎn)入端130。轉(zhuǎn)出端120需要先將這筆錢“出場”到數(shù)字貨幣中心系統(tǒng)111內(nèi)部,由數(shù)字貨幣中心系統(tǒng)111的支付準備數(shù)據(jù)庫記錄這筆錢并轉(zhuǎn)換變?yōu)橥ㄓ脭?shù)字貨幣(央行發(fā)行的法定數(shù)字貨幣),然后再將通用數(shù)字貨幣支付給轉(zhuǎn)入端130。
監(jiān)管系統(tǒng)112可以設(shè)置有sdmapp和隱私保護中間層組件(sdds-middleware)。sdds-middleware可以為區(qū)塊鏈150(例如,數(shù)字票據(jù)鏈)上流轉(zhuǎn)的數(shù)字貨幣提供隱私保護功能。因此在區(qū)塊鏈上的數(shù)字貨幣包含隱私保護后的數(shù)據(jù)字段。監(jiān)管系統(tǒng)112需要對數(shù)字貨幣的明文信息進行處理,具體數(shù)字貨幣數(shù)據(jù)字段的加解密可以由sdmapp完成。具體來說,區(qū)塊鏈團隊可以提供數(shù)字貨幣管理合約sdmfrontend與隱私保護相關(guān)的基礎(chǔ)功能,并提供給監(jiān)管方110做進一步開發(fā)以加入sdm所需的其他功能。同時,票據(jù)鏈團隊以隱私保護中間層組件(sdds-middleware)的方式提供sdmapp所需的隱私保護加解密功能,sdds-middleware還將進一步提供從區(qū)塊鏈上即時同步交易詳細信息的api。與帶隱私保護功能的區(qū)塊鏈交互時,數(shù)字貨幣中心系統(tǒng)110可以通過監(jiān)管方120的隱私保護中間層(sddsmiddleware)進行隱私數(shù)據(jù)轉(zhuǎn)換。數(shù)字貨幣中心系統(tǒng)111中登記的是明文數(shù)字貨幣,在區(qū)塊鏈150上登記的則是密文數(shù)字貨幣。
垂直虛線部分可以是隱私秘文和明文的分界線,虛線左側(cè)所有的業(yè)務(wù)操作都是采用明文操作,虛線右側(cè)出現(xiàn)的金額相關(guān)的操作都是密文。具體來說,業(yè)務(wù)方(包括參與者和管理者)在自己的子系統(tǒng)內(nèi)部處理的金額相關(guān)業(yè)務(wù)都是明文的,一旦上鏈,為了保障隱私,提交到區(qū)塊鏈上的數(shù)據(jù)都是隱私數(shù)據(jù),只有交易對手方和監(jiān)管方有能力解碼。sdmapp是用來做隱私明文、隱私密文互相轉(zhuǎn)換的中間件,通過這個中間件(包括預(yù)設(shè)的公鑰、私鑰數(shù)據(jù))業(yè)務(wù)方可以不關(guān)心區(qū)塊鏈上隱私數(shù)據(jù)加解密的細節(jié),只需要向sdmapp寫入明文數(shù)據(jù)或者讀取明文數(shù)據(jù)即可。
網(wǎng)絡(luò)140用以在各種電子設(shè)備之間提供通信鏈路的介質(zhì)。具體的,網(wǎng)絡(luò)設(shè)備可以包括各種連接類型,例如有線、無線通信鏈路或者光纖電纜等。
區(qū)塊鏈150可以是分布式統(tǒng)一賬本,由所有參與方(例如各區(qū)塊鏈節(jié)點151-154)共同決定記賬內(nèi)容,每個參與方都保存有全量數(shù)據(jù),任何個體無法對數(shù)據(jù)進行篡改。區(qū)塊鏈150可以是聯(lián)盟鏈。聯(lián)盟鏈與公有鏈相對,是區(qū)塊鏈的一種。特點是具有準入制度,只有獲得批準的參與方才能加入。對應(yīng)的,聯(lián)盟鏈中會有監(jiān)管方和普通參與方兩種角色。
智能合約程序155可以是數(shù)字貨幣管理智能合約。數(shù)字貨幣管理智能合約是部署在特定區(qū)塊鏈上的智能合約,只有部署了該合約的區(qū)塊鏈可以進行資產(chǎn)數(shù)據(jù)處理。數(shù)字貨幣管理智能合約可以包括:sdmfrontend貨幣合約、票據(jù)合約和業(yè)務(wù)合約。
轉(zhuǎn)出端120可以通過區(qū)塊鏈150將數(shù)字資產(chǎn)通過區(qū)塊鏈150轉(zhuǎn)給轉(zhuǎn)入端130。轉(zhuǎn)出端120和轉(zhuǎn)入端130可以是區(qū)塊鏈150之外的節(jié)點,也可以是區(qū)塊鏈150中的節(jié)點,此方面內(nèi)容不做限制。
可以理解,圖1中的設(shè)備的數(shù)目僅僅是示意性的。根據(jù)實現(xiàn)需要,進行調(diào)整。其中,區(qū)塊鏈節(jié)點151-154、轉(zhuǎn)出端120和轉(zhuǎn)入端130可以是各種電子設(shè)備。這些電子設(shè)備包括但不限于個人電腦、智能手機、平板電腦、個人數(shù)字助理、服務(wù)器等。這些電子設(shè)備可以安裝有各種通訊客戶端應(yīng)用,例如即時通信工具、郵箱客戶端、社交平臺軟件、音頻視頻軟件等。其中,這些電子設(shè)備具有存儲器和邏輯運算處理器、控制元件等。這些電子設(shè)備可以發(fā)送數(shù)據(jù)請求,或者可以接收數(shù)據(jù)請求,還可以對數(shù)據(jù)進行分析、驗證和存儲等處理。
另外,該架構(gòu)還可以其他基礎(chǔ)設(shè)備,例如,網(wǎng)絡(luò)交互和路由設(shè)備。
下面各實施例均可以應(yīng)用于圖1所示架構(gòu),為了描述簡潔,各實施例可以相互參考引用。
圖2是本發(fā)明一實施例的基于區(qū)塊鏈的數(shù)字資產(chǎn)處理的流程示意圖。
如圖2所示,該方法包括以下步驟:s210,接收用于從轉(zhuǎn)出端通過區(qū)塊鏈流轉(zhuǎn)至轉(zhuǎn)入端的數(shù)字資產(chǎn)的隱私密文、和用于傳遞隱私密文的預(yù)設(shè)公鑰;s220,基于預(yù)設(shè)公鑰,得到用于共享隱私密文的共享公鑰,以使:當隱私密文和共享公鑰廣播在區(qū)塊鏈中時,區(qū)塊鏈中的區(qū)塊鏈節(jié)點基于共享公鑰來共享隱私密文,并對所共享的隱私密文進行盲共識,以及,在隱私密文被達成共識后,由轉(zhuǎn)入端、轉(zhuǎn)出端、監(jiān)管端中至少一者基于預(yù)設(shè)私鑰對隱私密文進行解密,得到數(shù)字資產(chǎn)的明文。本實施例可以應(yīng)用于圖1所述監(jiān)管方(監(jiān)管端)110。監(jiān)管方可以作為本實施例的各個步驟的執(zhí)行主體,執(zhí)行基于區(qū)塊鏈的數(shù)字資產(chǎn)處理。監(jiān)管方(sdm與票交所)具有看穿機制,可以即時追蹤票據(jù)鏈上每一筆交易。一旦發(fā)現(xiàn)參與方具有違法動作,sdm或票交所(sdmfrontend的內(nèi)部設(shè)計決定)有權(quán)凍結(jié)對應(yīng)參與方的數(shù)字貨幣,也因此該參與方無法參與后續(xù)的票據(jù)交易。數(shù)字票據(jù)鏈上部署sdm提供的數(shù)字貨幣管理合約sdmfrontend,同時數(shù)字貨幣中心系統(tǒng)通過sdm的軟件app對數(shù)字票據(jù)區(qū)塊鏈數(shù)據(jù)進行處理、操作。數(shù)字貨幣管理合約sdmfrontend集中管理票據(jù)鏈上的數(shù)字貨幣。
在步驟s210中,為了使消息加密機制有效,首先,轉(zhuǎn)出端向監(jiān)管方提交自己的消息傳遞預(yù)公鑰,然后由監(jiān)管方設(shè)定正式的消息傳遞公鑰;然后,交易雙方(轉(zhuǎn)出端和轉(zhuǎn)入端)根據(jù)公開可查的消息傳遞公鑰可以進行消息的點對點傳遞。需要指出的是,監(jiān)管方設(shè)定消息傳遞公鑰的過程只需要操作一次,后續(xù)的參與方之間的交易無需重復(fù)向監(jiān)管方申請新的消息傳遞公鑰。
本實施例的數(shù)字票據(jù)鏈(即區(qū)塊鏈)上流轉(zhuǎn)的數(shù)字貨幣接受了隱私保護,因此在區(qū)塊鏈上的數(shù)字貨幣包含隱私保護(即加密)后的數(shù)據(jù)字段。轉(zhuǎn)出端與轉(zhuǎn)出端的交易詳細信息可以包括但不限于下列字段:
在步驟s220中,上述兩個步驟可以用兩個函數(shù)來實現(xiàn)。第一個函數(shù)可以由參與方發(fā)起,用來提交自己的消息傳遞預(yù)公鑰
1、鏈外計算
2、鏈外計算pki=xig,記為messagepk,作為參數(shù)提交給智能合約;
3、智能合約記錄pki和holder(收款方)的對應(yīng)關(guān)系備查。
通過上述步驟,完成了參與方與監(jiān)管方關(guān)于消息傳遞共享私鑰的分發(fā)問題。同時,參與方之間進行消息傳遞私鑰共享時,只需要根據(jù)對手方的消息公鑰pkj和自己持有的消息私鑰xi即可計算出二者的共享消息私鑰。同時該共享消息私鑰監(jiān)管方也可以輕易計算出,并對交易進行跟蹤。
為了完成隱私共識,在轉(zhuǎn)出端賬號初始化時公布用戶持有的消息傳遞公鑰。該公鑰用來實現(xiàn)對手方之間的私鑰共享,進而保證在點對點轉(zhuǎn)賬時可以安全傳遞信息,并且給予監(jiān)管方看穿能力。例如,利用m_pbocpk用來保存監(jiān)管方公布的消息傳遞公鑰:pk0=x0g,利用m_msgpk用來保存每個參與方的消息傳遞公鑰,在執(zhí)行隱私支付時,對手方使用該公鑰加密后傳遞給參與方。
由此,本發(fā)明實施例基于預(yù)設(shè)公鑰,得到用于共享隱私密文的共享公鑰以使:當隱私密文和共享公鑰廣播在區(qū)塊鏈中時,區(qū)塊鏈中的區(qū)塊鏈節(jié)點基于共享公鑰來共享隱私密文,并對所共享的隱私密文進行盲共識,以及,在隱私密文被達成共識后,由轉(zhuǎn)入端、轉(zhuǎn)出端、監(jiān)管端中至少一者基于預(yù)設(shè)私鑰對隱私密文進行解密,得到數(shù)字資產(chǎn)的明文,保障了用戶的隱私權(quán)。另外,本實施例可以通過設(shè)置監(jiān)管方作為中間跳轉(zhuǎn)機構(gòu),將轉(zhuǎn)出端發(fā)出的數(shù)字資產(chǎn)進行隱私處理,然后再通過區(qū)塊鏈轉(zhuǎn)至轉(zhuǎn)入端,在隱私保護的前提下,可以實現(xiàn)單一通用數(shù)字資產(chǎn)在一個或者多個區(qū)塊鏈中順暢流通,并保持貨幣總量不變。
在一些實施例中,對所共享的隱私密文進行盲共識,可以包括:利用同態(tài)加密方法和/或零知識證明方法對所共享的隱私密文的合法性進行驗證,并對驗證結(jié)果達成一致意見。票據(jù)鏈上的數(shù)字貨幣是以隱私保護密文存在的,本實施例可以采取同態(tài)加密、零知識證明和密鑰共享的密碼學(xué)技術(shù)保障了對交易行為的盲共識。各個區(qū)塊鏈節(jié)點在驗證時,無法知曉數(shù)字資產(chǎn)的金額等敏感信息。
由此,本實施例通過盲共識,保證了數(shù)字資產(chǎn)不僅可以通過區(qū)塊鏈中的各個節(jié)點進行驗證,而且可以保護用戶的隱私,改善了用戶的體驗。
在一些實施例中,隱私密文的合法性包括以下項中的至少一項:轉(zhuǎn)入端和轉(zhuǎn)出端的身份的合法性、轉(zhuǎn)入端和轉(zhuǎn)出端的數(shù)字資產(chǎn)在流轉(zhuǎn)前后總量保存不變、流轉(zhuǎn)的數(shù)字資產(chǎn)量大于或者等于零、轉(zhuǎn)出的數(shù)字資產(chǎn)量小于或者等于轉(zhuǎn)出端所持有的數(shù)字資產(chǎn)量。
由此,本實施例可以保障轉(zhuǎn)入端和轉(zhuǎn)出端的數(shù)字資產(chǎn)合法且在流轉(zhuǎn)前后總量保存不變,保障了數(shù)據(jù)轉(zhuǎn)換的安全性,防止了數(shù)據(jù)轉(zhuǎn)換的損耗。
在一些實施例中,基于預(yù)設(shè)公鑰,得到用于共享隱私密文的共享公鑰,可以包括:將預(yù)設(shè)公鑰與指定私鑰進行預(yù)設(shè)密碼學(xué)運算,得到用于共享隱私密文的共享私鑰;基于共享私鑰,得到用于共享隱私密文的共享公鑰。
在一些實施例中,數(shù)字資產(chǎn)是一個或者多個預(yù)定數(shù)值的coin數(shù)據(jù)結(jié)構(gòu)體的數(shù)據(jù)。例如,采用單一智能合約存儲和管理票據(jù)鏈上的數(shù)字貨幣,每個用戶持有多個表現(xiàn)為coin結(jié)構(gòu)體的數(shù)字貨幣,每個數(shù)字貨幣具備不同的面額,用戶對數(shù)字貨幣進行轉(zhuǎn)賬時,需要指定欲花費的coin列表,同時用戶指定找零金額信息,智能合約驗證欲花費的coin金額之和與收款金額加找零金額相等后完成轉(zhuǎn)賬,并利用找零金額數(shù)據(jù)生成一個新的coin劃撥給付款方。
其中,coin結(jié)構(gòu)體可以是數(shù)字貨幣的主要存儲結(jié)構(gòu);pendingcoin結(jié)構(gòu)體用來存儲收款方發(fā)起的但付款方尚未同意的收款請求;moneyset結(jié)構(gòu)體可以看做隱私保護后的轉(zhuǎn)賬金額(附帶一些零知識信息)。本實施例可以用m_account保存賬戶當前持有的數(shù)字貨幣的id列表;還可以用m_cashbank記錄每張數(shù)字貨幣的面額(隱私值)、歸屬權(quán)等信息;也可以用m_pendingtx記錄當前尚未確認付款的交易信息。
在一些實施例中,在上述各實施例的基礎(chǔ)上,基于區(qū)塊鏈的數(shù)字資產(chǎn)的處理方法還可以包括:預(yù)先在一個或者多個區(qū)塊鏈中部署智能合約程序,智能合約程序用于定義數(shù)字資產(chǎn)在一個或者多個區(qū)塊鏈中入場、轉(zhuǎn)賬、出場、余額查詢中的至少一種操作。數(shù)字貨幣智能合約的基本函數(shù)可以包括:數(shù)字貨幣入場、數(shù)字貨幣出場、轉(zhuǎn)賬(包含發(fā)起收款、同意付款、拒絕/撤回付款等子步驟)等。
下面以票據(jù)業(yè)務(wù)參與方生命周期時間順序,來描述利用智能合約程序來實現(xiàn)數(shù)字資產(chǎn)處理的實現(xiàn)方式。
步驟1:票據(jù)賬號注冊。
在本實施例中,數(shù)字票據(jù)參與方(例如轉(zhuǎn)出端和轉(zhuǎn)入端)向監(jiān)管方(即票交所)提供相應(yīng)身份證明材料和自己持有信息傳遞私鑰對應(yīng)的公鑰pk,該pk用來做信息傳遞使用。票交所為該參與方創(chuàng)建對應(yīng)的賬號智能合約,對應(yīng)的合約id(即合約地址)為sdds-id。其后該賬號即可參與票據(jù)交易并持有數(shù)字貨幣。
步驟2:數(shù)字貨幣賬號綁定。
在本實施例中,參與方向sdm提供相應(yīng)的身份證明材料和票據(jù)鏈上的身份sdds-id,sdm通過sdmapp查閱票據(jù)鏈上公布的對應(yīng)參與方的身份證明材料,確認一致符合后將票據(jù)鏈上的sdds-id同數(shù)字貨幣系統(tǒng)中對應(yīng)參與方的sdm-id進行綁定。
步驟3:數(shù)字貨幣入場。
在本實施例中,參與方(例如轉(zhuǎn)出端,即付款方)調(diào)用sdm業(yè)務(wù)接口做數(shù)字貨幣入場申請,申請通過并完成數(shù)字貨幣中心相關(guān)的一系列內(nèi)部操作后,sdmapp調(diào)用sdmfrontend智能合約為參與方在票據(jù)鏈上增加對應(yīng)數(shù)額的基于隱私保護的數(shù)字貨幣。
步驟4:數(shù)字貨幣轉(zhuǎn)賬。
在本實施例中,手動轉(zhuǎn)賬和智能合約dvp轉(zhuǎn)賬類似,區(qū)別是前者由參與方賬戶直接調(diào)用sdmfrontend智能合約發(fā)起交易,后者由參與方賬戶調(diào)用其他智能合約然后簡介調(diào)用sdmfrontend智能合約發(fā)起交易。對于sdmfrontend智能合約來說,二者沒有本質(zhì)區(qū)別,下面統(tǒng)稱為“轉(zhuǎn)賬”。每一筆轉(zhuǎn)賬和數(shù)字貨幣的入場、出場,sdds-middleware中間件都會即時解密、記錄并輸出到指定數(shù)據(jù)庫中。同時sdds-middleware還將提供回溯功能,即指定票據(jù)鏈上的區(qū)塊序號即可讀取該區(qū)塊內(nèi)發(fā)生的所有交易詳細列表。通過該回溯功能,監(jiān)管方可以掌握票據(jù)鏈上的所有交易細節(jié)。
步驟5:數(shù)字貨幣出場。
在本實施例中,與數(shù)字貨幣入場步驟類似,參與方調(diào)用sdm業(yè)務(wù)接口做數(shù)字貨幣出場申請。sdmapp調(diào)用sdmfrontend智能合約為參與方在票據(jù)鏈上減少對應(yīng)數(shù)值的基于隱私保護的數(shù)字貨幣。
步驟6:數(shù)字貨幣余額查詢。
在本實施例中,參與方可以通過本地區(qū)塊鏈節(jié)點直接查詢自己的數(shù)字貨幣余額和歷史記錄。監(jiān)管方(票交所節(jié)點、sdm節(jié)點)具有看穿機制,可以通過本地區(qū)塊鏈節(jié)點直接明文查詢所有參與方的數(shù)字貨幣余額和歷史記錄。sdmfrontend需要提供給予隱私保護的數(shù)字貨幣余額直接讀取功能,即密文查詢功能。參與方只擁有自己的隱私保護私鑰,因此只能解開自己的基于隱私保護的數(shù)字貨幣的余額密文。
考慮票據(jù)鏈隱私保護的需求,在上述業(yè)務(wù)邏輯基礎(chǔ)上將轉(zhuǎn)賬動作分割成:收款方發(fā)起收款、付款方同意付款兩步進行。另外,可以在增加付款方拒絕付款、收款方撤回請求的步驟。
在一些實施例中,在上述各實施例的基礎(chǔ)上,基于區(qū)塊鏈的數(shù)字資產(chǎn)的處理方法還可以包括:接收轉(zhuǎn)入端所發(fā)送的接收受隱私保護的第一數(shù)值的數(shù)字資產(chǎn)的接收請求;響應(yīng)于所接收的接收請求,向轉(zhuǎn)出端發(fā)送是否同意轉(zhuǎn)出受隱私保護的第一數(shù)值的數(shù)字資產(chǎn)的指令;當接收到來自轉(zhuǎn)出端的包括同意轉(zhuǎn)出和用于證明受隱私保護的第一數(shù)值的數(shù)字資產(chǎn)的合法性的密碼學(xué)證明的應(yīng)答時,在轉(zhuǎn)入端的資產(chǎn)數(shù)據(jù)庫內(nèi),寫入增加一個或者多個預(yù)定受隱私保護的數(shù)值的coin數(shù)據(jù)結(jié)構(gòu)體的數(shù)據(jù)的記錄,以及寫入減少受隱私保護的指定數(shù)值的coin數(shù)據(jù)結(jié)構(gòu)體的數(shù)據(jù)的記錄;以及,在轉(zhuǎn)出端的資產(chǎn)數(shù)據(jù)庫內(nèi),寫入增加銷毀一個或者多個受隱私保護的預(yù)定數(shù)值的coin數(shù)據(jù)結(jié)構(gòu)體的數(shù)據(jù)的記錄,以及寫入增加受隱私保護的指定數(shù)值的coin數(shù)據(jù)結(jié)構(gòu)體的數(shù)據(jù)的記錄;
或者,接收轉(zhuǎn)出端所發(fā)送的轉(zhuǎn)出受隱私保護的第一數(shù)值的數(shù)字資產(chǎn)的轉(zhuǎn)出請求;響應(yīng)于所接收的轉(zhuǎn)出請求,向轉(zhuǎn)入端發(fā)送是否同意接收受隱私保護的第一數(shù)值的數(shù)字資產(chǎn)的指令;當接收到來自轉(zhuǎn)入端的包括同意接收和用于證明受隱私保護的第一數(shù)值的數(shù)字資產(chǎn)的合法性的密碼學(xué)證明的應(yīng)答時,在轉(zhuǎn)入端的資產(chǎn)數(shù)據(jù)庫內(nèi),寫入增加一個或者多個預(yù)定受隱私保護的數(shù)值的coin數(shù)據(jù)結(jié)構(gòu)體的數(shù)據(jù)的記錄,以及寫入減少受隱私保護的指定數(shù)值的coin數(shù)據(jù)結(jié)構(gòu)體的數(shù)據(jù)的記錄;以及,在轉(zhuǎn)出端的資產(chǎn)數(shù)據(jù)庫內(nèi),寫入增加銷毀一個或者多個受隱私保護的預(yù)定數(shù)值的coin數(shù)據(jù)結(jié)構(gòu)體的數(shù)據(jù)的記錄,以及寫入增加受隱私保護的指定數(shù)值的coin數(shù)據(jù)結(jié)構(gòu)體的數(shù)據(jù)的記錄。
例如,數(shù)字資產(chǎn)可以是由a轉(zhuǎn)給b的,但可以a先發(fā)起轉(zhuǎn)讓動作,b確認;也可由b發(fā)起接受動作,再由a確認。
在一些實施例中,在上述各實施例的基礎(chǔ)上,基于區(qū)塊鏈的數(shù)字資產(chǎn)的處理方法還可以包括:采用同態(tài)加密和/或零知識證明的密碼學(xué)方法驗證一個或者多個受隱私保護的預(yù)定數(shù)值的和與受隱私保護的指定數(shù)值與受隱私保護的第一數(shù)值的和是否相等;當驗證通過時,在轉(zhuǎn)入端的資產(chǎn)數(shù)據(jù)庫內(nèi),寫入增加一個或者多個受隱私保護的預(yù)定數(shù)值的coin數(shù)據(jù)結(jié)構(gòu)體的數(shù)據(jù)的記錄,以及寫入減少受隱私保護的指定數(shù)值的coin數(shù)據(jù)結(jié)構(gòu)體的數(shù)據(jù)的記錄;在轉(zhuǎn)出端的資產(chǎn)數(shù)據(jù)庫內(nèi),寫入增加銷毀一個或者多個受隱私保護的預(yù)定數(shù)值的coin數(shù)據(jù)結(jié)構(gòu)體的數(shù)據(jù)的記錄,以及寫入增加受隱私保護后的指定數(shù)值的coin數(shù)據(jù)結(jié)構(gòu)體的數(shù)據(jù)的記錄。
在一些實施例中,在上述各實施例的基礎(chǔ)上,基于區(qū)塊鏈的數(shù)字資產(chǎn)的處理方法還可以包括:接收來自轉(zhuǎn)入端所發(fā)送的接收轉(zhuǎn)出端的受隱私保護的第一數(shù)量的數(shù)字資產(chǎn)的接收請求;響應(yīng)于所接收的接收請求,向轉(zhuǎn)出端發(fā)送是否同意發(fā)送受隱私保護的第一數(shù)量的數(shù)字資產(chǎn)的指令;當接收到來自轉(zhuǎn)出端的拒絕向轉(zhuǎn)入端發(fā)送第一數(shù)量的數(shù)字資產(chǎn)的應(yīng)答時,向轉(zhuǎn)入端發(fā)送拒絕的反饋。
在一些實施例中,在上述各實施例的基礎(chǔ)上,基于區(qū)塊鏈的數(shù)字資產(chǎn)的處理方法還可以包括:接收來自轉(zhuǎn)入端所發(fā)送的撤回接收請求;將所接收的撤回接收請求反饋給轉(zhuǎn)出端。
數(shù)字貨幣智能合約的基本函數(shù)有:數(shù)字貨幣入場、數(shù)字貨幣出場、轉(zhuǎn)賬(包含發(fā)起收款、同意付款、拒絕/撤回付款等子步驟)等。下面用五個實施例來詳細說明各個函數(shù)的實現(xiàn)方式。
第一實施例,用于說明數(shù)字貨幣入場函數(shù)的實現(xiàn)方式。
本實施例可以由監(jiān)管方調(diào)用,輸入入場后的收款方地址與轉(zhuǎn)賬金額結(jié)構(gòu)體_amount。函數(shù)內(nèi)部做如下操作:
1、對_amount進行必要的隱私保護驗證(即驗證rangeproof);
2、在m_cashbank創(chuàng)建新的coin,金額為_amount;
3、在m_account將新coin的id分配給_holder;
4、記錄相應(yīng)eventlog;
5、返回該新創(chuàng)建的coin的id;
第二實施例,用于說明數(shù)字貨幣出場函數(shù)的實現(xiàn)方式。
本實施例可以由監(jiān)管方調(diào)用,輸入出場方地址、出場方持有的部分數(shù)字貨幣的id列表,扣款金額_amount和找零金額_change。函數(shù)內(nèi)部做如下操作:
1、對_amount和_change進行必要的隱私保護驗證(即驗證rangeproof);
2、驗證:∑(coin.value)==_amount.value+_change.value;
3、銷毀輸入的coin列表對應(yīng)的coin;
4、創(chuàng)建新的coin,金額為_change作為找零;
5、將上述coin所有權(quán)分配給_holder;
6、記錄相應(yīng)eventlog;
7、返回上述找零coin的id。
在本實施例中,如果∑(coin.value)恰好等于_amount.value,則似乎不必要出現(xiàn)_change,但由于隱私保護的需求,此時_change依然存在。后續(xù)可以通過附帶花費零值coin來刪除這些冗余數(shù)據(jù)。
第三實施例,用于說明發(fā)起收款函數(shù)的實現(xiàn)方式。
本實施例可以由收款方調(diào)用,輸入?yún)?shù)為付款方地址、付款金額結(jié)構(gòu)體等。函數(shù)內(nèi)部完成如下步驟:
1、對_amount進行必要的隱私保護驗證(即驗證rangeproof);
2、在m_pendingtx中增加一條記錄;
3、記錄相應(yīng)eventlog;
4、返回上述記錄的id。
第四實施例,用于說明確認付款函數(shù)的實現(xiàn)方式。
本實施例可以由付款方發(fā)起,發(fā)起后即完成支付業(yè)務(wù)。輸入?yún)?shù)為欲花費的數(shù)字貨幣列表、欲支付的待付款請求(可以支持同時支付多筆請求)、找零信息等。函數(shù)內(nèi)部完成如下步驟:
1、對_changemoney進行必要的隱私保護驗證;
2、驗證:∑(coin.value)==∑(pending.value)+_changemoney.value;
3、銷毀輸入的coin列表對應(yīng)的coin;
4、利用_pending_ids中的數(shù)據(jù)分別創(chuàng)建coin并分配給對應(yīng)的收款方;
利用_changemoney的信息創(chuàng)建找零coin并分配給付款方;
5、記錄相應(yīng)eventlog;
6、返回找零coin對應(yīng)的id。
在本實施例中,收款方利用eventlog來收到付款通知,并獲知得到的coin的id。
第五實施例,用于說明確認付款函數(shù)的實現(xiàn)方式。
本實施例可以由交易雙方的任一方發(fā)起,發(fā)起后刪除pending數(shù)據(jù)。
圖3是本發(fā)明另一實施例的基于區(qū)塊鏈的數(shù)字資產(chǎn)處理的流程示意圖。
如圖3所示,該方法可以包括以下步驟:s310,獲取廣播在區(qū)塊鏈中的隱私密文和用于共享隱私密文的共享公鑰;s320,當隱私密文和共享公鑰廣播在區(qū)塊鏈中時,基于共享公鑰來共享隱私密文,并對所共享的隱私密文進行盲共識,以及,在隱私密文被達成共識后,由轉(zhuǎn)入端、轉(zhuǎn)出端、監(jiān)管端中至少一者基于預(yù)設(shè)私鑰對隱私密文進行解密,得到數(shù)字資產(chǎn)的明文。
在一些實施例中,對隱私密文進行盲共識包括:利用同態(tài)加密方法和/或零知識證明方法對所共享的隱私密文的合法性進行驗證,并對驗證結(jié)果達成一致意見。
在一些實施例中,隱私密文的合法性包括以下項中的至少一項:轉(zhuǎn)入端和轉(zhuǎn)出端的身份的合法性、轉(zhuǎn)入端和轉(zhuǎn)出端的數(shù)字資產(chǎn)在流轉(zhuǎn)前后總量保存不變、流轉(zhuǎn)的數(shù)字資產(chǎn)量大于或者等于零、轉(zhuǎn)出的數(shù)字資產(chǎn)量小于或者等于轉(zhuǎn)出端所持有的數(shù)字資產(chǎn)量。
需要說明的是,在不沖突的情況下,本領(lǐng)域的技術(shù)人員可以按實際需要將上述的操作步驟的順序進行靈活調(diào)整,或者將上述步驟進行靈活組合等操作。為了簡明,不再贅述各種實現(xiàn)方式。另外,各實施例的內(nèi)容可以相互參考引用。
圖4是本發(fā)明一實施例的基于區(qū)塊鏈的數(shù)字資產(chǎn)處理的結(jié)構(gòu)示意圖。
如圖4所示,基于區(qū)塊鏈的數(shù)字資產(chǎn)處理裝置400可以包括:數(shù)據(jù)接收單元410和隱私處理單元420。其中,數(shù)據(jù)接收單元410可以用于接收用于從轉(zhuǎn)出端通過區(qū)塊鏈流轉(zhuǎn)至轉(zhuǎn)入端的數(shù)字資產(chǎn)的隱私密文、和用于傳遞隱私密文的預(yù)設(shè)公鑰;隱私處理單元420可以用于基于預(yù)設(shè)公鑰,得到用于共享隱私密文的共享公鑰,以使:隱私密文和共享公鑰廣播在區(qū)塊鏈中時,區(qū)塊鏈中的區(qū)塊鏈節(jié)點基于共享公鑰來共享隱私密文,并對所共享的隱私密文進行盲共識,以及,在隱私密文被達成共識后,由轉(zhuǎn)入端、轉(zhuǎn)出端和監(jiān)管端基于預(yù)設(shè)私鑰對隱私密文進行解密,得到數(shù)字資產(chǎn)的明文。
在一些實施例中,數(shù)字資產(chǎn)是一個或者多個預(yù)定數(shù)值的coin數(shù)據(jù)結(jié)構(gòu)體的數(shù)據(jù)。
在一些實施例中,在上述實施例的基礎(chǔ)上,基于區(qū)塊鏈的數(shù)字資產(chǎn)處理裝置400還可以包括:請求接收單元、指令發(fā)送單元和數(shù)據(jù)處理單元。其中,請求接收單元可以用于接收轉(zhuǎn)入端所發(fā)送的接收來自轉(zhuǎn)出端的受隱私保護的第一數(shù)值的數(shù)字資產(chǎn)的接收請求;或者,用于接收轉(zhuǎn)出端所發(fā)送的轉(zhuǎn)出受隱私保護的第一數(shù)值的數(shù)字資產(chǎn)的轉(zhuǎn)出請求。
指令發(fā)送單元可以用于響應(yīng)于所接收的接收請求,向轉(zhuǎn)出端發(fā)送是否同意轉(zhuǎn)出受隱私保護的第一數(shù)值的數(shù)字資產(chǎn)的指令;或者,用于響應(yīng)于所接收的轉(zhuǎn)出請求,向轉(zhuǎn)入端發(fā)送是否同意接收受隱私保護的第一數(shù)值的數(shù)字資產(chǎn)的指令。
數(shù)據(jù)處理單元可以用于當接收到來自轉(zhuǎn)出端的包括同意轉(zhuǎn)出和用于證明受隱私保護的第一數(shù)值的數(shù)字資產(chǎn)的合法性的密碼學(xué)證明的應(yīng)答時,在轉(zhuǎn)入端的資產(chǎn)數(shù)據(jù)庫內(nèi),寫入增加一個或者多個預(yù)定受隱私保護的數(shù)值的coin數(shù)據(jù)結(jié)構(gòu)體的數(shù)據(jù)的記錄,以及寫入減少受隱私保護的指定數(shù)值的coin數(shù)據(jù)結(jié)構(gòu)體的數(shù)據(jù)的記錄;以及,在轉(zhuǎn)出端的資產(chǎn)數(shù)據(jù)庫內(nèi),寫入增加銷毀一個或者多個受隱私保護的預(yù)定數(shù)值的coin數(shù)據(jù)結(jié)構(gòu)體的數(shù)據(jù)的記錄,以及寫入增加受隱私保護的指定數(shù)值的coin數(shù)據(jù)結(jié)構(gòu)體的數(shù)據(jù)的記錄;或者,用于當接收到來自轉(zhuǎn)入端的包括同意接收和用于證明受隱私保護的第一數(shù)值的數(shù)字資產(chǎn)的合法性的密碼學(xué)證明的應(yīng)答時,在轉(zhuǎn)入端的資產(chǎn)數(shù)據(jù)庫內(nèi),寫入增加一個或者多個預(yù)定受隱私保護的數(shù)值的coin數(shù)據(jù)結(jié)構(gòu)體的數(shù)據(jù)的記錄,以及寫入減少受隱私保護的指定數(shù)值的coin數(shù)據(jù)結(jié)構(gòu)體的數(shù)據(jù)的記錄;以及,在轉(zhuǎn)出端的資產(chǎn)數(shù)據(jù)庫內(nèi),寫入增加銷毀一個或者多個受隱私保護的預(yù)定數(shù)值的coin數(shù)據(jù)結(jié)構(gòu)體的數(shù)據(jù)的記錄,以及寫入增加受隱私保護的指定數(shù)值的coin數(shù)據(jù)結(jié)構(gòu)體的數(shù)據(jù)的記錄。
在一些實施例中,在上述實施例的基礎(chǔ)上,基于區(qū)塊鏈的數(shù)字資產(chǎn)處理裝置400還可以包括:數(shù)據(jù)驗證單元和數(shù)據(jù)處理單元。其中,數(shù)據(jù)驗證單元可以用于采用同態(tài)加密和/或零知識證明的密碼學(xué)方法驗證一個或者多個受隱私保護的預(yù)定數(shù)值的和與受隱私保護的指定數(shù)值與受隱私保護的第一數(shù)值的和是否相等;數(shù)據(jù)處理單元可以還用于當驗證通過時,在轉(zhuǎn)入端的資產(chǎn)數(shù)據(jù)庫內(nèi),寫入增加一個或者多個受隱私保護的預(yù)定數(shù)值的coin數(shù)據(jù)結(jié)構(gòu)體的數(shù)據(jù)的記錄,以及寫入減少受隱私保護的指定數(shù)值的coin數(shù)據(jù)結(jié)構(gòu)體的數(shù)據(jù)的記錄;在轉(zhuǎn)出端的資產(chǎn)數(shù)據(jù)庫內(nèi),寫入增加銷毀一個或者多個受隱私保護的預(yù)定數(shù)值的coin數(shù)據(jù)結(jié)構(gòu)體的數(shù)據(jù)的記錄,以及寫入增加受隱私保護后的指定數(shù)值的coin數(shù)據(jù)結(jié)構(gòu)體的數(shù)據(jù)的記錄。
在一些實施例中,在上述實施例的基礎(chǔ)上,基于區(qū)塊鏈的數(shù)字資產(chǎn)處理裝置400還可以包括:請求接收單元、指令發(fā)送單元和反饋發(fā)送單元。其中,請求接收單元可以還用于接收來自轉(zhuǎn)入端所發(fā)送的接收轉(zhuǎn)出端的受隱私保護的第一數(shù)量的數(shù)字資產(chǎn)的接收請求;指令發(fā)送單元可以還用于響應(yīng)于所接收的接收請求,向轉(zhuǎn)出端發(fā)送是否同意發(fā)送受隱私保護的第一數(shù)量的數(shù)字資產(chǎn)的指令;反饋發(fā)送單元可以用于當接收到來自轉(zhuǎn)出端的拒絕向轉(zhuǎn)入端發(fā)送第一數(shù)量的數(shù)字資產(chǎn)的應(yīng)答時,向轉(zhuǎn)入端發(fā)送拒絕的反饋。
在一些實施例中,請求接收單元還可以用于接收來自轉(zhuǎn)入端所發(fā)送的撤回接收請求;反饋發(fā)送單元還可以用于將所接收的撤回接收請求反饋給轉(zhuǎn)出端。
在一些實施例中,在上述實施例的基礎(chǔ)上,基于區(qū)塊鏈的數(shù)字資產(chǎn)處理裝置400還可以包括:合約部署單元。合約部署單元可以用于預(yù)先在一個或者多個區(qū)塊鏈中部署智能合約程序,智能合約程序用于定義數(shù)字資產(chǎn)在一個或者多個區(qū)塊鏈中入場、轉(zhuǎn)賬、出場、余額查詢中的至少一種操作。
需要說明的是,本實施例中所示的功能單元或者功能模塊的實現(xiàn)方式可以為硬件、軟件、固件或者它們的組合。當以硬件方式實現(xiàn)時,其可以例如是電子電路、專用集成電路(asic)、適當?shù)墓碳⒉寮?、功能卡等等。當以軟件方式實現(xiàn)時,本發(fā)明的元素是被用于執(zhí)行所需任務(wù)的程序或者代碼段。程序或者代碼段可以存儲在機器可讀介質(zhì)中,或者通過載波中攜帶的數(shù)據(jù)信號在傳輸介質(zhì)或者通信鏈路上傳送?!皺C器可讀介質(zhì)”可以包括能夠存儲或傳輸信息的任何介質(zhì)。機器可讀介質(zhì)的例子包括電子電路、半導(dǎo)體存儲器設(shè)備、rom、閃存、可擦除rom(erom)、軟盤、cd-rom、光盤、硬盤、光纖介質(zhì)、射頻(rf)鏈路,等等。代碼段可以經(jīng)由諸如因特網(wǎng)、內(nèi)聯(lián)網(wǎng)等的計算機網(wǎng)絡(luò)被下載。
圖5是本發(fā)明另一實施例的基于區(qū)塊鏈的數(shù)字資產(chǎn)處理的結(jié)構(gòu)示意圖。
如圖5所示,基于區(qū)塊鏈的數(shù)字資產(chǎn)處理裝置500可以包括:數(shù)據(jù)獲取單元510和數(shù)據(jù)處理單元520。其中,數(shù)據(jù)獲取單元510可以用于當隱私密文和共享公鑰廣播在區(qū)塊鏈中時,基于共享公鑰來共享隱私密文,并對所共享的隱私密文進行盲共識,以及,在隱私密文被達成共識后,由轉(zhuǎn)入端、轉(zhuǎn)出端、監(jiān)管端中至少一者基于預(yù)設(shè)私鑰對隱私密文進行解密,得到數(shù)字資產(chǎn)的明文。需要說明的是,上述各實施例的裝置可作為上述各實施例的用于各實施例的方法中的執(zhí)行主體,可以實現(xiàn)各個方法中的相應(yīng)流程,為了簡潔,此方面內(nèi)容不再贅述。
在一些實施例中,數(shù)據(jù)處理單元還可以用于:利用同態(tài)加密方法和/或零知識證明方法對所共享的隱私密文的合法性進行驗證,并對驗證結(jié)果達成一致意見。
以上所描述的裝置實施例僅僅是示意性的,其中作為分離部件說明的單元可以是或者也可以不是物理上分開的,可以分布到多個網(wǎng)絡(luò)單元上,可以根據(jù)實際的需要選擇其中部分或者全部模塊來實現(xiàn)實施例方案的目的。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實施方式可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以直接通過硬件來實現(xiàn)?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在計算機可讀存儲介質(zhì)中,如rom/ram、磁碟、光盤等,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個實施例或者實施例的某些部分所述的方法。
最后應(yīng)說明的是:以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。