国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于區(qū)塊鏈的智能服務(wù)交易跨鏈服務(wù)框架與通信機制

2021-06-30 05:45:42康博涵章寧朱建明
關(guān)鍵詞:網(wǎng)關(guān)基站區(qū)塊

康博涵,章寧,朱建明

基于區(qū)塊鏈的智能服務(wù)交易跨鏈服務(wù)框架與通信機制

康博涵,章寧,朱建明

(中央財經(jīng)大學(xué)信息學(xué)院,北京 100081)

由于不同區(qū)塊鏈上的區(qū)塊鏈服務(wù)間缺乏有效通信機制,鏈與鏈之間難以形成有效互聯(lián)互通。在智能服務(wù)交易過程中,交易主客體之間不僅僅是數(shù)據(jù)資產(chǎn)的單項轉(zhuǎn)移,而且其服務(wù)范圍擴展涵蓋到更為廣闊的數(shù)字資產(chǎn)轉(zhuǎn)移場景。設(shè)計一種智能服務(wù)交易的跨鏈通信服務(wù)框架,并采用基于組件式、模塊化設(shè)計,使智能服務(wù)交易主客體較為容易地接入服務(wù)框架,實現(xiàn)跨鏈可擴展性;提出適用于智能服務(wù)交易的三階段跨鏈通信機制,保證智能服務(wù)交易跨鏈生態(tài)下的原子性和一致性。

區(qū)塊鏈;智能服務(wù)交易;跨鏈通信;通信機制

1 引言

隨著區(qū)塊鏈底層技術(shù)的快速突破和發(fā)展,越來越多的企業(yè)積極結(jié)合其業(yè)務(wù)需求,加速融入?yún)^(qū)塊鏈生態(tài),并逐步在跨境支付、供應(yīng)鏈金融、電子醫(yī)療、物聯(lián)網(wǎng)、防偽溯源等場景展開落地與應(yīng)用[1-5]。然而,大多數(shù)的區(qū)塊鏈應(yīng)用項目是由不同的企業(yè)根據(jù)自身的需求開發(fā),這些異構(gòu)區(qū)塊鏈網(wǎng)絡(luò)之間無法進(jìn)行互聯(lián)互通,位于不同區(qū)塊鏈上的服務(wù)缺乏通信機制,因此逐漸產(chǎn)生對不同區(qū)塊鏈的跨鏈需求[6]??珂溂夹g(shù)的關(guān)鍵在于保障跨鏈交易的真實性、有效性和原子性,現(xiàn)有主流跨鏈技術(shù)主要分為公證人機制、中繼/側(cè)鏈模式、哈希鎖定和分布式密鑰控制。表1對這4種跨鏈機制的實現(xiàn)原理和優(yōu)缺點進(jìn)行了簡要比較。

公證人機制是一種弱中心化的跨鏈項目解決方案[7]。公證人是交易雙方選舉一個或一組具有較高可信度的節(jié)點,對不同區(qū)塊鏈上的交易事務(wù)進(jìn)行證明和驗證。公證人機制最大的優(yōu)點是實現(xiàn)原理簡單且無須復(fù)雜工作量證明,但存在中心化公證人機制的缺點。目前,有學(xué)者提出了多重簽名公證人機制,在交易時隨機選取一部分公證人利用密碼學(xué)技術(shù)進(jìn)行集體簽名,從而弱化中心化風(fēng)險。公證人機制的代表方案主要有Ripple團隊提出的Interledger項目。Interledger協(xié)議允許兩個不同的區(qū)塊鏈系統(tǒng)通過第三方“連接器”來實現(xiàn)雙方的價值、信息的交互和資產(chǎn)的轉(zhuǎn)移。Wang等[8]提出了區(qū)塊鏈路由器的概念,該路由器可根據(jù)通信協(xié)議動態(tài)分析并傳輸通信請求,維護區(qū)塊鏈網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),實現(xiàn)鏈間通信。文獻(xiàn)[9]建立了一種由數(shù)據(jù)層、網(wǎng)絡(luò)層、共識層、契約層和應(yīng)用層構(gòu)成的新型體系結(jié)構(gòu),提供對多個異構(gòu)區(qū)塊鏈之間的互操作性。

中繼(側(cè)鏈)模式采用第三方媒介充當(dāng)客戶鏈的中繼器,將跨鏈子交易的區(qū)塊中繼至相應(yīng)的區(qū)塊鏈上。中繼模式與公證人模式的區(qū)別在于在該模式下,第三方媒介僅負(fù)責(zé)數(shù)據(jù)收集,而交易的確認(rèn)和驗證由目標(biāo)鏈負(fù)責(zé),Cosmos、Polkadot、BTC-Relay等是該機制的代表項目。Cosmos[10]提出了區(qū)塊鏈間通信協(xié)議,通過在區(qū)塊鏈內(nèi)集成該協(xié)議,即可向目標(biāo)鏈發(fā)送最新的區(qū)塊頭部信息、交易信息及其 Merkle證明,從而達(dá)到鏈間通信的目的。Polkadot[11]提供中繼鏈作為眾多異構(gòu)區(qū)塊鏈系統(tǒng)鏈接的橋梁,中繼鏈的作用類似于一個網(wǎng)關(guān),統(tǒng)一管理共識安全和數(shù)據(jù)交互。BTC-Realy[12]是一種以以太坊為側(cè)鏈、比特幣為主鏈,并通過智能合約實現(xiàn)比特幣與以太坊連接的技術(shù)。此外,Kan等[13]以及Chen等[14]提出了交互式多區(qū)塊鏈架構(gòu)及跨鏈協(xié)議,該架構(gòu)通過創(chuàng)建多鏈動態(tài)網(wǎng)絡(luò)實現(xiàn)跨鏈通信,該協(xié)議可為交易提供原子性和一致性保證。葉少杰等[15]提出了一種通用的鏈間消息傳輸協(xié)議,并實現(xiàn)了同時支持同構(gòu)及異構(gòu)區(qū)塊鏈間交易的跨鏈技術(shù)示范項目平臺BitXHub;Wang等[16]通過在區(qū)塊鏈上使用由心跳機制擴展的兩階段提交協(xié)議,提出一種無須集中式組件、可在多區(qū)塊鏈上進(jìn)行交易的分布式提交協(xié)議。

