本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種跨區(qū)塊鏈的數(shù)字資產(chǎn)流轉(zhuǎn)的方法和裝置。
背景技術(shù):
隨著通信技術(shù)的發(fā)展,區(qū)塊鏈由于公開、透明、無法篡改等優(yōu)點(diǎn)而逐漸被應(yīng)用于數(shù)據(jù)處理的應(yīng)用場(chǎng)景中。區(qū)塊鏈可以看作分布式統(tǒng)一賬本,由所有參與方共同決定記賬內(nèi)容,每個(gè)參與方都保存有全量數(shù)據(jù),任何個(gè)體參與方無法對(duì)數(shù)據(jù)進(jìn)行篡改。區(qū)塊鏈技術(shù)是一個(gè)通用技術(shù)。區(qū)塊鏈例如可以是比特幣區(qū)塊鏈或者以太坊區(qū)塊鏈。在不同的區(qū)塊鏈上登記的數(shù)字資產(chǎn)或者數(shù)字貨幣會(huì)有流轉(zhuǎn)流通的需求。比如用戶希望用比特幣來兌換以太坊上的數(shù)字資產(chǎn),傳統(tǒng)上他只能通過交易所將比特幣兌換成以太幣(中間通過法定貨幣計(jì)價(jià),比如美元等),然后在以太坊上用以太幣去購買資產(chǎn)。這不僅增加了用戶的使用門檻,增加了交易損耗,而且出現(xiàn)了兌換風(fēng)險(xiǎn)。
目前,人們嘗試?yán)脜^(qū)塊鏈節(jié)點(diǎn)投票方案來解決數(shù)字貨幣跨鏈流通的問題。當(dāng)區(qū)塊鏈上足夠數(shù)量的區(qū)塊鏈節(jié)點(diǎn)進(jìn)行投票,投票通過最低數(shù)量后,完成數(shù)字貨幣跨鏈流通操作。然而,使用投票的方式來解決跨鏈,不僅限制了流通速度,而且缺少權(quán)威機(jī)構(gòu)的有效監(jiān)管,會(huì)產(chǎn)生區(qū)塊鏈節(jié)點(diǎn)練手作假的問題。
技術(shù)實(shí)現(xiàn)要素:
鑒于以上所述一個(gè)或多個(gè)問題,本發(fā)明實(shí)施例提供了一種跨區(qū)塊鏈的數(shù)字資產(chǎn)流轉(zhuǎn)的方法和裝置。
第一方面,提供了跨區(qū)塊鏈的數(shù)字資產(chǎn)流轉(zhuǎn)的方法。該方法包括以下步驟:
接收將第一數(shù)量的數(shù)字資產(chǎn)從第一區(qū)塊鏈中的使用方節(jié)點(diǎn)流轉(zhuǎn)至第二區(qū)塊鏈中的接收方節(jié)點(diǎn)的流轉(zhuǎn)申請(qǐng);
響應(yīng)于所接收的流轉(zhuǎn)申請(qǐng),調(diào)用第一區(qū)塊鏈和第二區(qū)塊鏈之間所協(xié)議的智能合約程序;
基于所調(diào)用的智能合約程序,將第一數(shù)量的數(shù)字資產(chǎn)等值轉(zhuǎn)換為第二數(shù)量的法定通用數(shù)據(jù);
在使用方節(jié)點(diǎn)的第一資產(chǎn)數(shù)據(jù)庫中寫入減少第一數(shù)量的數(shù)字資產(chǎn)的記錄,以及在接收方節(jié)點(diǎn)的第二資產(chǎn)數(shù)據(jù)庫中寫入增加第二數(shù)量的法定通用數(shù)據(jù)的記錄。
第二方面,提供了一種跨區(qū)塊鏈的數(shù)字資產(chǎn)流轉(zhuǎn)的裝置。該裝置包括:
申請(qǐng)接收單元,用于接收將第一數(shù)量的數(shù)字資產(chǎn)從第一區(qū)塊鏈中的使用方節(jié)點(diǎn)流轉(zhuǎn)至第二區(qū)塊鏈中的接收方節(jié)點(diǎn)的流轉(zhuǎn)申請(qǐng);
程序調(diào)用單元,用于響應(yīng)于所接收的流轉(zhuǎn)申請(qǐng),調(diào)用第一區(qū)塊鏈和第二區(qū)塊鏈之間所協(xié)議的智能合約程序;
資產(chǎn)轉(zhuǎn)換單元,用于基于所調(diào)用的智能合約程序,將第一數(shù)量的數(shù)字資產(chǎn)等值轉(zhuǎn)換為第二數(shù)量的法定通用數(shù)據(jù);
數(shù)據(jù)記錄單元,用于在使用方節(jié)點(diǎn)的第一資產(chǎn)數(shù)據(jù)庫中寫入減少第一數(shù)量的數(shù)字資產(chǎn)的記錄,以及在接收方節(jié)點(diǎn)的第二資產(chǎn)數(shù)據(jù)庫中寫入增加第二數(shù)量的法定通用數(shù)據(jù)的記錄。
由此,本發(fā)明實(shí)施例通過監(jiān)管方調(diào)用的智能合約程序,將待流轉(zhuǎn)的數(shù)字資產(chǎn)轉(zhuǎn)換為等值的法定通用數(shù)據(jù),然后再在使用方節(jié)點(diǎn)的第一資產(chǎn)數(shù)據(jù)庫中寫入減少第一數(shù)量的數(shù)字資產(chǎn)的記錄,以及在接收方節(jié)點(diǎn)的第二資產(chǎn)數(shù)據(jù)庫中寫入增加第二數(shù)量的法定通用數(shù)據(jù)的記錄,不僅可以確保不同區(qū)塊鏈中數(shù)字資產(chǎn)流轉(zhuǎn)過程中保持總量不變,防止流轉(zhuǎn)損耗,而且可以通過權(quán)威的監(jiān)管方隨時(shí)跟蹤監(jiān)管數(shù)字資產(chǎn)跨區(qū)塊鏈的流轉(zhuǎn)過程,確保了快速流轉(zhuǎn),防止參與方投票作假等問題。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)本發(fā)明實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面所描述的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明一實(shí)施例的數(shù)字貨幣跨區(qū)塊鏈流轉(zhuǎn)的系統(tǒng)架構(gòu)示意圖。
圖2是本發(fā)明另一實(shí)施例的跨區(qū)塊鏈的數(shù)字資產(chǎn)流轉(zhuǎn)的方法的流程示意圖。
圖3是本發(fā)明另一實(shí)施例的跨區(qū)塊鏈的數(shù)字資產(chǎn)流轉(zhuǎn)的裝置的結(jié)構(gòu)示意圖。
圖4是本發(fā)明另一實(shí)施例的跨區(qū)塊鏈的數(shù)字資產(chǎn)流轉(zhuǎn)的裝置的框架示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。下面將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本申請(qǐng)。
數(shù)字資產(chǎn)可以是區(qū)塊鏈上可轉(zhuǎn)移的數(shù)字信息,往往與現(xiàn)實(shí)世界的某種實(shí)物對(duì)應(yīng),它由前述賬戶地址或智能合約地址持有。數(shù)字資產(chǎn)可以包括但不限于法定數(shù)字貨幣。法定數(shù)字貨幣可以是由政府央行發(fā)行的數(shù)字貨幣。下面以數(shù)字貨幣在區(qū)塊鏈中進(jìn)行交易為例說明數(shù)字資產(chǎn)的跨區(qū)塊鏈流轉(zhuǎn)的實(shí)現(xiàn)方式。
圖1是本發(fā)明一實(shí)施例的數(shù)字資產(chǎn)跨區(qū)塊鏈流轉(zhuǎn)的系統(tǒng)架構(gòu)示意圖。
如圖1所示,該系統(tǒng)架構(gòu)可以包括:監(jiān)管方(sdm)110、第一區(qū)塊鏈120、第二區(qū)塊鏈130和網(wǎng)絡(luò)140。
監(jiān)管方110可以央行、票交所等權(quán)威機(jī)構(gòu)。監(jiān)管方110可以包括:數(shù)字貨幣中心系統(tǒng)111和監(jiān)管系統(tǒng)112。數(shù)字貨幣中心系統(tǒng)111可以用于發(fā)行法定數(shù)字貨幣,存儲(chǔ)支付準(zhǔn)備數(shù)據(jù)庫,支付準(zhǔn)備數(shù)據(jù)庫用于記錄支付準(zhǔn)備數(shù)字資產(chǎn)的發(fā)行(創(chuàng)建)和回收(轉(zhuǎn)出)等數(shù)據(jù)。監(jiān)管系統(tǒng)112可以設(shè)置有sdmapp和隱私保護(hù)中間層組件(sdds-middleware)。sdds-middleware可以為區(qū)塊鏈120、130上流轉(zhuǎn)的數(shù)字貨幣提供隱私保護(hù)功能。數(shù)字貨幣中心系統(tǒng)111中登記的是明文數(shù)字貨幣,在區(qū)塊鏈120、130上登記的則是密文數(shù)字貨幣。
第一區(qū)塊鏈120可以包括:區(qū)塊鏈節(jié)點(diǎn)121-124和部署在第一區(qū)塊鏈120中的智能合約程序125。第二區(qū)塊鏈130可以包括:區(qū)塊鏈節(jié)點(diǎn)131-134和部署在第二區(qū)塊鏈130中的智能合約程序135。
使用方節(jié)點(diǎn)122和接收方節(jié)點(diǎn)132分別是交易的付款方節(jié)點(diǎn)和收款方節(jié)點(diǎn)。例如,使用方節(jié)點(diǎn)122需要想轉(zhuǎn)100萬數(shù)字貨幣給接收方節(jié)點(diǎn)132。使用方節(jié)點(diǎn)122需要先將這筆錢“出場(chǎng)”到數(shù)字貨幣中心系統(tǒng)111內(nèi)部,由數(shù)字貨幣中心系統(tǒng)111的支付準(zhǔn)備數(shù)據(jù)庫記錄這筆錢并轉(zhuǎn)換變?yōu)榉ǘㄍㄓ脭?shù)據(jù)(央行發(fā)行的法定數(shù)字貨幣),然后再將通用數(shù)字貨幣支付給接收方節(jié)點(diǎn)132。
使用方節(jié)點(diǎn)122可以是第一區(qū)塊鏈120中的任意一個(gè)節(jié)點(diǎn)。接收方節(jié)點(diǎn)132可以是第二區(qū)塊鏈130中的任意一個(gè)節(jié)點(diǎn)。使用方節(jié)點(diǎn)122和接收方節(jié)點(diǎn)132也可以是區(qū)塊鏈之外的節(jié)點(diǎn),或者他們并不以節(jié)點(diǎn)的形式出現(xiàn),此方面內(nèi)容不做限制。使用方節(jié)點(diǎn)122可以通過sdm業(yè)務(wù)接口訪問監(jiān)管方110,并與之交互數(shù)據(jù)。
監(jiān)管方110監(jiān)管方110第一區(qū)塊鏈120(例如數(shù)字票據(jù)交易系統(tǒng))、第二區(qū)塊鏈130(例如數(shù)字股票交易系統(tǒng))可以是分布式統(tǒng)一賬本,由所有參與方(例如各區(qū)塊鏈節(jié)點(diǎn))共同決定記賬內(nèi)容,每個(gè)參與方都保存有全量數(shù)據(jù),任何個(gè)體無法對(duì)數(shù)據(jù)進(jìn)行篡改。第一區(qū)塊鏈120、第二區(qū)塊鏈130可以是聯(lián)盟鏈。聯(lián)盟鏈與公有鏈相對(duì),是區(qū)塊鏈的一種。特點(diǎn)是具有準(zhǔn)入制度,只有獲得批準(zhǔn)的參與方才能加入。對(duì)應(yīng)的,聯(lián)盟鏈中會(huì)有監(jiān)管方和普通參與方兩種角色。
智能合約程序125和135可以是數(shù)字貨幣管理智能合約。數(shù)字貨幣管理智能合約是部署在特定區(qū)塊鏈上的智能合約,只有部署了該合約的區(qū)塊鏈可以使用該數(shù)字貨幣跨鏈方案。數(shù)字貨幣管理智能合約可以包括:sdmfrontend貨幣合約、票據(jù)合約和業(yè)務(wù)合約。智能合約程序125和135可以具備如下屬性:設(shè)置有監(jiān)管方110外部賬戶地址,通過該設(shè)置,該合約可以識(shí)別命令是否來自監(jiān)管方??梢詫?shù)字流轉(zhuǎn)的記錄寫入數(shù)字貨幣登記表。該表格記錄區(qū)塊鏈上某個(gè)賬戶地址持有數(shù)字貨幣的數(shù)量。該表格可以存儲(chǔ)在資產(chǎn)數(shù)據(jù)庫內(nèi)。智能合約程序125和135同時(shí)還具備如下函數(shù)(或者功能):1、數(shù)字貨幣注入函數(shù)。該函數(shù)只能由監(jiān)管方110調(diào)用。在調(diào)用該函數(shù)之后,指定賬戶地址在數(shù)字貨幣登記表上會(huì)增加相應(yīng)的數(shù)字貨幣。2、數(shù)字貨幣提取函數(shù)。該函數(shù)只能由監(jiān)管方調(diào)用。在調(diào)用之后,指定賬戶地址在數(shù)字貨幣登記表上會(huì)減少相應(yīng)的數(shù)字貨幣。3、數(shù)字貨幣轉(zhuǎn)賬函數(shù)。該函數(shù)可以由任一參與方調(diào)用。在調(diào)用該函數(shù)之后,參與方在數(shù)字貨幣登記表上會(huì)減少指定額度的數(shù)字貨幣(如果原余額足夠),同時(shí)指定的接收方在數(shù)字貨幣登記表上會(huì)增加指定額度的數(shù)字貨幣。
監(jiān)管方110可以理解,圖1中的設(shè)備的數(shù)目僅僅是示意性的。根據(jù)實(shí)現(xiàn)需要,進(jìn)行調(diào)整。其中,區(qū)塊鏈節(jié)點(diǎn)可以是各種電子設(shè)備。這些電子設(shè)備包括但不限于個(gè)人電腦、智能手機(jī)、平板電腦、個(gè)人數(shù)字助理、服務(wù)器等。這些電子設(shè)備可以安裝有各種通訊客戶端應(yīng)用,例如即時(shí)通信工具、郵箱客戶端、社交平臺(tái)軟件、音頻視頻軟件等。其中,這些電子設(shè)備具有存儲(chǔ)器和邏輯運(yùn)算處理器、控制元件等。這些電子設(shè)備可以發(fā)送數(shù)據(jù)請(qǐng)求,或者可以接收數(shù)據(jù)請(qǐng)求,還可以對(duì)數(shù)據(jù)進(jìn)行分析、驗(yàn)證和存儲(chǔ)等處理。
網(wǎng)絡(luò)140用以在各種電子設(shè)備之間提供通信鏈路的介質(zhì)。具體的,網(wǎng)絡(luò)設(shè)備可以包括各種連接類型,例如有線、無線通信鏈路或者光纖電纜等。
下面各實(shí)施例均可以應(yīng)用于圖1所示架構(gòu),為了描述簡(jiǎn)潔,各實(shí)施例可以相互參考引用。
圖2是本發(fā)明另一實(shí)施例的跨區(qū)塊鏈的數(shù)字資產(chǎn)流轉(zhuǎn)的方法的流程示意圖。
如圖2所示,該方法可以包括以下步驟:s210,接收將第一數(shù)量的數(shù)字資產(chǎn)從第一區(qū)塊鏈中的使用方節(jié)點(diǎn)流轉(zhuǎn)至第二區(qū)塊鏈中的接收方節(jié)點(diǎn)的流轉(zhuǎn)申請(qǐng);s220,響應(yīng)于所接收的流轉(zhuǎn)申請(qǐng),調(diào)用第一區(qū)塊鏈和第二區(qū)塊鏈之間所協(xié)議的智能合約程序;s230,基于所調(diào)用的智能合約程序,將第一數(shù)量的數(shù)字資產(chǎn)等值轉(zhuǎn)換為第二數(shù)量的法定通用數(shù)據(jù);s240,在使用方節(jié)點(diǎn)的第一資產(chǎn)數(shù)據(jù)庫中寫入減少第一數(shù)量的數(shù)字資產(chǎn)的記錄,以及在接收方節(jié)點(diǎn)的第二資產(chǎn)數(shù)據(jù)庫中寫入增加第二數(shù)量的法定通用數(shù)據(jù)的記錄。
在步驟s210中,數(shù)字資產(chǎn)可以是區(qū)塊鏈上可轉(zhuǎn)移的數(shù)字信息,往往與現(xiàn)實(shí)世界的某種實(shí)物對(duì)應(yīng)。數(shù)字資產(chǎn)可以由某參與方(例如使用方)通過賬戶地址或智能合約地址來持有。賬戶地址可以是區(qū)塊鏈網(wǎng)絡(luò)上的一個(gè)賬戶。賬戶地址通常是由某非對(duì)稱密鑰的公鑰的某種變形的形式出現(xiàn)。只有持有賬戶地址對(duì)應(yīng)的私鑰才能夠獲得操作該賬戶的權(quán)限。智能合約地址可以是智能合約對(duì)應(yīng)的虛擬賬戶。與普通賬戶地址不同,智能合約地址沒有對(duì)應(yīng)的操作私鑰,它是由合約代碼規(guī)定哪些賬戶地址可以有操作權(quán)限。
在步驟s220中,智能合約程序可以是一套以數(shù)字形式定義的承諾(promises),包括合約參與方可以在上面執(zhí)行這些承諾的協(xié)議。智能合約可以是區(qū)塊鏈上的一段程序代碼,規(guī)定了合約相關(guān)人的權(quán)利與義務(wù)以及動(dòng)作條款。合約相關(guān)人通過發(fā)送區(qū)塊鏈交易來確認(rèn)智能合約、支付合約可能需要的數(shù)字貨幣、調(diào)用智能合約規(guī)定的功能等。
在步驟s230中,法定通用數(shù)據(jù)可以是央行發(fā)行的法定數(shù)字貨幣。
在步驟s240中,第一資產(chǎn)數(shù)據(jù)庫可以用于存儲(chǔ)使用方節(jié)點(diǎn)在第一區(qū)塊鏈中的數(shù)字資產(chǎn)記錄和/或法定通用數(shù)據(jù)的記錄。第二資產(chǎn)數(shù)據(jù)庫可以用于存儲(chǔ)使用方節(jié)點(diǎn)在第一區(qū)塊鏈中的數(shù)字資產(chǎn)記錄和/或法定通用數(shù)據(jù)的記錄。
當(dāng)法定數(shù)字貨幣出現(xiàn)之后,數(shù)字貨幣可能登記在不同的區(qū)塊鏈上,例如數(shù)字票據(jù)區(qū)塊鏈和數(shù)字期權(quán)區(qū)塊鏈。用戶可能在不同的區(qū)塊鏈上都持有數(shù)字資產(chǎn)(例如法定的數(shù)字貨幣)。但是數(shù)字貨幣如果無法跨鏈流通,就意味著用戶的資產(chǎn)是分散的,無法整合。由此,本發(fā)明實(shí)施例通過監(jiān)管方調(diào)用的智能合約程序,將待流轉(zhuǎn)的數(shù)字資產(chǎn)轉(zhuǎn)換為等值的法定通用數(shù)據(jù),然后再在使用方節(jié)點(diǎn)的第一資產(chǎn)數(shù)據(jù)庫中寫入減少第一數(shù)量的數(shù)字資產(chǎn)的記錄,以及在接收方節(jié)點(diǎn)的第二資產(chǎn)數(shù)據(jù)庫中寫入增加第二數(shù)量的法定通用數(shù)據(jù)的記錄,不僅可以確保不同區(qū)塊鏈中數(shù)字資產(chǎn)流轉(zhuǎn)過程中保持總量不變,防止流轉(zhuǎn)損耗,而且可以通過權(quán)威的監(jiān)管方隨時(shí)跟蹤監(jiān)管數(shù)字資產(chǎn)跨區(qū)塊鏈的流轉(zhuǎn)過程,確保了快速流轉(zhuǎn),防止參與方投票作假等問題。
在一些實(shí)施例中,在調(diào)用第一區(qū)塊鏈和第二區(qū)塊鏈之間所協(xié)議的智能合約程序(即步驟s220)之后,跨區(qū)塊鏈的數(shù)字資產(chǎn)流轉(zhuǎn)的方法還包括如下的驗(yàn)證步驟:基于所調(diào)用的智能合約,對(duì)所接收的流轉(zhuǎn)申請(qǐng)進(jìn)行驗(yàn)證;
待流轉(zhuǎn)申請(qǐng)通過驗(yàn)證后,將第一數(shù)量的數(shù)字資產(chǎn)等值轉(zhuǎn)換為第二數(shù)量的法定通用數(shù)據(jù)。
數(shù)字貨幣后續(xù)的流通主要在特定區(qū)塊鏈上,涉及到跨鏈流通則需要申請(qǐng)?zhí)岢鰟?dòng)作。由此,通過驗(yàn)證步驟,可以使得監(jiān)管方有效地控制數(shù)字資產(chǎn)跨區(qū)塊鏈的流轉(zhuǎn)過程,確保了快速流轉(zhuǎn),防止參與方投票作假的問題。
在一些實(shí)施例中,在接收流轉(zhuǎn)申請(qǐng)(即步驟s210)之前,跨區(qū)塊鏈的數(shù)字資產(chǎn)流轉(zhuǎn)的方法還可以包括如下的創(chuàng)建(或者發(fā)行)步驟:
接收來自使用方節(jié)點(diǎn)的創(chuàng)建與第一數(shù)量的數(shù)字資產(chǎn)等值的法定通用數(shù)據(jù)的創(chuàng)建申請(qǐng);響應(yīng)于所接收的創(chuàng)建申請(qǐng),對(duì)所接收的創(chuàng)建申請(qǐng)進(jìn)行驗(yàn)證;
待創(chuàng)建申請(qǐng)通過驗(yàn)證后,將與第一數(shù)量的數(shù)字資產(chǎn)等值的支付準(zhǔn)備數(shù)字資產(chǎn)轉(zhuǎn)換為第二數(shù)量的法定通用數(shù)據(jù);將第二數(shù)量的法定通用數(shù)據(jù)存儲(chǔ)至支付準(zhǔn)備數(shù)據(jù)庫中。
例如,使用者(以商業(yè)銀行為例)首先向監(jiān)管方申請(qǐng)數(shù)字貨幣,申請(qǐng)通過后使用者在監(jiān)管方的備付金被扣除,轉(zhuǎn)換為數(shù)字貨幣。監(jiān)管方通過數(shù)字貨幣中心系統(tǒng)統(tǒng)一發(fā)行數(shù)字貨幣,數(shù)字貨幣發(fā)行后以加密字符串的形式存儲(chǔ)在中心系統(tǒng)中。發(fā)行動(dòng)作可以以監(jiān)管方持有的私鑰對(duì)數(shù)字貨幣id、金額、使用者等必備信息進(jìn)行數(shù)字簽名來體現(xiàn)其權(quán)威性。
在一些實(shí)施例中,在上述各實(shí)施例的基礎(chǔ)上,跨區(qū)塊鏈的數(shù)字資產(chǎn)流轉(zhuǎn)的方法還可以包括:對(duì)第二數(shù)量的法定通用數(shù)據(jù)進(jìn)行數(shù)字簽名,以供:所述第一區(qū)塊鏈和/或所述第二區(qū)塊鏈中的節(jié)點(diǎn)對(duì)所述數(shù)字簽名進(jìn)行共識(shí)驗(yàn)證,當(dāng)判定所述數(shù)字簽名有效,且判定所述數(shù)字簽名是由所述監(jiān)管所簽時(shí),通過所述共識(shí)驗(yàn)證。
例如,第一和第二區(qū)塊鏈中的每一個(gè)節(jié)點(diǎn)都可以設(shè)置有共識(shí)驗(yàn)證單元(也可以根據(jù)需求不對(duì)某些節(jié)點(diǎn)進(jìn)行設(shè)置)。共識(shí)驗(yàn)證單元可以用來對(duì)區(qū)塊鏈上的跨鏈流轉(zhuǎn)的數(shù)字簽名進(jìn)行驗(yàn)證,只有通過數(shù)字簽名驗(yàn)證后確認(rèn)是監(jiān)管方發(fā)出的跨鏈操作,區(qū)塊鏈節(jié)點(diǎn)才將該交易打包放入?yún)^(qū)塊鏈。
具體的,參與節(jié)點(diǎn)(只讀節(jié)點(diǎn))接收到新的區(qū)塊后,驗(yàn)證其中的跨鏈交易是否帶有合法的監(jiān)管方數(shù)字簽名,如果確認(rèn)數(shù)字簽名有效,則確認(rèn)該區(qū)塊;參與節(jié)點(diǎn)(記賬節(jié)點(diǎn))接收到新的跨鏈交易后,驗(yàn)證是否帶有合法的監(jiān)管方數(shù)字簽名,如果確認(rèn)數(shù)字簽名有效,則將該交易打包進(jìn)入新的區(qū)塊,并向全網(wǎng)廣播。
在一些實(shí)施例中,創(chuàng)建申請(qǐng)包括以下項(xiàng)中的至少一項(xiàng):擬創(chuàng)建的數(shù)字資產(chǎn)的id、第一數(shù)量和使用方節(jié)點(diǎn)的身份信息。
在一些實(shí)施例中,在上述各實(shí)施例的基礎(chǔ)上,跨區(qū)塊鏈的數(shù)字資產(chǎn)流轉(zhuǎn)的方法還可以包括如下的轉(zhuǎn)入(或者注入)步驟:接收來自使用方節(jié)點(diǎn)的將支付準(zhǔn)備數(shù)據(jù)庫中的第三數(shù)量的法定通用數(shù)據(jù)轉(zhuǎn)移第一資產(chǎn)數(shù)據(jù)庫的轉(zhuǎn)入申請(qǐng);對(duì)所接收的轉(zhuǎn)入申請(qǐng)進(jìn)行驗(yàn)證;當(dāng)?shù)谌龜?shù)量小于第二數(shù)量時(shí),待轉(zhuǎn)入申請(qǐng)通過驗(yàn)證后,將第二數(shù)量拆分為第三數(shù)量和剩余數(shù)量,在第一資產(chǎn)數(shù)據(jù)庫中寫入增加第三數(shù)量的數(shù)字資產(chǎn)的記錄;在支付準(zhǔn)備數(shù)據(jù)庫中寫入減少第三數(shù)量的數(shù)字資產(chǎn)的記錄,以及寫入增加剩余數(shù)量的數(shù)字資產(chǎn)的記錄;當(dāng)?shù)谌龜?shù)量等于第二數(shù)量時(shí),待轉(zhuǎn)入申請(qǐng)通過驗(yàn)證后,在支付準(zhǔn)備數(shù)據(jù)庫中寫入減少第三數(shù)量的數(shù)字資產(chǎn)的記錄,在第一資產(chǎn)數(shù)據(jù)庫中寫入增加第三數(shù)量的數(shù)字資產(chǎn)的記錄。
例如,使用者繼續(xù)向監(jiān)管方申請(qǐng)數(shù)字貨幣進(jìn)入?yún)^(qū)塊鏈,使用者通過直連網(wǎng)絡(luò)向監(jiān)管方發(fā)送申請(qǐng)報(bào)文,內(nèi)容包括注入?yún)^(qū)塊鏈的id,數(shù)字貨幣金額,區(qū)塊鏈上數(shù)字貨幣接收方地址等。監(jiān)管方審核通過后,會(huì)將已經(jīng)發(fā)行且接受者是該使用者的數(shù)字貨幣進(jìn)行分拆,一部分按照?qǐng)?bào)文要求注入?yún)^(qū)塊鏈,一部分作為剩余留在中心系統(tǒng)。
在一些實(shí)施例中,轉(zhuǎn)入申請(qǐng)可以包括以下項(xiàng)中的至少一項(xiàng):第三數(shù)量、第一區(qū)塊鏈的id和使用方節(jié)點(diǎn)的地址。在一些實(shí)施例中,在上述各實(shí)施例的基礎(chǔ)上,跨區(qū)塊鏈的數(shù)字資產(chǎn)流轉(zhuǎn)的方法還可以包括如下的轉(zhuǎn)移(或者提出)步驟:接收來自使用方節(jié)點(diǎn)的將第一數(shù)量的數(shù)字資產(chǎn)從第一區(qū)塊鏈中的使用方節(jié)點(diǎn)轉(zhuǎn)移至第一區(qū)塊鏈中的轉(zhuǎn)入方節(jié)點(diǎn)的轉(zhuǎn)移申請(qǐng);對(duì)所接收的轉(zhuǎn)移申請(qǐng)進(jìn)行驗(yàn)證;待轉(zhuǎn)移申請(qǐng)通過驗(yàn)證后,在使用方節(jié)點(diǎn)的第一資產(chǎn)數(shù)據(jù)庫中寫入減少第一數(shù)量的數(shù)字資產(chǎn)的記錄,以及在轉(zhuǎn)入方節(jié)點(diǎn)的第二資產(chǎn)數(shù)據(jù)庫中寫入增加第二數(shù)量的法定通用數(shù)據(jù)的記錄。
例如,使用者需要將數(shù)字貨幣轉(zhuǎn)換到其他區(qū)塊鏈上或返還時(shí),通過直連網(wǎng)絡(luò)向監(jiān)管方發(fā)送報(bào)文申請(qǐng)。監(jiān)管方收到后調(diào)用區(qū)塊鏈上數(shù)字貨幣的智能合約對(duì)指定使用者的數(shù)字貨幣進(jìn)行減額操作。同時(shí)在中心系統(tǒng)中為使用者增加相應(yīng)的數(shù)字貨幣。
在一些實(shí)施例中,在上述各實(shí)施例的基礎(chǔ)上,跨區(qū)塊鏈的數(shù)字資產(chǎn)流轉(zhuǎn)的方法還可以包括如下的轉(zhuǎn)出(或者回收)步驟:接收來自使用方節(jié)點(diǎn)的將第二數(shù)量的法定通用數(shù)據(jù)從第一資產(chǎn)數(shù)據(jù)庫轉(zhuǎn)出至支付準(zhǔn)備數(shù)據(jù)庫的轉(zhuǎn)出申請(qǐng);對(duì)所接收的轉(zhuǎn)出申請(qǐng)進(jìn)行驗(yàn)證;待轉(zhuǎn)出申請(qǐng)通過驗(yàn)證后,在第一資產(chǎn)數(shù)據(jù)庫中寫入減少第二數(shù)量的法定通用數(shù)據(jù)的記錄,并在支付準(zhǔn)備數(shù)據(jù)庫中寫入增加第二數(shù)量的法定通用數(shù)據(jù)等值的支付準(zhǔn)備數(shù)字資產(chǎn)。
例如,使用者不再使用數(shù)字貨幣時(shí),可以向監(jiān)管方申請(qǐng)回收數(shù)字貨幣。監(jiān)管方將中心系統(tǒng)中使用者的數(shù)字貨幣進(jìn)行銷毀,同時(shí)為其增加備付金數(shù)額。
在一些實(shí)施例中,在上述各實(shí)施例的基礎(chǔ)上,跨區(qū)塊鏈的數(shù)字資產(chǎn)流轉(zhuǎn)的方法還可以包括:預(yù)先在待流轉(zhuǎn)的區(qū)塊鏈上部署智能合約程序,智能合約程序用于定義數(shù)字資產(chǎn)在待流轉(zhuǎn)的區(qū)塊鏈上的創(chuàng)建、轉(zhuǎn)入、轉(zhuǎn)移、流轉(zhuǎn)、轉(zhuǎn)出操作中的至少一種操作。
在一些實(shí)施例中,在上述各實(shí)施例的基礎(chǔ)上,跨區(qū)塊鏈的數(shù)字資產(chǎn)流轉(zhuǎn)的方法還可以包括:預(yù)先為智能合約程序設(shè)置監(jiān)管方的賬戶地址;當(dāng)在通過轉(zhuǎn)入申請(qǐng)或者轉(zhuǎn)出申請(qǐng)的驗(yàn)證后,調(diào)用上述智能合約程序。
由此,上述實(shí)施例可以通過數(shù)字貨幣中心化發(fā)行系統(tǒng),發(fā)行、注入、流通、提出、回籠數(shù)字資產(chǎn),保持?jǐn)?shù)據(jù)總量不變,避免損耗。
需要說明的是,在不沖突的情況下,本領(lǐng)域的技術(shù)人員可以按實(shí)際需要將上述的操作步驟的順序進(jìn)行靈活調(diào)整,或者將上述步驟進(jìn)行靈活組合等操作。為了簡(jiǎn)明,不再贅述各種實(shí)現(xiàn)方式。另外,各實(shí)施例的內(nèi)容可以相互參考引用。
圖3是本發(fā)明另一實(shí)施例的跨區(qū)塊鏈的數(shù)字資產(chǎn)流轉(zhuǎn)的裝置的結(jié)構(gòu)示意圖。
如圖3所示,跨區(qū)塊鏈的數(shù)字資產(chǎn)流轉(zhuǎn)的裝置300可以包括:申請(qǐng)接收單元310、程序調(diào)用單元320、資產(chǎn)轉(zhuǎn)換單元330和數(shù)據(jù)記錄單元340數(shù)據(jù)記錄單元。其中,申請(qǐng)接收單元310可以用于接收將第一數(shù)量的數(shù)字資產(chǎn)從第一區(qū)塊鏈中的使用方節(jié)點(diǎn)流轉(zhuǎn)至第二區(qū)塊鏈中的接收方節(jié)點(diǎn)的流轉(zhuǎn)申請(qǐng);程序調(diào)用單元320可以用于響應(yīng)于所接收的流轉(zhuǎn)申請(qǐng),調(diào)用第一區(qū)塊鏈和第二區(qū)塊鏈之間所協(xié)議的智能合約程序;資產(chǎn)轉(zhuǎn)換單元330可以用于基于所調(diào)用的智能合約程序,將第一數(shù)量的數(shù)字資產(chǎn)等值轉(zhuǎn)換為第二數(shù)量的法定通用數(shù)據(jù);數(shù)據(jù)記錄單元340可以用于在使用方節(jié)點(diǎn)的第一資產(chǎn)數(shù)據(jù)庫中寫入減少第一數(shù)量的數(shù)字資產(chǎn)的記錄,以及在接收方節(jié)點(diǎn)的第二資產(chǎn)數(shù)據(jù)庫中寫入增加第二數(shù)量的法定通用數(shù)據(jù)的記錄。
數(shù)據(jù)記錄單元在一些實(shí)施例中,該裝置還可以包括:申請(qǐng)驗(yàn)證單元。其中,申請(qǐng)驗(yàn)證單元可以用于基于所調(diào)用的智能合約,對(duì)所接收的流轉(zhuǎn)申請(qǐng)進(jìn)行驗(yàn)證;待流轉(zhuǎn)申請(qǐng)通過驗(yàn)證后,將第一數(shù)量的數(shù)字資產(chǎn)等值轉(zhuǎn)換為第二數(shù)量的法定通用數(shù)據(jù)。
在一些實(shí)施例中,申請(qǐng)接收單元還可以用于接收來自使用方節(jié)點(diǎn)的創(chuàng)建與第一數(shù)量的數(shù)字資產(chǎn)等值的法定通用數(shù)據(jù)的創(chuàng)建申請(qǐng);申請(qǐng)驗(yàn)證單元還可以用于響應(yīng)于所接收的創(chuàng)建申請(qǐng),對(duì)所接收的創(chuàng)建申請(qǐng)進(jìn)行驗(yàn)證;資產(chǎn)轉(zhuǎn)換單元還可以用于待創(chuàng)建申請(qǐng)通過驗(yàn)證后,將與第一數(shù)量的數(shù)字資產(chǎn)等值的支付準(zhǔn)備數(shù)字資產(chǎn)轉(zhuǎn)換為第二數(shù)量的法定通用數(shù)據(jù);數(shù)據(jù)記錄單元還可以用于將第二數(shù)量的法定通用數(shù)據(jù)存儲(chǔ)至支付準(zhǔn)備數(shù)據(jù)庫中。
在一些實(shí)施例中,該裝置還可以包括:數(shù)字簽名單元。數(shù)字簽名單元可以用于對(duì)第二數(shù)量的法定通用數(shù)據(jù)進(jìn)行數(shù)字簽名,以供:所述第一區(qū)塊鏈和/或所述第二區(qū)塊鏈中的節(jié)點(diǎn)對(duì)所述數(shù)字簽名進(jìn)行共識(shí)驗(yàn)證,當(dāng)判定所述數(shù)字簽名有效,且判定所述數(shù)字簽名是由所述監(jiān)管所簽時(shí),通過所述共識(shí)驗(yàn)證。
例如,第一和第二區(qū)塊鏈中的每一個(gè)節(jié)點(diǎn)都可以設(shè)置有共識(shí)驗(yàn)證單元(也可以根據(jù)需求不對(duì)某些節(jié)點(diǎn)進(jìn)行設(shè)置)。共識(shí)驗(yàn)證單元可以用來對(duì)區(qū)塊鏈上的跨鏈流轉(zhuǎn)的數(shù)字簽名進(jìn)行驗(yàn)證,只有通過數(shù)字簽名驗(yàn)證后確認(rèn)是監(jiān)管方發(fā)出的跨鏈操作,區(qū)塊鏈節(jié)點(diǎn)才將該交易打包放入?yún)^(qū)塊鏈。
具體的,參與節(jié)點(diǎn)(只讀節(jié)點(diǎn))接收到新的區(qū)塊后,驗(yàn)證其中的跨鏈交易是否帶有合法的監(jiān)管方數(shù)字簽名,如果確認(rèn)數(shù)字簽名有效,則確認(rèn)該區(qū)塊;參與節(jié)點(diǎn)(記賬節(jié)點(diǎn))接收到新的跨鏈交易后,驗(yàn)證是否帶有合法的監(jiān)管方數(shù)字簽名,如果確認(rèn)數(shù)字簽名有效,則將該交易打包進(jìn)入新的區(qū)塊,并向全網(wǎng)廣播。
在一些實(shí)施例中,創(chuàng)建申請(qǐng)包括以下項(xiàng)中的至少一項(xiàng):擬創(chuàng)建的數(shù)字資產(chǎn)的id、第一數(shù)量和使用方節(jié)點(diǎn)的身份信息。
在一些實(shí)施例中,申請(qǐng)接收單元還可以用于接收來自使用方節(jié)點(diǎn)的將支付準(zhǔn)備數(shù)據(jù)庫中的第三數(shù)量的法定通用數(shù)據(jù)轉(zhuǎn)移第一資產(chǎn)數(shù)據(jù)庫的轉(zhuǎn)入申請(qǐng);申請(qǐng)驗(yàn)證單元還可以用于對(duì)所接收的轉(zhuǎn)入申請(qǐng)進(jìn)行驗(yàn)證;記錄寫入單元還可以用于當(dāng)?shù)谌龜?shù)量小于第二數(shù)量時(shí),待轉(zhuǎn)入申請(qǐng)通過驗(yàn)證后,將第二數(shù)量拆分為第三數(shù)量和剩余數(shù)量,在第一資產(chǎn)數(shù)據(jù)庫中寫入增加第三數(shù)量的數(shù)字資產(chǎn)的記錄;在支付準(zhǔn)備數(shù)據(jù)庫中寫入減少第三數(shù)量的數(shù)字資產(chǎn)的記錄,以及寫入增加剩余數(shù)量的數(shù)字資產(chǎn)的記錄;當(dāng)?shù)谌龜?shù)量等于第二數(shù)量時(shí),待轉(zhuǎn)入申請(qǐng)通過驗(yàn)證后,在支付準(zhǔn)備數(shù)據(jù)庫中寫入減少第三數(shù)量的數(shù)字資產(chǎn)的記錄,在第一資產(chǎn)數(shù)據(jù)庫中寫入增加第三數(shù)量的數(shù)字資產(chǎn)的記錄。
在一些實(shí)施例中,轉(zhuǎn)入申請(qǐng)包括以下項(xiàng)中的至少一項(xiàng):第三數(shù)量、第一區(qū)塊鏈的id和使用方節(jié)點(diǎn)的地址。
在一些實(shí)施例中,申請(qǐng)接收單元還可以用于接收來自使用方節(jié)點(diǎn)的將第一數(shù)量的數(shù)字資產(chǎn)從第一區(qū)塊鏈中的使用方節(jié)點(diǎn)轉(zhuǎn)移至第一區(qū)塊鏈中的轉(zhuǎn)入方節(jié)點(diǎn)的轉(zhuǎn)移申請(qǐng);申請(qǐng)驗(yàn)證單元還可以用于對(duì)所接收的轉(zhuǎn)移申請(qǐng)進(jìn)行驗(yàn)證;數(shù)據(jù)記錄單元還可以用于待轉(zhuǎn)移申請(qǐng)通過驗(yàn)證后,在使用方節(jié)點(diǎn)的第一資產(chǎn)數(shù)據(jù)庫中寫入減少第一數(shù)量的數(shù)字資產(chǎn)的記錄,以及在轉(zhuǎn)入方節(jié)點(diǎn)的第二資產(chǎn)數(shù)據(jù)庫中寫入增加第二數(shù)量的法定通用數(shù)據(jù)的記錄。
在一些實(shí)施例中,申請(qǐng)接收單元還可以用于接收來自使用方節(jié)點(diǎn)的將第二數(shù)量的法定通用數(shù)據(jù)從第一資產(chǎn)數(shù)據(jù)庫轉(zhuǎn)出至支付準(zhǔn)備數(shù)據(jù)庫的轉(zhuǎn)出申請(qǐng);申請(qǐng)驗(yàn)證單元還可以用于對(duì)所接收的轉(zhuǎn)出申請(qǐng)進(jìn)行驗(yàn)證;數(shù)據(jù)記錄單元還可以用于待轉(zhuǎn)出申請(qǐng)通過驗(yàn)證后,在第一資產(chǎn)數(shù)據(jù)庫中寫入減少第二數(shù)量的法定通用數(shù)據(jù)的記錄,并在支付準(zhǔn)備數(shù)據(jù)庫中寫入增加第二數(shù)量的法定通用數(shù)據(jù)等值的支付準(zhǔn)備數(shù)字資產(chǎn)。
在一些實(shí)施例中,該裝置還可以包括:程序部署單元。其中,程序部署單元可以用于預(yù)先在待流轉(zhuǎn)的區(qū)塊鏈上部署智能合約程序,智能合約程序用于定義數(shù)字資產(chǎn)在待流轉(zhuǎn)的區(qū)塊鏈上的創(chuàng)建、轉(zhuǎn)入、轉(zhuǎn)移、流轉(zhuǎn)、轉(zhuǎn)出操作中的至少一種操作。
在一些實(shí)施例中,該裝置還可以包括:地址設(shè)置單元。地址設(shè)置單元可以用于預(yù)先為智能合約程序設(shè)置監(jiān)管方的賬戶地址;當(dāng)在通過轉(zhuǎn)入申請(qǐng)或者轉(zhuǎn)出申請(qǐng)的驗(yàn)證后,調(diào)用智能合約程序。
需要說明的是,上述各實(shí)施例的裝置可作為上述各實(shí)施例的用于各實(shí)施例的方法中的執(zhí)行主體,可以實(shí)現(xiàn)各個(gè)方法中的相應(yīng)流程,為了簡(jiǎn)潔,此方面內(nèi)容不再贅述。
圖4是本發(fā)明另一實(shí)施例的跨區(qū)塊鏈的數(shù)字資產(chǎn)流轉(zhuǎn)的裝置的框架示意圖。
如圖4所示,該框架可以包括中央處理單元(cpu)401,其可以根據(jù)存儲(chǔ)在只讀存儲(chǔ)器(rom)402中的程序或者從存儲(chǔ)部分408加載到隨機(jī)訪問存儲(chǔ)器(ram)403中的程序而執(zhí)行如下處理:接收將第一數(shù)量的數(shù)字資產(chǎn)從第一區(qū)塊鏈中的使用方節(jié)點(diǎn)流轉(zhuǎn)至第二區(qū)塊鏈中的接收方節(jié)點(diǎn)的流轉(zhuǎn)申請(qǐng);響應(yīng)于所接收的流轉(zhuǎn)申請(qǐng),調(diào)用第一區(qū)塊鏈和第二區(qū)塊鏈之間所協(xié)議的智能合約程序;基于所調(diào)用的智能合約程序,將第一數(shù)量的數(shù)字資產(chǎn)等值轉(zhuǎn)換為第二數(shù)量的法定通用數(shù)據(jù);在使用方節(jié)點(diǎn)的第一資產(chǎn)數(shù)據(jù)庫中寫入減少第一數(shù)量的數(shù)字資產(chǎn)的記錄,以及在接收方節(jié)點(diǎn)的第二資產(chǎn)數(shù)據(jù)庫中寫入增加第二數(shù)量的法定通用數(shù)據(jù)的記錄。
在ram403中,還存儲(chǔ)有框架操作所需的各種程序和數(shù)據(jù)。cpu401、rom702以及ram403通過總線404彼此相連。輸入/輸出(i/o)接口也連接至總線404。以下部件連接至i/o接口405:包括鍵盤、鼠標(biāo)等的輸入部分406;包括諸如陰極射線管(crt)、液晶顯示器(lcd)等以及揚(yáng)聲器等的輸出部分407;包括硬盤等的存儲(chǔ)部分408;以及包括諸如lan卡、調(diào)制解調(diào)器等的網(wǎng)絡(luò)接口卡的通信部分409。通信部分409經(jīng)由諸如因特網(wǎng)的網(wǎng)絡(luò)執(zhí)行通信處理。驅(qū)動(dòng)器410也根據(jù)需要連接至i/o接口405??刹鹦督橘|(zhì)411,諸如磁盤、光盤、磁光盤、半導(dǎo)體存儲(chǔ)器等等,根據(jù)需要安裝在驅(qū)動(dòng)器410上,以便于從其上讀出的計(jì)算機(jī)程序根據(jù)需要被安裝入存儲(chǔ)部分408。
特別地,根據(jù)本發(fā)明的實(shí)施例,上文參考流程圖描述的過程可以被實(shí)現(xiàn)為計(jì)算機(jī)軟件程序。例如,本發(fā)明的實(shí)施例包括一種計(jì)算機(jī)程序產(chǎn)品,其包括有形地包含在機(jī)器可讀介質(zhì)上的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序包含用于執(zhí)行流程圖所示的方法的程序代碼。在這樣的實(shí)施例中,該計(jì)算機(jī)程序可以通過通信部分409從網(wǎng)絡(luò)上被下載和安裝,和/或從可拆卸介質(zhì)411被安裝。
以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動(dòng)的情況下,即可以理解并實(shí)施。
最后應(yīng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。