本發(fā)明是有關(guān)于一種電子貨幣系統(tǒng),且特別是有關(guān)于一種電子貨幣管理方法及電子貨幣節(jié)點(diǎn)裝置。
背景技術(shù):
近年來(lái),以區(qū)塊鏈技術(shù)為基礎(chǔ)的各種電子貨幣中,例如比特幣(Bitcoin)、萊特幣(Litecoin)等等,已經(jīng)開(kāi)始在互聯(lián)網(wǎng)上流行且被大量使用。電子貨幣的每日交易金額已超過(guò)千萬(wàn)美元,并且在不斷增長(zhǎng)中。目前已有多家著名公司和機(jī)構(gòu)支持使用以比特幣為代表的電子貨幣來(lái)作為交易方式。
目前較廣泛為人所接收的電子貨幣首推比特幣,其為一種完全基于點(diǎn)對(duì)點(diǎn)(Point to Point,簡(jiǎn)稱(chēng)P2P)的電子貨幣系統(tǒng),使得全部支付都可以通過(guò)交易雙方直接進(jìn)行,完全擺脫了經(jīng)由第三方(例如,銀行)進(jìn)行交易的支付模式,從而創(chuàng)造了全新的電子貨幣系統(tǒng)。
然而,在比特幣的區(qū)塊鏈中,產(chǎn)生新的區(qū)塊平均需要十分鐘,且該新生成的區(qū)塊仍需經(jīng)過(guò)比特幣網(wǎng)絡(luò)中的節(jié)點(diǎn)進(jìn)行驗(yàn)證。也就是說(shuō),在比特幣網(wǎng)絡(luò)中,一個(gè)交易發(fā)生之后需要等待很長(zhǎng)的時(shí)間才能夠確認(rèn)此交易的完成。此外,由于比特幣在“區(qū)塊的產(chǎn)生”以及“交易的產(chǎn)生”為兩個(gè)互相獨(dú)立的機(jī)制,因此在無(wú)交易產(chǎn)生的情形下,比特幣的區(qū)塊鏈中仍會(huì)產(chǎn)生新的區(qū)塊,此舉亦會(huì)造成區(qū)塊鏈的冗長(zhǎng)與存儲(chǔ)器空間的浪費(fèi)。再者,比特幣網(wǎng)絡(luò)中的節(jié)點(diǎn)用于計(jì)算并產(chǎn)生此無(wú)交易內(nèi)容的區(qū)塊,無(wú)形中浪費(fèi)了節(jié)點(diǎn)用于執(zhí)行工作量證明機(jī)制的資源。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種電子貨幣管理方法及電子貨幣節(jié)點(diǎn)裝置,能夠即時(shí)對(duì)交易進(jìn)行處理以及減少電子貨幣網(wǎng)絡(luò)中運(yùn)算資源的浪費(fèi)。
本發(fā)明提出一種電子貨幣管理方法,適用于基于區(qū)塊鏈的電子貨幣網(wǎng)絡(luò) 中,本方法包括:判斷是否有交易產(chǎn)生,倘若有該交易產(chǎn)生,執(zhí)行工作量證明機(jī)制。本方法還包括:倘若無(wú)交易產(chǎn)生,不執(zhí)行工作量證明機(jī)制。其中工作量證明機(jī)制包括:獲得前區(qū)塊并計(jì)算此前區(qū)塊的前雜湊值,以及根據(jù)此前雜湊值尋找當(dāng)前區(qū)塊的當(dāng)前驗(yàn)證值,其中此當(dāng)前驗(yàn)證值用于驗(yàn)證當(dāng)前區(qū)塊的有效性。
在本發(fā)明的一實(shí)施例中,上述的電子貨幣管理方法還包括若找出當(dāng)前區(qū)塊的當(dāng)前驗(yàn)證值,發(fā)布此當(dāng)前驗(yàn)證值,其中此當(dāng)前驗(yàn)證值用于驗(yàn)證當(dāng)前區(qū)塊的有效性。
在本發(fā)明的一實(shí)施例中,上述的電子貨幣管理方法還包括不取得對(duì)應(yīng)于找出此當(dāng)前區(qū)塊的當(dāng)前驗(yàn)證值的獎(jiǎng)勵(lì)。
在本發(fā)明的一實(shí)施例中,上述的電子貨幣管理方法還包括接收對(duì)應(yīng)于待確認(rèn)區(qū)塊的待確認(rèn)驗(yàn)證值,根據(jù)此待確認(rèn)驗(yàn)證值驗(yàn)證待確認(rèn)區(qū)塊的有效性。
在本發(fā)明的一實(shí)施例中,上述的電子貨幣管理方法還包括動(dòng)態(tài)地將工作量證明機(jī)制中尋找當(dāng)前驗(yàn)證值的難度從第一難度調(diào)整為第二難度,其中第一難度與第二難度不同。
本發(fā)明提出一種電子貨幣節(jié)點(diǎn)裝置,適用于基于區(qū)塊鏈的電子貨幣網(wǎng)絡(luò)中,此電子貨幣節(jié)點(diǎn)裝置包括交易判斷模塊以及工作量證明模塊。其中交易判斷模塊用以判斷是否有交易產(chǎn)生,倘若有交易產(chǎn)生,工作量證明模塊執(zhí)行一工作量證明機(jī)制;倘若無(wú)交易產(chǎn)生,工作量證明模塊不執(zhí)行工作量證明機(jī)制。其中工作量證明機(jī)制包括:工作量證明模塊獲得前區(qū)塊并計(jì)算此前區(qū)塊的前雜湊值,工作量證明模塊根據(jù)此前雜湊值尋找當(dāng)前區(qū)塊的當(dāng)前驗(yàn)證值,其中此當(dāng)前驗(yàn)證值用于驗(yàn)證當(dāng)前區(qū)塊的有效性。
在本發(fā)明的一實(shí)施例中,上述的電子貨幣節(jié)點(diǎn)裝置還包括發(fā)布模塊,若工作量證明模塊找出當(dāng)前區(qū)塊的當(dāng)前驗(yàn)證值,發(fā)布模塊用以發(fā)布此當(dāng)前驗(yàn)證值。
在本發(fā)明的一實(shí)施例中,上述的電子貨幣節(jié)點(diǎn)裝置還包括電子貨幣節(jié)點(diǎn)裝置不取得對(duì)應(yīng)于找出當(dāng)前區(qū)塊的當(dāng)前驗(yàn)證值的獎(jiǎng)勵(lì)。
在本發(fā)明的一實(shí)施例中,上述的電子貨幣節(jié)點(diǎn)裝置還包括接收模塊以及驗(yàn)證模塊。接收模塊用以接收對(duì)應(yīng)于待確認(rèn)區(qū)塊的待確認(rèn)驗(yàn)證值,驗(yàn)證模塊用以根據(jù)待確認(rèn)驗(yàn)證值驗(yàn)證待確認(rèn)區(qū)塊的有效性。
在本發(fā)明的一實(shí)施例中,上述的電子貨幣節(jié)點(diǎn)裝置還包括難度調(diào)整模塊,難度調(diào)整模塊用以動(dòng)態(tài)地將工作量證明機(jī)制中尋找當(dāng)前驗(yàn)證值的難度從第一難度調(diào)整為第二難度,其中第一難度與第二難度不同。
基于上述,本發(fā)明的電子貨幣管理方法及電子貨幣節(jié)點(diǎn)裝置,可判斷是否有交易產(chǎn)生以及僅在有交易產(chǎn)生時(shí)執(zhí)行工作量證明機(jī)制。藉此,可即時(shí)對(duì)交易進(jìn)行處理以及減少電子貨幣網(wǎng)絡(luò)中運(yùn)算資源的浪費(fèi)。
為讓本發(fā)明的上述特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉實(shí)施例,并配合附圖作詳細(xì)說(shuō)明如下。
附圖說(shuō)明
圖1是根據(jù)一實(shí)施例所繪示的電子貨幣裝置的概要方塊圖;
圖2是根據(jù)一實(shí)施例所繪示的電子貨幣的交易模式的示意圖;
圖3是根據(jù)一實(shí)施例所繪示的區(qū)塊鏈的示意圖;
圖4根據(jù)一實(shí)施例所繪示的電子貨幣管理方法的示意圖;
圖5根據(jù)一實(shí)施例所繪示的電子貨幣管理方法的流程圖。
附圖標(biāo)記說(shuō)明:
100:電子貨幣節(jié)點(diǎn)裝置;
102:網(wǎng)絡(luò)通信接口;
104:處理單元;
106:存儲(chǔ)單元
106a:交易判斷模塊;
106b:工作量證明模塊;
106c:發(fā)布模塊;
106d:接收模塊;
106e:驗(yàn)證模塊;
106f:難度調(diào)整模塊;
200、202、204:交易;
200a:使用者B的公鑰;
200b、202b、204b:雜湊函數(shù);
200c:使用者A的數(shù)字簽章;
200d:使用者B的私鑰;
202a:使用者C的公鑰;
202c:使用者B的數(shù)字簽章;
202d:使用者C的私鑰;
204a:使用者D的公鑰;
204c:使用者C的數(shù)字簽章;
204d:使用者D的私鑰;
300、302:區(qū)塊;
30(0)~30(N)、32(0)~32(N):交易;
30a、32a:前區(qū)塊的雜湊值;
30b:驗(yàn)證值;
32b:當(dāng)前驗(yàn)證值;
400:交易發(fā)送者;
420:交易接收者;
440:多個(gè)使用者;
460:區(qū)塊鏈;
S40、S42、S46:步驟;
S500、S501、S503、S505、S507、S509:步驟。
具體實(shí)施方式
本發(fā)明提出一種電子貨幣管理方法與電子貨幣節(jié)點(diǎn)裝置,其適用于基于區(qū)塊鏈技術(shù)的電子貨幣網(wǎng)絡(luò)中。所述電子貨幣管理方法與電子貨幣節(jié)點(diǎn)裝置可即時(shí)對(duì)新產(chǎn)生的交易進(jìn)行處理并且可減少電子貨幣網(wǎng)絡(luò)中運(yùn)算資源的浪費(fèi)。此外,在某些例子中,所述電子貨幣管理方法與電子貨幣節(jié)點(diǎn)裝置還能夠有效降低區(qū)塊鏈中產(chǎn)生新的區(qū)塊所需的時(shí)間并且可對(duì)于電子貨幣的發(fā)行進(jìn)行更有效的管控。特別是,本發(fā)明所提出的電子貨幣管理方法與電子貨幣節(jié)點(diǎn)裝置并不限于應(yīng)用于某一種已知或未知的電子貨幣。
圖1是根據(jù)一實(shí)施例所繪示的電子貨幣節(jié)點(diǎn)裝置的概要方塊圖。
請(qǐng)參照?qǐng)D1,電子貨幣節(jié)點(diǎn)裝置100包括網(wǎng)絡(luò)通信接口102、處理單元104與存儲(chǔ)單元106。
在本實(shí)施例中,網(wǎng)絡(luò)通信接口102可以例如是支持電機(jī)和電子工程師協(xié)會(huì)(Institute of Electrical and Electronics Engineers,簡(jiǎn)稱(chēng)IEEE)802.11n/b/g等無(wú)線通信標(biāo)準(zhǔn)的無(wú)線收發(fā)單元,其可通過(guò)無(wú)線方式與外部的其他裝置建立網(wǎng)絡(luò)連結(jié)。此外,網(wǎng)絡(luò)通信接口102也可包括通過(guò)第三代移動(dòng)通信(Third Generation Telecommunication,簡(jiǎn)稱(chēng)3G)模塊、長(zhǎng)期演進(jìn)(Long Term Evolution,簡(jiǎn)稱(chēng)LTE)網(wǎng)絡(luò)通信接口、Wi-Fi模塊或藍(lán)牙(Bluetooth)等協(xié)議,通過(guò)無(wú)線的方式與外部的其他裝置建立網(wǎng)絡(luò)連結(jié)。例如,網(wǎng)絡(luò)通信接口102可以具有天線等無(wú)線收發(fā)單元。此外,網(wǎng)絡(luò)通信接口102也可以包括支持有線網(wǎng)絡(luò)連結(jié)的網(wǎng)絡(luò)卡,在此不設(shè)限。
處理單元104電性連接至網(wǎng)絡(luò)通信接口102以及存儲(chǔ)單元106。處理單元104可以包括中央處理器(CPU)、圖形處理器(GPU)、現(xiàn)場(chǎng)可程序化門(mén)陣列(Field-programmable gate array,簡(jiǎn)稱(chēng)FPGA)或是任何具有處理與運(yùn)算能力的芯片。
存儲(chǔ)單元106電性連接至處理單元104。存儲(chǔ)單元106可以包括靜態(tài)隨機(jī)存取存儲(chǔ)器(Static Random Access Memory,簡(jiǎn)稱(chēng)SRAM)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(Dynamic Random Access Memory)、硬盤(pán)(hard drive disk,簡(jiǎn)稱(chēng)HDD)或是任何可用來(lái)存儲(chǔ)電子信號(hào)或數(shù)據(jù)的存儲(chǔ)媒體。
在本實(shí)施例中,存儲(chǔ)單元106存儲(chǔ)有多個(gè)模塊,此些模塊是以程序碼形式存儲(chǔ)于存儲(chǔ)單元106中。處理單元104可以載入此些模塊以完成本發(fā)明所述的電子貨幣管理方法。
在本實(shí)施例中,存儲(chǔ)單元106存儲(chǔ)有交易判斷模塊106a、工作量證明模塊106b、發(fā)布模塊106c、接收模塊106d、驗(yàn)證模塊106e以及難度調(diào)整模塊106f。此外,存儲(chǔ)單元106還可以存儲(chǔ)有與電子貨幣網(wǎng)絡(luò)中過(guò)去的交易有關(guān)的區(qū)塊鏈等信息。
交易判斷模塊106a用于判斷在所述基于區(qū)塊鏈技術(shù)的電子貨幣網(wǎng)絡(luò)中,是否有一交易產(chǎn)生。具體來(lái)說(shuō),交易判斷模塊106a可根據(jù)通過(guò)網(wǎng)絡(luò)通信接口102從電子貨幣網(wǎng)絡(luò)中所接收的信息進(jìn)行判斷是否有一交易的產(chǎn)生。
工作量證明模塊106b用于根據(jù)交易判斷模塊106a的判斷結(jié)果,決定是否執(zhí)行工作量證明機(jī)制。具體來(lái)說(shuō),倘若交易判斷模塊106a判斷電子貨幣網(wǎng)絡(luò)中有一交易產(chǎn)生,工作量證明模塊106b會(huì)執(zhí)行一工作量證明機(jī)制。倘若交 易判斷模塊106a判斷電子貨幣網(wǎng)絡(luò)中沒(méi)有交易產(chǎn)生,工作量證明模塊106b不執(zhí)行工作量證明機(jī)制。例如,若工作量證明模塊106b不執(zhí)行工作量證明機(jī)制,則工作量證明模塊106b可能會(huì)處于閑置狀態(tài)。在工作量證明機(jī)制中,工作量證明模塊106b會(huì)獲得至少一前區(qū)塊并計(jì)算前區(qū)塊的前雜湊值并且根據(jù)此前雜湊值尋找一當(dāng)前區(qū)塊的一當(dāng)前驗(yàn)證值。其中,此當(dāng)前驗(yàn)證值是用于驗(yàn)證當(dāng)前區(qū)塊的有效性。
發(fā)布模塊106c用于當(dāng)工作量證明模塊106b找出當(dāng)前區(qū)塊的當(dāng)前驗(yàn)證值時(shí),發(fā)布此當(dāng)前驗(yàn)證值,以讓電子貨幣網(wǎng)絡(luò)中的其他電子貨幣節(jié)點(diǎn)裝置知道此驗(yàn)證值的產(chǎn)生。
接收模塊106d用于接收對(duì)應(yīng)于一待確認(rèn)區(qū)塊的一待確認(rèn)驗(yàn)證值。具體來(lái)說(shuō),倘若電子貨幣節(jié)點(diǎn)裝置100通過(guò)網(wǎng)絡(luò)通信接口102接收到待確認(rèn)區(qū)塊以及待確認(rèn)驗(yàn)證值,代表其所屬的電子貨幣網(wǎng)絡(luò)中,已有其他的電子貨幣節(jié)點(diǎn)裝置早在電子貨幣節(jié)點(diǎn)裝置100之前產(chǎn)生用于驗(yàn)證新產(chǎn)生的區(qū)塊的驗(yàn)證值。
驗(yàn)證模塊106e用于根據(jù)待確認(rèn)驗(yàn)證值驗(yàn)證待確認(rèn)區(qū)塊的有效性。具體來(lái)說(shuō),倘若接收模塊106d接收到待確認(rèn)區(qū)塊以及待確認(rèn)驗(yàn)證值,驗(yàn)證模塊106e會(huì)根據(jù)此待確認(rèn)驗(yàn)證值來(lái)驗(yàn)證此待確認(rèn)區(qū)塊的有效性。
難度調(diào)整模塊106f用于動(dòng)態(tài)地將工作量證明機(jī)制中尋找當(dāng)前驗(yàn)證值的難度從第一難度調(diào)整為第二難度,其中第一難度與第二難度不同。
以下將以圖2搭配圖3來(lái)說(shuō)明交易判斷模塊106a、工作量證明模塊106b、發(fā)布模塊106c、接收模塊106d、驗(yàn)證模塊106e以及難度調(diào)整模塊106f各別的運(yùn)作機(jī)制。
圖2是根據(jù)一實(shí)施例所繪示的電子貨幣的交易模式的示意圖。
請(qǐng)參照?qǐng)D2,假設(shè)使用者B想支付一特定數(shù)量的電子貨幣給使用者C(亦即,圖2中的交易202),則交易202中會(huì)包含欲交易的金額以及此金額的來(lái)源。在圖2中,使用者B欲支付給使用者C的該筆金額是繼承于交易200,且根據(jù)交易200中使用者A的數(shù)字簽章200c,可知使用者B擁有的該筆金額來(lái)自于使用者A。接著,將交易200的內(nèi)容和使用者C的公鑰202a輸入一雜湊函數(shù)202b,以得到一串?dāng)?shù)字。最后,使用者B利用使用者B的私鑰200d對(duì)這一串?dāng)?shù)字進(jìn)行簽章,作為使用者B的數(shù)字簽章202c存放在交易202中。
當(dāng)使用者C接收到交易202后,可以通過(guò)存放在交易202中交易200的 ID找到交易200。接著,使用者C即可根據(jù)使用者B的公鑰200a對(duì)交易202中的使用者B的數(shù)字簽章202c進(jìn)行解密。在此同時(shí),使用者C將使用者C的公鑰202a和交易200的內(nèi)容輸入雜湊函數(shù)202b中以產(chǎn)生一字串,并將此字串與所述數(shù)字簽章202c解密的結(jié)果進(jìn)行比對(duì)。
倘若比對(duì)的結(jié)果為兩者相同,則可證明使用者B的金錢(qián)來(lái)源屬實(shí)。具體來(lái)說(shuō),由于交易200中包含了使用者A的數(shù)字簽章,而且交易200為經(jīng)由電子貨幣網(wǎng)絡(luò)中多數(shù)用戶(hù)的認(rèn)證,因此可證明使用者B的金錢(qián)來(lái)源屬實(shí)。此外,由于使用者B的私鑰是唯一的,因此可以確認(rèn)此筆交易為使用者B所發(fā)送。
簡(jiǎn)單來(lái)說(shuō),交易的發(fā)送者的私鑰(例如,使用者B的私鑰200d)為用于對(duì)交易的內(nèi)容進(jìn)行簽名以產(chǎn)生數(shù)字簽章,以注明其來(lái)源來(lái)自使用者B。交易發(fā)送者的公鑰(例如,使用者B的公鑰200a)為用于交易接收者對(duì)于數(shù)字簽章的認(rèn)證,以驗(yàn)證該來(lái)源與內(nèi)容是否正確。此外,所述交易接收者的公鑰(例如,使用者C的公鑰202a)為交易接收者的收款地址。
當(dāng)交易202通過(guò)電子貨幣網(wǎng)絡(luò)中所有使用者的驗(yàn)證時(shí),使用者C可以根據(jù)上述方式取得交易202的內(nèi)容,并根據(jù)交易202的內(nèi)容,再向使用者D提出交易204。例如,交易204包含利用使用者D的公鑰204a、雜湊函數(shù)204b及使用者C的私鑰204c來(lái)產(chǎn)生使用者C的數(shù)字簽章,而使用者D的私鑰204d則可以用來(lái)對(duì)相對(duì)應(yīng)的下一筆交易進(jìn)行來(lái)源驗(yàn)證等等。
值得一提的是,在基于區(qū)塊鏈的電子貨幣的架構(gòu)下,每筆交易記錄了資金的前一個(gè)、當(dāng)前、以及后一個(gè)的資金擁有者,因此整個(gè)可以電子貨幣網(wǎng)絡(luò)可以根據(jù)交易記錄而實(shí)現(xiàn)金錢(qián)的追朔。此外,當(dāng)每一筆交易被建立時(shí),建立交易的使用者會(huì)向電子貨幣網(wǎng)絡(luò)中至少一個(gè)用于處理交易的節(jié)點(diǎn)(例如,電子貨幣節(jié)點(diǎn)裝置100)廣播此交易的存在,而每個(gè)節(jié)點(diǎn)可根據(jù)此廣播所接收到的交易產(chǎn)生一區(qū)塊(此些區(qū)塊的其中之一尚未被加入?yún)^(qū)塊鏈中)并對(duì)此區(qū)塊執(zhí)行執(zhí)行一工作量證明機(jī)制。其中,電子貨幣網(wǎng)絡(luò)中第一個(gè)通過(guò)工作量證明機(jī)制計(jì)算出一當(dāng)前驗(yàn)證值的節(jié)點(diǎn)會(huì)將此區(qū)塊連同此當(dāng)前驗(yàn)證值加入?yún)^(qū)塊鏈中。
具體來(lái)說(shuō),當(dāng)檢測(cè)到交易產(chǎn)生時(shí),由于每個(gè)節(jié)點(diǎn)皆保存有具有先前交易的區(qū)塊鏈(每個(gè)節(jié)點(diǎn)擁有的區(qū)塊鏈內(nèi)容皆相同),因此每個(gè)節(jié)點(diǎn)會(huì)根據(jù)區(qū)塊鏈中的最后一個(gè)區(qū)塊(亦即,前區(qū)塊)的內(nèi)容為輸入,來(lái)產(chǎn)生一個(gè)雜湊值。接著,每個(gè)節(jié)點(diǎn)會(huì)驗(yàn)證所有從電子貨幣網(wǎng)絡(luò)中所接收的新的交易,并把沒(méi)有被列入的 前區(qū)塊的交易進(jìn)行組合,以產(chǎn)生新的區(qū)塊(亦即,當(dāng)前區(qū)塊)。之后,電子貨幣網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)會(huì)通過(guò)試誤法(Trial and Error),嘗試尋找出一隨機(jī)數(shù)(亦即,當(dāng)前驗(yàn)證值)。在本實(shí)施例中,是將前區(qū)塊的內(nèi)容所產(chǎn)生的雜湊值、所述包含多筆交易的新的區(qū)塊以及該隨機(jī)數(shù),輸入一雜湊函數(shù)(例如,SHA256雜湊函數(shù))中以計(jì)算出一序列,并判斷此序列的前N位數(shù)值是否為0。例如,N為10。
值的一提的是,通過(guò)動(dòng)態(tài)地調(diào)整N的數(shù)值,可以動(dòng)態(tài)地將工作量證明機(jī)制中尋找該當(dāng)前驗(yàn)證值的一難度從第一難度調(diào)整為第二難度,其中第一難度與第二難度不同。具體來(lái)說(shuō),當(dāng)N的數(shù)值越小時(shí),尋找當(dāng)前驗(yàn)證值的難度會(huì)越簡(jiǎn)單,而當(dāng)N的數(shù)值越大時(shí),尋找當(dāng)前驗(yàn)證值的難度會(huì)越困難。
由于電子貨幣網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)的計(jì)算能力不同,故當(dāng)有一個(gè)節(jié)點(diǎn)找出該當(dāng)前驗(yàn)證值且該當(dāng)前驗(yàn)證值滿(mǎn)足上述經(jīng)由輸入雜湊函數(shù)而產(chǎn)生一前N位為0的序列時(shí),該第一個(gè)找出當(dāng)前驗(yàn)證值的節(jié)點(diǎn)會(huì)發(fā)布當(dāng)前區(qū)塊與當(dāng)前驗(yàn)證值,其中當(dāng)前區(qū)塊包括上述當(dāng)前驗(yàn)證值、前區(qū)塊的雜湊值以及該些新的交易。
接著,電子貨幣網(wǎng)絡(luò)中至少部分的節(jié)點(diǎn)皆會(huì)對(duì)此區(qū)塊鏈中此新的區(qū)塊來(lái)進(jìn)行驗(yàn)證。具體來(lái)說(shuō),當(dāng)其他節(jié)點(diǎn)接收到某一區(qū)塊以及對(duì)應(yīng)于此區(qū)塊的驗(yàn)證值時(shí),會(huì)根據(jù)此區(qū)塊以及此驗(yàn)證值進(jìn)行驗(yàn)證。倘若驗(yàn)證結(jié)果無(wú)誤,則電子貨幣網(wǎng)絡(luò)中的節(jié)點(diǎn)會(huì)接受此一新產(chǎn)生的區(qū)塊。并將其連同先前的區(qū)塊鏈一起保存,否則將其丟棄。
圖3是根據(jù)一實(shí)施例所繪示的區(qū)塊鏈的示意圖。
請(qǐng)參照?qǐng)D3,假設(shè)區(qū)塊302為電子貨幣網(wǎng)絡(luò)中通過(guò)上述工作量證明機(jī)制所產(chǎn)生的新的區(qū)塊,且區(qū)塊302尚未通過(guò)電子貨幣網(wǎng)絡(luò)中其他節(jié)點(diǎn)的認(rèn)證。當(dāng)區(qū)塊302產(chǎn)生時(shí),產(chǎn)生區(qū)塊302的節(jié)點(diǎn)會(huì)發(fā)布關(guān)于區(qū)塊302的信息,其中該區(qū)塊302中包括前區(qū)塊300的雜湊值32a(亦稱(chēng)為前雜湊值)、當(dāng)前驗(yàn)證值32b以及交易32(0)~32(N)。電子貨幣網(wǎng)絡(luò)中的其他節(jié)點(diǎn)接收到此待確認(rèn)區(qū)塊(即,區(qū)塊302)及待確認(rèn)的驗(yàn)證值(即,當(dāng)前驗(yàn)證值32b)時(shí),電子貨幣網(wǎng)絡(luò)中的其他節(jié)點(diǎn)會(huì)根據(jù)此待確認(rèn)的驗(yàn)證值驗(yàn)證此待確認(rèn)區(qū)塊。具體來(lái)說(shuō),電子貨幣網(wǎng)絡(luò)中的其他節(jié)點(diǎn)會(huì)將區(qū)塊302中,當(dāng)前區(qū)塊的雜湊值32a、當(dāng)前驗(yàn)證值32b以及交易32(0)~32(N)輸入一雜湊函數(shù)(例如,SHA256雜湊函數(shù))中,以計(jì)算出一序列,并判斷此序列是否符合前N位數(shù)值為0的規(guī)則。倘若符合,則電子貨幣網(wǎng)絡(luò)中的節(jié)點(diǎn)會(huì)接受此一新產(chǎn)生的區(qū)塊。并將其連同前區(qū)塊300的區(qū)塊鏈 一起保存,否則將其丟棄。
值得一提的是,由于區(qū)塊中存有使用者間的交易記錄,且區(qū)塊鏈中的每個(gè)區(qū)塊彼此為前后連接,因此可以通過(guò)區(qū)塊間彼此的連接關(guān)系,找出電子貨幣網(wǎng)絡(luò)創(chuàng)建以來(lái)的所有交易記錄。例如,區(qū)塊302連接前區(qū)塊300,而區(qū)塊300亦有其對(duì)應(yīng)連接的前區(qū)塊(未繪示),區(qū)塊300中還包括其他先前交易30(0)~30(N),因此使用者可以通過(guò)區(qū)塊鏈中的區(qū)塊來(lái)查詢(xún)交易記錄。
在本實(shí)施例中,工作量證明模塊106b只在有交易產(chǎn)生時(shí),才會(huì)執(zhí)行上述圖3的新區(qū)塊的產(chǎn)生過(guò)程,因此,可以有效降低無(wú)交易數(shù)據(jù)的區(qū)塊的產(chǎn)生,以降低每個(gè)節(jié)點(diǎn)用于存儲(chǔ)區(qū)塊鏈的存儲(chǔ)空間,并且在區(qū)塊中對(duì)于交易的追朔更為容易。且在無(wú)交易產(chǎn)生的一段時(shí)間中,節(jié)點(diǎn)可以擁有一段閑置時(shí)間去執(zhí)行其他的事務(wù)。
在本實(shí)施例中,工作量證明機(jī)制中尋找當(dāng)前驗(yàn)證值的難度會(huì)被調(diào)低,故當(dāng)有交易產(chǎn)生時(shí)可以加速新區(qū)塊的產(chǎn)生,并有效降低處理交易的時(shí)間。例如,難度調(diào)整模塊106f會(huì)將工作量證明機(jī)制中尋找當(dāng)前驗(yàn)證值的難度從第一難度調(diào)整為第二難度,其中第一難度會(huì)小于第二難度。例如,若傳統(tǒng)的比特幣計(jì)算一個(gè)新區(qū)塊的驗(yàn)證值需要10分鐘,則在將工作量證明機(jī)制中尋找當(dāng)前驗(yàn)證值的難度從第一難度調(diào)整為第二難度之后,工作量證明模塊106b可在約15秒內(nèi)就計(jì)算出當(dāng)前區(qū)塊的當(dāng)前驗(yàn)證值。
值得一提的是,在一實(shí)施例中,當(dāng)?shù)谝粋€(gè)節(jié)點(diǎn)發(fā)布的當(dāng)前區(qū)塊與當(dāng)前驗(yàn)證值通過(guò)電子貨幣網(wǎng)絡(luò)中的其他節(jié)點(diǎn)的驗(yàn)證時(shí),此節(jié)點(diǎn)并不會(huì)獲得一筆額外的獎(jiǎng)勵(lì)。因此,相對(duì)于比特幣的獎(jiǎng)勵(lì)制度,本發(fā)明的電子貨幣網(wǎng)絡(luò)中的節(jié)點(diǎn)并不會(huì)在沒(méi)有接收到交易時(shí)進(jìn)行無(wú)謂的運(yùn)算,從而可節(jié)省整個(gè)電子貨幣網(wǎng)絡(luò)的運(yùn)算資源并可對(duì)于電子貨幣的發(fā)行進(jìn)行更有效的管控。
此外,由于本發(fā)明計(jì)算當(dāng)前區(qū)塊與當(dāng)前驗(yàn)證值的時(shí)間較短,且一個(gè)電子貨幣網(wǎng)絡(luò)的草創(chuàng)時(shí)期的交易量通常是較少的,因此通過(guò)條件式地執(zhí)行工作量證明機(jī)制并調(diào)低工作量證明機(jī)制的難度,可以降低無(wú)交易數(shù)據(jù)的區(qū)塊的產(chǎn)生并可節(jié)省用于存儲(chǔ)區(qū)塊鏈的存儲(chǔ)空間。
圖4根據(jù)一實(shí)施例所繪示的電子貨幣管理方法的示意圖。
請(qǐng)參照?qǐng)D4,假設(shè)交易發(fā)送者400欲發(fā)送一筆交易給交易接收者420,則需通過(guò)電子貨幣網(wǎng)絡(luò)中的多個(gè)使用者440的其中之一產(chǎn)生區(qū)塊鏈460中新的 區(qū)塊,以確認(rèn)此交易的有效性。具體來(lái)說(shuō),當(dāng)交易產(chǎn)生時(shí),在步驟S40中,交易發(fā)送者400會(huì)先確認(rèn)此交易的格式是否正確,也就是確認(rèn)該交易是否具有該交易須填寫(xiě)的數(shù)據(jù)。倘若交易的格式正確,則此交易會(huì)被交易發(fā)送者400廣播至電子貨幣網(wǎng)絡(luò)中的多個(gè)使用者400接收。在步驟S42中,電子貨幣網(wǎng)絡(luò)中的多個(gè)使用者440會(huì)接收步驟S40所發(fā)送的交易。接著,在步驟S42中,電子貨幣網(wǎng)絡(luò)中的多個(gè)使用者440會(huì)驗(yàn)證所接收的交易的格式,以及確保此交易記錄合法,上述合法以及符合交易格式的交易信息會(huì)被加入一區(qū)塊中并通過(guò)一工作量證明機(jī)制來(lái)產(chǎn)生一驗(yàn)證值。接著在步驟S46中,電子貨幣網(wǎng)絡(luò)中的多個(gè)使用者440的其中之一會(huì)在區(qū)塊鏈460中產(chǎn)生新的區(qū)塊,而電子貨幣網(wǎng)絡(luò)中的其他使用者可以對(duì)此區(qū)塊進(jìn)行驗(yàn)證。倘若此區(qū)塊驗(yàn)證結(jié)果正確,則代表此新產(chǎn)生的區(qū)塊中的交易內(nèi)容為真,倘若此區(qū)塊的驗(yàn)證結(jié)果有誤,則會(huì)舍棄此新產(chǎn)生的區(qū)塊。通過(guò)上述區(qū)塊的產(chǎn)生方式,結(jié)合本發(fā)明的調(diào)低工作量證明機(jī)制的難度,可以有效降低新的區(qū)塊產(chǎn)生的時(shí)間。
值得一提的是,上述各個(gè)實(shí)施例中提及的電子貨幣網(wǎng)絡(luò)中的每一個(gè)節(jié)點(diǎn)或使用者都可以視為是一個(gè)電子貨幣節(jié)點(diǎn)裝置100。
圖5根據(jù)一實(shí)施例所繪示的電子貨幣管理方法的流程圖。
請(qǐng)參照?qǐng)D5,在步驟S500中,通過(guò)載入存儲(chǔ)于存儲(chǔ)單元中的多個(gè)模塊以執(zhí)行本發(fā)明所述的電子貨幣管理方法。在步驟S501中,判斷電子貨幣網(wǎng)絡(luò)中是否有一交易產(chǎn)生。倘若電子貨幣網(wǎng)絡(luò)中有交易產(chǎn)生,則在步驟S503中執(zhí)行工作量證明機(jī)制。在步驟S505中,獲得前區(qū)塊并計(jì)算前區(qū)塊的雜湊值。之后,在步驟S507中,根據(jù)此前區(qū)塊的雜湊值尋找當(dāng)前區(qū)塊的當(dāng)前驗(yàn)證值,其中此當(dāng)前驗(yàn)證值用于驗(yàn)證當(dāng)前區(qū)塊的有效性。接著返回步驟S501。在步驟S501中,倘若電子貨幣網(wǎng)絡(luò)中沒(méi)有交易產(chǎn)生,則不執(zhí)行步驟S503。
值得一提的是,在上述實(shí)施例中,交易判斷模塊106a、工作量證明模塊106b、發(fā)布模塊106c、接收模塊106d、驗(yàn)證模塊106e以及難度調(diào)整模塊106f是通過(guò)軟件的方式來(lái)實(shí)作。然而,在另一實(shí)施例中,交易判斷模塊106a、工作量證明模塊106b、發(fā)布模塊106c、接收模塊106d、驗(yàn)證模塊106e以及難度調(diào)整模塊106f亦可以通過(guò)硬件電路的型式來(lái)實(shí)施并且配置于電子貨幣節(jié)點(diǎn)裝置100中,在此并不設(shè)限。
此外,圖4與圖5中各步驟也可以是以軟件或硬件形式來(lái)實(shí)施。圖4與 圖5的方法也可以搭配上述各實(shí)施例來(lái)實(shí)施或單獨(dú)實(shí)施,本發(fā)明不加以限制。
綜上所述,本發(fā)明通過(guò)調(diào)低工作量證明機(jī)制的難度,可以達(dá)成快速交易的目標(biāo)。此外,通過(guò)條件式的進(jìn)行工作量證明機(jī)制,以降低電子貨幣網(wǎng)絡(luò)中使用者裝置資源的浪費(fèi),并有效減少區(qū)塊鏈中無(wú)交易數(shù)據(jù)區(qū)塊的產(chǎn)生。
最后應(yīng)說(shuō)明的是:以上各實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。