哈希鎖定是一種實現(xiàn)異鏈間資產(chǎn)交換的跨鏈技術(shù),它要求交易的中間人和接收者在給定時間內(nèi)給出正確哈希值。哈希時間鎖定機制的核心思想是在規(guī)定時間內(nèi)提供與哈希值對應(yīng)的原內(nèi)容解凍資產(chǎn),代表項目為閃電網(wǎng)絡(luò)?HTLC。文獻(xiàn)[17]提出了一種哈希時間契約鎖(HTDLC, hashed timed delylock contract)協(xié)議,通過引入違約鎖,從博弈論的角度降低了單方違約的可能性,減少單方違約造成的時間成本浪費。文獻(xiàn)[18]提出了一種基于哈希鎖定的多方跨鏈協(xié)議,在哈希時間鎖定技術(shù)的基礎(chǔ)上,通過使用自動撮合交易算法解決多方跨鏈資產(chǎn)轉(zhuǎn)移和清結(jié)算的問題。文獻(xiàn)[19]針對HTLC會將支付路徑公開的缺點,從隱私保護的角度對其進(jìn)行改進(jìn),提出了變色龍哈希時間鎖定協(xié)議。

表1 區(qū)塊鏈跨鏈機制介紹

分布式私鑰控制是將數(shù)字資產(chǎn)的所有權(quán)和使用權(quán)分離來降低中心化的風(fēng)險。分布式私鑰控制的原理是將數(shù)字資產(chǎn)的私鑰分片并發(fā)送給分布式節(jié)點進(jìn)行保存,將原鏈上的數(shù)字資產(chǎn)映射到跨鏈上,在跨鏈上根據(jù)交易信息部署新的智能合約,從而創(chuàng)建出新的數(shù)字資產(chǎn),完成數(shù)字資產(chǎn)的跨鏈轉(zhuǎn)移。該技術(shù)的代表項目是Fusion。Fusion[20]項目旨在構(gòu)建用于加密金融應(yīng)用運行的基礎(chǔ)平臺,通過該平臺,多種數(shù)字貨幣可通過智能合約自由交互,實現(xiàn)價值互通。

綜上所述,跨鏈技術(shù)作為連接各區(qū)塊鏈的橋梁,其主要應(yīng)用是實現(xiàn)不同區(qū)塊鏈之間的資產(chǎn)原子性交易、信息互通、服務(wù)互補等功能。目前,由于不同領(lǐng)域的區(qū)塊鏈服務(wù)沒有部署在同一個區(qū)塊鏈底層基礎(chǔ)設(shè)施上,且現(xiàn)有項目及技術(shù)對這些基礎(chǔ)設(shè)施間仍然缺乏相互通信的能力,故存在一定的局限性。本文基于現(xiàn)有研究,在智能服務(wù)交易的背景下,提出了可擴展的跨鏈數(shù)字資產(chǎn)模型架構(gòu),并針對可信跨鏈通道的構(gòu)建方式進(jìn)行研究,具體如下。

(1)針對智能交易服務(wù)的特點,設(shè)計一種交互式跨鏈通信核心流程和框架,該框架對跨鏈過程中的基礎(chǔ)設(shè)施采用組件式、模塊化設(shè)計,可通過這些模塊較為容易地接入服務(wù)框架。

(2)在跨鏈通信服務(wù)框架基礎(chǔ)上,設(shè)計了適用于區(qū)塊鏈服務(wù)跨鏈需求的跨鏈通信機制,實現(xiàn)數(shù)字資產(chǎn)轉(zhuǎn)移和信息互通,杜絕了中間公證人作惡的可能性,保障跨鏈交易的有效性。

(3)設(shè)計通信報文標(biāo)準(zhǔn)協(xié)議,并提出一種基于區(qū)塊鏈的三階段事務(wù)提交驗證機制,保證跨鏈交易的原子性。

2 跨鏈通信服務(wù)框架

為了便于區(qū)塊鏈服務(wù)實施跨鏈通信,實現(xiàn)區(qū)塊鏈服務(wù)的跨鏈需求,本文提出了跨鏈通信服務(wù)框架,該框架的通信整體架構(gòu)是一個多層次的結(jié)構(gòu)框架,采用組件式、模塊化設(shè)計,降低了各功能的耦合性,如圖1所示。

圖1 跨鏈通信服務(wù)框架

Figure 1 Inter-blockchain communication service architecture

2.1 區(qū)塊鏈架構(gòu)層

