本發(fā)明涉及信息技術(shù)領(lǐng)域,具體涉及一種基于區(qū)塊鏈系統(tǒng)的網(wǎng)絡(luò)交易方法及裝置。
背景技術(shù):
區(qū)塊鏈技術(shù)是利用塊鏈式數(shù)據(jù)結(jié)構(gòu)來驗證與存儲數(shù)據(jù)、利用分布式節(jié)點共識算法來生成和更新數(shù)據(jù)、利用密碼學的方式保證數(shù)據(jù)傳輸和訪問的安全、利用由自動化腳本代碼組成的智能合約來編程和操作數(shù)據(jù)的一種全新的分布式基礎(chǔ)架構(gòu)與計算范式。區(qū)塊鏈技術(shù)本身具有很多優(yōu)勢:一方面,由于區(qū)塊鏈網(wǎng)絡(luò)能夠通過算法實現(xiàn)自我約束,任何惡意欺騙系統(tǒng)的行為都會遭到網(wǎng)絡(luò)中其他節(jié)點的排斥和抑制,因此,區(qū)塊鏈系統(tǒng)無需依賴中央權(quán)威機構(gòu)支撐和信用背書即可實現(xiàn)安全的網(wǎng)絡(luò)交易。另一方面,由于區(qū)塊鏈采取單向哈希算法,同時每個新產(chǎn)生的區(qū)塊嚴格按照時間線形順序推進,時間的不可逆性導致任何試圖入侵篡改區(qū)塊鏈內(nèi)數(shù)據(jù)信息的行為都很容易被追溯,導致被其他節(jié)點的排斥,從而可以限制相關(guān)不法行為。因此,區(qū)塊鏈技術(shù)在金融、銀行等各大領(lǐng)域得到了日益廣泛的應(yīng)用。
在傳統(tǒng)的基于區(qū)塊鏈系統(tǒng)的網(wǎng)絡(luò)交易方法中,每一筆網(wǎng)絡(luò)交易均需要通過系統(tǒng)中所有區(qū)塊鏈節(jié)點的共識操作才能生效,且該筆交易需記錄在由所有區(qū)塊鏈節(jié)點共同維護的系統(tǒng)大賬本上。但是,發(fā)明人在實現(xiàn)本發(fā)明的過程中發(fā)現(xiàn),現(xiàn)有技術(shù)中至少存在如下問題:
首先,由于每一個區(qū)塊鏈節(jié)點都需要參與所有網(wǎng)絡(luò)交易的共識操作,導致各區(qū)塊鏈節(jié)點的系統(tǒng)開銷較大;而且,每一筆網(wǎng)絡(luò)交易都需要經(jīng)過所有區(qū)塊鏈節(jié)點的共識,導致每一筆網(wǎng)絡(luò)交易的效率較低;并且,由于每一筆交易的共識操作都需要由所有區(qū)塊鏈節(jié)點共同參與,從而導致多筆網(wǎng)絡(luò)交易無法并發(fā)執(zhí)行,降低了交易效率。
其次,由于發(fā)生在任意兩個區(qū)塊鏈節(jié)點之間的網(wǎng)絡(luò)交易都需要由所有區(qū)塊鏈節(jié)點共同記賬,即:將該筆網(wǎng)絡(luò)交易對應(yīng)的交易賬目記錄在由所有區(qū)塊鏈節(jié)點共同維護的一個大賬本上,因此,導致大賬本的數(shù)據(jù)量較大,而該大賬本需由每一個區(qū)塊鏈節(jié)點共同維護,進而導致存儲開銷較大,且記賬和查賬效率低下。
由此可見,由于傳統(tǒng)的網(wǎng)絡(luò)交易方法中的共識操作和記賬操作需由系統(tǒng)中的每一個區(qū)塊鏈節(jié)點共同執(zhí)行,因此導致多筆交易過程無法并發(fā)執(zhí)行且執(zhí)行效率低下。
技術(shù)實現(xiàn)要素:
鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的一種基于區(qū)塊鏈系統(tǒng)的網(wǎng)絡(luò)交易方法及裝置。
根據(jù)本發(fā)明的一個方面,提供了一種基于區(qū)塊鏈系統(tǒng)的網(wǎng)絡(luò)交易方法,其中,所述區(qū)塊鏈系統(tǒng)包括多個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,且所述多個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點至少包括:作為所述網(wǎng)絡(luò)交易中的第一交易方的第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,以及作為所述網(wǎng)絡(luò)交易中的第二交易方的第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,所述方法包括:所述第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點針對所述網(wǎng)絡(luò)交易生成對應(yīng)的交易信息;將所述交易信息發(fā)送給作為所述網(wǎng)絡(luò)交易中的第二交易方的第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點;所述第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和所述第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點采用共識算法對所述交易信息達成一致;所述第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和所述第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點對達成一致的交易信息對應(yīng)的網(wǎng)絡(luò)交易同步記賬。
依據(jù)本發(fā)明的另一方面,提供了一種基于區(qū)塊鏈系統(tǒng)的網(wǎng)絡(luò)交易裝置,其中,所述區(qū)塊鏈系統(tǒng)包括多個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,且所述多個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點至少包括:作為所述網(wǎng)絡(luò)交易中的第一交易方的第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,以及作為所述網(wǎng)絡(luò)交易中的第二交易方的第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,所述裝置設(shè)置在所述第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中,且所述裝置包括:交易信息生成模塊,用于針對所述網(wǎng)絡(luò)交易生成對應(yīng)的交易信息;發(fā)送模塊,用于將所述交易信息發(fā)送給作為所述網(wǎng)絡(luò)交易中的第二交易方的第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點;共識模塊,用于和所述第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點采用共識算法對所述交易信息達成一致;記賬模塊,用于和所述第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點對達成一致的交易信息對應(yīng)的網(wǎng)絡(luò)交易同步記賬。
綜上所述,根據(jù)本發(fā)明提供的基于區(qū)塊鏈系統(tǒng)的網(wǎng)絡(luò)交易方法及裝置,將所有的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點劃分為多個層級,且每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點都可以獨立地進行共識操作和記賬操作,無需依賴其他區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的參與,從而提升了共識操作和記賬操作的效率。另外,由于每一筆網(wǎng)絡(luò)交易僅由與該筆網(wǎng)絡(luò)交易相關(guān)的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點進行共識和記賬,因此,不僅提升了每一筆網(wǎng)絡(luò)交易的效率,還能夠使多筆涉及不同區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的交易并發(fā)執(zhí)行。
上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式。
附圖說明
通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
圖1示出了區(qū)塊鏈系統(tǒng)的整體架構(gòu)圖;
圖2a示出了本發(fā)明實施例二涉及的一種具體形式的區(qū)塊鏈系統(tǒng)中的區(qū)塊鏈核心層的結(jié)構(gòu)示意圖;
圖2b示出了本發(fā)明實施例二涉及的一種具體形式的區(qū)塊鏈系統(tǒng)中的區(qū)塊鏈核心層以及消息網(wǎng)絡(luò)節(jié)點的結(jié)構(gòu)示意圖;
圖3a示出了一筆鏈內(nèi)交易的交易雙方的示意圖;
圖3b示出了一筆同層級跨鏈交易的交易雙方的示意圖;
圖3c示出了一筆跨層級跨鏈交易的交易雙方的示意圖。
圖4示出了一個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點內(nèi)部包含的各個子節(jié)點的示意圖;
圖5示出了兩類賬戶之間的匯總交易的示意圖;
圖6示出了本發(fā)明實施例二提供的一種基于上述的區(qū)塊鏈系統(tǒng)實現(xiàn)的網(wǎng)絡(luò)交易方法的流程圖;
圖7示出了本發(fā)明實施例三提供的一種基于上述的區(qū)塊鏈系統(tǒng)實現(xiàn)的網(wǎng)絡(luò)交易裝置的結(jié)構(gòu)圖。
具體實施方式
下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達給本領(lǐng)域的技術(shù)人員。
實施例一
本發(fā)明實施例一提供了一種基于區(qū)塊鏈系統(tǒng)的網(wǎng)絡(luò)交易方法,其中,該區(qū)塊鏈系統(tǒng)包括多個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,且多個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點至少包括:作為網(wǎng)絡(luò)交易中的第一交易方的第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,以及作為網(wǎng)絡(luò)交易中的第二交易方的第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點。其中,本發(fā)明對于各個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點之間的層級劃分方式不做限定,任何包括多個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的系統(tǒng)架構(gòu)均可應(yīng)用于本發(fā)明。另外,本發(fā)明中的每一筆網(wǎng)絡(luò)交易至少包括第一交易方和第二交易方,其中,通常情況下,第一交易方為資金轉(zhuǎn)出方,第二交易方為資金轉(zhuǎn)入方;當然,也可以由第一交易方作為資金轉(zhuǎn)入方,由第二交易方作為資金轉(zhuǎn)出方,本發(fā)明對此不做限定。另外,通常情況下,一筆交易中包含的第一交易方和第二交易方的數(shù)量分別為一個,但是,在特殊情況下,例如對于涉及多方交易的連環(huán)交易而言,第一交易方和/或第二交易方的數(shù)量也可以為多個。另外,本發(fā)明中的第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點通常為不同的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,且第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點既可以屬于相同的層級,也可以屬于不同的層級。
本發(fā)明實施例一提供的基于區(qū)塊鏈系統(tǒng)的網(wǎng)絡(luò)交易方法包括:所述第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點針對所述網(wǎng)絡(luò)交易生成對應(yīng)的交易信息;將所述交易信息發(fā)送給作為所述網(wǎng)絡(luò)交易中的第二交易方的第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點;所述第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和所述第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點采用共識算法對所述交易信息達成一致;所述第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和所述第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點對達成一致的交易信息對應(yīng)的網(wǎng)絡(luò)交易同步記賬。
由于每一筆網(wǎng)絡(luò)交易僅由與該筆網(wǎng)絡(luò)交易相關(guān)的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點進行共識和記賬,因此,不僅提升了每一筆網(wǎng)絡(luò)交易的效率,還能夠使多筆涉及不同區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的交易并發(fā)執(zhí)行。
實施例二
本發(fā)明實施例二提供了一種具體的基于區(qū)塊鏈系統(tǒng)的網(wǎng)絡(luò)交易方法。為了便于理解,下面首先對本發(fā)明實施例二中所涉及的區(qū)塊鏈系統(tǒng)進行介紹:
圖1示出了區(qū)塊鏈系統(tǒng)的整體架構(gòu)圖。如圖1所示,區(qū)塊鏈系統(tǒng)從上至下依次包括:用戶、交易客戶端、區(qū)塊鏈服務(wù)層、區(qū)塊鏈核心層、以及消息網(wǎng)絡(luò)節(jié)點。其中,用戶主要是指需要進行交易的普通用戶;交易客戶端主要指各類支付平臺提供的用于支付的客戶端;區(qū)塊鏈服務(wù)層用于提供訪問區(qū)塊鏈核心層的接口,以便于用戶訪問;區(qū)塊鏈核心層包括具有層級關(guān)系的一組區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,用于實現(xiàn)本發(fā)明中的核心功能;消息網(wǎng)絡(luò)節(jié)點用于連接區(qū)塊鏈核心層中的各個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,以便于各個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點之間的相互通信。其中,本發(fā)明主要針對區(qū)塊鏈核心層進行了改進。另外,消息網(wǎng)絡(luò)節(jié)點是可選的,在本發(fā)明其他的實施例所涉及的區(qū)塊鏈系統(tǒng)中,也可以省略消息網(wǎng)絡(luò)節(jié)點,由各個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點之間直接通信。
圖2a示出了本發(fā)明實施例二涉及的一種具體形式的區(qū)塊鏈系統(tǒng)中的區(qū)塊鏈核心層的結(jié)構(gòu)示意圖,圖2b示出了本發(fā)明實施例二涉及的一種具體形式的區(qū)塊鏈系統(tǒng)中的區(qū)塊鏈核心層以及消息網(wǎng)絡(luò)節(jié)點的結(jié)構(gòu)示意圖。應(yīng)該理解的是,本發(fā)明既可以采用圖2b所示的存在消息網(wǎng)絡(luò)節(jié)點的系統(tǒng)架構(gòu)實現(xiàn),也可以采用圖2a所示的沒有消息網(wǎng)絡(luò)節(jié)點的系統(tǒng)架構(gòu)實現(xiàn)。在后續(xù)的實施例中,均是以圖2b所示的系統(tǒng)架構(gòu)為例進行說明的,在圖3a-圖3b以及圖5中,省略了消息網(wǎng)絡(luò)節(jié)點,但實際上圖3a-圖3b以及圖5中也是存在消息網(wǎng)絡(luò)節(jié)點的。
如圖2所示,該區(qū)塊鏈系統(tǒng)包括多個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,其中,該多個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點包括以下中的至少兩項:第一層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點、隸屬于第一層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的第二層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點、隸屬于第二層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點、......直至隸屬于第n-1層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的第n層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點;其中,n為大于三的自然數(shù)。其中,該多個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點包括以下中的至少兩項的含義是指:該多個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點至少包括文中提到的各個層級中的兩個層級。例如,可以僅包括第一層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點、以及隸屬于第一層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的第二層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點。
本發(fā)明對區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的層級數(shù)量以及各個層級中包含的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的數(shù)量均不限定。例如,該多個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點具體包括:至少一個第一層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點、多個分別隸屬于各個第一層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的第二層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點、多個分別隸屬于各個第二層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點、......直至多個分別隸屬于各個第n-1層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的第n層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點;其中,n為大于三的自然數(shù)。
例如,在一個具體示例中,該多個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點具體包括:一個第一層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點0,三個分別隸屬于第一層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點0的第二層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點00、01和02,另外,還包括三個分別隸屬于第二層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點00的第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點000、001和002,以及兩個分別隸屬于第二層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點01的第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點010、和011,以及三個分別隸屬于第二層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點02的第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點020、021和022。其中,圖2所示的多個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的層級劃分方式僅為示意性的,本領(lǐng)域技術(shù)人員還可以靈活采用其他形式的層級劃分方式。例如,第一層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的數(shù)量也可以為兩個或更多個,第二層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的數(shù)量以及分別隸屬于每個第二層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的數(shù)量均可以靈活設(shè)置,而且,本領(lǐng)域技術(shù)人員還可以設(shè)置更多的層級關(guān)系。具體的層級數(shù)量和每個層級包含的節(jié)點數(shù)量可以根據(jù)實際的業(yè)務(wù)場景靈活確定。
優(yōu)選地,每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點具有對應(yīng)的上級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和/或下級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點;其中,每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點對應(yīng)的上級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的數(shù)量為一個(當然,在一些特殊情況下每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點對應(yīng)的上級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的數(shù)量也可以是多個),每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點對應(yīng)的下級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的數(shù)量為一個或多個。例如,第一層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點0具有三個下級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點(即:第二層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點00、01和02),第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點000具有一個上級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點(即:第二層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點00)。
其中,每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點隸屬于該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的上級節(jié)點,每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的下級節(jié)點隸屬于該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點。其中,區(qū)塊鏈網(wǎng)絡(luò)節(jié)點a隸屬于區(qū)塊鏈網(wǎng)絡(luò)節(jié)點b的含義是指:區(qū)塊鏈網(wǎng)絡(luò)節(jié)點a與且僅與區(qū)塊鏈網(wǎng)絡(luò)節(jié)點b相連,并且,區(qū)塊鏈網(wǎng)絡(luò)節(jié)點a為區(qū)塊鏈網(wǎng)絡(luò)節(jié)點b的下級節(jié)點。由此可見,每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點與且僅與其所隸屬的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點直接相連,而與其他的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點則不直接相連。例如,第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點000僅與其上級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點(即:第二層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點00)直接相連,而與其他的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點則未直接相連。
通常情況下,上級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的數(shù)量大于下級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的數(shù)量。例如,在一種示例中,第一層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的數(shù)量為1,第二層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的數(shù)量為n2,第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的數(shù)量為n3個,第n-1層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的數(shù)量為n-1個,第n層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的數(shù)量為n。其中,n>n-1>n3>n2>1。通過該種設(shè)置方式有利于實現(xiàn)網(wǎng)絡(luò)節(jié)點之間的分層次管理。當然,在本發(fā)明其他的實施例中,也可能出現(xiàn)下級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點數(shù)量小于上級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點數(shù)量的情況,總之,本發(fā)明并不限定各個層級所包含的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的具體數(shù)量。每一層級所包含的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點數(shù)量可以是一個,也可以是多個。
上述區(qū)塊鏈系統(tǒng)中的多層級的劃分方式的核心在于以下兩方面:一方面,將區(qū)塊鏈進行橫向分鏈,所謂的橫向分鏈是指:在同一層級上可以包括多個相同層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,這些相同層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點之間互為兄弟節(jié)點(例如第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點010和011互為兄弟節(jié)點)。通過橫向分鏈將所有的交易分為多層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點之間的鏈內(nèi)交易和跨鏈交易,使所有不同區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的交易可以并行,從而大幅提高整個區(qū)塊鏈系統(tǒng)的性能。另一方面,將區(qū)塊鏈進行縱向分層,所謂的縱向分層是指:將所有的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點自上至下分為多個不同的層級。通過對區(qū)塊鏈縱向分層能夠?qū)^(qū)塊鏈分為不同層級的多組區(qū)塊鏈,下層的區(qū)塊鏈將匯總后的交易提交給上層,同時實現(xiàn)一些上下層賬戶之間的交易。由此可見,通過橫向分鏈和縱向分層能夠提升區(qū)塊鏈系統(tǒng)的靈活性,為多筆交易的并發(fā)執(zhí)行提供保障。
為了便于各個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點獨立地進行共識操作和記賬操作,在上述多個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中的每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點進一步包括:共識子節(jié)點,用于針對與該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點相關(guān)的網(wǎng)絡(luò)交易生成對應(yīng)的交易信息;賬本子節(jié)點,用于根據(jù)該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中的共識子節(jié)點生成的交易信息進行記賬。另外,在每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中,也可以將該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中的一個子節(jié)點設(shè)置為同時具備共識子節(jié)點和賬本子節(jié)點功能的節(jié)點。也就是說,每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中的共識子節(jié)點和賬本子節(jié)點既可以分別由兩個獨立的子節(jié)點實現(xiàn),也可以集成在同一個子節(jié)點中,由一個子節(jié)點實現(xiàn),從而簡化網(wǎng)絡(luò)節(jié)點的結(jié)構(gòu)。其中,與該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點相關(guān)的網(wǎng)絡(luò)交易包括以下中的至少一種:發(fā)生在該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點內(nèi)部的鏈內(nèi)交易,以及發(fā)生在該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點與其他區(qū)塊鏈網(wǎng)絡(luò)節(jié)點之間的跨鏈交易;其中,跨鏈交易進一步包括:同層級跨鏈交易以及跨層級跨鏈交易。由此可見,與傳統(tǒng)的區(qū)塊鏈系統(tǒng)中僅提供一個統(tǒng)一的共識操作入口的方式不同(傳統(tǒng)的區(qū)塊鏈系統(tǒng)中所有交易的共識操作都必須經(jīng)由該統(tǒng)一的共識操作入口實現(xiàn),因而無法并發(fā)執(zhí)行多個交易),本發(fā)明中的方式相當于提供了多個能夠并行使用的共識操作入口(每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中均具有一個能夠獨立完成共識操作的入口),而且每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點僅針對與其相關(guān)的網(wǎng)絡(luò)交易進行共識,其他與該筆交易無關(guān)的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點不參與該筆交易的共識操作,因此,能夠并行地進行多個交易的共識操作,既提升了系統(tǒng)的并發(fā)量,又降低了共識操作的時延。并且,與傳統(tǒng)的區(qū)塊鏈系統(tǒng)中僅提供一個大賬本的方式不同(傳統(tǒng)的區(qū)塊鏈系統(tǒng)通過一個大賬本記錄所有區(qū)塊鏈網(wǎng)絡(luò)節(jié)點之間的各筆交易),本發(fā)明中的方式相當于提供了多個獨立的小賬本(每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中均具有一個能夠獨立完成記賬操作的賬本子節(jié)點),而且,每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中的賬本只需記錄與該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點相關(guān)的交易賬目即可,無需記錄與該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點無關(guān)的交易賬目,從而提升了記賬和查詢的效率。
另外,為了便于各層級間的多個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點相互通信,圖2b中還進一步設(shè)置了四個消息網(wǎng)絡(luò)單元,分別為消息網(wǎng)絡(luò)單元1、消息網(wǎng)絡(luò)單元2、消息網(wǎng)絡(luò)單元3和消息網(wǎng)絡(luò)單元4。其中,各個消息網(wǎng)絡(luò)節(jié)點與各個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點分別相連,用于轉(zhuǎn)發(fā)各個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點之間的交易信息。具體實現(xiàn)時,每個消息網(wǎng)絡(luò)節(jié)點分別與多個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點相連,且多個消息網(wǎng)絡(luò)節(jié)點之間分別相連;其中,每個消息網(wǎng)絡(luò)節(jié)點具體用于:接收來自與其相連的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點或其他消息網(wǎng)絡(luò)節(jié)點的交易信息,獲取交易信息中包含的目的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點標識,根據(jù)目的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點標識對交易信息進行轉(zhuǎn)發(fā)。具體地,每個消息網(wǎng)絡(luò)節(jié)點可以通過消息網(wǎng)絡(luò)中間件來實現(xiàn),另外,每個消息網(wǎng)絡(luò)節(jié)點中可以保存一份連接表,該連接表用于存儲各個消息網(wǎng)絡(luò)節(jié)點與其他消息網(wǎng)絡(luò)節(jié)點之間的連接關(guān)系以及各個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點與各個消息網(wǎng)絡(luò)節(jié)點之間的連接關(guān)系,以便于消息網(wǎng)絡(luò)節(jié)點根據(jù)該連接表為接收到的通信消息確定最優(yōu)轉(zhuǎn)發(fā)路徑。其中,消息網(wǎng)絡(luò)節(jié)點轉(zhuǎn)發(fā)的通信消息包括但不限于交易信息,還可以是其他的各類消息。最優(yōu)轉(zhuǎn)發(fā)路徑可以采用最短路徑算法或其他各類路徑算法進行選擇。另外,為了便于維護該連接表,各個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點在與某消息網(wǎng)絡(luò)節(jié)點建立或斷開連接后,向其他的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點廣播相應(yīng)的連接建立消息或連接斷開消息,以便于其他的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和消息網(wǎng)絡(luò)節(jié)點根據(jù)接收到的連接建立消息或連接斷開消息更新該連接表。另外,消息網(wǎng)絡(luò)單元的具體數(shù)量可以靈活設(shè)置,例如也可以設(shè)置為一個或更多個。而且,各個消息網(wǎng)絡(luò)單元之間的連接方式也可以靈活設(shè)置:例如,在小型的區(qū)塊鏈系統(tǒng)中,每個消息網(wǎng)絡(luò)單元都可以與其他的所有消息網(wǎng)絡(luò)單元分別相連,以便于快速轉(zhuǎn)發(fā)消息;在大型的區(qū)塊鏈系統(tǒng)中,每個消息網(wǎng)絡(luò)單元可以僅與一部分消息網(wǎng)絡(luò)單元相連,從而通過多個消息網(wǎng)絡(luò)單元的中繼實現(xiàn)消息的轉(zhuǎn)發(fā)。本發(fā)明對消息網(wǎng)絡(luò)單元的具體數(shù)量和連接形式不做限定。
發(fā)明人在實現(xiàn)本發(fā)明的過程中發(fā)現(xiàn):在傳統(tǒng)的未采用消息網(wǎng)絡(luò)單元的區(qū)塊鏈系統(tǒng)中,若兩個未直接相連的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點需要相互轉(zhuǎn)發(fā)消息,例如第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點010欲向第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點022轉(zhuǎn)發(fā)消息,首先,第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點010需要獲取第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點022所對應(yīng)的子節(jié)點列表,然后,第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點010中的所有子節(jié)點要分別與第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點022中的所有子節(jié)點建立連接。由此導致操作繁瑣、傳輸效率低下等一系列缺陷。因此,為了解決上述問題,本發(fā)明在區(qū)塊鏈系統(tǒng)中設(shè)置了上述至少一個消息網(wǎng)絡(luò)單元,相應(yīng)地,每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中可以分別包括與至少一個消息網(wǎng)絡(luò)節(jié)點相連的消息網(wǎng)絡(luò)接口,該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中的各個子節(jié)點通過該消息網(wǎng)絡(luò)接口即可與消息網(wǎng)絡(luò)單元建立通信,進而通過消息網(wǎng)絡(luò)單元實現(xiàn)與任意區(qū)塊鏈網(wǎng)絡(luò)節(jié)點之間的通信。采用消息網(wǎng)絡(luò)單元至少具備如下優(yōu)勢:一方面,消息網(wǎng)絡(luò)單元能夠快速便捷地連通各個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,因此,不管是相同層級還是不同層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點之間都可以通過消息網(wǎng)絡(luò)單元傳輸消息,避免了兩個未直接相連的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點預先建立連接的繁瑣操作;另一方面,對于一些特殊的應(yīng)用場景而言,同一區(qū)塊鏈系統(tǒng)中的某些區(qū)塊鏈網(wǎng)絡(luò)節(jié)點之間是不允許直接建立通信連接的(例如為了提高網(wǎng)絡(luò)安全性,不同的銀行系統(tǒng)之間不允許直接建立通信連接),因此,通過消息網(wǎng)絡(luò)單元還能夠在無法直接建立通信連接的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點之間實現(xiàn)消息傳輸。總而言之,利用消息網(wǎng)絡(luò)單元,能夠提升大型區(qū)塊鏈系統(tǒng)的共識能力,降低共識過程中的網(wǎng)絡(luò)消耗和時延,提高整個系統(tǒng)的處理能力,并且,使區(qū)塊鏈系統(tǒng)能夠部署在無法點對點互聯(lián)的場景下。
為了便于理解,接下來,詳細介紹該區(qū)塊鏈系統(tǒng)所能處理的交易類型。在本發(fā)明提供的區(qū)塊鏈系統(tǒng)中,將網(wǎng)絡(luò)交易劃分為兩大類:
第一大類網(wǎng)絡(luò)交易為鏈內(nèi)交易,所謂鏈內(nèi)交易是指:發(fā)生在一個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點內(nèi)部的一筆或多筆網(wǎng)絡(luò)交易。例如,圖3a示出了一筆鏈內(nèi)交易的交易雙方,在圖3a中,第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點000對應(yīng)于兩個不同的客戶端,第一客戶端的賬戶地址為add1,第二客戶端的賬戶地址為add2。由于這兩個客戶端都隸屬于第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點000,因此,該筆交易并未涉及到其他的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,僅涉及到了一個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,因此,該筆交易為鏈內(nèi)交易。
第二大類網(wǎng)絡(luò)交易為跨鏈交易,所謂跨鏈交易是指:發(fā)生在至少兩個不同的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點之間的一筆或多筆網(wǎng)絡(luò)交易。其中,跨鏈交易又可以進一步劃分為:同層級跨鏈交易(即:交易雙方對應(yīng)的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點屬于同一層級)以及跨層級跨鏈交易(即:交易雙方對應(yīng)的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點屬于不同的層級)。例如,圖3b示出了一筆同層級跨鏈交易的交易雙方,在圖3b中,第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點010對應(yīng)于賬戶地址為add3的第三客戶端,第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點020對應(yīng)于賬戶地址為add4的第四客戶端。由于這兩個客戶端分別屬于兩個不同的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點(即:該筆交易涉及到至少兩個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點),且兩個不同的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點均屬于第二層級(即:兩個不同的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點互為兄弟節(jié)點),因此,該筆交易為同層級跨鏈交易。又如,圖3c示出了一筆跨層級跨鏈交易的交易雙方,在圖3c中,第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點022對應(yīng)于賬戶地址為add5的第五客戶端,第二層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點02對應(yīng)于賬戶地址為add6的第六客戶端。由于這兩個客戶端分別屬于兩個不同的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,且兩個不同的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點不屬于同一層級,因此,該筆交易為跨層級跨鏈交易。
為了便于理解上述的各類交易,圖4示出了一個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點內(nèi)部包含的各個子節(jié)點(每個子節(jié)點也可以理解為一個模塊)的示意圖。如圖4所示,每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點內(nèi)部進一步包含:交易管理子節(jié)點41、共識子節(jié)點42、鏈內(nèi)網(wǎng)絡(luò)接口43、區(qū)塊管理子節(jié)點44、賬本子節(jié)點45、消息網(wǎng)絡(luò)接口46以及跨鏈交易匯總子節(jié)點47。其中,圖4所示的子節(jié)點劃分方式僅為示意性的,本領(lǐng)域技術(shù)人員也可以對其他的多個子節(jié)點進行合并,或?qū)⒛骋蛔庸?jié)點拆分為更多的子節(jié)點,本發(fā)明對此不做限定。其中,消息網(wǎng)絡(luò)接口46以及跨鏈交易匯總子節(jié)點47主要用于實現(xiàn)跨鏈交易,在僅用于鏈內(nèi)交易的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中也可以省略消息網(wǎng)絡(luò)接口46以及跨鏈交易匯總子節(jié)點47。
首先,結(jié)合圖4介紹圖3a所示的鏈內(nèi)交易的具體交易流程:第一客戶端通過服務(wù)接口層上報一筆包含交易id的網(wǎng)絡(luò)交易,服務(wù)接口層判斷出第一客戶端所對應(yīng)的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點為第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點000(例如根據(jù)客戶端的開戶地址確定),從而將該筆網(wǎng)絡(luò)交易提交到第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點000中包含的交易管理子節(jié)點41中。其中,服務(wù)接口層與多個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點分別相連,用于接收并轉(zhuǎn)發(fā)多個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點與客戶端之間的通信消息,例如,服務(wù)接口層可以通過圖1中的區(qū)塊鏈服務(wù)層實現(xiàn)。該交易管理子節(jié)點41對該筆交易進行驗證(例如驗證賬戶余額是否充足等),驗證通過后將該筆交易提交給第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點000中包含的共識子節(jié)點42。該共識子節(jié)點42通過鏈內(nèi)網(wǎng)絡(luò)接口43獲取第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點000中的其他各個子節(jié)點針對該筆交易達成共識后發(fā)送的通知消息,并據(jù)此生成對應(yīng)的交易信息。該交易信息中可以包含經(jīng)各個子節(jié)點確認的交易列表。然后,共識子節(jié)點將該交易信息提交給區(qū)塊管理模塊44。區(qū)塊管理模塊44負責對共識成功的交易隊列進行區(qū)塊打包處理,以便將打包后的區(qū)塊寫入第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點000中包含的賬本子節(jié)點45中。由此可見,在本發(fā)明提供的鏈內(nèi)交易流程中,僅由交易相關(guān)的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點完成共識、記賬操作,其他與交易無關(guān)的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點無需參與共識、記賬過程,從而簡化了共識操作的復雜度,降低了處理延時,并且,交易賬目僅記錄在相關(guān)的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的賬本中,無需其他無關(guān)區(qū)塊鏈網(wǎng)絡(luò)節(jié)點參與記賬,簡化了記賬的開銷,方便了查詢。
接下來,結(jié)合圖4介紹圖3b所示的跨鏈交易的交易流程:第三客戶端通過服務(wù)接口層上報一筆包含交易id的跨鏈網(wǎng)絡(luò)交易,服務(wù)接口層判斷出第三客戶端所對應(yīng)的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點為第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點010,從而將該筆跨鏈網(wǎng)絡(luò)交易提交到第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點010中包含的交易管理子節(jié)點中。該交易管理子節(jié)點對該筆跨鏈交易進行驗證,驗證通過后將該筆跨鏈交易提交給第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點010中包含的共識子節(jié)點。該共識子節(jié)點通過鏈內(nèi)網(wǎng)絡(luò)接口獲取第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點010中的其他各個子節(jié)點針對該筆跨鏈交易達成共識后發(fā)送的通知消息,并據(jù)此生成對應(yīng)的第一交易信息。該第一交易信息中可以包含經(jīng)各個子節(jié)點確認的交易列表。然后,該共識子節(jié)點進一步用于:確定與該筆跨鏈交易相關(guān)的其他區(qū)塊鏈網(wǎng)絡(luò)節(jié)點。例如,在本例中,根據(jù)該筆跨鏈交易的另一交易方第四客戶端的賬戶地址add4確定與該筆跨鏈交易相關(guān)的其他區(qū)塊鏈網(wǎng)絡(luò)節(jié)點為第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點020。具體地,與該筆跨鏈交易相關(guān)的其他區(qū)塊鏈網(wǎng)絡(luò)節(jié)點是指:在該筆跨鏈交易所涉及的交易方所對應(yīng)的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中,除當前共識子節(jié)點所在的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點之外的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,與該筆跨鏈交易相關(guān)的其他區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的數(shù)量通常為一個,當存在多筆連環(huán)交易時,與該筆跨鏈交易相關(guān)的其他區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的數(shù)量也可以為多個。然后,該共識子節(jié)點進一步用于:將針對該跨鏈交易生成的第一交易信息轉(zhuǎn)發(fā)給與該跨鏈交易相關(guān)的其他區(qū)塊鏈網(wǎng)絡(luò)節(jié)點;并且,接收與該跨鏈交易相關(guān)的其他區(qū)塊鏈網(wǎng)絡(luò)節(jié)點針對該跨鏈交易生成的第二交易信息。例如,在本例中,第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點010中包含的共識子節(jié)點需要將第一交易信息發(fā)送給第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點020,并進一步接收第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點020針對該跨鏈交易生成的第二交易信息。最后,第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點010中包含的共識子節(jié)點將該第一交易信息以及第二交易信息提交給第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點010中包含的區(qū)塊管理模塊44。第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點010中包含的區(qū)塊管理模塊44負責對共識成功的交易隊列進行區(qū)塊打包處理,以便第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點010中包含的賬本子節(jié)點能夠?qū)⒋虬蟮膮^(qū)塊寫入第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點010中包含的賬本中。具體地,第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點010中的賬本子節(jié)點具體用于:根據(jù)第一交易信息以及第二交易信息對該跨鏈交易進行記賬。
其中,上述的第一交易信息以及第二交易信息均可通過各個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中的消息網(wǎng)絡(luò)接口以及消息網(wǎng)絡(luò)節(jié)點進行轉(zhuǎn)發(fā)。例如,第一交易信息通過第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點010中的消息網(wǎng)絡(luò)接口發(fā)送給第三消息網(wǎng)絡(luò)節(jié)點,第三消息網(wǎng)絡(luò)節(jié)點根據(jù)第一交易信息中包含的目的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點標識,利用最短路徑算法將該第一交易信息通過第二消息網(wǎng)絡(luò)節(jié)點轉(zhuǎn)發(fā)給第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點020。另外,上述的第二交易信息也可以省略,僅根據(jù)第一交易信息進行共識,而且,交易信息的具體形式和內(nèi)容本發(fā)明不作限定,只要能夠?qū)崿F(xiàn)聯(lián)合共識的目的即可。
由此可見,在跨鏈交易的過程中,該筆跨鏈交易所涉及到的所有交易方對應(yīng)的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點需要聯(lián)合參與共識和記賬過程。其中,該筆跨鏈交易所涉及到的所有交易方的數(shù)量通常為兩個,在一些連環(huán)交易中也可能為多個。相應(yīng)地,該筆跨鏈交易相關(guān)的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的數(shù)量至少為兩個,凡是與該筆跨鏈交易相關(guān)的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點均需參與共識和記賬過程。因此,與該筆跨鏈交易相關(guān)的任一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點在生成交易信息后,需將自身生成的交易信息發(fā)送給與該筆跨鏈交易相關(guān)的其他區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,以供與該筆跨鏈交易相關(guān)的其他區(qū)塊鏈網(wǎng)絡(luò)節(jié)點聯(lián)合共識和記賬;同時,與該筆跨鏈交易相關(guān)的任一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點在生成交易信息后,還要進一步接收與該筆跨鏈交易相關(guān)的其他區(qū)塊鏈網(wǎng)絡(luò)節(jié)點生成的交易信息,以便根據(jù)與該筆跨鏈交易相關(guān)的其他區(qū)塊鏈網(wǎng)絡(luò)節(jié)點生成的交易信息進行聯(lián)合共識和記賬。也就是說,一筆跨鏈交易只有在交易各方所對應(yīng)的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點均達成共識后才會最終生效并記賬。
另外,本發(fā)明針對跨鏈交易中的記賬方式還進行了如下改進:為了簡化上級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中的賬本數(shù)據(jù)量,本發(fā)明進一步針對跨鏈交易進行了匯總操作。具體地,為了便于理解匯總操作的具體內(nèi)容,首先介紹本發(fā)明提供的系統(tǒng)中包含的兩類賬戶:
針對每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點而言,該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點對應(yīng)于一個第一類賬戶地址,用于標識該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所對應(yīng)的賬戶。該第一類賬戶地址通常為公有賬戶地址,也可以理解為每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的賬戶,其屬于區(qū)塊鏈,通過共識算法來控制,常規(guī)場景下由區(qū)塊鏈對交易匯總產(chǎn)生,賬戶內(nèi)資產(chǎn)不能直接進行交易。例如,假設(shè)一個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點代表一個銀行,則第一類賬戶地址即為該銀行的總帳戶。
每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點還對應(yīng)于多個第二類賬戶地址,其中,多個第二類賬戶地址隸屬于該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點對應(yīng)的第一類賬戶地址,且每個第二類賬戶地址分別用于標識該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所對應(yīng)的客戶端或下級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所對應(yīng)的賬戶。該第二類賬戶地址通常為私有賬戶地址,也可以理解為每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點下屬的客戶端或下級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的賬戶,其屬于用戶,由密鑰進行控制,用戶通過密鑰可對賬戶中的資產(chǎn)進行操作。上述兩類賬戶的賬戶地址均可由“鏈id:鏈內(nèi)地址”的形式組成,其中,鏈id表示該鏈的歸屬id。
圖5示出了上述兩類賬戶之間的匯總交易的示意圖。如圖5所示,針對第二層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點00而言,該第二層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點00對應(yīng)的第一類賬戶地址為00:pub,并且,該第二層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點00還對應(yīng)于三個第二類賬戶地址,即:第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點000的賬戶地址000:pub、第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點001的賬戶地址001:pub、以及第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點002的賬戶地址002:pub、第二層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點01對應(yīng)的第一類賬戶地址為01:pub。同理,針對第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點000而言,該第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點000對應(yīng)的第一類賬戶地址為000:pub,并且,該第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點000還對應(yīng)于四個第二類賬戶地址,即:第一客戶端的賬戶地址000:add1、第二客戶端的賬戶地址000:add2、第三客戶端的賬戶地址000:add3以及第四客戶端的賬戶地址000:add4。關(guān)于其他的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的第一類賬戶地址和第二類賬戶地址原理類似,此處不再贅述。由此可見,第一類賬戶地址為相應(yīng)的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點本身的賬戶地址,第二類賬戶地址為相應(yīng)的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點下屬的客戶端或下級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的賬戶地址。因此,一個特定的賬戶地址,針對于不同的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點而言,可能屬于不同的類型。例如,針對第二層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點00而言,第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點000的賬戶地址“000:pub”為第二類賬戶地址,具體原因在于:第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點為從屬于第二層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的下級節(jié)點;然而,針對第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點000本身而言,該第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點000的賬戶地址“000:pub”則為該第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點000的第一類賬戶地址,具體原因在于:該賬戶地址為該第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點本身的地址。
結(jié)合上述的兩類賬戶地址,描述本發(fā)明中的跨鏈交易在記賬方面的改進點:在跨鏈交易流程中,每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中包含的跨鏈交易匯總子節(jié)點具體用于:提取與該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點相關(guān)的網(wǎng)絡(luò)交易中包含的跨鏈交易;確定提取出的跨鏈交易所對應(yīng)的第二類賬戶地址以及每個第二類賬戶地址所隸屬的第一類賬戶地址;對隸屬于相同第一類賬戶地址的第二類賬戶地址所對應(yīng)的跨鏈交易進行合并,得到合并后的各個第一類賬戶地址之間的交易記錄。其中,提取出的跨鏈交易所對應(yīng)的第二類賬戶地址的數(shù)量通常為至少兩個,相應(yīng)地,需要分別確定每個第二類賬戶地址所隸屬的第一類賬戶地址。另外,對隸屬于相同第一類賬戶地址的第二類賬戶地址所對應(yīng)的跨鏈交易進行合并通常是指:針對兩筆或更多筆跨鏈交易而言,若每筆交易所對應(yīng)的各個第二類賬戶地址所隸屬的第一類賬戶地址分別相同,則可以合并。其中,跨鏈交易匯總子節(jié)點可以分別針對每一筆跨鏈交易進行匯總操作,也可以每隔預定的時間周期針對本周期內(nèi)發(fā)生的跨鏈交易進行匯總操作,本發(fā)明對此不做限定。
具體地,在圖5中,第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點000與第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點010之間發(fā)生了四筆跨鏈交易,分別是交易id為1的第一筆跨鏈交易、交易id為2的第二筆跨鏈交易、交易id為3的第三筆跨鏈交易、以及交易id為4的第四筆跨鏈交易。交易id用于唯一標識一筆跨鏈交易。其中,每一筆跨鏈交易具有第一交易方和第二交易方,通常第一交易方為資金轉(zhuǎn)出方,第二交易方為資金轉(zhuǎn)入方,當然,也可能第一交易方為資金轉(zhuǎn)入方,第二交易方為資金轉(zhuǎn)出方,本發(fā)明對此不做限定。而且,在連環(huán)交易中,第一交易方和第二交易方的數(shù)量均可能為多個。具體到本例中,這四筆跨鏈交易中的第一交易方的賬戶地址(即上述的第二類賬戶地址)分別為000:add1、000:add2、000:add3和000:add4,即:各筆交易的第一交易方均隸屬于同一個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點(即:第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點000);第二交易方的賬戶地址分別為010:add5、010:add6、010:add7和010:add8,即:各筆交易的第二交易方均隸屬于同一個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點(即第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點010)。因此,各筆交易中的第一交易方所對應(yīng)的第二類賬戶地址所隸屬的第一類賬戶地址相同,且各筆交易中的第二交易方所對應(yīng)的第二類賬戶地址所隸屬的第二類賬戶地址也相同,因此,可以針對這四筆跨鏈交易進行合并,得到一筆合并后的各個第一類賬戶地址之間的交易記錄。其中,合并后的各個第一類賬戶地址之間的交易記錄中包含以下中的至少一個:合并后的各個第一類賬戶地址之間的交易總金額,以及合并前的各筆跨鏈交易的交易標識。例如,假設(shè)上述的四筆跨鏈交易的交易內(nèi)容分別為第一交易方向第二交易方支付10元、20元、30元和20元,相應(yīng)地,合并后得到的一筆各個第一類賬戶地址之間的交易記錄中包含的交易內(nèi)容如下:交易總金額為80元,且合并后的第一交易方為合并前的各個第一交易方對應(yīng)的第二類賬戶地址所隸屬的第一類賬戶地址(即:第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點000的賬戶地址000:pub);合并后的第二交易方為合并前的各個第二交易方對應(yīng)的第二類賬戶地址所隸屬的第一類賬戶地址(即:第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點010的賬戶地址010:pub);并且,為了便于溯源,合并后得到的該筆各個第一類賬戶地址之間的交易記錄中還進一步包含合并前的四筆跨鏈交易的交易id1、2、3、4,根據(jù)交易id能夠快速查詢各筆交易的詳情。
另外,為了便于實現(xiàn)分層管理,每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中的跨鏈交易匯總子節(jié)點進一步用于:將合并后的各個第一類賬戶地址之間的交易記錄提供給該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中的賬本子節(jié)點;且每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中的賬本子節(jié)點進一步用于:將合并后的各個第一類賬戶地址之間的交易記錄提供給該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所對應(yīng)的上級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,由該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所對應(yīng)的上級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中的賬本子節(jié)點進行記賬;和/或,接收該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所對應(yīng)的下級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中的賬本子節(jié)點提供的合并后的各個第一類賬戶地址之間的交易記錄并進行記賬。由此可見,每一個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中的賬本僅對直接隸屬于該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的客戶端和/或下級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點之間的每筆交易的交易詳情進行記錄,而對于間接隸屬于該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的客戶端和/或下級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點之間的每筆交易,則不記錄具體的交易詳情,而僅記錄由直接隸屬于該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的下級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點匯總合并后得到的交易記錄。通過該種方式,實現(xiàn)了賬本的分層次管理,由于處于上層的管理機構(gòu)往往并不關(guān)心底層用戶之間的各筆小額交易的詳情,而僅關(guān)心直接隸屬于該管理機構(gòu)的下級機構(gòu)的交易記錄,因此該種方式更加符合實際的管理需求。而且,通過將賬本拆分、分級,一方面能夠簡化賬本的總開銷,另一方面按照層級查詢時非常便捷高效。
當然,為了便于備份,防止數(shù)據(jù)丟失,每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中的賬本子節(jié)點還可以進一步用于:根據(jù)合并后的各個第一類賬戶地址之間的交易記錄進行記賬。也就是說,每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中的賬本子節(jié)點除了將合并后的各個第一類賬戶地址之間的交易記錄上報給其上級節(jié)點之外,還進一步在本節(jié)點的賬本上進行記錄。此時,每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中的賬本包含兩部分,一部分為該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點記錄的各個直接隸屬于該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的客戶端和/或下級節(jié)點的交易詳情,另一部分為匯總后的交易記錄。
另外,為了更加形象地理解上述匯總操作的內(nèi)涵,可以將網(wǎng)絡(luò)交易大致分為兩種,一種為普通交易,即私有賬戶之間的鏈內(nèi)或跨鏈交易。一種為匯總交易,即多筆跨鏈交易的參與方如果分別在相同區(qū)塊鏈內(nèi),可以將其匯總成為一條區(qū)塊鏈公共賬戶到區(qū)塊鏈公共賬戶的交易,就成為一條匯總交易,匯總交易包含其所匯聚交易的id。
本區(qū)塊鏈系統(tǒng)中的多個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點包括以下中的至少一個:多個層級的銀行系統(tǒng)所對應(yīng)的網(wǎng)絡(luò)節(jié)點、多個層級的支付系統(tǒng)所對應(yīng)的網(wǎng)絡(luò)節(jié)點。總之,本發(fā)明對其具體應(yīng)用場景不做限定,可靈活應(yīng)用于各類分級管理的場景中。
基于上述的區(qū)塊鏈系統(tǒng),本發(fā)明實施例二提供了一種網(wǎng)絡(luò)交易方法。該網(wǎng)絡(luò)交易方法中所涉及的交易主要是指上文提到的跨鏈交易,既可以是同層級跨鏈交易,也可以是跨層級跨鏈交易。另外,本領(lǐng)域技術(shù)人員能夠理解的是,本發(fā)明實施例二提供的該網(wǎng)絡(luò)交易方法除了能夠應(yīng)用于上述的區(qū)塊鏈系統(tǒng)之外,還可以應(yīng)用于其他各種改進或變形形式的區(qū)塊鏈系統(tǒng)中,只要在區(qū)塊鏈系統(tǒng)中包括多個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,以便于實現(xiàn)各個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點之間的獨立共識和記賬即可。
圖6示出了本發(fā)明實施例二提供的該網(wǎng)絡(luò)交易方法的流程圖。如圖6所示,該方法包括以下步驟:
首先,在該方法執(zhí)行之前,由第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點向第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點發(fā)送共識發(fā)起消息。當?shù)诙^(qū)塊鏈網(wǎng)絡(luò)節(jié)點為多個時,需要分別向每個第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點發(fā)送該共識發(fā)起消息。具體地,第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點確定與該筆網(wǎng)絡(luò)交易相關(guān)的全部區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,將全部區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中除第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點之外的其他區(qū)塊鏈網(wǎng)絡(luò)節(jié)點確定為第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點;第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點向各個第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點分別發(fā)送共識發(fā)起消息,以供各個第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點根據(jù)共識發(fā)起消息與第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點組成臨時共識網(wǎng)絡(luò)。其中,該臨時共識網(wǎng)絡(luò)內(nèi)部的每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點分別與該臨時共識網(wǎng)絡(luò)內(nèi)部的其他區(qū)塊鏈網(wǎng)絡(luò)節(jié)點相連;其中,第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的數(shù)量為一個或多個。為了便于構(gòu)建臨時共識網(wǎng)絡(luò),上述共識發(fā)起消息中可以包含與該筆網(wǎng)絡(luò)交易相關(guān)的每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的標識,以便于各個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點之間建立連接。另外,上述的臨時共識網(wǎng)絡(luò)進一步包含至少一個用于連通各個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的消息網(wǎng)絡(luò)節(jié)點。關(guān)于消息網(wǎng)絡(luò)節(jié)點的設(shè)置可參考上文描述,此處不再贅述。
為了便于理解上述過程,下面首先對本發(fā)明中的網(wǎng)絡(luò)交易進行簡單介紹:一筆網(wǎng)絡(luò)交易包括由第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點實現(xiàn)的第一交易方以及由第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點實現(xiàn)的第二交易方。其中,第一交易方和第二交易方可以分別為資金轉(zhuǎn)出方和資金轉(zhuǎn)入方,也可以分別為資金轉(zhuǎn)入方和資金轉(zhuǎn)出方。另外,作為第一交易方的第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的數(shù)量可以為一個或多個,作為第二交易方的第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的數(shù)量也可以為一個或多個??傊谝粎^(qū)塊鏈網(wǎng)絡(luò)節(jié)點和第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點涵蓋了與該筆網(wǎng)絡(luò)交易相關(guān)的全部區(qū)塊鏈網(wǎng)絡(luò)節(jié)點。具體地,針對一筆網(wǎng)絡(luò)交易而言,可以將與該筆網(wǎng)絡(luò)交易相關(guān)的所有區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中的任一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點作為該筆網(wǎng)絡(luò)交易中的第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點(即第一交易方),將與該筆網(wǎng)絡(luò)交易相關(guān)的全部區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中除第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點之外的其他區(qū)塊鏈網(wǎng)絡(luò)節(jié)點共同作為第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點。例如,假設(shè)一筆網(wǎng)絡(luò)交易為:由區(qū)塊鏈網(wǎng)絡(luò)節(jié)點a向區(qū)塊鏈網(wǎng)絡(luò)節(jié)點b、c分別轉(zhuǎn)入一定量的資金,則可以由區(qū)塊鏈網(wǎng)絡(luò)節(jié)點a作為該筆網(wǎng)絡(luò)交易中的第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,由區(qū)塊鏈網(wǎng)絡(luò)節(jié)點b、c共同作為該筆網(wǎng)絡(luò)交易中的第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點;或者,也可以由區(qū)塊鏈網(wǎng)絡(luò)節(jié)點b作為該筆網(wǎng)絡(luò)交易中的第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,由區(qū)塊鏈網(wǎng)絡(luò)節(jié)點a、c共同作為該筆網(wǎng)絡(luò)交易中的第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點。本發(fā)明對此不做限定。
總之,針對一筆特定的交易而言,第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點共同構(gòu)成與該筆網(wǎng)絡(luò)交易相關(guān)的全部區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,另外,通常情況下,與該筆網(wǎng)絡(luò)交易相關(guān)的全部區(qū)塊鏈網(wǎng)絡(luò)節(jié)點只是整個區(qū)塊鏈系統(tǒng)中的部分區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,而非整個區(qū)塊鏈系統(tǒng)中的全部區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,也就是說,整個區(qū)塊鏈系統(tǒng)中,除第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點之外,至少還包含第三區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,第三區(qū)塊鏈網(wǎng)絡(luò)節(jié)點是指:與該筆網(wǎng)絡(luò)交易無關(guān)的全部區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,其數(shù)量通常為多個。第三區(qū)塊鏈網(wǎng)絡(luò)節(jié)點顯然不包含在上述的臨時共識網(wǎng)絡(luò)中。
另外,針對一筆網(wǎng)絡(luò)交易而言,可以首選由該筆網(wǎng)絡(luò)交易中的資金轉(zhuǎn)出方主動發(fā)送上述的共識發(fā)起消息,或者,也可以由該筆網(wǎng)絡(luò)交易中的資金轉(zhuǎn)入方主動發(fā)送上述的共識發(fā)起消息,還可以由該筆網(wǎng)絡(luò)交易所涉及到的各個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點自發(fā)進行共識操作。因此,由第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點針對該網(wǎng)絡(luò)交易發(fā)送上述的共識發(fā)起消息的操作步驟是可選的,當由各個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點自發(fā)進行共識操作時,也可以省略該操作步驟。
步驟s610:第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點針對該網(wǎng)絡(luò)交易生成對應(yīng)的交易信息。
其中,第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點作為網(wǎng)絡(luò)交易中的第一交易方,可以是區(qū)塊鏈系統(tǒng)中的任一節(jié)點。例如,在本例中,第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點為上文提到的跨鏈交易流程中的第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點010,其生成對應(yīng)的第一交易信息的具體過程可參照上文中的相應(yīng)描述,此處不再贅述。例如,可以由第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中的共識子節(jié)點確認第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中包含的各個子節(jié)點是否對網(wǎng)絡(luò)交易達成共識,若是,則針對該網(wǎng)絡(luò)交易生成對應(yīng)的交易信息。另外,交易信息可以是各種形式的信息,可以包含各類與該網(wǎng)絡(luò)交易相關(guān)的內(nèi)容,本發(fā)明對交易信息的具體形式和具體內(nèi)容不作限定。該交易信息主要用于提供給第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,以便第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點針對該筆網(wǎng)絡(luò)交易與第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點進行聯(lián)合共識。因此,只要是能夠用于實現(xiàn)聯(lián)合共識的信息內(nèi)容均可以作為交易信息。例如,在一筆網(wǎng)絡(luò)交易的交易信息中,包含交易各方的節(jié)點標識,以及交易類型和交易金額。其中,交易各方的節(jié)點標識用于確認交易參與方的身份,交易類型可以是從第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點向第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點轉(zhuǎn)賬,或從第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點向第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點轉(zhuǎn)賬等??傊?,第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點通過交易信息能夠驗證該筆網(wǎng)絡(luò)交易的有效性,從而實現(xiàn)聯(lián)合共識目的。
步驟s620:將交易信息發(fā)送給作為網(wǎng)絡(luò)交易中的第二交易方的第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點。
其中,第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點作為網(wǎng)絡(luò)交易中的第二交易方,也可以是區(qū)塊鏈系統(tǒng)中的任一節(jié)點。例如,在本例中,第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點為上文提到的跨鏈交易流程中的第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點020。
具體地,第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點首先確定作為網(wǎng)絡(luò)交易中的第二交易方的第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的標識,然后根據(jù)該標識將交易信息發(fā)送給第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點。具體實現(xiàn)時,為了提高通信效率,可以通過上述臨時共識網(wǎng)絡(luò)中包含的至少一個消息網(wǎng)絡(luò)節(jié)點將交易信息發(fā)送給作為網(wǎng)絡(luò)交易中的第二交易方的第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點;其中,至少一個消息網(wǎng)絡(luò)節(jié)點與各個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點分別相連,用于轉(zhuǎn)發(fā)各個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點之間的交易信息。關(guān)于消息網(wǎng)絡(luò)節(jié)點的具體設(shè)置方式及其優(yōu)勢可參照上文描述,此處不再贅述。
步驟s630:第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點采用共識算法對該交易信息達成一致。
具體地,第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點可以通過上述臨時共識網(wǎng)絡(luò),采用共識算法對交易信息達成一致。其中,第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點可以靈活采用各類共識算法確定是否對上述交易信息達成一致,若是,則繼續(xù)執(zhí)行步驟s640。
步驟s640:第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點對達成一致的交易信息對應(yīng)的網(wǎng)絡(luò)交易同步記賬。
其中,第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點將該網(wǎng)絡(luò)交易的交易賬目記錄在第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中,且第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點將該網(wǎng)絡(luò)交易的交易賬目同步記錄在第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中。具體地,由第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中包含的賬本子節(jié)點將該交易信息對應(yīng)的網(wǎng)絡(luò)交易的交易賬目記錄在第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的賬本中;由第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中包含的賬本子節(jié)點將該交易信息對應(yīng)的網(wǎng)絡(luò)交易的交易賬目記錄在第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的賬本中。
由此可見,當?shù)谝粎^(qū)塊鏈網(wǎng)絡(luò)節(jié)點和第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點采用共識算法對該交易信息達成一致時,第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點針對該交易信息對應(yīng)的網(wǎng)絡(luò)交易同步記賬;當?shù)谝粎^(qū)塊鏈網(wǎng)絡(luò)節(jié)點和第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點采用共識算法對該交易信息未達成一致時,第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點針對該交易信息對應(yīng)的網(wǎng)絡(luò)交易均不記賬。由此能夠確保第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點針對該交易信息對應(yīng)的網(wǎng)絡(luò)交易的記賬結(jié)果一致。
另外,為了保證第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中的賬本以及第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中的賬本能夠同步記賬,且記賬結(jié)果一致,在本發(fā)明中還可以采取一些特定的處理方式。例如,當?shù)谝粎^(qū)塊鏈網(wǎng)絡(luò)節(jié)點對該網(wǎng)絡(luò)交易進行記賬之后,向第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點發(fā)送相應(yīng)的記賬成功消息;當?shù)诙^(qū)塊鏈網(wǎng)絡(luò)節(jié)點對該網(wǎng)絡(luò)交易進行記賬之后,向第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點發(fā)送相應(yīng)的記賬成功消息,每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點只有在接收到來自相關(guān)區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的記賬成功消息后,才確認完成該筆交易的最終記賬過程,由此防止因網(wǎng)絡(luò)異常等各種情況所導致的兩個節(jié)點上賬本不一致的情況發(fā)生。或者,為了確保同一筆交易在相關(guān)的各個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中的賬本數(shù)據(jù)一致,也可以由各個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點定期地將各筆交易的交易賬目發(fā)送給相關(guān)的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點進行復核。
另外,為了進一步提升共識操作的準確性,在本發(fā)明其他的實施例中,第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點也可以針對該網(wǎng)絡(luò)交易生成交易信息,并將生成的交易信息提供給第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點驗證,從而進一步確保聯(lián)合共識操作的準確性。
另外,在上述步驟中,是以第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的數(shù)量為一個進行說明的,實際上,第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的數(shù)量還可以是多個,相應(yīng)地,第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點需要分別向每個第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點發(fā)送交易信息;且每個第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點都會對該交易信息進行驗證。
通過上述的各個步驟就實現(xiàn)了本發(fā)明中針對一筆網(wǎng)絡(luò)交易的共識和記賬過程,雖然上述過程僅以一筆網(wǎng)絡(luò)交易為例進行說明,但本領(lǐng)域技術(shù)人員能夠理解的是,區(qū)塊鏈系統(tǒng)中的任意一筆網(wǎng)絡(luò)交易都可以通過上述的各個步驟完成共識和記賬過程。另外,雖然上述的各個步驟中描述的網(wǎng)絡(luò)交易方法的執(zhí)行主體為第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,但是,由于第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點可以是與該筆網(wǎng)絡(luò)交易相關(guān)的全部區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中的任一節(jié)點,因此,實際上,上述的各個步驟中描述的網(wǎng)絡(luò)交易方法的執(zhí)行主體可以是與該筆網(wǎng)絡(luò)交易相關(guān)的全部區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中的任一節(jié)點,例如,還可以是第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點。而且,當?shù)诙^(qū)塊鏈網(wǎng)絡(luò)節(jié)點為多個時,可以是其中的任意一個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點。由此可見,在實際過程中,上述的各個步驟中的每一個步驟都是由第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所組成的臨時共識網(wǎng)絡(luò)中的各個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點直接交互完成的,并且,每一個步驟都由臨時共識網(wǎng)絡(luò)中的所有區(qū)塊鏈網(wǎng)絡(luò)節(jié)點共同完成。
另外,在上述過程中,針對每一筆網(wǎng)絡(luò)交易,能夠根據(jù)與該網(wǎng)絡(luò)交易相關(guān)的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的數(shù)量和分布情況來動態(tài)地創(chuàng)建一個臨時共識網(wǎng)絡(luò),該臨時共識網(wǎng)絡(luò)用于連通與該網(wǎng)絡(luò)交易相關(guān)的各個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,并在各個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點之間傳輸?shù)谝?第二交易信息,以便最終實現(xiàn)在臨時共識網(wǎng)絡(luò)內(nèi)部的各個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點之間進行聯(lián)合共識的目的。由此可見,本發(fā)明能夠分別針對每一筆交易動態(tài)創(chuàng)建與該交易對應(yīng)的臨時共識網(wǎng)絡(luò),從而僅在該臨時共識網(wǎng)絡(luò)內(nèi)部實現(xiàn)該交易的共識和記賬過程,其他與該交易無關(guān)的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點不包含在該臨時共識網(wǎng)絡(luò)中,也不參與該交易的共識和記賬。
由此可見,本發(fā)明中的共識和記賬操作具備如下特點:
首先,針對一筆網(wǎng)絡(luò)交易而言,該筆網(wǎng)絡(luò)交易的共識操作的參與方包括且僅限于與該筆網(wǎng)絡(luò)交易相關(guān)的所有區(qū)塊鏈網(wǎng)絡(luò)節(jié)點(即上文提到的第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點),其他與該筆網(wǎng)絡(luò)交易無關(guān)的其他區(qū)塊鏈網(wǎng)絡(luò)節(jié)點不參與。并且,該筆網(wǎng)絡(luò)交易的共識操作由與該筆網(wǎng)絡(luò)交易相關(guān)的所有區(qū)塊鏈網(wǎng)絡(luò)節(jié)點聯(lián)合進行,只有在與該筆網(wǎng)絡(luò)交易相關(guān)的所有區(qū)塊鏈網(wǎng)絡(luò)節(jié)點全部共識成功時,該筆網(wǎng)絡(luò)交易的最終共識結(jié)果才算成功。由此可見,本發(fā)明中的共識操作僅限于與該筆網(wǎng)絡(luò)交易相關(guān)的所有區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,并且,需由與該筆網(wǎng)絡(luò)交易相關(guān)的所有區(qū)塊鏈網(wǎng)絡(luò)節(jié)點聯(lián)合共識。
其次,為了更好地實現(xiàn)由與該筆網(wǎng)絡(luò)交易相關(guān)的所有區(qū)塊鏈網(wǎng)絡(luò)節(jié)點聯(lián)合共識的效果,在本發(fā)明中,與該筆網(wǎng)絡(luò)交易相關(guān)的所有區(qū)塊鏈網(wǎng)絡(luò)節(jié)點臨時進行合并而成為一個臨時共識網(wǎng)絡(luò),通過該臨時共識網(wǎng)絡(luò)能夠更好地實現(xiàn)各區(qū)塊鏈網(wǎng)絡(luò)節(jié)點之間的聯(lián)合共識。具體地,該臨時共識網(wǎng)絡(luò)可通過如下方式產(chǎn)生:首先,可由與該筆網(wǎng)絡(luò)交易相關(guān)的所有區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中的任一節(jié)點發(fā)起共識操作,并根據(jù)該筆網(wǎng)絡(luò)交易的具體交易信息確定與該筆網(wǎng)絡(luò)交易相關(guān)的全部區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的數(shù)量及標識;然后,通過消息網(wǎng)絡(luò)節(jié)點將與該筆網(wǎng)絡(luò)交易相關(guān)的所有區(qū)塊鏈網(wǎng)絡(luò)節(jié)點進行互聯(lián),從而形成上述的臨時共識網(wǎng)絡(luò),進而能夠通過該臨時共識網(wǎng)絡(luò)針對該筆網(wǎng)絡(luò)交易進行聯(lián)合共識。通過該種共識方式,一筆網(wǎng)絡(luò)交易的聯(lián)合共識過程僅涉及與該網(wǎng)絡(luò)交易相關(guān)的網(wǎng)絡(luò)節(jié)點,因此,簡化了共識操作的復雜度,提升了共識操作的效率。
再次,針對一筆網(wǎng)絡(luò)交易而言,該筆網(wǎng)絡(luò)交易的記賬操作的參與方包括且僅限于與該筆網(wǎng)絡(luò)交易相關(guān)的所有區(qū)塊鏈網(wǎng)絡(luò)節(jié)點(即上文提到的第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點),其他與該筆網(wǎng)絡(luò)交易無關(guān)的其他區(qū)塊鏈網(wǎng)絡(luò)節(jié)點(即上述的第三區(qū)塊鏈網(wǎng)絡(luò)節(jié)點)不參與記賬。另外,僅在聯(lián)合共識結(jié)果為成功的前提下,與該筆網(wǎng)絡(luò)交易相關(guān)的各區(qū)塊鏈網(wǎng)絡(luò)節(jié)點才針對該網(wǎng)絡(luò)交易進行記賬。通過該種記賬方式,一筆網(wǎng)絡(luò)交易的記賬過程僅涉及與該網(wǎng)絡(luò)交易相關(guān)的網(wǎng)絡(luò)節(jié)點,僅在與該網(wǎng)絡(luò)交易相關(guān)的網(wǎng)絡(luò)節(jié)點內(nèi)部的賬本中記錄該筆網(wǎng)絡(luò)交易的交易賬目。因此,簡化了賬本的規(guī)模。另外,一筆網(wǎng)絡(luò)交易中涉及到的第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點以及第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的總數(shù)量是由該筆網(wǎng)絡(luò)交易中所涉及到的交易方數(shù)量確定的。即:上述的臨時共識網(wǎng)絡(luò)的網(wǎng)絡(luò)規(guī)模是由對應(yīng)的網(wǎng)絡(luò)交易所涉及到的交易方數(shù)量確定的,可能包括兩個或更多個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點。
另外,為了實現(xiàn)賬本的分層級管理,還要進行跨鏈交易的匯總合并操作,相應(yīng)地,該方法還可以進一步包括下述的步驟s650以及步驟s660。
步驟s650:各個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點分別獲取由該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點作為第一交易方或第二交易方的全部網(wǎng)絡(luò)交易的交易帳目;確定全部網(wǎng)絡(luò)交易的交易帳目中的每筆網(wǎng)絡(luò)交易所對應(yīng)的第二類賬戶地址以及每個第二類賬戶地址所隸屬的第一類賬戶地址;對隸屬于相同第一類賬戶地址的第二類賬戶地址所對應(yīng)的網(wǎng)絡(luò)交易進行合并,得到合并后的各個第一類賬戶地址之間的交易記錄。
步驟s660:該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點將合并后的各個第一類賬戶地址之間的交易記錄提供給該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所對應(yīng)的上級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,由該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所對應(yīng)的上級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點進行記賬;和/或,接收該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所對應(yīng)的下級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點提供的合并后的各個第一類賬戶地址之間的交易記錄并進行記賬。
其中,該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所對應(yīng)的上級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點進行記賬的步驟具體包括:該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所對應(yīng)的上級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點將合并后的各個第一類賬戶地址之間的交易記錄記錄在該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所對應(yīng)的上級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的賬本中;和/或,接收該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所對應(yīng)的下級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點提供的合并后的各個第一類賬戶地址之間的交易記錄并進行記賬的步驟具體包括:該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點將下級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點提供的合并后的各個第一類賬戶地址之間的交易記錄記錄在該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的賬本中。
其中,合并后的各個第一類賬戶地址之間的交易記錄中包含以下中的至少一個:合并后的各個第一類賬戶地址之間的交易總金額,以及合并前的各筆網(wǎng)絡(luò)交易的交易標識。
具體地,關(guān)于匯總合并操作的具體實現(xiàn)細節(jié)可參照圖5及其相關(guān)部分的描述,此處不再贅述。通過匯總合并操作能夠簡化賬本規(guī)模、且便于快速溯源。
另外,本實施例中作為網(wǎng)絡(luò)交易中的第一交易方的第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和作為網(wǎng)絡(luò)交易中的第二交易方的第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點為至少兩個相同層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點;或者,作為所述網(wǎng)絡(luò)交易中的第一交易方的第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和作為所述網(wǎng)絡(luò)交易中的第二交易方的第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點為至少兩個不同層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點。也就是說,本發(fā)明中的交易方法既可以應(yīng)用上述的同層級跨鏈交易,也可以應(yīng)用于上述的跨層級跨鏈交易。
實施例三
圖7示出了本發(fā)明實施例三提供的一種基于區(qū)塊鏈系統(tǒng)的網(wǎng)絡(luò)交易裝置的結(jié)構(gòu)示意圖。其中,區(qū)塊鏈系統(tǒng)包括多個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,且多個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點至少包括:作為網(wǎng)絡(luò)交易中的第一交易方的第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,以及作為網(wǎng)絡(luò)交易中的第二交易方的第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,該網(wǎng)絡(luò)交易裝置設(shè)置在第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中。其中,區(qū)塊鏈系統(tǒng)既可以采用上文提到的區(qū)塊鏈系統(tǒng),也可以采用其他任何變形和改進的區(qū)塊鏈系統(tǒng),只要具有多個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點即可,本發(fā)明對區(qū)塊鏈網(wǎng)絡(luò)系統(tǒng)的具體結(jié)構(gòu)形式不做限定。另外,本發(fā)明中的網(wǎng)絡(luò)交易裝置既可以是集成在第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點內(nèi)部的軟件和/或硬件裝置,也可以直接采用第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點來實現(xiàn)。另外,本發(fā)明中的第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點可以是多個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中的任一節(jié)點。另外,第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點是完全對等的節(jié)點,第一交易方和第二交易方既可以分別是資金轉(zhuǎn)入方和資金轉(zhuǎn)出方,也可以分別為資金轉(zhuǎn)出方和資金轉(zhuǎn)入方,由此可見,為了描述方便,本文實施例中均以一筆交易為例進行說明,實際上,在其他的網(wǎng)絡(luò)交易中,第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點也可能互換,因此,本領(lǐng)域技術(shù)人員能夠理解的是,本發(fā)明提供的網(wǎng)絡(luò)交易裝置實際上是分別設(shè)置在每一個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中的。
如圖7所示,該網(wǎng)絡(luò)交易裝置具體包括:
交易信息生成模塊71,用于針對所述網(wǎng)絡(luò)交易生成對應(yīng)的交易信息;
發(fā)送模塊72,用于將所述交易信息發(fā)送給作為所述網(wǎng)絡(luò)交易中的第二交易方的第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點;
共識模塊73,用于和所述第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點采用共識算法對所述交易信息達成一致;
記賬模塊74,用于和所述第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點對達成一致的交易信息對應(yīng)的網(wǎng)絡(luò)交易同步記賬。
可選地,所述記賬模塊74具體用于:將所述網(wǎng)絡(luò)交易的交易賬目記錄在所述第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的賬本中。
可選地,所述交易信息生成模塊71進一步用于:確定與所述網(wǎng)絡(luò)交易相關(guān)的全部區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,將所述全部區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中除所述第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點之外的其他區(qū)塊鏈網(wǎng)絡(luò)節(jié)點確定為第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點;向所述第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點發(fā)送共識發(fā)起消息,以供所述第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點根據(jù)所述共識發(fā)起消息與所述第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點組成臨時共識網(wǎng)絡(luò)。
可選地,所述臨時共識網(wǎng)絡(luò)內(nèi)部的每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點分別與該臨時共識網(wǎng)絡(luò)內(nèi)部的其他區(qū)塊鏈網(wǎng)絡(luò)節(jié)點相連;并且,所述臨時共識網(wǎng)絡(luò)中進一步包含至少一個消息網(wǎng)絡(luò)節(jié)點;則所述發(fā)送模塊72具體用于:通過至少一個消息網(wǎng)絡(luò)節(jié)點將所述交易信息發(fā)送給作為所述網(wǎng)絡(luò)交易中的第二交易方的第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點。
可選地,所述第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的數(shù)量為一個或多個;且所述多個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中進一步包括:與所述網(wǎng)絡(luò)交易無關(guān)的第三區(qū)塊鏈網(wǎng)絡(luò)節(jié)點。
其中,每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點對應(yīng)于一個第一類賬戶地址,用于標識該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所對應(yīng)的賬戶;且每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點對應(yīng)于多個第二類賬戶地址,其中,所述多個第二類賬戶地址隸屬于該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點對應(yīng)的第一類賬戶地址,且每個第二類賬戶地址分別用于標識該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所對應(yīng)的客戶端或下級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所對應(yīng)的賬戶;則所述裝置進一步包括:
合并模塊75,用于獲取由該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點作為第一交易方或第二交易方的全部網(wǎng)絡(luò)交易的交易帳目;確定所述全部網(wǎng)絡(luò)交易的交易帳目中的每筆網(wǎng)絡(luò)交易所對應(yīng)的第二類賬戶地址以及每個第二類賬戶地址所隸屬的第一類賬戶地址;對隸屬于相同第一類賬戶地址的第二類賬戶地址所對應(yīng)的網(wǎng)絡(luò)交易進行合并,得到合并后的各個第一類賬戶地址之間的交易記錄。
并且,所述合并模塊75進一步用于:將所述合并后的各個第一類賬戶地址之間的交易記錄提供給該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所對應(yīng)的上級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,由該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所對應(yīng)的上級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點進行記賬;和/或,接收該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所對應(yīng)的下級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點提供的合并后的各個第一類賬戶地址之間的交易記錄并進行記賬。
另外,所述合并模塊具體用于:將下級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點提供的合并后的各個第一類賬戶地址之間的交易記錄記錄在該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的賬本中。
其中,所述合并后的各個第一類賬戶地址之間的交易記錄中包含以下中的至少一個:合并后的各個第一類賬戶地址之間的交易總金額,以及合并前的各筆網(wǎng)絡(luò)交易的交易標識。
其中,所述多個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點進一步包括以下中的至少兩項:
第一層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點、隸屬于第一層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的第二層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點、隸屬于第二層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點、......直至隸屬于第n-1層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的第n層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點;其中,n為大于三的自然數(shù);并且,每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點具有對應(yīng)的上級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和/或下級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點;其中,每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點對應(yīng)的上級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的數(shù)量為一個,每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點對應(yīng)的下級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的數(shù)量為多個;其中,所述作為所述網(wǎng)絡(luò)交易中的第一交易方的第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和作為所述網(wǎng)絡(luò)交易中的第二交易方的第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點為至少兩個相同層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點;或者,所述作為所述網(wǎng)絡(luò)交易中的第一交易方的第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和作為所述網(wǎng)絡(luò)交易中的第二交易方的第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點為至少兩個不同層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點;并且,所述多個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點進一步包括:與所述網(wǎng)絡(luò)交易無關(guān)的第三區(qū)塊鏈網(wǎng)絡(luò)節(jié)點。
另外,上述共識模塊進一步用于:確定與所述網(wǎng)絡(luò)交易相關(guān)的全部區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,將所述全部區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中除所述第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點之外的其他區(qū)塊鏈網(wǎng)絡(luò)節(jié)點確定為第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點;向所述第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點發(fā)送共識發(fā)起消息,以供所述第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點根據(jù)所述共識發(fā)起消息與所述第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點建立連接,并與所述第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點聯(lián)合共識;其中,所述第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點與所述第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點組成臨時共識網(wǎng)絡(luò),所述臨時共識網(wǎng)絡(luò)內(nèi)部的每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點分別與該臨時共識網(wǎng)絡(luò)內(nèi)部的其他區(qū)塊鏈網(wǎng)絡(luò)節(jié)點相連;其中,所述第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的數(shù)量為一個或多個;并且,所述臨時共識網(wǎng)絡(luò)進一步包含至少一個用于連通各個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的消息網(wǎng)絡(luò)節(jié)點。
上述各個模塊的具體結(jié)構(gòu)和工作原理可參照上文中相應(yīng)部分的描述,此處不再贅述,另外,本領(lǐng)域技術(shù)人員可以將上述模塊拆分為更多的模塊,或合并為更少的模塊,本發(fā)明對此不做限制。
綜上所述,本發(fā)明提出了區(qū)塊鏈的分層和跨鏈架構(gòu),將系統(tǒng)內(nèi)的交易分成分布式區(qū)塊鏈中多個區(qū)塊鏈的鏈內(nèi)交易、跨鏈交易。同時,引入消息路由網(wǎng)絡(luò),由消息路由網(wǎng)絡(luò)解決跨鏈通信以及復雜網(wǎng)絡(luò)的聯(lián)通問題。通過上述方式,本發(fā)明至少具備如下優(yōu)勢:
1、每一筆交易僅由區(qū)塊鏈系統(tǒng)中直接參與的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點進行共識和直接記賬,其他區(qū)塊鏈網(wǎng)絡(luò)節(jié)點不參與,降了了整個區(qū)塊鏈系統(tǒng)的消耗,提高了整個區(qū)塊鏈系統(tǒng)的處理性能。
2、由不同區(qū)塊鏈網(wǎng)絡(luò)節(jié)點參與的交易可以由不同的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點并發(fā)共識、獨立記賬,由于無關(guān)區(qū)塊鏈(區(qū)塊鏈為上文提到的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的簡稱)不需參與共識、記賬,因此,涉及不同區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的多筆交易可以同時進行,從而使整個系統(tǒng)內(nèi)的共識實現(xiàn)了并發(fā),提高了整個區(qū)塊鏈系統(tǒng)的處理性能。并且,當系統(tǒng)規(guī)模越大時,性能提升越顯著。
3、共識達成的交易會在共識參與方的賬本里記賬,無關(guān)區(qū)塊鏈不記賬,將區(qū)塊鏈系統(tǒng)的大賬本拆分為多個區(qū)塊鏈獨立維護的小賬本,提高了整個區(qū)塊鏈的處理性能,提高了區(qū)塊鏈的賬本性能。
4、通過消息網(wǎng)絡(luò),提高了大型區(qū)塊鏈系統(tǒng)的共識能力,降低了共識的網(wǎng)絡(luò)消耗和時延,提高了整個系統(tǒng)的處理能力。而且,通過消息網(wǎng)絡(luò),使區(qū)塊鏈系統(tǒng)能夠部署在無法點對點互聯(lián)的場景下。
在此提供的算法和顯示不與任何特定計算機、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當明白,可以利用各種編程語言實現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實施方式。
在此處所提供的說明書中,說明了大量具體細節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細節(jié)的情況下實踐。在一些實例中,并未詳細示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。
類似地,應(yīng)當理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循具體實施方式的權(quán)利要求書由此明確地并入該具體實施方式,其中每個權(quán)利要求本身都作為本發(fā)明的單獨實施例。
本領(lǐng)域那些技術(shù)人員可以理解,可以對實施例中的設(shè)備中的模塊進行自適應(yīng)性地改變并且把它們設(shè)置在與該實施例不同的一個或多個設(shè)備中??梢园褜嵤├械哪K或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在下面的權(quán)利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(dsp)來實現(xiàn)根據(jù)本發(fā)明實施例的基于區(qū)塊鏈系統(tǒng)的網(wǎng)絡(luò)交易裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計算機程序和計算機程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
應(yīng)該注意的是上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計出替換實施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當編程的計算機來實現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。
本發(fā)明提供了a1、一種基于區(qū)塊鏈系統(tǒng)的網(wǎng)絡(luò)交易方法,其中,所述區(qū)塊鏈系統(tǒng)包括多個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,且所述多個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中至少包括:作為所述網(wǎng)絡(luò)交易中的第一交易方的第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,以及作為所述網(wǎng)絡(luò)交易中的第二交易方的第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,所述方法包括:
所述第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點針對所述網(wǎng)絡(luò)交易生成對應(yīng)的交易信息;
將所述交易信息發(fā)送給作為所述網(wǎng)絡(luò)交易中的第二交易方的第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點;
所述第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和所述第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點采用共識算法對所述交易信息達成一致;
所述第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和所述第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點對達成一致的交易信息對應(yīng)的網(wǎng)絡(luò)交易同步記賬。
a2、根據(jù)a1所述的方法,其中,所述第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和所述第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點對達成一致的交易信息對應(yīng)的網(wǎng)絡(luò)交易同步記賬的步驟具體包括:
所述第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點將所述網(wǎng)絡(luò)交易的交易賬目記錄在所述第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中,且所述第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點將所述網(wǎng)絡(luò)交易的交易賬目同步記錄在所述第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中。
a3、根據(jù)a1或a2所述的方法,其中,所述第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點針對所述網(wǎng)絡(luò)交易生成對應(yīng)的交易信息的步驟之前,進一步包括:
所述第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點確定與所述網(wǎng)絡(luò)交易相關(guān)的全部區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,將所述全部區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中除所述第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點之外的其他區(qū)塊鏈網(wǎng)絡(luò)節(jié)點確定為第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點;所述第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點向所述第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點發(fā)送共識發(fā)起消息,以供所述第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點根據(jù)所述共識發(fā)起消息與所述第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點組成臨時共識網(wǎng)絡(luò);
則所述交易信息通過所述臨時共識網(wǎng)絡(luò)進行傳輸,且所述第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和所述第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點采用共識算法對所述交易信息達成一致的步驟具體包括:所述第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和所述第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點通過所述臨時共識網(wǎng)絡(luò),采用共識算法對所述交易信息達成一致。
a4、根據(jù)a3所述的方法,其中,所述臨時共識網(wǎng)絡(luò)內(nèi)部的每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點分別與該臨時共識網(wǎng)絡(luò)內(nèi)部的其他區(qū)塊鏈網(wǎng)絡(luò)節(jié)點相連;并且,所述臨時共識網(wǎng)絡(luò)中進一步包含至少一個消息網(wǎng)絡(luò)節(jié)點;
則將所述交易信息發(fā)送給作為所述網(wǎng)絡(luò)交易中的第二交易方的第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的步驟具體包括:通過至少一個消息網(wǎng)絡(luò)節(jié)點將所述交易信息發(fā)送給作為所述網(wǎng)絡(luò)交易中的第二交易方的第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點。
a5、根據(jù)a1-4任一所述的方法,其中,所述第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的數(shù)量為一個或多個;且所述多個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中進一步包括:與所述網(wǎng)絡(luò)交易無關(guān)的第三區(qū)塊鏈網(wǎng)絡(luò)節(jié)點。
a6、根據(jù)a1-5任一所述的方法,其中,每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點對應(yīng)于一個第一類賬戶地址,用于標識該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所對應(yīng)的賬戶;且每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點對應(yīng)于多個第二類賬戶地址,其中,所述多個第二類賬戶地址隸屬于該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點對應(yīng)的第一類賬戶地址,且每個第二類賬戶地址分別用于標識該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所對應(yīng)的客戶端或下級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所對應(yīng)的賬戶;
則所述方法進一步包括步驟:
各個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點分別獲取由該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點作為第一交易方或第二交易方的全部網(wǎng)絡(luò)交易的交易帳目;確定所述全部網(wǎng)絡(luò)交易的交易帳目中的每筆網(wǎng)絡(luò)交易所對應(yīng)的第二類賬戶地址以及每個第二類賬戶地址所隸屬的第一類賬戶地址;對隸屬于相同第一類賬戶地址的第二類賬戶地址所對應(yīng)的網(wǎng)絡(luò)交易進行合并,得到合并后的各個第一類賬戶地址之間的交易記錄。
a7、根據(jù)a6所述的方法,其中,所述得到合并后的各個第一類賬戶地址之間的交易記錄的步驟之后,進一步包括步驟:
該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點將所述合并后的各個第一類賬戶地址之間的交易記錄提供給該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所對應(yīng)的上級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,由該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所對應(yīng)的上級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點進行記賬;和/或,
接收該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所對應(yīng)的下級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點提供的合并后的各個第一類賬戶地址之間的交易記錄并進行記賬。
a8、根據(jù)a7所述的方法,其中,所述該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所對應(yīng)的上級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點進行記賬的步驟具體包括:該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所對應(yīng)的上級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點將所述合并后的各個第一類賬戶地址之間的交易記錄記錄在該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所對應(yīng)的上級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的賬本中;和/或,
所述接收該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所對應(yīng)的下級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點提供的合并后的各個第一類賬戶地址之間的交易記錄并進行記賬的步驟具體包括:
該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點將下級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點提供的合并后的各個第一類賬戶地址之間的交易記錄記錄在該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的賬本中。
a9、根據(jù)a6-8任一所述的方法,其中,所述合并后的各個第一類賬戶地址之間的交易記錄中包含以下中的至少一個:
合并后的各個第一類賬戶地址之間的交易總金額,以及合并前的各筆網(wǎng)絡(luò)交易的交易標識。
a10、根據(jù)a1-9任一所述的方法,其中,所述多個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點進一步包括以下中的至少兩項:
第一層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點、隸屬于第一層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的第二層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點、隸屬于第二層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點、......直至隸屬于第n-1層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的第n層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點;其中,n為大于三的自然數(shù);
并且,每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點具有對應(yīng)的上級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和/或下級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點;其中,每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點對應(yīng)的上級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的數(shù)量為一個,每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點對應(yīng)的下級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的數(shù)量為多個;
其中,所述作為所述網(wǎng)絡(luò)交易中的第一交易方的第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和作為所述網(wǎng)絡(luò)交易中的第二交易方的第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點為至少兩個相同層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點;或者,所述作為所述網(wǎng)絡(luò)交易中的第一交易方的第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和作為所述網(wǎng)絡(luò)交易中的第二交易方的第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點為至少兩個不同層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點。
本發(fā)明還提供了b11、一種基于區(qū)塊鏈系統(tǒng)的網(wǎng)絡(luò)交易裝置,其中,所述區(qū)塊鏈系統(tǒng)包括多個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,且所述多個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點至少包括:作為所述網(wǎng)絡(luò)交易中的第一交易方的第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,以及作為所述網(wǎng)絡(luò)交易中的第二交易方的第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,所述裝置設(shè)置在所述第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中,且所述裝置包括:
交易信息生成模塊,用于針對所述網(wǎng)絡(luò)交易生成對應(yīng)的交易信息;
發(fā)送模塊,用于將所述交易信息發(fā)送給作為所述網(wǎng)絡(luò)交易中的第二交易方的第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點;
共識模塊,用于和所述第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點采用共識算法對所述交易信息達成一致;
記賬模塊,用于和所述第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點對達成一致的交易信息對應(yīng)的網(wǎng)絡(luò)交易同步記賬。
b12、根據(jù)b11所述的裝置,其中,所述記賬模塊具體用于:將所述網(wǎng)絡(luò)交易的交易賬目記錄在所述第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的賬本中。
b13、根據(jù)b11或12所述的裝置,其中,所述交易信息生成模塊進一步用于:確定與所述網(wǎng)絡(luò)交易相關(guān)的全部區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,將所述全部區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中除所述第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點之外的其他區(qū)塊鏈網(wǎng)絡(luò)節(jié)點確定為第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點;向所述第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點發(fā)送共識發(fā)起消息,以供所述第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點根據(jù)所述共識發(fā)起消息與所述第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點組成臨時共識網(wǎng)絡(luò)。
b14、根據(jù)b11-13任一所述的裝置,其中,所述臨時共識網(wǎng)絡(luò)內(nèi)部的每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點分別與該臨時共識網(wǎng)絡(luò)內(nèi)部的其他區(qū)塊鏈網(wǎng)絡(luò)節(jié)點相連;并且,所述臨時共識網(wǎng)絡(luò)中進一步包含至少一個消息網(wǎng)絡(luò)節(jié)點;
則所述發(fā)送模塊具體用于:通過至少一個消息網(wǎng)絡(luò)節(jié)點將所述交易信息發(fā)送給作為所述網(wǎng)絡(luò)交易中的第二交易方的第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點。
b15、根據(jù)b11-14任一所述的裝置,其中,所述第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的數(shù)量為一個或多個;且所述多個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中進一步包括:與所述網(wǎng)絡(luò)交易無關(guān)的第三區(qū)塊鏈網(wǎng)絡(luò)節(jié)點。
b16、根據(jù)b11-15任一所述的裝置,其中,每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點對應(yīng)于一個第一類賬戶地址,用于標識該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所對應(yīng)的賬戶;且每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點對應(yīng)于多個第二類賬戶地址,其中,所述多個第二類賬戶地址隸屬于該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點對應(yīng)的第一類賬戶地址,且每個第二類賬戶地址分別用于標識該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所對應(yīng)的客戶端或下級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所對應(yīng)的賬戶;
則所述裝置進一步包括:
合并模塊,用于獲取由該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點作為第一交易方或第二交易方的全部網(wǎng)絡(luò)交易的交易帳目;確定所述全部網(wǎng)絡(luò)交易的交易帳目中的每筆網(wǎng)絡(luò)交易所對應(yīng)的第二類賬戶地址以及每個第二類賬戶地址所隸屬的第一類賬戶地址;對隸屬于相同第一類賬戶地址的第二類賬戶地址所對應(yīng)的網(wǎng)絡(luò)交易進行合并,得到合并后的各個第一類賬戶地址之間的交易記錄。
b17、根據(jù)b16所述的裝置,其中,所述合并模塊進一步用于:將所述合并后的各個第一類賬戶地址之間的交易記錄提供給該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所對應(yīng)的上級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,由該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所對應(yīng)的上級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點進行記賬;和/或,
接收該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點所對應(yīng)的下級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點提供的合并后的各個第一類賬戶地址之間的交易記錄并進行記賬。
b18、根據(jù)b17所述的裝置,其中,所述合并模塊具體用于:將下級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點提供的合并后的各個第一類賬戶地址之間的交易記錄記錄在該區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的賬本中。
b19、根據(jù)b16-18任一所述的裝置,其中,所述合并后的各個第一類賬戶地址之間的交易記錄中包含以下中的至少一個:
合并后的各個第一類賬戶地址之間的交易總金額,以及合并前的各筆網(wǎng)絡(luò)交易的交易標識。
b20、根據(jù)b11-19任一所述的裝置,其中,所述多個層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點進一步包括以下中的至少兩項:
第一層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點、隸屬于第一層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的第二層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點、隸屬于第二層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的第三層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點、......直至隸屬于第n-1層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的第n層級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點;其中,n為大于三的自然數(shù);
并且,每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點具有對應(yīng)的上級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和/或下級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點;其中,每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點對應(yīng)的上級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的數(shù)量為一個,每個區(qū)塊鏈網(wǎng)絡(luò)節(jié)點對應(yīng)的下級區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的數(shù)量為多個;
其中,所述作為所述網(wǎng)絡(luò)交易中的第一交易方的第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和作為所述網(wǎng)絡(luò)交易中的第二交易方的第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點為至少兩個相同層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點;或者,所述作為所述網(wǎng)絡(luò)交易中的第一交易方的第一區(qū)塊鏈網(wǎng)絡(luò)節(jié)點和作為所述網(wǎng)絡(luò)交易中的第二交易方的第二區(qū)塊鏈網(wǎng)絡(luò)節(jié)點為至少兩個不同層級的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點。