国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      資源轉(zhuǎn)移方法、裝置及存儲(chǔ)介質(zhì)與流程

      文檔序號(hào):11200749閱讀:287來(lái)源:國(guó)知局
      資源轉(zhuǎn)移方法、裝置及存儲(chǔ)介質(zhì)與流程

      本發(fā)明涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別涉及一種資源轉(zhuǎn)移方法、裝置及存儲(chǔ)介質(zhì)。



      背景技術(shù):

      隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,賬戶之間可以方便的基于網(wǎng)絡(luò)進(jìn)行交互,例如,基于網(wǎng)絡(luò)進(jìn)行聊天、互動(dòng)游戲、資源轉(zhuǎn)移例如延時(shí)轉(zhuǎn)賬等,延時(shí)轉(zhuǎn)賬是指轉(zhuǎn)賬款在接收方確認(rèn)后才進(jìn)行的轉(zhuǎn)賬。

      以資源轉(zhuǎn)移中的延時(shí)轉(zhuǎn)賬過(guò)程為例,在進(jìn)行延時(shí)轉(zhuǎn)賬時(shí),假設(shè)賬戶a向賬戶b發(fā)送了一個(gè)紅包,紅包金額為x元,則服務(wù)器可以將賬戶a的x元轉(zhuǎn)賬至一個(gè)中間賬戶m,如果賬戶b確認(rèn)接收該紅包,則服務(wù)器可以將中間賬戶m中的x元轉(zhuǎn)賬至賬戶b,完成賬戶a到賬戶b的延時(shí)轉(zhuǎn)賬過(guò)程。

      在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問(wèn)題:

      由于服務(wù)器存在被惡意賬戶侵入的安全隱患,收款賬戶、轉(zhuǎn)賬金額等轉(zhuǎn)賬信息很可能被惡意篡改,導(dǎo)致資源轉(zhuǎn)移過(guò)程的安全性和可靠性差。



      技術(shù)實(shí)現(xiàn)要素:

      為了解決現(xiàn)有技術(shù)的問(wèn)題,本發(fā)明實(shí)施例提供了一種資源轉(zhuǎn)移方法、裝置及存儲(chǔ)介質(zhì)和服務(wù)器。所述技術(shù)方案如下:

      第一方面,提供了一種資源轉(zhuǎn)移方法,所述方法包括:

      接收第一賬戶的資源轉(zhuǎn)移請(qǐng)求,所述資源轉(zhuǎn)移請(qǐng)求用于請(qǐng)求將所述第一賬戶的資源轉(zhuǎn)移至目標(biāo)賬戶;

      生成第一合約,所述第一合約用于指示所述第一賬戶的資源轉(zhuǎn)移條件;

      基于所述第一合約、所述資源轉(zhuǎn)移請(qǐng)求以及區(qū)塊鏈中第一區(qū)塊的區(qū)塊頭特征值,生成第二區(qū)塊,所述第一區(qū)塊為所述區(qū)塊鏈上所述第二區(qū)塊的上一個(gè)區(qū)塊,所述第二區(qū)塊用于記錄本次資源轉(zhuǎn)移請(qǐng)求事件;

      當(dāng)符合所述第一合約指示的資源轉(zhuǎn)移條件時(shí),基于所述第一合約進(jìn)行資源轉(zhuǎn)移。

      第二方面,提供了一種資源轉(zhuǎn)移裝置,所述裝置包括:

      接收模塊,用于接收第一賬戶的資源轉(zhuǎn)移請(qǐng)求,所述資源轉(zhuǎn)移請(qǐng)求用于請(qǐng)求將所述第一賬戶的資源轉(zhuǎn)移至目標(biāo)賬戶;

      合成生成模塊,用于生成第一合約,所述第一合約用于指示所述第一賬戶的資源轉(zhuǎn)移條件;

      區(qū)塊生成模塊,用于基于所述第一合約、所述資源轉(zhuǎn)移請(qǐng)求以及區(qū)塊鏈中第一區(qū)塊的區(qū)塊頭特征值,生成第二區(qū)塊,所述第一區(qū)塊為所述區(qū)塊鏈上所述第二區(qū)塊的上一個(gè)區(qū)塊,所述第二區(qū)塊用于記錄本次資源轉(zhuǎn)移請(qǐng)求事件;

      資源轉(zhuǎn)移模塊,用于當(dāng)符合所述第一合約指示的資源轉(zhuǎn)移條件時(shí),基于所述第一合約進(jìn)行資源轉(zhuǎn)移。

      第三方面,提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)中存儲(chǔ)有至少一條指令,所述指令由處理器加載并執(zhí)行以實(shí)現(xiàn)上述第一方面中任一項(xiàng)所述的方法。

      第四方面,提供了一種服務(wù)器,所述服務(wù)器包括處理器和存儲(chǔ)器,所述存儲(chǔ)器中存儲(chǔ)有至少一條指令,所述指令由所述處理器加載并執(zhí)行以實(shí)現(xiàn)上述第一方面中任一項(xiàng)所述的方法。

      本發(fā)明實(shí)施例通過(guò)在接收到第一賬戶的資源轉(zhuǎn)移請(qǐng)求時(shí),生成第一合約,并基于第一合約、資源轉(zhuǎn)移請(qǐng)求和區(qū)塊鏈中第一區(qū)塊的區(qū)塊頭特征值,生成第二區(qū)塊,并當(dāng)符合第一合約指示的資源轉(zhuǎn)移條件時(shí),基于第一合約進(jìn)行資源轉(zhuǎn)移,能夠基于區(qū)塊鏈中前后區(qū)塊之間的關(guān)聯(lián)關(guān)系,使得區(qū)塊中任一資源轉(zhuǎn)移過(guò)程中的信息被篡改時(shí)都能通過(guò)下一區(qū)塊檢測(cè)到,避免了惡意賬戶篡改或抵賴被轉(zhuǎn)移的資源,保證了資源轉(zhuǎn)移過(guò)程的安全性和可靠性,而且,由于合約的信息也記錄在區(qū)塊鏈中,使得合約被篡改時(shí)也能通過(guò)區(qū)塊鏈中已記錄的合約的信息被檢測(cè)到,進(jìn)一步保證了合約的安全性和正確性,提高了資源轉(zhuǎn)移的安全性和可靠性。

      附圖說(shuō)明

      為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

      圖1是本發(fā)明實(shí)施例提供的一種資源轉(zhuǎn)移的實(shí)施環(huán)境示意圖;

      圖2是本發(fā)明實(shí)施例提供的一種資源轉(zhuǎn)移方法的流程圖;

      圖3是本發(fā)明實(shí)施例提供的一種合約標(biāo)識(shí)生成流程圖;

      圖4是本發(fā)明實(shí)施例提供的一種資源轉(zhuǎn)移裝置的框圖;

      圖5a是本發(fā)明實(shí)施例提供的一種資源轉(zhuǎn)移裝置的框圖;

      圖5b是本發(fā)明實(shí)施例提供的一種資源轉(zhuǎn)移裝置的框圖;

      圖6是本發(fā)明實(shí)施例提供的一種服務(wù)器結(jié)構(gòu)示意圖。

      具體實(shí)施方式

      為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。

      圖1是本發(fā)明實(shí)施例提供的一種資源管理的實(shí)施環(huán)境示意圖。參見(jiàn)圖1,該實(shí)施環(huán)境中包括:資源管理系統(tǒng)101和終端102。該資源管理系統(tǒng)101可以包括多個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)可以對(duì)應(yīng)一個(gè)服務(wù)器,該多個(gè)節(jié)點(diǎn)可存儲(chǔ)相同的一條區(qū)塊鏈,該區(qū)塊鏈由多個(gè)區(qū)塊組成,每個(gè)區(qū)塊均存儲(chǔ)有不同的信息,一條區(qū)塊鏈上的區(qū)塊按照時(shí)間順序進(jìn)行存儲(chǔ)。在本發(fā)明實(shí)施例中,每個(gè)區(qū)塊可以存儲(chǔ)資源轉(zhuǎn)移過(guò)程中的一個(gè)交互消息和基于該交互消息生成的合約的特征值。該終端102是指該資源管理系統(tǒng)所服務(wù)的用戶所在終端,用于與資源管理系統(tǒng)進(jìn)行交互,從而從該用戶的賬戶向其他賬戶轉(zhuǎn)移資源,或者基于資源管理系統(tǒng)的管理在賬戶中儲(chǔ)存資源等。該資源管理系統(tǒng)101用于管理用戶的賬戶中的資源,并在資源轉(zhuǎn)移過(guò)程中生成合約,將交互信息和合約的信息存儲(chǔ)至區(qū)塊鏈上的區(qū)塊。用戶的賬戶是指與登錄該終端102的用戶所關(guān)聯(lián)的賬戶,如,用戶的網(wǎng)銀、微信零錢或游戲賬戶等,該賬戶中可以存儲(chǔ)有用戶的資源,這些資源為進(jìn)行網(wǎng)絡(luò)交易時(shí)可使用的資源,例如,用戶的網(wǎng)銀中所包含貨幣資源、微信零錢中所存儲(chǔ)的貨幣資源、游戲賬戶中的虛擬貨幣或卡包中的數(shù)字票據(jù)等。

      本發(fā)明實(shí)施例中,每個(gè)節(jié)點(diǎn)已配置了相同的合約模板,該合約模板是指待確定參數(shù)的代碼,資源管理系統(tǒng)101可以根據(jù)接收到的與賬戶間的交互消息和合約模板,生成一個(gè)實(shí)體化的合約,也即是生成一段可以運(yùn)行在區(qū)塊鏈上的代碼,從而根據(jù)合約進(jìn)行資源轉(zhuǎn)移過(guò)程。為了方便管理每個(gè)賬戶的資源,資源管理系統(tǒng)101也可以為每個(gè)賬戶維護(hù)一個(gè)合約列表。當(dāng)然,為了保證合約的安全性,資源管理系統(tǒng)101可以僅在合約列表中生成新的合約或在已生成的合約中添加更新信息,而禁止已生成的合約中的信息被修改。

      需要說(shuō)明的是,當(dāng)資源管理系統(tǒng)101中的任一節(jié)點(diǎn)確定當(dāng)前區(qū)塊中需要存入的輸入信息或生成合約時(shí),該資源管理系統(tǒng)101中的其他節(jié)點(diǎn)便可以根據(jù)共識(shí)算法獲取該輸入信息或合約,并在當(dāng)前區(qū)塊中也存入該輸入信息,且在合約列表中存入該合約,使得資源管理系統(tǒng)101中全部節(jié)點(diǎn)上存儲(chǔ)的信息保持一致。

      圖2是本發(fā)明實(shí)施例提供的一種資源轉(zhuǎn)移方法的流程圖,參見(jiàn)圖2,該方法可以應(yīng)用于圖1所示的資源管理系統(tǒng)中的服務(wù)器與終端上的賬戶的交互過(guò)程,包括以下步驟:

      201、第一賬戶向服務(wù)器發(fā)送資源轉(zhuǎn)移請(qǐng)求,資源轉(zhuǎn)移請(qǐng)求用于請(qǐng)求將第一賬戶的資源轉(zhuǎn)移至目標(biāo)賬戶。

      其中,第一賬戶是指該服務(wù)器所服務(wù)的任一用戶的賬戶,可唯一標(biāo)識(shí)該用戶。該步驟中,該用戶可以在終端上選擇目標(biāo)賬戶和資源轉(zhuǎn)移數(shù),使得終端生成該資源轉(zhuǎn)移請(qǐng)求,并將該資源轉(zhuǎn)移請(qǐng)求發(fā)送至服務(wù)器。需要說(shuō)明的是,本發(fā)明實(shí)施例對(duì)目標(biāo)賬戶的數(shù)量和資源轉(zhuǎn)移數(shù)不做具體限定。

      以該資源為網(wǎng)銀為例,當(dāng)檢測(cè)到對(duì)轉(zhuǎn)賬選項(xiàng)的觸發(fā)操作時(shí),終端可以顯示轉(zhuǎn)賬界面,該轉(zhuǎn)賬界面中可以包括賬戶通信列表和轉(zhuǎn)賬金額輸入框,進(jìn)而,終端可以獲取用戶在轉(zhuǎn)賬金額輸入框中輸入的轉(zhuǎn)賬金額作為資源轉(zhuǎn)移數(shù),并獲取用戶在賬戶通信列表中選擇的一個(gè)或多個(gè)目標(biāo)賬戶。當(dāng)然,用戶還可以為每個(gè)目標(biāo)賬戶分別設(shè)置轉(zhuǎn)賬金額。

      本發(fā)明實(shí)施例中,該資源轉(zhuǎn)移請(qǐng)求還攜帶合約標(biāo)識(shí)。合約標(biāo)識(shí)用于唯一標(biāo)識(shí)第一賬戶發(fā)起的一次資源轉(zhuǎn)移過(guò)程,使得服務(wù)器能夠依據(jù)該合約標(biāo)識(shí)將該資源轉(zhuǎn)移過(guò)程中的涉及的事件記錄在區(qū)塊鏈上,避免了惡意賬戶篡改或抵賴被已轉(zhuǎn)移的資源,提高資源轉(zhuǎn)移過(guò)程中已轉(zhuǎn)移資源的不可否認(rèn)性和資源轉(zhuǎn)移的可靠性。

      在不同的應(yīng)用場(chǎng)景下,該合約標(biāo)識(shí)可以采用的不同的方式得到。例如,為了保證公共區(qū)塊鏈的場(chǎng)景下資源轉(zhuǎn)移過(guò)程的安全性,參見(jiàn)圖3,本發(fā)明實(shí)施例提供了一種合約標(biāo)識(shí)生成流程圖,該生成流程中,終端可以根據(jù)第一賬戶私鑰,通過(guò)橢圓曲線算法(選擇的曲線可以為secp256k1)計(jì)算出第一賬戶公鑰,并對(duì)第一賬戶公鑰進(jìn)行哈希計(jì)算,采用的哈希算法可以為sha256(securehashalgorithm256,256位哈希算法)和ripemd160(raceintegrityprimitivesevaluationmessagedigest,160位原始完整性校驗(yàn)消息摘要算法)的結(jié)合,進(jìn)而,終端可以將得到的哈希值進(jìn)行編碼,得到該合約標(biāo)識(shí),編碼方式可以base58(58位基礎(chǔ)編碼)。其中,第一賬戶私鑰可以為隨機(jī)生成的一串字符,其位數(shù)可以為256比特。又例如,在私有區(qū)塊鏈的場(chǎng)景下,由于私有區(qū)塊鏈具備嚴(yán)格的訪問(wèn)控制,且參與資源轉(zhuǎn)移過(guò)程的賬戶均為一個(gè)組織的內(nèi)部賬戶,因此資源轉(zhuǎn)移過(guò)程中無(wú)需考慮交互方之外的惡意賬戶的介入,也就無(wú)需考慮合約標(biāo)識(shí)被偽造的安全隱患,則該合約標(biāo)識(shí)可以為任一字符,如,終端通過(guò)數(shù)字自增長(zhǎng)的方式得到一個(gè)數(shù)字,作為該合約標(biāo)識(shí)。

      202、當(dāng)服務(wù)器接收到第一賬戶的資源轉(zhuǎn)移請(qǐng)求時(shí),生成第一合約,第一合約用于指示第一賬戶的資源轉(zhuǎn)移條件。

      其中,第一合約是指可以運(yùn)行在區(qū)塊鏈上的代碼。該步驟中,當(dāng)服務(wù)器接收到該資源轉(zhuǎn)移請(qǐng)求時(shí),可以基于已配置的合約模板以及該資源轉(zhuǎn)移請(qǐng)求中的各項(xiàng)信息,將該各項(xiàng)信息作為合約模板中的各項(xiàng)參數(shù),生成該第一合約。

      具體地,為了方便服務(wù)器管理各個(gè)賬戶的合約,服務(wù)器為每個(gè)賬戶維護(hù)一個(gè)合約列表,因此服務(wù)器可以根據(jù)資源轉(zhuǎn)移請(qǐng)求中的第一賬戶,在第一賬戶的合約列表中生成第一合約。該第一合約中可以包括合約標(biāo)識(shí)、資源轉(zhuǎn)移數(shù)、目標(biāo)賬戶、第一合約的到期時(shí)間以及合約生成時(shí)間等信息。該第一合約的到期時(shí)間可以由服務(wù)器根據(jù)當(dāng)前時(shí)間以及預(yù)設(shè)期限的和值得到。需要說(shuō)明的是,為了保證整個(gè)資源轉(zhuǎn)移過(guò)程中的資源數(shù)平衡,服務(wù)器是將第一賬戶中與資源轉(zhuǎn)移數(shù)對(duì)應(yīng)的資源轉(zhuǎn)移至該第一合約。

      在實(shí)際的應(yīng)用場(chǎng)景中,該資源轉(zhuǎn)移請(qǐng)求中可以包括多個(gè)目標(biāo)賬戶,如果第一賬戶為每個(gè)目標(biāo)賬戶設(shè)置了資源轉(zhuǎn)移數(shù),則服務(wù)器可以在生成第一合約時(shí)將每個(gè)目標(biāo)賬戶和其對(duì)應(yīng)的資源轉(zhuǎn)移數(shù)對(duì)應(yīng)存儲(chǔ)?;蛘?,如果第一賬戶沒(méi)有設(shè)置各個(gè)目標(biāo)賬戶對(duì)應(yīng)的資源轉(zhuǎn)移數(shù),則服務(wù)器可以在生成第一合約時(shí)將資源轉(zhuǎn)移請(qǐng)求中的資源轉(zhuǎn)移數(shù)隨機(jī)地分配給目標(biāo)賬戶。

      當(dāng)然,服務(wù)器還可以對(duì)第一賬戶進(jìn)行驗(yàn)證,如果驗(yàn)證通過(guò),則生成第一合約。本發(fā)明實(shí)施例對(duì)驗(yàn)證方式不做限定。例如,服務(wù)器將資源轉(zhuǎn)移數(shù)與該第一賬戶的資源總數(shù)進(jìn)行比較,如果資源轉(zhuǎn)移數(shù)小于該資源總數(shù),則生成第一合約,否則,提示該第一賬戶資源轉(zhuǎn)移失敗。

      203、服務(wù)器基于第一合約、資源轉(zhuǎn)移請(qǐng)求以及區(qū)塊鏈中第一區(qū)塊的區(qū)塊頭特征值,生成第二區(qū)塊,第一區(qū)塊為區(qū)塊鏈上第二區(qū)塊的上一個(gè)區(qū)塊,第二區(qū)塊用于記錄本次資源轉(zhuǎn)移請(qǐng)求事件。

      該步驟中,服務(wù)器可以從區(qū)塊鏈中獲取第一區(qū)塊的區(qū)塊頭中的所有信息,并基于該第一區(qū)塊的區(qū)塊頭中的所有信息得到第一區(qū)塊的區(qū)塊頭特征值,并對(duì)將要存入第二區(qū)塊的區(qū)塊主體中的第一合約的信息和資源轉(zhuǎn)移請(qǐng)求進(jìn)行特征值計(jì)算,得到第二區(qū)塊的區(qū)塊主體特征值,進(jìn)而,將第一區(qū)塊的區(qū)塊頭特征值、第二區(qū)塊的區(qū)塊主體特征值(還可以包括版本號(hào)、難度值和時(shí)間戳)存儲(chǔ)至第二區(qū)塊的區(qū)塊頭;將第一合約的信息和資源轉(zhuǎn)移請(qǐng)求存儲(chǔ)至第二區(qū)塊的區(qū)塊主體,生成該第二區(qū)塊,使得第二區(qū)塊與第一區(qū)塊通過(guò)第一區(qū)塊的區(qū)塊頭特征值相關(guān),因而實(shí)現(xiàn)了將區(qū)塊鏈中的區(qū)塊串聯(lián)起來(lái)的目的,使得對(duì)區(qū)塊中任何信息(包括合約的信息和資源轉(zhuǎn)移請(qǐng)求)的篡改,均能夠通過(guò)區(qū)塊的區(qū)塊頭中所存儲(chǔ)的上一個(gè)區(qū)塊的區(qū)塊頭特征值的追溯而檢測(cè)到,從而保證了資源轉(zhuǎn)移過(guò)程的安全性。

      在實(shí)際的應(yīng)用場(chǎng)景中,考慮到第一合約的信息格式可能與區(qū)塊鏈中各存儲(chǔ)格式不匹配,服務(wù)器可以基于第一合約的特征值、資源轉(zhuǎn)移請(qǐng)求以及第一區(qū)塊的區(qū)塊頭特征值,生成第二區(qū)塊。該實(shí)現(xiàn)方式中,服務(wù)器可以對(duì)第一合約的各項(xiàng)信息進(jìn)行哈希計(jì)算,將得到的哈希值作為第一合約的特征值,并將第一合約的特征值和資源轉(zhuǎn)移請(qǐng)求存儲(chǔ)至第二區(qū)塊。通過(guò)該實(shí)現(xiàn)方式,由于對(duì)第一合約中任何信息的篡改,都會(huì)使被篡改的第一合約的特征值發(fā)生改變,而存儲(chǔ)在區(qū)塊鏈上的第一合約的特征值不可更改,因此對(duì)第一合約的任何篡改都可以根據(jù)區(qū)塊鏈上的第一合約的特征值檢測(cè)到,從而保證了合約的安全性。

      204、服務(wù)器向目標(biāo)賬戶發(fā)送資源轉(zhuǎn)移消息。

      該步驟中,服務(wù)器可以基于第一合約,生成資源轉(zhuǎn)移消息,并將資源轉(zhuǎn)移消息發(fā)送至目標(biāo)賬戶所在終端。該資源轉(zhuǎn)移消息可以包括第一賬戶和資源轉(zhuǎn)移數(shù)值等信息。具體地,服務(wù)器可以基于合約中每個(gè)目標(biāo)賬戶對(duì)應(yīng)的資源轉(zhuǎn)移數(shù),生成該目標(biāo)賬戶的資源轉(zhuǎn)移消息,并將其發(fā)送至該目標(biāo)賬戶。

      本發(fā)明實(shí)施例中,為了避免合約標(biāo)識(shí)被偽造,提高資源轉(zhuǎn)移過(guò)程的安全性,服務(wù)器可以將合約私鑰發(fā)送至目標(biāo)賬戶,使得目標(biāo)賬戶基于合約私鑰得到合約私鑰簽名和合約公鑰,合約私鑰由第一賬戶發(fā)送得到。而為了保證合約私鑰的安全性,第一賬戶在發(fā)送該的合約私鑰時(shí)可以采用事先約定的加密算法對(duì)該合約私鑰進(jìn)行加密,使得目標(biāo)賬戶也可以采用該事先約定的解密算法對(duì)該加密后的合約私鑰進(jìn)行解密,得到該合約私鑰。需要說(shuō)明的是,該合約私鑰可以由第一賬戶在發(fā)送資源轉(zhuǎn)移請(qǐng)求之外的另一個(gè)業(yè)務(wù)包發(fā)送至服務(wù)器,由服務(wù)器從該業(yè)務(wù)包中提取出目標(biāo)賬戶和合約私鑰,并將合約私鑰轉(zhuǎn)發(fā)至目標(biāo)賬戶。當(dāng)然,如果第一賬戶不是基于合約私鑰生成合約標(biāo)識(shí),而是通過(guò)其他方式生成合約標(biāo)識(shí),如在私有區(qū)塊鏈的場(chǎng)景下可以采用數(shù)字自增長(zhǎng)的方式生成該合約標(biāo)識(shí),則第一賬戶無(wú)需發(fā)送該合約私鑰,而是由服務(wù)器直接將合約標(biāo)識(shí)發(fā)送至目標(biāo)賬戶,使得在目標(biāo)賬戶確認(rèn)或拒絕資源轉(zhuǎn)移時(shí),服務(wù)器能夠根據(jù)目標(biāo)賬戶攜帶的合約標(biāo)識(shí)查找到與目標(biāo)賬戶確認(rèn)或決絕的資源所對(duì)應(yīng)的合約。

      205、目標(biāo)賬戶向服務(wù)器發(fā)送確認(rèn)資源轉(zhuǎn)移消息。

      該步驟中,當(dāng)目標(biāo)賬戶所在終端接收到資源轉(zhuǎn)移消息時(shí),可以根據(jù)資源轉(zhuǎn)移消息,生成并顯示資源接收界面,該資源接收界面可以包括目標(biāo)賬戶對(duì)應(yīng)的資源轉(zhuǎn)移數(shù)、第一賬戶、確認(rèn)選項(xiàng)和拒絕選項(xiàng)等信息,當(dāng)檢測(cè)到目標(biāo)賬戶對(duì)確認(rèn)選項(xiàng)的觸發(fā)操作時(shí),該終端可以生成確認(rèn)資源轉(zhuǎn)移消息,并將其發(fā)送至服務(wù)器,當(dāng)檢測(cè)到目標(biāo)賬戶對(duì)拒絕選項(xiàng)的觸發(fā)操作時(shí),該終端可以生成拒絕資源轉(zhuǎn)移消息,并將其發(fā)送至服務(wù)器。當(dāng)然,該目標(biāo)賬戶也可以選擇忽略該資源轉(zhuǎn)移消息,如,關(guān)閉該資源接收界面。

      需要說(shuō)明的是,為了證明確認(rèn)資源轉(zhuǎn)移的賬戶身份,該終端可以采用目標(biāo)賬戶的賬戶私鑰對(duì)將要發(fā)送的確認(rèn)信息的摘要信息進(jìn)行簽名,得到賬戶私鑰簽名,該確認(rèn)消息可以包括第一賬戶、目標(biāo)賬戶和目標(biāo)賬戶對(duì)應(yīng)的資源轉(zhuǎn)移數(shù),而為了保證目標(biāo)賬戶所確認(rèn)的資源與第一合約的資源對(duì)應(yīng),終端還可以采用已得到的合約私鑰對(duì)該確認(rèn)信息的摘要信息進(jìn)行簽名,得到合約私鑰簽名,進(jìn)而,終端可以根據(jù)已配置的與第一賬戶相同的公鑰算法得到合約私鑰對(duì)應(yīng)的合約公鑰,并獲取與賬戶私鑰配對(duì)的賬戶公鑰,基于該賬戶公鑰、賬戶私鑰簽名、合約公鑰、合約私鑰簽名、目標(biāo)賬戶對(duì)應(yīng)的資源轉(zhuǎn)移數(shù)以及確認(rèn)信息,生成該確認(rèn)資源轉(zhuǎn)移消息。生成拒絕資源轉(zhuǎn)移消息的過(guò)程同理,將確認(rèn)信息替換為拒絕信息即可。

      206、當(dāng)服務(wù)器接收到第二賬戶的確認(rèn)資源轉(zhuǎn)移消息時(shí),對(duì)第二賬戶的身份進(jìn)行驗(yàn)證,如果第二賬戶的身份驗(yàn)證通過(guò),執(zhí)行步驟207,如果否,忽略該確認(rèn)資源轉(zhuǎn)移消息。

      該步驟中,服務(wù)器可以提取確認(rèn)資源轉(zhuǎn)移消息中的各項(xiàng)信息,并基于提取的信息驗(yàn)證第二賬戶是否為第一賬戶所選擇的目標(biāo)賬戶。具體地,服務(wù)器可以基于確認(rèn)資源轉(zhuǎn)移消息中的合約公鑰、合約私鑰簽名、賬戶公鑰和賬戶私鑰簽名進(jìn)行驗(yàn)證,如果該合約公鑰對(duì)該合約私鑰簽名驗(yàn)證通過(guò),且該賬戶公鑰對(duì)該賬戶私鑰簽名驗(yàn)證通過(guò),則可以獲取確認(rèn)資源轉(zhuǎn)移消息中的合約公鑰對(duì)應(yīng)的合約標(biāo)識(shí),并執(zhí)行步驟207,如果任一項(xiàng)驗(yàn)證未通過(guò),則可以忽略該資源轉(zhuǎn)移消息。

      在驗(yàn)證過(guò)程中,服務(wù)器可以通過(guò)合約公鑰對(duì)合約私鑰簽名進(jìn)行解密,如果解密后的摘要信息與確認(rèn)資源轉(zhuǎn)移消息中的確認(rèn)消息的摘要信息相同,可以確認(rèn)該合約公鑰對(duì)合約私鑰簽名驗(yàn)證通過(guò);服務(wù)器還可以通過(guò)該賬戶公鑰對(duì)賬戶私鑰簽名進(jìn)行解密,如果解密后的摘要信息也與確認(rèn)資源轉(zhuǎn)移消息中的確認(rèn)消息的摘要信息相同,可以確認(rèn)該賬戶公鑰對(duì)該賬戶私鑰簽名驗(yàn)證通過(guò)。在獲取合約標(biāo)識(shí)時(shí),服務(wù)器可以從確認(rèn)資源轉(zhuǎn)移消息中提取出合約公鑰,并根據(jù)已配置的與第一賬戶相同的合約標(biāo)識(shí)算法和編碼方式,得到該合約公鑰對(duì)應(yīng)的合約標(biāo)識(shí)。

      通過(guò)上述基于密鑰的驗(yàn)證過(guò)程,既通過(guò)賬戶密鑰驗(yàn)證了該確認(rèn)資源轉(zhuǎn)移消息來(lái)自于第二賬戶,也通過(guò)合約密鑰驗(yàn)證了該第二賬戶為第一賬戶所選擇的目標(biāo)賬戶,因此在該雙重驗(yàn)證的機(jī)制下,進(jìn)一步提高了資源轉(zhuǎn)移過(guò)程的安全性和準(zhǔn)確性。

      207、服務(wù)器確認(rèn)資源轉(zhuǎn)移消息與第一合約是否匹配,如果是,基于第一合約,將第二賬戶確定為目標(biāo)賬戶,向目標(biāo)賬戶轉(zhuǎn)入目標(biāo)賬戶對(duì)應(yīng)的資源轉(zhuǎn)移數(shù),如果否,忽略該確認(rèn)資源轉(zhuǎn)移消息。

      該步驟中,服務(wù)器可以將確認(rèn)資源轉(zhuǎn)移消息中的信息與第一合約的信息進(jìn)行比較,并根據(jù)比較結(jié)果,確認(rèn)資源轉(zhuǎn)移消息是否與第一合約匹配。

      為使確認(rèn)匹配的條件更為嚴(yán)格,從而提高資源轉(zhuǎn)移過(guò)程的正確性和安全性,服務(wù)器可以分別判斷確認(rèn)資源轉(zhuǎn)移消息中的合約公鑰對(duì)應(yīng)的合約標(biāo)識(shí)與第一合約的合約標(biāo)識(shí)相同、第二賬戶是否與目標(biāo)賬戶相同、確認(rèn)資源轉(zhuǎn)移消息中的資源轉(zhuǎn)移數(shù)是否匹配第一合約的資源轉(zhuǎn)移數(shù)、確認(rèn)資源轉(zhuǎn)移消息的接收時(shí)間是否不晚于第一合約的到期時(shí)間,如果上述判斷結(jié)果均為是,則符合第一合約指示的資源轉(zhuǎn)移條件,服務(wù)器執(zhí)行第一合約的代碼,將第二賬戶確定為目標(biāo)賬戶,,向目標(biāo)賬戶轉(zhuǎn)入目標(biāo)賬戶對(duì)應(yīng)的資源轉(zhuǎn)移數(shù),如果上述任一判斷結(jié)果為否,則服務(wù)器可以忽略該確認(rèn)資源轉(zhuǎn)移消息。需要說(shuō)明的是,在實(shí)際的應(yīng)用場(chǎng)景中,也可以采用其中的至少一項(xiàng)判斷條件作為資源轉(zhuǎn)移的依據(jù),本發(fā)明實(shí)施例不限定以哪幾項(xiàng)判斷條件作為依據(jù),也不限定上述判斷條件的判斷時(shí)序。

      由于該第一賬戶可能同時(shí)向多個(gè)目標(biāo)賬戶進(jìn)行資源轉(zhuǎn)移,該步驟也可以具體為:服務(wù)器根據(jù)確認(rèn)資源轉(zhuǎn)移消息中的第一賬戶,在第一賬戶的合約列表中查找是否存在與根據(jù)確認(rèn)資源轉(zhuǎn)移消息得到的合約標(biāo)識(shí)相同的合約標(biāo)識(shí),如果是,則提取該合約標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)賬戶、每個(gè)目標(biāo)賬戶對(duì)應(yīng)的資源轉(zhuǎn)移數(shù)以及第一合約的到期時(shí)間,進(jìn)而,服務(wù)器可以判斷該確認(rèn)資源轉(zhuǎn)移消息的接收時(shí)間是否不晚于第一合約的到期時(shí)間,如果是,可以判斷該第二賬戶是否與任一目標(biāo)賬戶相同,如果是,可以繼續(xù)判斷該確認(rèn)資源轉(zhuǎn)移消息中的資源轉(zhuǎn)移數(shù)是否與第一合約中該目標(biāo)賬戶對(duì)應(yīng)的資源轉(zhuǎn)移數(shù)相同,如果是,則可以向目標(biāo)賬戶轉(zhuǎn)入該目標(biāo)賬戶對(duì)應(yīng)的資源轉(zhuǎn)移數(shù)。需要說(shuō)明的是,為了提高合約的安全性,可以限制合約列表的操作權(quán)限,例如,該合約列表僅允許被讀取和寫入,而禁止被修改。

      本發(fā)明實(shí)施例通過(guò)在接收到第一賬戶的資源轉(zhuǎn)移請(qǐng)求時(shí),生成第一合約,并基于第一合約、資源轉(zhuǎn)移請(qǐng)求和區(qū)塊鏈中第一區(qū)塊的區(qū)塊頭特征值,生成第二區(qū)塊,并當(dāng)符合第一合約指示的資源轉(zhuǎn)移條件時(shí),基于第一合約進(jìn)行資源轉(zhuǎn)移,能夠基于區(qū)塊鏈中前后區(qū)塊之間的關(guān)聯(lián)關(guān)系,使得區(qū)塊中任一資源轉(zhuǎn)移過(guò)程中的信息被篡改時(shí)都能通過(guò)下一區(qū)塊檢測(cè)到,避免了惡意賬戶篡改或抵賴被轉(zhuǎn)移的資源,保證了資源轉(zhuǎn)移過(guò)程的安全性和可靠性,而且,由于合約的信息也記錄在區(qū)塊鏈中,使得合約被篡改時(shí)也能通過(guò)區(qū)塊鏈中已記錄的合約的信息被檢測(cè)到,進(jìn)一步保證了合約的安全性和正確性,提高了資源轉(zhuǎn)移的安全性和可靠性。

      而且,現(xiàn)有技術(shù)中的一個(gè)中間賬戶往往同時(shí)為多個(gè)賬戶服務(wù),使得該中間賬戶中可能同時(shí)儲(chǔ)存了多個(gè)賬戶的轉(zhuǎn)賬款,導(dǎo)致中間賬戶可能錯(cuò)誤地將收款用戶a的轉(zhuǎn)賬款轉(zhuǎn)賬至收款用戶b,資源轉(zhuǎn)移過(guò)程的容錯(cuò)性低。而本發(fā)明實(shí)施例在每個(gè)賬戶發(fā)起資源轉(zhuǎn)移時(shí),均可以為該賬戶實(shí)時(shí)生成一個(gè)用于本次資源轉(zhuǎn)移過(guò)程的合約,不僅能夠方便管理各個(gè)賬戶的資源轉(zhuǎn)移過(guò)程、簡(jiǎn)化了賬戶體系的設(shè)計(jì)、保證了賬戶資源數(shù)的平衡性,而且提高了資源轉(zhuǎn)移過(guò)程的容錯(cuò)性,更加避免了一個(gè)中間賬戶同時(shí)為大量賬戶服務(wù)時(shí)系統(tǒng)性能受限的問(wèn)題。

      而且,本發(fā)明實(shí)施例還可以靈活地應(yīng)用在多種資源轉(zhuǎn)移過(guò)程中,例如,多個(gè)賬戶搶紅包、待接收資源者主動(dòng)拒絕資源或者引入第三方仲裁共同分配資源的場(chǎng)景。其中,第三方仲裁共同分配資源的場(chǎng)景如:第三方賬戶從一次資源轉(zhuǎn)移過(guò)程中抽取百分比的資源數(shù)。

      需要說(shuō)明的是,上述步驟206和207的執(zhí)行時(shí)序是示例性的,事實(shí)上,服務(wù)器也可以先執(zhí)行步驟207再執(zhí)行步驟206,或者為了提高資源轉(zhuǎn)移效率,同時(shí)執(zhí)行步驟206和207。還要說(shuō)明的是,步驟206-207為本發(fā)明實(shí)施例中當(dāng)符合第一合約指示的資源轉(zhuǎn)移條件時(shí),服務(wù)器基于第一合約進(jìn)行資源轉(zhuǎn)移的一種可能實(shí)現(xiàn)方式,事實(shí)上,也存在其他情況能夠符合第一合約指示的資源轉(zhuǎn)移條件。本發(fā)明實(shí)施例以情況1和情況2為例進(jìn)行說(shuō)明:

      情況1、服務(wù)器接收第二賬戶的拒絕資源轉(zhuǎn)移消息;如果第二賬戶的身份驗(yàn)證通過(guò),且拒絕資源轉(zhuǎn)移消息與第一合約匹配,基于第一合約,將第二賬戶確定為目標(biāo)賬戶,向第一賬戶退回目標(biāo)賬戶對(duì)應(yīng)的資源轉(zhuǎn)移數(shù)。

      該情況下,服務(wù)器可以根據(jù)拒絕資源轉(zhuǎn)移消息中的合約公鑰、合約私鑰簽名、賬戶公鑰、賬戶公鑰簽名以及拒絕消息對(duì)第二賬戶的身份進(jìn)行驗(yàn)證,如果驗(yàn)證不通過(guò),可以忽略該決絕資源轉(zhuǎn)移消息,如果驗(yàn)證通過(guò),則確認(rèn)該拒絕資源轉(zhuǎn)移消息中的信息與第一合約的信息是否匹配,如果是,可以將第二賬戶確定為目標(biāo)賬戶,并向第一賬戶退回該目標(biāo)賬戶對(duì)應(yīng)的資源轉(zhuǎn)移數(shù),如果否,則忽略該拒絕資源轉(zhuǎn)移消息。其中,具體驗(yàn)證過(guò)程與步驟206中的驗(yàn)證過(guò)程同理;具體確認(rèn)匹配的過(guò)程與步驟207中確認(rèn)匹配的過(guò)程同理,將確認(rèn)資源轉(zhuǎn)移消息替換為拒絕資源轉(zhuǎn)移消息,且確認(rèn)信息替換為拒絕信息即可實(shí)現(xiàn)。

      情況2、當(dāng)服務(wù)器檢測(cè)到第一合約達(dá)到第一合約的到期時(shí)間時(shí),基于第一合約,向第一賬戶退回第一合約中的資源轉(zhuǎn)移數(shù)。

      該情況下,服務(wù)器可以周期性檢測(cè)各個(gè)合約是否達(dá)到該合約的到期時(shí)間,如果是,則可以向第一賬戶退回第一合約中的資源轉(zhuǎn)移數(shù),如果否,則本次檢測(cè)過(guò)程可以忽略該合約。

      基于上述資源轉(zhuǎn)移過(guò)程,該第一賬戶已轉(zhuǎn)移的資源和該第一賬戶的剩余資源(實(shí)際是指第一賬戶請(qǐng)求轉(zhuǎn)移的資源中的剩余資源)有以下可以有五種情況:

      一、該第一合約達(dá)到第一合約的到期時(shí)間,該資源轉(zhuǎn)移數(shù)退回至第一賬戶中,該第一賬戶的剩余資源數(shù)為零。

      二、目標(biāo)賬戶為一個(gè),該第一賬戶請(qǐng)求轉(zhuǎn)移的資源全部轉(zhuǎn)移至目標(biāo)賬戶,則該第一賬戶的剩余資源數(shù)為零。

      三、目標(biāo)賬戶為一個(gè),該第一賬戶請(qǐng)求轉(zhuǎn)移的資源被目標(biāo)賬戶拒絕,資源轉(zhuǎn)移數(shù)退回至第一賬戶中,該第一賬戶的剩余資源數(shù)為零。

      四、目標(biāo)賬戶為多個(gè),該第一賬戶請(qǐng)求轉(zhuǎn)移的資源部分轉(zhuǎn)移至目標(biāo)賬戶,則該第一賬戶的剩余資源數(shù)大于零且小于資源轉(zhuǎn)移請(qǐng)求中的資源轉(zhuǎn)移數(shù)。

      五、目標(biāo)賬戶為多個(gè),該第一賬戶請(qǐng)求轉(zhuǎn)移的資源被目標(biāo)賬戶拒絕,該目標(biāo)賬戶對(duì)應(yīng)的資源轉(zhuǎn)移數(shù)退回至第一賬戶中,該第一賬戶的剩余資源數(shù)大于零且小于資源轉(zhuǎn)移請(qǐng)求中的資源轉(zhuǎn)移數(shù)。

      對(duì)于情況一至三,由于該第一賬戶發(fā)起的資源轉(zhuǎn)移過(guò)程已全部完成,為了避免在該資源轉(zhuǎn)移過(guò)程中的任一方反悔或抵賴,且避免重復(fù)執(zhí)行該第一合約向目標(biāo)賬戶或第一賬戶進(jìn)行轉(zhuǎn)移,從而提高資源轉(zhuǎn)移過(guò)程的嚴(yán)謹(jǐn)性和安全性,服務(wù)器可以將第一合約設(shè)置為已完成狀態(tài),本發(fā)明實(shí)施例對(duì)設(shè)置的方式不做具體限定,例如,服務(wù)器可以為第一合約添加合約已完成標(biāo)識(shí),或者,在該第一合約中添加已轉(zhuǎn)移資源的賬戶和對(duì)應(yīng)的轉(zhuǎn)移資源數(shù),由于該轉(zhuǎn)移資源數(shù)與第一賬戶請(qǐng)求轉(zhuǎn)移的資源數(shù)相同,相當(dāng)于標(biāo)識(shí)該第一合約已完成全部資源的轉(zhuǎn)移,或者,在該第一合約中添加一條新的資源轉(zhuǎn)移數(shù),且該資源轉(zhuǎn)移數(shù)為零,以使服務(wù)器基于該資源第一合約中的合約已完成標(biāo)識(shí)或者最新的資源轉(zhuǎn)移數(shù)不會(huì)再執(zhí)行資源轉(zhuǎn)移。

      需要說(shuō)明的是,為了保證合約正確執(zhí)行,且資源轉(zhuǎn)移過(guò)程正確,每次發(fā)生資源轉(zhuǎn)移,該第一合約均會(huì)更新,但為了避免已進(jìn)行資源轉(zhuǎn)移的賬戶抵賴或篡改合約,更新時(shí)不是修改該第一合約中已經(jīng)存儲(chǔ)的信息,而是在第一合約中添加更新信息,服務(wù)器后續(xù)在基于該第一合約進(jìn)行資源轉(zhuǎn)移時(shí),需要基于第一合約中最新的更新信息進(jìn)行資源轉(zhuǎn)移,例如,基于第一合約中更新信息的時(shí)間戳,獲取最新添加的更新信息,并基于該最新添加的更新信息進(jìn)行資源轉(zhuǎn)移。

      在將該第一合約設(shè)置為已完成狀態(tài)時(shí),服務(wù)器可以基于已完成狀態(tài)的第一合約、觸發(fā)本次資源轉(zhuǎn)移完成的消息以及區(qū)塊鏈中第五區(qū)塊的區(qū)塊頭特征值,生成第六區(qū)塊,第五區(qū)塊為區(qū)塊鏈上第六區(qū)塊的上一個(gè)區(qū)塊,第六區(qū)塊用于記錄觸發(fā)本次資源轉(zhuǎn)移完成的事件。其中,觸發(fā)本次資源轉(zhuǎn)移完成的消息可以為服務(wù)器檢測(cè)到第一合約達(dá)到第一合約的到期時(shí)間的消息,或者,目標(biāo)用戶的確認(rèn)資源轉(zhuǎn)移消息或者目標(biāo)用戶的拒絕資源轉(zhuǎn)移消息。

      對(duì)于情況四和情況五,本發(fā)明實(shí)施例繼續(xù)以步驟208和步驟209進(jìn)行說(shuō)明:

      208、服務(wù)器更新第一合約,更新后的第一合約用于指示第一賬戶的剩余資源轉(zhuǎn)移條件。

      該步驟中,考慮到第一賬戶的資源已部分轉(zhuǎn)移至一個(gè)目標(biāo)賬戶或者部分退回至第一賬戶,因此,為了能夠繼續(xù)為多個(gè)目標(biāo)賬戶中的其他賬戶進(jìn)行資源轉(zhuǎn)移,服務(wù)器可以基于第一合約、已確認(rèn)(或拒絕)資源轉(zhuǎn)移目標(biāo)賬戶以及已轉(zhuǎn)移資源數(shù),在第一合約中添加更新信息,完成第一合約的更新過(guò)程,該更新信息根據(jù)已進(jìn)行的資源轉(zhuǎn)移過(guò)程得到,該更新信息可以有多種表達(dá)形式。例如,該更新信息包括已進(jìn)行資源轉(zhuǎn)移的賬戶(第一賬戶或目標(biāo)賬戶)和對(duì)應(yīng)的資源轉(zhuǎn)移數(shù),使得服務(wù)器后續(xù)可以根據(jù)該更新信息和第一合約中已記錄的信息,確定當(dāng)前的目標(biāo)賬戶和每個(gè)目標(biāo)賬戶對(duì)應(yīng)的資源轉(zhuǎn)移數(shù)。又例如,該更新信息包括除該已進(jìn)行資源轉(zhuǎn)移的賬戶之外的剩余目標(biāo)賬戶、以及剩余目標(biāo)賬戶對(duì)應(yīng)的資源轉(zhuǎn)移數(shù),則服務(wù)器后續(xù)可以直接根據(jù)該更新信息進(jìn)行資源轉(zhuǎn)移。

      需要說(shuō)明的是,由于目標(biāo)賬戶可能有多個(gè),而基于每個(gè)目標(biāo)賬戶的交互消息,該第一合約均會(huì)更新,因此,該第一合約中可能記錄多次更新信息,服務(wù)器在基于該第一合約進(jìn)行資源轉(zhuǎn)移時(shí),可以按照更新信息的時(shí)間戳,基于最新的更新信息進(jìn)行資源轉(zhuǎn)移。

      209、服務(wù)器基于更新后的第一合約、觸發(fā)本次資源轉(zhuǎn)移的交互消息以及區(qū)塊鏈中第三區(qū)塊的區(qū)塊頭特征值,生成第四區(qū)塊,第三區(qū)塊為區(qū)塊鏈上第四區(qū)塊的上一個(gè)區(qū)塊,第四區(qū)塊用于記錄本次資源轉(zhuǎn)移完成事件。

      該步驟中,服務(wù)器可以基于更新后的第一合約的信息(如更新后的第一合約的特征值)、確認(rèn)資源轉(zhuǎn)移消息(或拒絕資源轉(zhuǎn)移消息)以及區(qū)塊鏈中第三區(qū)塊的區(qū)塊頭特征值,生成該第四區(qū)塊。具體生成過(guò)程與步驟203的區(qū)塊生成過(guò)程同理。

      事實(shí)上,后續(xù)在該第一合約的到期時(shí)間之前,如果服務(wù)器接收到某個(gè)目標(biāo)賬戶的確認(rèn)資源轉(zhuǎn)移消息或者拒絕資源轉(zhuǎn)移消息時(shí),還可以繼續(xù)基于步驟206和207的驗(yàn)證過(guò)程和確認(rèn)匹配過(guò)程進(jìn)行確定是否進(jìn)行資源轉(zhuǎn)移,并在確定資源轉(zhuǎn)移時(shí),更新合約并生成新的區(qū)塊?;蛘撸绻钡竭_(dá)到該第一合約的到期時(shí)間時(shí),服務(wù)器也沒(méi)有收到任何目標(biāo)賬戶的交互消息,則可以將該第一合約中的剩余資源轉(zhuǎn)移數(shù)退回至第一賬戶,并將第一合約設(shè)置為已完成狀態(tài)和并生成新的區(qū)塊。

      在該第一賬戶向多個(gè)目標(biāo)賬戶轉(zhuǎn)移資源時(shí),如果該多個(gè)目標(biāo)賬戶中的一些目標(biāo)賬戶已經(jīng)確認(rèn)(或拒絕)資源轉(zhuǎn)移,而另一些目標(biāo)賬戶還沒(méi)有進(jìn)行確認(rèn)或者拒絕,則該第一合約的資源轉(zhuǎn)移數(shù)不會(huì)一次性全部轉(zhuǎn)移,則為了保證該第一賬戶請(qǐng)求轉(zhuǎn)移的全部資源可以轉(zhuǎn)移,為用戶提供完善的資源轉(zhuǎn)移服務(wù),服務(wù)器還需要根據(jù)該第一賬戶的剩余資源繼續(xù)進(jìn)行資源轉(zhuǎn)移,通過(guò)更新第一合約并生成第四區(qū)塊,不僅能夠避免前次資源轉(zhuǎn)移過(guò)程中已轉(zhuǎn)移資源的賬戶抵賴或篡改轉(zhuǎn)移記錄,還能夠依據(jù)該更新后的第一合約準(zhǔn)確地執(zhí)行下一次資源轉(zhuǎn)移過(guò)程,進(jìn)一步使得資源轉(zhuǎn)移過(guò)程中的資源數(shù)保持平衡。

      圖4是本發(fā)明實(shí)施例提供的一種資源轉(zhuǎn)移裝置的框圖,參見(jiàn)圖4,該裝置包括:

      接收模塊401,用于接收第一賬戶的資源轉(zhuǎn)移請(qǐng)求,資源轉(zhuǎn)移請(qǐng)求用于請(qǐng)求將第一賬戶的資源轉(zhuǎn)移至目標(biāo)賬戶;

      合成生成模塊402,用于生成第一合約,第一合約用于指示第一賬戶的資源轉(zhuǎn)移條件;

      區(qū)塊生成模塊403,用于基于第一合約、資源轉(zhuǎn)移請(qǐng)求以及區(qū)塊鏈中第一區(qū)塊的區(qū)塊頭特征值,生成第二區(qū)塊,第一區(qū)塊為區(qū)塊鏈上第二區(qū)塊的上一個(gè)區(qū)塊,第二區(qū)塊用于記錄本次資源轉(zhuǎn)移請(qǐng)求事件;

      資源轉(zhuǎn)移模塊404,用于當(dāng)符合第一合約指示的資源轉(zhuǎn)移條件時(shí),基于第一合約進(jìn)行資源轉(zhuǎn)移。

      本發(fā)明實(shí)施例通過(guò)在接收到第一賬戶的資源轉(zhuǎn)移請(qǐng)求時(shí),生成第一合約,并基于第一合約、資源轉(zhuǎn)移請(qǐng)求和區(qū)塊鏈中第一區(qū)塊的區(qū)塊頭特征值,生成第二區(qū)塊,并當(dāng)符合第一合約指示的資源轉(zhuǎn)移條件時(shí),基于第一合約進(jìn)行資源轉(zhuǎn)移,能夠基于區(qū)塊鏈中前后區(qū)塊之間的關(guān)聯(lián)關(guān)系,使得區(qū)塊中任一資源轉(zhuǎn)移過(guò)程中的信息被篡改時(shí)都能通過(guò)下一區(qū)塊檢測(cè)到,避免了惡意賬戶篡改或抵賴被轉(zhuǎn)移的資源,保證了資源轉(zhuǎn)移過(guò)程的安全性和可靠性,而且,由于合約的信息也記錄在區(qū)塊鏈中,使得合約被篡改時(shí)也能通過(guò)區(qū)塊鏈中已記錄的合約的信息被檢測(cè)到,進(jìn)一步保證了合約的安全性和正確性,提高了資源轉(zhuǎn)移的安全性和可靠性。

      在一種可能實(shí)現(xiàn)方式中,資源轉(zhuǎn)移模塊404用于:

      接收第二賬戶的確認(rèn)資源轉(zhuǎn)移消息;

      如果第二賬戶的身份驗(yàn)證通過(guò),且確認(rèn)資源轉(zhuǎn)移消息與第一合約匹配,將第二賬戶確定為目標(biāo)賬戶,基于第一合約向目標(biāo)賬戶轉(zhuǎn)入目標(biāo)賬戶對(duì)應(yīng)的資源轉(zhuǎn)移數(shù)。

      在一種可能實(shí)現(xiàn)方式中,資源轉(zhuǎn)移模塊404用于:

      如果確認(rèn)資源轉(zhuǎn)移消息中的合約公鑰對(duì)確認(rèn)資源轉(zhuǎn)移消息中的合約私鑰簽名驗(yàn)證通過(guò),且確認(rèn)資源轉(zhuǎn)移消息中的賬戶公鑰對(duì)確認(rèn)資源轉(zhuǎn)移消息中的賬戶私鑰簽名驗(yàn)證通過(guò),獲取確認(rèn)資源轉(zhuǎn)移消息中的合約公鑰對(duì)應(yīng)的合約標(biāo)識(shí);

      如果確認(rèn)資源轉(zhuǎn)移消息中的合約公鑰對(duì)應(yīng)的合約標(biāo)識(shí)與第一合約的合約標(biāo)識(shí)相同,且第二賬戶與目標(biāo)賬戶相同,且確認(rèn)資源轉(zhuǎn)移消息中的資源轉(zhuǎn)移數(shù)匹配第一合約的資源轉(zhuǎn)移數(shù),且確認(rèn)資源轉(zhuǎn)移消息的接收時(shí)間不晚于第一合約的到期時(shí)間,基于第一合約,將第二賬戶確定為目標(biāo)賬戶,向目標(biāo)賬戶轉(zhuǎn)入目標(biāo)賬戶對(duì)應(yīng)的資源轉(zhuǎn)移數(shù)。

      在一種可能實(shí)現(xiàn)方式中,資源轉(zhuǎn)移模塊404用于:

      接收第二賬戶的拒絕資源轉(zhuǎn)移消息;

      如果第二賬戶的身份驗(yàn)證通過(guò),且拒絕資源轉(zhuǎn)移消息與第一合約匹配,基于第一合約,將第二賬戶確定為目標(biāo)賬戶,向第一賬戶退回目標(biāo)賬戶對(duì)應(yīng)的資源轉(zhuǎn)移數(shù)。

      在一種可能實(shí)現(xiàn)方式中,資源轉(zhuǎn)移模塊404用于:

      當(dāng)檢測(cè)到第一合約達(dá)到第一合約的到期時(shí)間時(shí),基于第一合約,向第一賬戶退回第一合約中的資源轉(zhuǎn)移數(shù)。

      在一種可能實(shí)現(xiàn)方式中,區(qū)塊生成模塊403用于:

      基于第一合約的特征值、資源轉(zhuǎn)移請(qǐng)求以及第一區(qū)塊的區(qū)塊頭特征值,生成第二區(qū)塊。

      在一種可能實(shí)現(xiàn)方式中,基于圖4的裝置組成,參見(jiàn)圖5a,該裝置還包括:合約更新模塊405,用于更新第一合約,更新后的第一合約用于指示第一賬戶的剩余資源轉(zhuǎn)移條件;

      區(qū)塊生成模塊403,還用于基于更新后的第一合約、觸發(fā)本次資源轉(zhuǎn)移的交互消息以及區(qū)塊鏈中第三區(qū)塊的區(qū)塊頭特征值,生成第四區(qū)塊,第三區(qū)塊為區(qū)塊鏈上第四區(qū)塊的上一個(gè)區(qū)塊,第四區(qū)塊用于記錄本次資源轉(zhuǎn)移完成事件。

      在一種可能實(shí)現(xiàn)方式中,基于圖4的裝置組成,參見(jiàn)圖5b,該裝置還包括:

      發(fā)送模塊406,用于將合約私鑰發(fā)送至目標(biāo)賬戶,使得目標(biāo)賬戶基于合約私鑰得到合約私鑰簽名和合約公鑰,合約私鑰由第一賬戶發(fā)送得到。

      上述所有可選技術(shù)方案,可以采用任意結(jié)合形成本發(fā)明的可選實(shí)施例,在此不再一一贅述。

      需要說(shuō)明的是:上述實(shí)施例提供的資源轉(zhuǎn)移裝置在轉(zhuǎn)移資源時(shí),僅以上述各功能模塊的劃分進(jìn)行舉例說(shuō)明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實(shí)施例提供的資源轉(zhuǎn)移裝置與資源轉(zhuǎn)移方法實(shí)施例屬于同一構(gòu)思,其具體實(shí)現(xiàn)過(guò)程詳見(jiàn)方法實(shí)施例,這里不再贅述。

      圖6是本發(fā)明實(shí)施例提供的一種服務(wù)器結(jié)構(gòu)示意圖。參見(jiàn)圖6,該服務(wù)器包括處理組件622,其進(jìn)一步包括一個(gè)或多個(gè)處理器,以及由存儲(chǔ)器632所代表的存儲(chǔ)器資源,用于存儲(chǔ)可由處理部件622的執(zhí)行的指令,例如應(yīng)用程序。存儲(chǔ)器632中存儲(chǔ)的應(yīng)用程序可以包括一個(gè)或一個(gè)以上的每一個(gè)對(duì)應(yīng)于一組指令的模塊。此外,處理組件622被配置為執(zhí)行指令,以執(zhí)行上述資源轉(zhuǎn)移方法中服務(wù)器側(cè)執(zhí)行的方法。

      服務(wù)器還可以包括一個(gè)電源組件626被配置為執(zhí)行服務(wù)器的電源管理,一個(gè)有線或無(wú)線網(wǎng)絡(luò)接口650被配置為將服務(wù)器連接到網(wǎng)絡(luò),和一個(gè)輸入輸出(i/o)接口658。服務(wù)器可以操作基于存儲(chǔ)在存儲(chǔ)器632的操作系統(tǒng),例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或類似。

      在示例性實(shí)施例中,還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),例如包括指令的存儲(chǔ)器632,上述指令可由處理組件622執(zhí)行以完成上述資源轉(zhuǎn)移方法中服務(wù)器側(cè)執(zhí)行的方法。例如,該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是rom、ram(randomaccessmemory,隨機(jī)存取存儲(chǔ)器)、cd-rom(compactdiscread-onlymemory,光盤只讀存儲(chǔ)器)、磁帶、軟盤和光數(shù)據(jù)存儲(chǔ)設(shè)備等。

      本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分步驟可以通過(guò)硬件來(lái)完成,也可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。

      以上所述僅為本發(fā)明的可選實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

      當(dāng)前第1頁(yè)1 2 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1