不同的區(qū)塊鏈底層實現(xiàn)機制不同,但是核心模塊在于基本數(shù)據(jù)結(jié)構(gòu)、共識和加密算法??珂溕婕暗臄?shù)據(jù)維度包含區(qū)塊、交易、合約、消息等方面,智能服務(wù)交易跨鏈協(xié)議通過提煉通用數(shù)據(jù)結(jié)構(gòu),將跨鏈交易生成標(biāo)準(zhǔn)交易的報文格式。共識機制是區(qū)塊鏈系統(tǒng)中各個節(jié)點達(dá)成一致的策略和方法,根據(jù)系統(tǒng)類型及應(yīng)用場景的不同靈活選取,并封裝在區(qū)塊鏈的共識模塊中;而加密算法封裝在區(qū)塊鏈加密模塊中,區(qū)塊鏈系統(tǒng)通過多種密碼學(xué)原理進(jìn)行數(shù)據(jù)加密及隱私保護。此外,根據(jù)不同的業(yè)務(wù)需求,區(qū)塊鏈架構(gòu)層包含沙箱模塊等其他模塊,用于提供虛擬化隔離的安全容器,為智能合約的執(zhí)行提供運行環(huán)境。

2.2 數(shù)據(jù)服務(wù)層

交易相關(guān)方實體在接入框架時,通過跨鏈核心設(shè)施組件、密碼學(xué)組件和存儲模塊實現(xiàn)跨鏈功能??珂満诵脑O(shè)施組件包含與應(yīng)用鏈唯一對應(yīng)的網(wǎng)關(guān)和基站節(jié)點群模塊。其中,網(wǎng)關(guān)模塊通過PC方式連接到應(yīng)用鏈節(jié)點,監(jiān)聽并對應(yīng)用鏈節(jié)點跨鏈交易進(jìn)行合法性和可信性驗證?;灸K本質(zhì)上是一種連接不同區(qū)塊鏈系統(tǒng)的交互組件,各個基站通過P2P組網(wǎng)的方式組成跨鏈路由網(wǎng)絡(luò)。每個基站會維護全網(wǎng)的分布式哈希路由表,記錄對應(yīng)網(wǎng)關(guān)和應(yīng)用鏈、網(wǎng)關(guān)與基站間的關(guān)聯(lián)關(guān)系。每個基站由權(quán)威機構(gòu)進(jìn)行背書,并通過集群的方式增強可信度。

密碼學(xué)組件為跨鏈應(yīng)用鏈提供了密碼服務(wù)功能。其中,非對稱加密模塊提供了支持橢圓曲線加密算法的密鑰管理工具,可用于快速生成公私鑰對、校驗簽名、解密密文,可在賬戶生成、訪問控制等功能中使用。而哈希加密組件用于標(biāo)準(zhǔn)報文在跨鏈基站路由間的加密傳輸,為數(shù)據(jù)資產(chǎn)交易雙方提供安全加密服務(wù)。而基站和網(wǎng)關(guān)的注冊信息、CA證書、公共參數(shù)等框架相關(guān)信息以及緩存數(shù)據(jù)存儲于存儲模塊。

2.3 鏈間通信層

鏈間通信層包括服務(wù)鏈模塊、鏈間通信模塊和合約管理模塊。其中服務(wù)鏈模塊由基站和所屬網(wǎng)關(guān)共同維護,當(dāng)服務(wù)鏈節(jié)點接收到應(yīng)用鏈發(fā)送的帶有跨鏈合約調(diào)用請求后,首先對其合法性及可信性進(jìn)行驗證,驗證通過后將該合約調(diào)用請求存入本地內(nèi)存池中,并向其他節(jié)點廣播達(dá)成共識。鏈間通信模塊主要包含標(biāo)準(zhǔn)報文交易格式、三階段跨鏈通信協(xié)議和基站分布式路由網(wǎng)絡(luò),保證了跨鏈交易的真實性、有效性和原子性。合約管理模塊由跨鏈交易管理合約、應(yīng)用鏈管理合約和服務(wù)鏈管理合約等智能合約構(gòu)成。

(1)跨鏈交易管理合約由網(wǎng)關(guān)調(diào)用,用于記錄跨鏈交易的全過程,從而實現(xiàn)對跨鏈交易的合法和可信驗證。

(2)應(yīng)用鏈管理合約由應(yīng)用鏈管理員和應(yīng)用鏈節(jié)點調(diào)用,用于創(chuàng)建和管理應(yīng)用鏈信息以及節(jié)點在鏈上的權(quán)限等。

(3)服務(wù)鏈管理合約主要負(fù)責(zé)定義應(yīng)用鏈上標(biāo)準(zhǔn)報文交易格式,以及存儲跨鏈雙方的價值轉(zhuǎn)移規(guī)則。

3 面向智能服務(wù)交易跨鏈通信機制

考慮到跨鏈結(jié)構(gòu)的復(fù)雜度和可擴展性,本文在鏈間通信采用星形拓?fù)浣Y(jié)構(gòu),為所有接入該集群的區(qū)塊鏈提供跨鏈服務(wù),如圖2所示。

(1)應(yīng)用鏈負(fù)責(zé)跨鏈交易的業(yè)務(wù)邏輯。

(2)路由網(wǎng)關(guān)用于應(yīng)用鏈管理以及跨鏈交易的可信驗證與可靠路由。

