本發(fā)明涉及區(qū)塊鏈和智能合約技術(shù)領(lǐng)域,尤其涉及一種用于支付區(qū)塊鏈網(wǎng)絡(luò)中交易費(fèi)用的方法和系統(tǒng)。
背景技術(shù):
區(qū)塊鏈(blockchain)是一串使用密碼學(xué)方法產(chǎn)生的數(shù)據(jù)塊,每一個(gè)數(shù)據(jù)塊中包含了一次比特幣網(wǎng)絡(luò)交易的信息,用于驗(yàn)證其信息的有效性和生成下一個(gè)區(qū)塊。智能合約是運(yùn)行在可復(fù)制、共享的賬本上的計(jì)算機(jī)程序,可以處理信息,接收、儲存和發(fā)送價(jià)值。以太坊是一個(gè)開源平臺,可以創(chuàng)建和發(fā)布去中心化的應(yīng)用程序。如果說比特幣是利用區(qū)塊鏈技術(shù)的專用計(jì)算器,那么以太坊就是利用區(qū)塊鏈技術(shù)的通用計(jì)算機(jī)。
任何人均可以在專門的硬件上運(yùn)行相應(yīng)的軟件而成為比特幣、以太幣等虛擬數(shù)字貨幣的礦工。挖礦軟件通過p2p網(wǎng)絡(luò)監(jiān)聽交易廣播,執(zhí)行恰當(dāng)?shù)娜蝿?wù)以處理并確認(rèn)這些交易。在基于區(qū)塊鏈技術(shù)的網(wǎng)絡(luò)中,礦工完成這些工作能賺取用戶支付的用于加速交易處理的交易手續(xù)費(fèi)以及按固定公式增發(fā)的虛擬數(shù)字貨幣,或者稱之為區(qū)塊鏈代幣。
對應(yīng)確定的區(qū)塊鏈網(wǎng)絡(luò),不論是以交易手續(xù)費(fèi)還是增發(fā)的區(qū)塊鏈代幣作為交易費(fèi)用,均是按照該特定區(qū)塊鏈網(wǎng)絡(luò)的既有協(xié)議規(guī)定的公式將該特定的區(qū)塊鏈網(wǎng)絡(luò)代幣作為交易費(fèi)用通過區(qū)塊鏈網(wǎng)絡(luò)分配給所有參與計(jì)算的區(qū)塊鏈節(jié)點(diǎn)(或礦工)。然而,此種結(jié)算交易費(fèi)用的方式至少存在如下問題。例如,對于一個(gè)以太坊平臺上合約,如果合約內(nèi)容涉及的標(biāo)的額非常小(這在大規(guī)模應(yīng)用中將變得的非常普遍,例如數(shù)量龐大的小額支付合約或者其他合約應(yīng)用中,往往小于0.01個(gè)區(qū)塊鏈代幣),此時(shí)如果仍然按照既定的公式用該區(qū)塊鏈網(wǎng)絡(luò)中的代幣作為交易費(fèi)用的獎(jiǎng)勵(lì),將極大地抑制此類合約應(yīng)用的積極性。另一方面,當(dāng)該區(qū)塊鏈網(wǎng)絡(luò)的代幣持有者(尤其是作為礦工的持有者)打算發(fā)布合約應(yīng)用時(shí),其往往不會低估所持有的該區(qū)塊鏈網(wǎng)絡(luò)代幣的價(jià)值(否則其會大量拋售所持有的代幣而致使價(jià)格大幅波動),從而認(rèn)為該區(qū)塊鏈網(wǎng)絡(luò)既有交易費(fèi)用計(jì)算公式所確定的以該區(qū)塊鏈網(wǎng)絡(luò)代幣結(jié)算的交易費(fèi)用過高而放棄發(fā)布合約應(yīng)用,使得該區(qū)塊鏈網(wǎng)絡(luò)中的合約執(zhí)行活躍度降低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的之一至少在于,針對如何克服上述現(xiàn)有技術(shù)存在的問題,提供一種用于支付區(qū)塊鏈網(wǎng)絡(luò)中交易費(fèi)用的方法和系統(tǒng),能夠在提高區(qū)塊鏈網(wǎng)絡(luò)交易活躍度的同時(shí)保證其代幣價(jià)格的穩(wěn)定。
為了實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案包括以下各方面。
一方面,一種用于支付區(qū)塊鏈網(wǎng)絡(luò)中交易費(fèi)用的方法,其包括:
交易發(fā)起者向區(qū)塊鏈網(wǎng)絡(luò)發(fā)送交易請求;
所述區(qū)塊鏈網(wǎng)絡(luò)基于交易請求中的交易內(nèi)容進(jìn)行計(jì)算,并根據(jù)區(qū)塊鏈網(wǎng)絡(luò)的協(xié)議確定第一數(shù)量的第一數(shù)字代幣作為交易費(fèi)用;
基于所述第一數(shù)量的第一數(shù)字代幣,獲取第二數(shù)量的所述區(qū)塊鏈網(wǎng)絡(luò)的代幣;
根據(jù)所述交易內(nèi)容的執(zhí)行情況,將第二數(shù)量的所述區(qū)塊鏈網(wǎng)絡(luò)的代幣中的一部分或者全部分配給參與所述交易的所述區(qū)塊鏈網(wǎng)絡(luò)中的區(qū)塊鏈節(jié)點(diǎn)。
優(yōu)選的,所述第一數(shù)字代幣與所述區(qū)塊鏈網(wǎng)絡(luò)的代幣相同,所述區(qū)塊鏈網(wǎng)絡(luò)從交易發(fā)起者的所述區(qū)塊鏈網(wǎng)絡(luò)賬戶減去第一數(shù)量的所述區(qū)塊鏈網(wǎng)絡(luò)的代幣。
優(yōu)選的,所述第一數(shù)字代幣與所述區(qū)塊鏈網(wǎng)絡(luò)的代幣不相同,所述區(qū)塊鏈網(wǎng)絡(luò)從交易發(fā)起者的第一數(shù)字代幣賬戶獲取第一數(shù)量的第一數(shù)字代幣,并從所述第一數(shù)字代幣與所述區(qū)塊鏈網(wǎng)絡(luò)的代幣的交換裝置獲取第二數(shù)量的所述區(qū)塊鏈網(wǎng)絡(luò)的代幣。
優(yōu)選的,所述第一數(shù)字代幣為所述區(qū)塊鏈網(wǎng)絡(luò)的代幣之外的其他網(wǎng)絡(luò)的代幣或者數(shù)字記錄形式的貨幣。
優(yōu)選的,所述方法進(jìn)一步包括:在所述區(qū)塊鏈網(wǎng)絡(luò)接收到交易請求之后,區(qū)塊鏈網(wǎng)絡(luò)根據(jù)其協(xié)議檢查交易請求是否有效,如果有效則通過檢查,否則返回錯(cuò)誤消息;如果通過檢查,所述區(qū)塊鏈網(wǎng)絡(luò)基于交易請求中的交易內(nèi)容進(jìn)行計(jì)算,并根據(jù)區(qū)塊鏈網(wǎng)絡(luò)的協(xié)議確定第一數(shù)量的第一數(shù)字代幣作為交易費(fèi)用。
優(yōu)選的,所述方法進(jìn)一步包括:所述交易內(nèi)容包括轉(zhuǎn)移第三數(shù)量的所述區(qū)塊鏈網(wǎng)絡(luò)的代幣和/或執(zhí)行智能合約;當(dāng)所述交易內(nèi)容全部執(zhí)行成功時(shí),將第二數(shù)量的所述區(qū)塊鏈網(wǎng)絡(luò)的代幣全部分配給參與交易的所述區(qū)塊鏈網(wǎng)絡(luò)中的區(qū)塊鏈節(jié)點(diǎn);當(dāng)所述交易內(nèi)容執(zhí)行失敗時(shí),將第二數(shù)量的所述區(qū)塊鏈網(wǎng)絡(luò)的代幣中的一部分分配給參與交易的所述區(qū)塊鏈網(wǎng)絡(luò)中的區(qū)塊鏈節(jié)點(diǎn)。
優(yōu)選的,所述方法進(jìn)一步包括:所述區(qū)塊鏈網(wǎng)絡(luò)基于交易請求中的交易內(nèi)容進(jìn)行計(jì)算,并根據(jù)區(qū)塊鏈網(wǎng)絡(luò)的協(xié)議確定第三數(shù)量的第三數(shù)字代幣作為交易費(fèi)用,其中所述第三數(shù)字代幣為所述區(qū)塊鏈網(wǎng)絡(luò)的代幣之外的其他網(wǎng)絡(luò)的代幣或者數(shù)字記錄形式的貨幣,或者與所述區(qū)塊鏈網(wǎng)絡(luò)的代幣相同;向交易發(fā)起者發(fā)送選擇交易費(fèi)用支付方式的消息,并根據(jù)交易發(fā)起者發(fā)送的消息中所選擇的交易費(fèi)用支付方式來獲取第三數(shù)量的第三數(shù)字代幣,并基于所述第三數(shù)量的第三數(shù)字代幣,獲取第四數(shù)量的所述區(qū)塊鏈網(wǎng)絡(luò)的代幣;根據(jù)所述交易內(nèi)容的執(zhí)行情況,將第四數(shù)量的所述區(qū)塊鏈網(wǎng)絡(luò)的代幣中的一部分或者全部分配給參與所述交易的所述區(qū)塊鏈網(wǎng)絡(luò)中的區(qū)塊鏈節(jié)點(diǎn)。
另一方面,一種用于支付區(qū)塊鏈網(wǎng)絡(luò)中交易費(fèi)用的系統(tǒng),其包括多個(gè)運(yùn)行區(qū)塊鏈協(xié)議軟件的區(qū)塊鏈節(jié)點(diǎn)以及一個(gè)或者多個(gè)交易節(jié)點(diǎn);所述區(qū)塊鏈節(jié)點(diǎn)用于響應(yīng)交易發(fā)起者從交易節(jié)點(diǎn)發(fā)送的交易請求,基于交易請求中的交易內(nèi)容進(jìn)行計(jì)算,并根據(jù)區(qū)塊鏈網(wǎng)絡(luò)的協(xié)議確定第一數(shù)量的第一數(shù)字代幣作為交易費(fèi)用;基于所述第一數(shù)量的第一數(shù)字代幣,獲取第二數(shù)量的所述區(qū)塊鏈網(wǎng)絡(luò)的代幣;根據(jù)所述交易內(nèi)容的執(zhí)行情況,將第二數(shù)量的所述區(qū)塊鏈網(wǎng)絡(luò)的代幣中的一部分或者全部分配給參與所述交易的所述區(qū)塊鏈網(wǎng)絡(luò)中的區(qū)塊鏈節(jié)點(diǎn)。
優(yōu)選的,所述交易節(jié)點(diǎn)與所述多個(gè)運(yùn)行區(qū)塊鏈協(xié)議軟件的區(qū)塊鏈節(jié)點(diǎn)運(yùn)行的區(qū)塊鏈協(xié)議相同或者不同。
優(yōu)選的,所述系統(tǒng)進(jìn)一步包括用于將所述區(qū)塊鏈網(wǎng)絡(luò)的代幣與第一數(shù)字代幣進(jìn)行交換的交換裝置,以及用于在所述區(qū)塊鏈節(jié)點(diǎn)、交易節(jié)點(diǎn)、以及交換裝置之間進(jìn)行數(shù)據(jù)傳輸?shù)耐ㄐ叛b置。
綜上所述,由于采用了上述技術(shù)方案,本發(fā)明至少具有以下有益效果:
通過根據(jù)區(qū)塊鏈網(wǎng)絡(luò)的協(xié)議確定第一數(shù)量的第一數(shù)字代幣作為交易費(fèi)用,并基于第一數(shù)量的第一數(shù)字代幣來獲取第二數(shù)量的所述區(qū)塊鏈網(wǎng)絡(luò)的代幣,能夠在提高區(qū)塊鏈網(wǎng)絡(luò)交易活躍度的同時(shí)保證其代幣價(jià)格的穩(wěn)定。
附圖說明
圖1是根據(jù)本發(fā)明一實(shí)施例的一種用于支付區(qū)塊鏈網(wǎng)絡(luò)中交易費(fèi)用的方法的流程圖。
圖2是根據(jù)本發(fā)明另一實(shí)施例的一種用于支付區(qū)塊鏈網(wǎng)絡(luò)中交易費(fèi)用的方法的流程圖。
圖3是根據(jù)本發(fā)明又一實(shí)施例的一種用于支付區(qū)塊鏈網(wǎng)絡(luò)中交易費(fèi)用的方法的流程圖。
圖4是根據(jù)本發(fā)明一實(shí)施例的一種用于支付區(qū)塊鏈網(wǎng)絡(luò)中交易費(fèi)用的系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明,以使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
為了方便描述,將本發(fā)明實(shí)施例提供的區(qū)塊鏈網(wǎng)中根據(jù)其協(xié)議設(shè)置的該區(qū)塊鏈網(wǎng)絡(luò)的代幣稱為x幣,正如比特幣網(wǎng)絡(luò)中使用比特幣作為該網(wǎng)絡(luò)中的代幣一樣,本發(fā)明的區(qū)塊鏈網(wǎng)絡(luò)使用x幣作為該區(qū)塊鏈網(wǎng)絡(luò)內(nèi)部的代幣,但是向用戶收取的交易費(fèi)用可以為x幣,也可以為x幣之外的其他任何數(shù)字代幣或者貨幣。如圖1所示,本發(fā)明一實(shí)施例提供的一種用于支付區(qū)塊鏈網(wǎng)絡(luò)中交易費(fèi)用的方法包括以下步驟。
步驟101:交易發(fā)起者向區(qū)塊鏈網(wǎng)絡(luò)發(fā)送交易請求
例如,區(qū)塊鏈網(wǎng)絡(luò)中的用戶a發(fā)起向用戶b支付1個(gè)單位的該區(qū)塊鏈網(wǎng)絡(luò)的代幣的交易請求。
步驟102:計(jì)算確定交易費(fèi)用
該區(qū)塊鏈網(wǎng)絡(luò)根據(jù)用戶a發(fā)起的交易請求將1個(gè)x幣支付給用戶b,區(qū)塊鏈網(wǎng)絡(luò)根據(jù)其協(xié)議確定的交易費(fèi)用為5元人民幣。
本發(fā)明實(shí)施例的區(qū)塊鏈網(wǎng)絡(luò)與現(xiàn)有的諸如比特幣網(wǎng)絡(luò)在確定交易費(fèi)用的協(xié)議上有所不同。例如,比特幣網(wǎng)絡(luò)中,基于交易請求中的交易內(nèi)容(如支付1比特幣)計(jì)算確定的交易費(fèi)用是通過比特幣計(jì)量的。而本申請實(shí)施例的區(qū)塊鏈網(wǎng)絡(luò)協(xié)議所雖然也對交易的內(nèi)容進(jìn)行計(jì)算,但是其所確定的交易費(fèi)用為x幣之外的任何其他種類的數(shù)字化代幣(例如,比特幣、以太幣等)或者數(shù)字記錄形式的貨幣(例如,人民幣、美元等)。因此,上述確定的交易費(fèi)用既可以為5元人民幣,也可以為1美元,0.1日元等,這取決于本發(fā)明實(shí)施例的區(qū)塊鏈網(wǎng)絡(luò)所采用協(xié)議的設(shè)置。
當(dāng)然,在其他的實(shí)施例中,如果用戶a在交易請求中可以要求使用x幣來支付交易費(fèi)用,則該區(qū)塊鏈網(wǎng)絡(luò)可以為其確定交易費(fèi)用為0.01個(gè)x幣。
步驟103:獲取所述區(qū)塊鏈網(wǎng)絡(luò)的代幣
如果確定的交易費(fèi)用為5元人民幣,該區(qū)塊鏈網(wǎng)絡(luò)通過人民幣與x幣之間的交換裝置來獲取對應(yīng)數(shù)量的x幣,例如0.001個(gè)x幣。
步驟104:將區(qū)塊鏈網(wǎng)絡(luò)的代幣分配給區(qū)塊鏈節(jié)點(diǎn)
區(qū)塊鏈網(wǎng)絡(luò)將所獲取的0.001個(gè)x幣按照其區(qū)塊鏈網(wǎng)絡(luò)協(xié)議分配給所有為交易做出貢獻(xiàn)的區(qū)塊鏈節(jié)點(diǎn)作為報(bào)酬。
下文以具有多個(gè)運(yùn)行區(qū)塊鏈協(xié)議的分布式計(jì)算節(jié)點(diǎn)的區(qū)塊鏈網(wǎng)絡(luò)為例,對本發(fā)明另一實(shí)施例提供的一種用于支付區(qū)塊鏈網(wǎng)絡(luò)中交易費(fèi)用的方法,進(jìn)行詳細(xì)說明。該方法通過判斷用戶認(rèn)可的交易支付方式并采取對應(yīng)的措施,而不是當(dāng)用戶在該區(qū)塊鏈網(wǎng)絡(luò)的賬戶余額不足以支付交易費(fèi)用時(shí)直接返回錯(cuò)誤并結(jié)束交易,可以在進(jìn)一步提高區(qū)塊鏈網(wǎng)絡(luò)交易活躍度的同時(shí)保證其代幣價(jià)格的穩(wěn)定。
如圖2所示,該方法包括以下步驟:
步驟201:交易發(fā)起者向區(qū)塊鏈網(wǎng)絡(luò)發(fā)送交易請求
區(qū)塊鏈網(wǎng)絡(luò)中的用戶c作為交易發(fā)起者,發(fā)送的交易請求內(nèi)容可以包括智能合約,例如,用戶c要將他的名稱和其它數(shù)據(jù)一起在一個(gè)公共數(shù)據(jù)庫注冊。該合約可以通過如下serpent語言代碼來實(shí)施,其也可以被編譯為區(qū)塊鏈虛擬機(jī)代碼。
defregister(name,value):
if!self.storage[name]:
self.storage[name]=value
該交易的內(nèi)容或者合約,即建立一個(gè)區(qū)塊鏈網(wǎng)絡(luò)中可以被添加但不能被修改或移除的數(shù)據(jù)庫。其中,函數(shù)register用于為合約存儲器self.storage的名稱name賦值value,該值即交易請求中數(shù)據(jù)內(nèi)容部分指定的值。
步驟202:計(jì)算確定交易費(fèi)用
根據(jù)該區(qū)塊鏈網(wǎng)絡(luò)協(xié)議計(jì)算確定第一數(shù)量的第一數(shù)字代幣作為交易費(fèi)用,首先可以根據(jù)執(zhí)行合約所需要字節(jié)數(shù)以及合約內(nèi)容需要支付的x幣數(shù)量來確定。例如,對于上述合約,其不包括支付內(nèi)容,因此僅需根據(jù)執(zhí)行合約代碼所需空間(例如624字節(jié)),以及每字節(jié)的執(zhí)行費(fèi)用(例如0.001人民幣每字節(jié)),可以計(jì)算確定交易費(fèi)用為624元人民幣。
在優(yōu)選的實(shí)施例中,該區(qū)塊鏈網(wǎng)絡(luò)可以同時(shí)確定多個(gè)交易費(fèi)用的支付方式,例如在已經(jīng)確定交易費(fèi)用為624元人民幣的情況下,仍然可以同時(shí)確定該交易的費(fèi)用為123美元、1500日元、以及0.2個(gè)x幣等。
步驟203:判斷第一數(shù)字代幣與所述區(qū)塊鏈網(wǎng)絡(luò)的代幣是否相同
用戶c發(fā)送的交易請求中可以主動攜帶其所接受的交易費(fèi)用支付方式,例如該支付方式既可以是該區(qū)塊鏈網(wǎng)絡(luò)的代幣,即x幣,也可以是x幣之外的其他任何運(yùn)行不同區(qū)塊鏈協(xié)議的不同區(qū)塊鏈網(wǎng)絡(luò)的代幣或者其他任何流通貨幣,例如,人民幣、美元、日元等。通過比較交易請求中攜帶的支付方式是否與區(qū)塊鏈網(wǎng)絡(luò)的代幣(即x幣)相同,來確定獲取交易費(fèi)用的相應(yīng)方式。
步驟204:如果第一數(shù)字代幣與區(qū)塊鏈網(wǎng)絡(luò)的代幣不相同,區(qū)塊鏈網(wǎng)絡(luò)從交易發(fā)起者的第一數(shù)字代幣賬戶獲取第一數(shù)量的第一數(shù)字代幣
例如,用戶c所指定或者選擇的交易方式為人民幣,且區(qū)塊鏈網(wǎng)絡(luò)確定的交易費(fèi)用為624元人民幣。該區(qū)塊鏈網(wǎng)絡(luò)根據(jù)交易請求中的數(shù)據(jù)和簽名,通過用戶c的人民幣賬戶所提供的api獲取624元人民幣作為交易費(fèi)用。
步驟205:從第一數(shù)字代幣與所述區(qū)塊鏈網(wǎng)絡(luò)的代幣的交換裝置獲取第二數(shù)量的所述區(qū)塊鏈網(wǎng)絡(luò)的代幣
對于第一數(shù)字代幣與區(qū)塊鏈網(wǎng)絡(luò)的代幣不相同的情形,該區(qū)塊鏈網(wǎng)絡(luò)首先通過人民幣與x幣之間的交換裝置提供的api(applicationprogramminginterface,應(yīng)用程序編程接口)獲取1元人民幣與x幣之間的交換比率,例如為0.0001。進(jìn)而,通過該交換裝置提供的api將624元人民幣交換為0.0624個(gè)x幣。
對于第一數(shù)字代幣與所述區(qū)塊鏈網(wǎng)絡(luò)的代幣相同的情形,該區(qū)塊鏈網(wǎng)絡(luò)從交易發(fā)起者的所述區(qū)塊鏈網(wǎng)絡(luò)賬戶減去第一數(shù)量的所述區(qū)塊鏈網(wǎng)絡(luò)的代幣即可。例如,如果用戶選擇并接收直接通過x幣來支付,則可以根據(jù)步驟202確定的0.2個(gè)x幣的交易費(fèi)用,直接從用戶c在該區(qū)塊鏈網(wǎng)絡(luò)中的x幣賬戶中減去0.2個(gè)x幣即可。
在此實(shí)施例中,通過用戶的不同選擇,產(chǎn)生了不同的交易費(fèi)用,即0.0624個(gè)x幣或者0.2個(gè)x幣。由于用戶能夠根據(jù)自己的情況來選擇和確定如何支付交易費(fèi)用,因此該方法能夠在提高區(qū)塊鏈網(wǎng)絡(luò)交易活躍度的同時(shí)保證其代幣價(jià)格的穩(wěn)定。
步驟206:根據(jù)所述交易內(nèi)容的執(zhí)行情況,將第二數(shù)量的所述區(qū)塊鏈網(wǎng)絡(luò)的代幣中的一部分或者全部分配給參與所述交易的所述區(qū)塊鏈網(wǎng)絡(luò)中的區(qū)塊鏈節(jié)點(diǎn)
在此實(shí)施例中,可以將全部交易費(fèi)用,即0.0624個(gè)x幣或者0.2個(gè)x幣,全部通過該區(qū)塊鏈網(wǎng)絡(luò)分配給所有為本次交易提供計(jì)算能力和存儲空間的區(qū)塊鏈網(wǎng)絡(luò)中的區(qū)塊鏈節(jié)點(diǎn),即運(yùn)行該區(qū)塊鏈協(xié)議軟件的各種具有處理器和存儲器的硬件。在其他實(shí)施例中,如果交易費(fèi)用中包括轉(zhuǎn)賬、支付等內(nèi)容,則將轉(zhuǎn)賬、支付之后所剩余的以太幣作為所有為該交易提供運(yùn)算能力和存儲空間的區(qū)塊鏈節(jié)點(diǎn)的報(bào)酬而通過區(qū)塊鏈網(wǎng)絡(luò)協(xié)議進(jìn)行分配。
圖3示出了本發(fā)明另一實(shí)施例提供的一種用于支付區(qū)塊鏈網(wǎng)絡(luò)中交易費(fèi)用的方法,其與上述實(shí)施例的不同之處在于其可以進(jìn)一步包括檢查交易請求是否有效以及由區(qū)塊鏈網(wǎng)絡(luò)為用戶通過選擇支付交易費(fèi)用方式的選項(xiàng)。
如圖3所示,在交易發(fā)起者向區(qū)塊鏈網(wǎng)絡(luò)發(fā)送交易請求的步驟301之后,進(jìn)一步包括區(qū)塊鏈網(wǎng)絡(luò)根據(jù)其協(xié)議檢查交易請求是否有效的步驟302。其中,包括檢查交易的格式是否正確(即有正確數(shù)值)、簽名是否有效和隨機(jī)數(shù)是否與發(fā)送者賬戶的隨機(jī)數(shù)匹配等。
如果有效則通過檢查,否則返回錯(cuò)誤消息,結(jié)束交易。如果通過檢查,則執(zhí)行步驟303,向交易發(fā)起者發(fā)送選擇交易費(fèi)用支付方式的消息,并在步驟304中根據(jù)交易發(fā)起者返回的消息中所選擇的交易費(fèi)用支付方式計(jì)算確定該方式的交易費(fèi)用。且該交易費(fèi)用可能因?yàn)檫x擇過程計(jì)算冗余的要求而大于前述其他實(shí)施例中所針對相同智能合約計(jì)算確定的交易費(fèi)用。
在確定交易方式和交易費(fèi)用之后,可以分別通過步驟305或者步驟306來獲取所述區(qū)塊鏈網(wǎng)絡(luò)的代幣,并進(jìn)一步通過步驟307將其分配到所有為該次交易做出貢獻(xiàn)的區(qū)塊鏈節(jié)點(diǎn)。
圖4示出了本發(fā)明一實(shí)施例提供的一種用于支付區(qū)塊鏈網(wǎng)絡(luò)中交易費(fèi)用的系統(tǒng)。如圖4所示,該系統(tǒng)包括:多個(gè)運(yùn)行區(qū)塊鏈協(xié)議軟件的區(qū)塊鏈節(jié)點(diǎn)、一個(gè)或者多個(gè)交易節(jié)點(diǎn)、用于將所述區(qū)塊鏈網(wǎng)絡(luò)的代幣與其他代幣進(jìn)行交換的交換裝置、以及用于在所述區(qū)塊鏈節(jié)點(diǎn)、交易節(jié)點(diǎn)、以及交換裝置之間進(jìn)行數(shù)據(jù)傳輸?shù)耐ㄐ叛b置。其中,交易節(jié)點(diǎn)既可以是僅運(yùn)行交易協(xié)議的計(jì)算終端(例如,個(gè)人電腦,智能手機(jī)等具有處理器、存儲器以及輸入輸出裝置的電子設(shè)備),也可以是同時(shí)運(yùn)行區(qū)塊鏈協(xié)議和交易協(xié)議的具有高性能處理器和存儲器的服務(wù)器。而該通信裝置可以是運(yùn)行tcp/ip等網(wǎng)絡(luò)協(xié)議的互聯(lián)網(wǎng)或者局域網(wǎng)通信裝置。其中,也可以包括由多個(gè)區(qū)塊鏈節(jié)點(diǎn)構(gòu)成的區(qū)塊鏈節(jié)點(diǎn)集群,例如為了獲取更多挖礦報(bào)仇的礦場。
具體地,所示區(qū)塊鏈節(jié)點(diǎn)用于響應(yīng)交易發(fā)起者從交易節(jié)點(diǎn)發(fā)送的交易請求,基于交易請求中的交易內(nèi)容計(jì)算確定第一數(shù)量的所述區(qū)塊鏈網(wǎng)絡(luò)的代幣作為交易費(fèi)用,基于交易請求中設(shè)置的交易費(fèi)用支付方式獲取(例如通過上述各實(shí)施例中的一種或者多種方式來獲取)第一數(shù)量的所述區(qū)塊鏈網(wǎng)絡(luò)的代幣,并根據(jù)所述交易內(nèi)容的執(zhí)行情況,在所述區(qū)塊鏈節(jié)點(diǎn)之間分配一部分或者全部交易費(fèi)用對應(yīng)的所述區(qū)塊鏈網(wǎng)絡(luò)的代幣。
在發(fā)明所提供的上述實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng)和方法,可以通過其它的方式實(shí)現(xiàn)。以上所描述的實(shí)施例僅僅是示意性的,例如,所述節(jié)點(diǎn)、模塊、組件、單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,如:多個(gè)單元或組件可以結(jié)合,或可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另外,所顯示或討論的各組成部分相互之間的耦合、或直接耦合、或通信連接可以是通過一些接口,設(shè)備或單元的間接耦合或通信連接,可以是電性的、機(jī)械的或其它形式的。
上述作為分離部件說明的單元、模塊、器件、組件等可以是、或也可以不是物理上分開的,作為單元顯示的部件可以是、或也可以不是物理單元;既可以位于一個(gè)地方,也可以分布到多個(gè)網(wǎng)絡(luò)單元上;可以根據(jù)實(shí)際的需要選擇其中的部分或全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各實(shí)施例中的各單元、模塊、器件、組件等可以全部集成在一個(gè)單元中,也可以是各單元分別單獨(dú)作為一個(gè)單元,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中;上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用硬件加軟件功能單元的形式實(shí)現(xiàn)。
本領(lǐng)域技術(shù)人員可以理解:實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于計(jì)算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟中的一步或者多步,且可以不完全與上述實(shí)施例中的順序相同而進(jìn)行任意組合;而前述的的各種數(shù)據(jù)、文件、以及指令可以采用的存儲介質(zhì)包括:移動存儲設(shè)備、只讀存儲器(readonlymemory,rom)、磁碟或者光盤等各種可以存儲數(shù)據(jù)或程序代碼的介質(zhì)。
以上所述,僅為本發(fā)明具體實(shí)施方式的詳細(xì)說明,而非對本發(fā)明的限制。相關(guān)技術(shù)領(lǐng)域的技術(shù)人員在不脫離本發(fā)明的原則和范圍的情況下,做出的各種替換、變型以及改進(jìn)均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。