(3)基站路由網(wǎng)絡(luò)集群擔(dān)任區(qū)塊鏈間收集信息和傳播交易的角色,主要負(fù)責(zé)跨鏈交易智能合約收集以及轉(zhuǎn)發(fā)等任務(wù),以P2P自組網(wǎng)方式實現(xiàn)跨鏈交易在應(yīng)用鏈之間的路由。

基站節(jié)點集群用于對應(yīng)用鏈和中繼鏈關(guān)聯(lián)關(guān)系的管理以及跨鏈交易的可信驗證與可靠路由。一般來說,不同的區(qū)塊鏈之間沒有統(tǒng)一的交易格式。因此,本文設(shè)計一種標(biāo)準(zhǔn)交易報文格式,可自適應(yīng)轉(zhuǎn)換為任意區(qū)塊鏈系統(tǒng)發(fā)起的交易。當(dāng)應(yīng)用鏈的跨鏈交易發(fā)生時通過標(biāo)準(zhǔn)的跨鏈報文進(jìn)行通信,統(tǒng)一標(biāo)準(zhǔn)交易報文數(shù)據(jù)結(jié)構(gòu)如表2所示。

圖2 鏈間通信層拓?fù)浣Y(jié)構(gòu)

Figure 2 Inter-blockchain communication layer topology

表2 標(biāo)準(zhǔn)交易報文數(shù)據(jù)結(jié)構(gòu)

From和To字段分別代表主客體來源鏈和目的鏈的ID,在應(yīng)用鏈向基站注冊時生成。

Index是跨鏈交易的索引,跨鏈交易按其來源鏈ID分別進(jìn)行排序編碼。

Timestamp字段是跨鏈交易的時間標(biāo)識。

Acknowledgement字段為布爾類型,用于目的鏈驗證確認(rèn)收到交易信息。

Content字段為跨鏈調(diào)用的內(nèi)容編碼,支持哈希加密,可由應(yīng)用鏈的業(yè)務(wù)需求確定。

Proof 字段存儲了跨鏈交易合法性證明,為網(wǎng)關(guān)和基站跨鏈驗證引擎提供具體的驗證信息。Proof 字段內(nèi)容根據(jù)來源鏈的不同而不同,具體驗證規(guī)則可通過動態(tài)加載的方式注冊到網(wǎng)關(guān)驗證引擎。

擴展字段Extra可根據(jù)應(yīng)用鏈的業(yè)務(wù)需求進(jìn)行自定義。

本文對來源鏈A中的交易地址1到目的鏈B中地址1的跨鏈交易Transfer用合約函數(shù)義為

本文定義A和B分別是應(yīng)用鏈A和B對應(yīng)的服務(wù)鏈內(nèi)交易,并通過標(biāo)準(zhǔn)跨鏈交易為中介載體進(jìn)行跨鏈傳輸。跨鏈交易的通信過程將應(yīng)用鏈A的交易通過服務(wù)鏈的Package過程封裝為標(biāo)準(zhǔn)跨鏈交易,再通過對應(yīng)目的服務(wù)鏈的Unpackage過程將轉(zhuǎn)換到應(yīng)用鏈B中。

根據(jù)跨鏈通信模型,一次完整的跨鏈交易的交易過程如下。

(1)交易主體向應(yīng)用鏈A發(fā)送指令交易函數(shù)Transfer。

(2)網(wǎng)關(guān)在監(jiān)聽到跨鏈?zhǔn)录?,通過WASM驗證引擎對交易進(jìn)行真實性驗證和合法性驗證。驗證通過后,構(gòu)建Merkle證明及簽名背書,并構(gòu)造proof字段。然后,由網(wǎng)關(guān)封裝成標(biāo)準(zhǔn)跨鏈交易,經(jīng)由服務(wù)鏈節(jié)點合法性驗證并參與共識后,在服務(wù)鏈上構(gòu)建跨鏈交易的記錄,并存儲Merkle證明。

(3)當(dāng)對應(yīng)基站監(jiān)聽到服務(wù)鏈的共識跨鏈?zhǔn)录?,將?jīng)哈希加密的標(biāo)準(zhǔn)報文通過分布式哈希表中繼傳輸?shù)綄?yīng)目的基站,驗證其數(shù)字簽名,并發(fā)送目的服務(wù)鏈節(jié)點進(jìn)行共識。

(4)目的鏈網(wǎng)關(guān)監(jiān)聽到跨鏈?zhǔn)录髮M(jìn)行合法性驗證,之后構(gòu)建Merkle證明并用其私鑰簽名,發(fā)送至應(yīng)用鏈B,服務(wù)鏈節(jié)點經(jīng)合法性驗證并共識后,更新跨鏈交易的狀態(tài)并存儲的Merkle證明,隨后向來源鏈發(fā)送ACK消息進(jìn)行三階段交易原子性確認(rèn)協(xié)議。

4 跨鏈通信服務(wù)協(xié)議

在智能服務(wù)跨鏈交易的應(yīng)用場景中,來源鏈需要確認(rèn)資產(chǎn)交易是否到達(dá)目的鏈。此外,兩個涉及交易的應(yīng)用鏈在完成跨鏈交易事務(wù)后必須具備相同的記賬結(jié)果。為了保證智能服務(wù)交易跨鏈交易過程的原子性和一致性,本文在文獻(xiàn)[13]提出的三階段跨鏈通信協(xié)議基礎(chǔ)上,進(jìn)一步適應(yīng)智能服務(wù)交易跨鏈通信機制的需要,并對該協(xié)議添加可信性證明機制,以滿足交易主客體之間的安全性需求,使交易結(jié)果保持一致。其中,路由網(wǎng)關(guān)充當(dāng)三階段協(xié)議中的協(xié)調(diào)者和驗證者角色,而基站節(jié)點負(fù)責(zé)跨鏈交易協(xié)議下消息中繼傳輸?shù)墓δ?。從Prepare階段起,網(wǎng)關(guān)向全體參與跨鏈?zhǔn)聞?wù)的資源發(fā)起階段性請求,如果任意階段消息返回或驗證失敗,路由網(wǎng)關(guān)就會發(fā)起交易的回滾請求(Roll back),進(jìn)行非法交易的回滾操作,通過這種方式可以在任意階段做出中止交易的確認(rèn)請求。協(xié)議過程描述如圖3所示。

圖3 跨鏈交易成功執(zhí)行步驟

Figure 3 Process of transaction successfully committed

(1)應(yīng)用鏈A發(fā)起跨鏈資產(chǎn)交易A,并向網(wǎng)關(guān)請求調(diào)用Prepare階段,之后A被轉(zhuǎn)發(fā)到與應(yīng)用鏈A耦合的網(wǎng)關(guān)1節(jié)點。

(2)網(wǎng)關(guān)1經(jīng)可信和合法驗證后,將A通過Package過程轉(zhuǎn)換成標(biāo)準(zhǔn)交易報文,在服務(wù)鏈參與共識,并判斷目的鏈地址是否在其管理的應(yīng)用鏈地址列表。如果查詢到目的鏈的注冊證書位于基站管理地址,則執(zhí)行Unpackage過程將轉(zhuǎn)換為B,經(jīng)由網(wǎng)關(guān)發(fā)送到應(yīng)用鏈B中,否則通過基站分布式哈希表(DHT)的方式進(jìn)行尋址,并發(fā)送到目的鏈所關(guān)聯(lián)的基站,之后執(zhí)行驗證、共識和Unpackage過程。

(3)目的鏈B在接收到報文B后進(jìn)入Pre-commit階段,對數(shù)字簽名等進(jìn)行驗證,確認(rèn)交易結(jié)果,并將確認(rèn)結(jié)果ACK1經(jīng)由網(wǎng)關(guān)和中繼基站發(fā)送給應(yīng)用鏈A。

(4)當(dāng)應(yīng)用鏈A收到ACK1的確認(rèn)消息后,申請調(diào)用進(jìn)入自身Commit階段,執(zhí)行Transfer,將交易寫入自身的本地賬本中,并將確認(rèn)消息ACK1發(fā)送給應(yīng)用鏈B。

(5)應(yīng)用鏈B在收到ACK1確認(rèn)消息后,進(jìn)入自身Commit階段并執(zhí)行Transfer合約,交易的最終結(jié)果被記錄到應(yīng)用鏈B的本地賬本。

(6)若應(yīng)用鏈B在Prepare、Pre-commit和Commit任意階段多次未按時接收到消息響應(yīng)或交易驗證失敗,則通過網(wǎng)關(guān)和基站路由向應(yīng)用鏈A發(fā)送ACK=0。

(7)應(yīng)用鏈A在收到ACK=0消息后進(jìn)行跨鏈交易的回滾操作。

所有主客體應(yīng)用鏈之間的交易通信是基于點對點傳輸?shù)模欢邳c對點跨鏈交易事務(wù)的報文傳輸會受到數(shù)據(jù)包丟失、數(shù)據(jù)傳輸錯誤或其他網(wǎng)絡(luò)問題的干擾。為避免網(wǎng)絡(luò)不穩(wěn)定導(dǎo)致報文傳輸交易失敗,本文設(shè)計了一種跨鏈交易超時重傳策略,如圖4所示。

圖4 跨鏈交易超時重傳步驟(Timer=1)

Figure 4 Process of transaction retransmission(Timer=1)

(1)應(yīng)用鏈A在完成Prepare階段和Package過程后,設(shè)置一個Timer。

(2)當(dāng)Timer倒計時至0,如果應(yīng)用鏈A仍然沒有收到目的鏈B的ACK消息響應(yīng),則應(yīng)用鏈A重新發(fā)送跨鏈交易并重置Timer。

(3)應(yīng)用鏈A最多重置三次Timer,如果三次始終沒有收到目的鏈ACK消息響應(yīng),則應(yīng)用鏈A執(zhí)行跨鏈交易的非法交易回滾操作,否則進(jìn)入Commit階段。

5 安全性分析

5.1 智能服務(wù)交易跨鏈協(xié)議的可信性分析

區(qū)塊鏈重要的安全假設(shè)是“每個參與節(jié)點都存在作惡風(fēng)險”,而在此假設(shè)下通過密碼學(xué)和共識算法構(gòu)建區(qū)塊鏈分布式可信環(huán)境。但在跨鏈的生態(tài)環(huán)境下,單個區(qū)塊鏈內(nèi)部的可信環(huán)境無法被其他區(qū)塊鏈所信任,因此需要引入額外的可信證明來實現(xiàn)智能服務(wù)跨鏈的信息交互。智能服務(wù)的跨鏈交易在proof字段中添加了Merkle相關(guān)證明,用于對應(yīng)用鏈傳輸交易和回執(zhí)的可信驗證。本文為網(wǎng)關(guān)設(shè)計了一種高效可插拔的驗證引擎,通過智能合約的方式管理多種驗證規(guī)則,對不同應(yīng)用鏈的交易進(jìn)行合法和可信性檢驗。驗證引擎工作流程分為3個步驟。

(1)協(xié)議解析:協(xié)議解析是驗證引擎內(nèi)部對跨鏈交易的解析。由于所有跨鏈交易都遵循跨鏈標(biāo)準(zhǔn)報文協(xié)議,該步驟可以解析出交易信息和驗證信息作為后續(xù)驗證引擎的輸入。

(2)類型匹配:類型匹配是驗證引擎根據(jù)上述協(xié)議解析步驟解析出來的來源鏈類型,匹配對應(yīng)的驗證規(guī)則腳本。

(3)規(guī)則執(zhí)行:規(guī)則執(zhí)行主要通過WASM虛擬機動態(tài)加載驗證規(guī)則腳本,對跨鏈交易的Proof字段進(jìn)行校驗,保證交易的可信性。

智能服務(wù)交易的跨鏈協(xié)議采用區(qū)塊頭同步設(shè)計,將節(jié)點待跨鏈同步的區(qū)塊頭信息存儲于智能合約。在應(yīng)用鏈接入服務(wù)鏈之前,需要進(jìn)行驗證規(guī)則的編寫和注冊,并由服務(wù)鏈審核后部署到網(wǎng)關(guān)驗證引擎。當(dāng)進(jìn)行跨鏈交互時調(diào)用跨鏈驗證合約的接口,狀態(tài)信息同步者將證明同步給目的鏈網(wǎng)關(guān)后,目的鏈節(jié)點將繼續(xù)處理交易業(yè)務(wù)信息,如圖5所示。

可靠性交互流程具體流程如下。

(1)來源鏈的跨鏈管理合約會為每筆跨鏈交易分配一個自增ID,并將跨鏈交易放入Merkle Tree,而Merkle Root會被放入待跨鏈區(qū)塊的區(qū)塊頭中,完成后將該ID和區(qū)塊高度等信息通過package操作生成標(biāo)準(zhǔn)報文推送至對應(yīng)網(wǎng)關(guān)。

圖5 鏈間交易可靠性交互流程

Figure 5 Inter-blockchain transaction reliability interaction

(2)服務(wù)鏈上基站負(fù)責(zé)監(jiān)聽這些跨鏈?zhǔn)录?,?dāng)監(jiān)聽到一筆跨鏈交易時,網(wǎng)關(guān)節(jié)點根據(jù)ID和區(qū)塊高度到來源鏈上獲取Merkle證明,檢驗報文的Proof字段,并將Merkle證明和自身簽名提交到目的鏈。

(3)目標(biāo)鏈接收到該Merkle證明和網(wǎng)關(guān)的檢驗背書,并將標(biāo)準(zhǔn)報文進(jìn)行Unpackage操作,獲取對應(yīng)的區(qū)塊頭,得到Merkle root并驗證在來源鏈上已完成的跨鏈交易的合法性,然后根據(jù)跨鏈交易的參數(shù),跨合約調(diào)用目標(biāo)鏈上的智能合約,完成目標(biāo)鏈上業(yè)務(wù)信息的處理。

5.2 智能服務(wù)交易跨鏈協(xié)議的可擴展性證明

對于區(qū)塊鏈的可擴展性,有兩個重要的衡量指標(biāo):交易的吞吐量(區(qū)塊鏈單位時間處理交易的數(shù)量)和交易的確認(rèn)時延(交易被打包到區(qū)塊中并被確認(rèn)不可逆的時間)。智能服務(wù)交易跨鏈平臺架構(gòu)的可擴展性表現(xiàn)為隨著接入應(yīng)用鏈數(shù)量的增加以及交易的增多而導(dǎo)致吞吐量和時延的變化情況。本文部署兩條Hyperledger fabric區(qū)塊鏈節(jié)點集群分別作為主客體的來源鏈和目的鏈,并對每條應(yīng)用鏈部署一個跨鏈網(wǎng)關(guān)。通過不斷提高發(fā)起主客體應(yīng)用鏈間資產(chǎn)交易來測試上述性能。不同區(qū)塊鏈集群的峰值吞吐量如圖6所示,不同數(shù)量區(qū)塊鏈集群的交易確認(rèn)時延如表3所示。

圖6 不同區(qū)塊鏈集群的峰值吞吐量

Figure 6 Peak throughput of different IBC clusters

可以看出,當(dāng)系統(tǒng)部署應(yīng)用鏈大于10條時,智能服務(wù)交易跨鏈通信架構(gòu)的吞吐量性能由峰值6 100 TPS顯著下降,其原因是在大規(guī)模集群應(yīng)用鏈上的交易測試采用了基于Hyperledger fabric區(qū)塊鏈內(nèi)置的kafka共識算法,從而導(dǎo)致大量性能開銷。

隨著應(yīng)用鏈集群的增多,智能服務(wù)跨鏈交易的確認(rèn)時延顯著提升。原因在于跨鏈模型中隨著各個不同異構(gòu)或同構(gòu)應(yīng)用鏈的接入,節(jié)點的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)會愈發(fā)復(fù)雜,其中主要體現(xiàn)在對不同交易的proof字段檢驗的開銷。此外,隨著加入的應(yīng)用鏈不斷增多,系統(tǒng)對基站分布式網(wǎng)絡(luò)傳輸?shù)姆€(wěn)定性提出了更高的要求。

表3 不同數(shù)量區(qū)塊鏈集群的交易確認(rèn)時延

5.3 智能服務(wù)交易跨鏈協(xié)議的真實性分析

真實性指互不信任的區(qū)塊鏈間構(gòu)建去信任的跨鏈子交易??珂溎P偷目珂溄灰坠芾砗霞s由基站和網(wǎng)關(guān)調(diào)用,用于記錄跨鏈交易的全過程,從而實現(xiàn)對跨鏈交易的可信驗證。當(dāng)服務(wù)鏈在接收到由網(wǎng)關(guān)發(fā)送的合約調(diào)用請求時,服務(wù)鏈節(jié)點首先對網(wǎng)關(guān)的身份及其提交的跨鏈子交易真實性進(jìn)行驗證,之后,根據(jù)子交易的內(nèi)容和當(dāng)前其涉及的跨鏈交易狀態(tài)對該子交易的合法性進(jìn)行二次驗證,驗證通過后廣播至其他服務(wù)鏈節(jié)點做相同的驗證操作并等待共識,共識通過后即可根據(jù)合約調(diào)用請求修改狀態(tài)機的狀態(tài)。

6 結(jié)束語

本文提出了一種智能服務(wù)交易跨鏈通信核心流程和框架,并在跨鏈通信服務(wù)框架基礎(chǔ)上,設(shè)計了適用于區(qū)塊鏈服務(wù)跨鏈需求的跨鏈通信機制,提出了面向區(qū)塊鏈服務(wù)的跨鏈通信服務(wù)框架;研究和設(shè)計了跨鏈通信服務(wù)框架中各模塊的功能和工作流程,設(shè)計了跨鏈用戶與跨鏈通信服務(wù)框架的基本交互邏輯;通過區(qū)塊鏈的通用跨鏈協(xié)議和三階段事務(wù)提交驗證機制,保障跨鏈交易的可信性、有效性和原子性。未來研究可對服務(wù)鏈共識機制等進(jìn)行優(yōu)化以達(dá)到提高服務(wù)鏈的吞吐量的目的,以及對中繼基站的功能、模塊、激勵措施等進(jìn)行進(jìn)一步的研究。

[1] AHLUWALIA S, MAHT R V, GUERRERO M D. Blockchain technology and startup financing: a transaction cost economics perspective[J]. Technological Forcasting and Social Change, 2020, (151): 1-6.

[2] SUN B L, LYU Z H, LI Q. Obstetrics nursing and medical health system based on blockchain technology[J]. Journal of Healthcare Engineering, 2021(2):1-11.

[3] LI X H, WANG D B, LI M L. Convenience analysis of sustainable E-agriculture based on blockchain technology[J]. Journal of Cleaner Production, 2020(271).

[4] 譚海波, 周桐, 趙赫, 等. 基于區(qū)塊鏈的檔案數(shù)據(jù)保護與共享方法[J]. 軟件學(xué)報, 2019,30(9):2620-2635.

TAN H B, ZHOU T, ZHAO H, et al. Archival data protection and sharing method based on blockchain[J]. Journal of Software, 2019, 30(9): 2620-2635.

[5] 何正源, 段田田, 張穎, 等. 物聯(lián)網(wǎng)中區(qū)塊鏈技術(shù)的應(yīng)用與挑戰(zhàn)[J].應(yīng)用科學(xué)學(xué)報, 2020, 38(1): 22-33.

HE Z Y, DUAN T T, ZHANG Y, et al. Blockchain in internet of things: application and challenges[J]. Journal of Applied Sciences, 2020, 38(1): 22-33.

[6] 李芳, 李卓然, 趙赫. 區(qū)塊鏈跨鏈技術(shù)進(jìn)展研究[J]. 軟件學(xué)報, 2019, 30(6): 1649-1660.

LI F, LI Z R, ZHAO H. Research on the progress in cross-chain technology of blockchains[J]. Journal of Software, 2019, 30(6): 1649-1660.

[7] 劉海, 李興華, 雒彬, 等. 基于區(qū)塊鏈的分布式K匿名位置隱私保護方案[J]. 計算機學(xué)報, 2019(5): 942-960.

LIU H, LI X H, LUO B, et al. Distributed K-anonymity location privacy protection scheme based on blockchain[J].Chinese Journal of Computers, 2019(5): 942-960.

[8] WANG H, CEN Y, LI X. Blockchain router: a cross-chain communication protocol[C]//Proceedings of the 6th International Conference on Informatics, Environment, Energy and Applications. 2017.

[9] JIN H, DAI X. Towards a novel architecture for enabling interoperability amongst multiple blockchains[C]//IEEE 38th International Conference on Distributed Computing Systems. 2018.

[10] KWON J, BUCHMAN E. A network of distributed ledgers cosmos[EB].

[11] WOOD G. Polkadot: vision for a heterogeneous multi-chain framework[EB].

[12] CONSENSYS. BTC relay’s documentation[EB].

[13] KAN L, WEI Y, MUHAMMAD A H, et al. A multiple blockchains architecture on inter-blockchain communication[C]//2018 IEEE International Conference on Software Quality, Reliability and Security Companion (QRS-C). 2018: 139-145.

[14] CHEN Z, ZHUO Y U, DUAN Z, et al. Inter-blockchain communication[J]. DEStech Transactions on Computer Science and Engineering, 2017 (cst).

[15] 葉少杰, 汪小益, 徐才巢, 等. BitXHub:基于側(cè)鏈中繼的異構(gòu)區(qū)塊鏈互操作平臺[J]. 計算機科學(xué), 2020, 47(6): 294-302.

YE S J, WANG X Y, XU C C, et al. BitXHub: side-relay chain based heterogeneous blockchain interoperable platform[J]. Computer Science, 2020, 47(6): 294-302.

[16] WANG X, TAWOSE O T, YAN F, et al. Distributed nonblocking commit protocols for many-party cross-blockchain transactions[J]. arXiv preprint arXiv: 2001.01174, 2020.

[17] 魏昂. 一種改進(jìn)的區(qū)塊鏈跨鏈技術(shù)[J]. 網(wǎng)絡(luò)空間安全, 2019, 10(6): 40-45.

WEI A. An improved cross-chain technology of blockchain[J]. Cyberspace Security, 2019, 10(6): 40-45.

[18] 張詩童, 秦波, 鄭海彬. 基于哈希鎖定的多方跨鏈協(xié)議研究[J]. 網(wǎng)絡(luò)空間安全, 2018, 9(11): 57-62.

ZHANG S T, QIN B, ZHENG H B. Research on the protocol of multiple cross-chains based on the hash lock[J]. Cyberspace Security, 2018, 9(11): 57-62.

[19] YU B, KERMANSHAH S K, SAKZAD A, et al. Chameleon Hash time-lock contract for privacy preserving payment channel networks[C]//2019 International Conference on Provable Security. 2019: 303-318.

[20] Fusion[EB].

Research on inter-blockchain service framework and communication mechanism based on smart service transaction

KANG Bohan, ZHANG Ning, ZHU Jianming

School of Information, Central University of Finance and Economics, Beijing 100081, China

Due to the lack of communication mechanism between inter-blockchain services, it is difficult to formulate effective interconnection between different blockchain. Under the smart services ecosystem, two parties of the transaction not only execute the single transaction of data assets, but also extend the scope of their services to cover a wider range of digital assets transfer scenarios. An inter-blockchain communication(IBC) framework for smart service transaction is designed. With component-based and modular design, it makes flexible for the subject and object application of smart service transaction to access IBC framework and thus promote inter-blockchain scalability. Finally, a three-phrase inter-blockchain communication protocol for smart service transaction is proposed to ensure the atomicity and consistency of inter-blockchain ecosystem.

blockchain, smart services ecosystem, inter-blockchain communication, communication mechanism

TP393

A

10.11959/j.issn.2096?109x.2021062

2021?03?06;

2021?05?27

康博涵,kangbh.postgra@qq.com.

國家重點研發(fā)計劃(2017YFB1400700)

The National Key R&D Program of China (2017YFB1400700)

康博涵, 章寧, 朱建明. 基于區(qū)塊鏈的智能服務(wù)交易跨鏈服務(wù)框架與通信機制[J]. 網(wǎng)絡(luò)與信息安全學(xué)報, 2021, 7(3): 105-114.

KANG B H, ZHANG N, ZHU J M. Research on inter-blockchain service framework and communication mechanism based on smart service transaction[J]. Chinese Journal of Network and Information Security, 2021, 7(3): 105-114.

康博涵(1993?),男,河北石家莊人,中央財經(jīng)大學(xué)博士生,主要研究方向為區(qū)塊鏈應(yīng)用、數(shù)字經(jīng)濟。

章寧(1975?),女,江西臨川人,中央財經(jīng)大學(xué)教授、博士生導(dǎo)師,主要研究方向為金融科技、管理信息系統(tǒng)。

朱建明(1965?),男,山西太原人,中央財經(jīng)大學(xué)教授、博士生導(dǎo)師,主要研究方向為信息安全、區(qū)塊鏈技術(shù)。

猜你喜歡
網(wǎng)關(guān)基站區(qū)塊
區(qū)塊鏈:一個改變未來的幽靈
科學(xué)(2020年5期)2020-11-26 08:19:12
基于改進(jìn)RPS技術(shù)的IPSEC VPN網(wǎng)關(guān)設(shè)計
區(qū)塊鏈:主要角色和衍生應(yīng)用
科學(xué)(2020年6期)2020-02-06 08:59:56
區(qū)塊鏈+媒體業(yè)的N種可能
傳媒評論(2018年4期)2018-06-27 08:20:12
讀懂區(qū)塊鏈
可惡的“偽基站”
基于GSM基站ID的高速公路路徑識別系統(tǒng)
小基站助力“提速降費”
移動通信(2015年17期)2015-08-24 08:13:10
LTE Small Cell網(wǎng)關(guān)及虛擬網(wǎng)關(guān)技術(shù)研究
移動通信(2015年18期)2015-08-24 07:45:08
應(yīng)對氣候變化需要打通“網(wǎng)關(guān)”
太陽能(2015年7期)2015-04-12 06:49:50
金湖县| 金川县| 扬中市| 安化县| 唐山市| 济源市| 泸西县| 都昌县| 衡阳县| 攀枝花市| 阿荣旗| 黄冈市| 昌邑市| 衢州市| 砀山县| 黄浦区| 仪征市| 沈阳市| 武川县| 时尚| 江川县| 仁怀市| 京山县| 博野县| 江达县| 高密市| 三江| 建宁县| 灯塔市| 遂溪县| 大港区| 昌邑市| 竹北市| 灌云县| 来宾市| 西畴县| 禄丰县| 旺苍县| 太康县| 双鸭山市| 鄂伦春自治旗|