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

?

PieBridge:一種按需可擴展的跨鏈架構(gòu)

2023-11-24 05:25段田田張瀚文宋兆雄李忠誠
計算機研究與發(fā)展 2023年11期
關(guān)鍵詞:中繼事務(wù)平行

段田田 郭 儀 李 博 張瀚文 宋兆雄 李忠誠 張 珺 孫 毅

1(中國科學院計算技術(shù)研究所 北京 100190)

2(中國科學院大學 北京 101408)

3(內(nèi)蒙古大學 內(nèi)蒙古呼和浩特 010021)

(duantiantian@ict.ac.cn)

自比特幣提出以來,區(qū)塊鏈得到了學術(shù)界、工業(yè)界的極大關(guān)注,由于區(qū)塊鏈的去中心、可溯源等特性,被廣泛應(yīng)用于數(shù)字貨幣、供應(yīng)鏈金融、智慧醫(yī)療等不同領(lǐng)域,形成了多鏈、異構(gòu)的區(qū)塊鏈生態(tài)系統(tǒng)[1].

盡管區(qū)塊鏈實現(xiàn)了區(qū)塊鏈網(wǎng)絡(luò)范圍內(nèi)的價值流通,但是各獨立區(qū)塊鏈之間呈現(xiàn)明顯的孤島效應(yīng).隨著應(yīng)用需求的不斷拓寬,各獨立區(qū)塊鏈相互聯(lián)通、協(xié)作以構(gòu)建更廣泛價值互聯(lián)網(wǎng)的需求日益增強.如何融合同構(gòu)、異構(gòu)區(qū)塊鏈,突破去中心化應(yīng)用邊界,構(gòu)建更加開放、易于協(xié)作、多方共贏的區(qū)塊鏈生態(tài),成為當今的迫切需求.因此,區(qū)塊鏈的互操作性,即跨鏈研究,自2016 年起得到了越來越多的關(guān)注[2].

跨鏈技術(shù)是跨越單一區(qū)塊鏈的數(shù)據(jù)可信邊界(共識機制作用范圍)實現(xiàn)獨立區(qū)塊鏈間信息、價值流通的技術(shù).早期跨鏈研究通過在任意兩條有跨鏈需求的區(qū)塊鏈間建立連接實現(xiàn)直接的跨鏈交互[3-5].然而,區(qū)塊鏈連接建立過程繁瑣,需要完成區(qū)塊鏈的適配,包括數(shù)據(jù)結(jié)構(gòu)匹配、區(qū)塊鏈驗證規(guī)則加載以及必要數(shù)據(jù)同步①例如,SPV 驗證需要區(qū)塊頭鏈.等工作,當彼此存在跨鏈交互需求的區(qū)塊鏈較多時,兩兩連接的方式導(dǎo)致每條區(qū)塊鏈的適配復(fù)雜度高(Ο(n)),該方案可擴展性較差.

因而,當前的跨鏈方案大多引入中繼鏈(Relay Chain)連接所有交互區(qū)塊鏈[6-8].存在跨鏈交互需求的區(qū)塊鏈僅需與中繼鏈進行適配、建立連接后,即可在中繼鏈的橋接下實現(xiàn)與其它區(qū)塊鏈的跨鏈交互,每條區(qū)塊鏈的適配復(fù)雜度降至常數(shù)級(O(1)),但中繼鏈的適配復(fù)雜度仍然維持在Ο(n).

隨著區(qū)塊鏈生態(tài)應(yīng)用類型不斷豐富,跨鏈互通的規(guī)模不斷擴大,現(xiàn)有跨鏈方案面臨著挑戰(zhàn),主要體現(xiàn)在2 個方面:

1)跨鏈架構(gòu)的可擴展性

無論是公鏈技術(shù)體系還是聯(lián)盟鏈技術(shù)體系,異構(gòu)區(qū)塊鏈數(shù)量都在快速增長,異構(gòu)/同構(gòu)區(qū)塊鏈間的互聯(lián)互通需求也隨之快速增長.在公鏈技術(shù)體系下,由于性能、可定制性、價值捕捉等原因,開發(fā)者越來越多地轉(zhuǎn)向構(gòu)建獨立的應(yīng)用鏈而不是在公共區(qū)塊鏈平臺上部署智能合約[9].Cosmos[6],Polkadot[7],zkSync[10]等多種平臺先后出現(xiàn),用于幫助開發(fā)人員快速構(gòu)建應(yīng)用鏈,僅Cosmos 主網(wǎng)(2021 年啟動)就有49 條活躍應(yīng)用鏈,測試網(wǎng)有247 條應(yīng)用鏈[11].在聯(lián)盟鏈技術(shù)體系下,更是涌現(xiàn)出了Fabric、FiscoBicos、長安鏈、趣鏈等大量形態(tài)各異的區(qū)塊鏈技術(shù)平臺,基于這些異構(gòu)區(qū)塊鏈技術(shù)平臺,面向金融、政務(wù)服務(wù)等不同領(lǐng)域的行業(yè)應(yīng)用,構(gòu)建了大量區(qū)塊鏈服務(wù)平臺[12].各區(qū)塊鏈在既有用戶和價值積累的基礎(chǔ)上,產(chǎn)生了與其它區(qū)塊鏈交互的外延需求,因此區(qū)塊鏈間互聯(lián)互通的需求也快速增長,給跨鏈解決方案的可擴展性帶來新的挑戰(zhàn).

然而,現(xiàn)有跨鏈方案中,中繼鏈承載著所有跨鏈消息的路由、轉(zhuǎn)發(fā)和驗證等工作,隨著接入?yún)^(qū)塊鏈和跨鏈交易的增多,中繼鏈將會出現(xiàn)擁塞并成為跨鏈系統(tǒng)的性能瓶頸.盡管BitXHub[8]等方案將中繼鏈擴展成中繼鏈網(wǎng)絡(luò)以支持更多區(qū)塊鏈的接入,但這使得大量跨鏈交易需要經(jīng)過多跳中繼鏈處理,導(dǎo)致跨鏈交互時延大幅度增加.

2)跨鏈需求的多樣性

一方面,不是所有區(qū)塊鏈間都存在相同強度的跨鏈需求,例如:醫(yī)院區(qū)塊鏈與康復(fù)養(yǎng)老區(qū)塊鏈之間存在頻繁的跨鏈交互,醫(yī)院區(qū)塊鏈卻與供應(yīng)鏈金融的區(qū)塊鏈之間幾乎不存在跨鏈交互.而現(xiàn)有的“一通百通”的中繼鏈跨鏈方案②“一通百通”是指區(qū)塊鏈接入跨鏈系統(tǒng)后即可與該系統(tǒng)內(nèi)所有區(qū)塊鏈進行跨鏈交互.難以滿足不同區(qū)塊鏈間的按需連通.

另一方面,現(xiàn)有跨鏈研究大多針對資產(chǎn)轉(zhuǎn)移、代幣互換等數(shù)字貨幣應(yīng)用,然而區(qū)塊鏈在各領(lǐng)域的廣泛應(yīng)用帶來了更多類型的跨鏈應(yīng)用,同時這些跨鏈應(yīng)用對跨鏈交互在性能、安全、隱私等方面提出了差異化的要求.例如,跨鏈代幣互換為了避免雙花問題更注重安全性;跨鏈醫(yī)療數(shù)據(jù)共享為了保護患者隱私更注重隱私性;跨鏈城市數(shù)據(jù)共享為了保證數(shù)據(jù)的實時性更注重性能.現(xiàn)有跨鏈架構(gòu)與單一、僵化的跨鏈交互機制難以滿足不同區(qū)塊鏈以及不同跨鏈應(yīng)用在隱私、安全、性能等方面的差異化跨鏈需求.

針對上述2 個挑戰(zhàn),本文提出了一種按需可擴展的跨鏈架構(gòu)——PieBridge,并在此基礎(chǔ)上提出了具有獨立事務(wù)層的4 層跨鏈交互協(xié)議棧,保證跨鏈架構(gòu)可擴展的同時支持差異化的跨鏈交互.

具體而言,本文引入中繼域,基于“按需建域”的理念,將有交互需求的區(qū)塊鏈劃分在一個中繼域內(nèi),各中繼域基于域內(nèi)中繼鏈實現(xiàn)域內(nèi)區(qū)塊鏈的跨鏈互聯(lián).通過域的劃分,一方面實現(xiàn)跨鏈系統(tǒng)負載的合理切分,保證跨鏈架構(gòu)的可擴展性;另一方面滿足域內(nèi)區(qū)塊鏈間的按需連通,以及對差異化跨鏈交互的支持.在按需建域的基礎(chǔ)上,針對單中繼域內(nèi)跨鏈交易數(shù)量增加造成的中繼鏈擁塞問題,本文設(shè)計了中繼域按需擴容機制,通過域內(nèi)中繼鏈復(fù)制與中繼鏈負載分流,將跨鏈交易約束在單一中繼鏈中進行處理,在實現(xiàn)中繼域通量提升的同時,避免跨鏈交互時延的增加.進一步,本文針對跨鏈交互需要解決的跨鏈信息傳輸、跨鏈信任傳遞與跨鏈事務(wù)處理3 個基本問題,提出了具有獨立事務(wù)層的4 層跨鏈交互協(xié)議棧.在跨鏈傳輸層、驗證層、事務(wù)層實現(xiàn)多種基礎(chǔ)協(xié)議,支持應(yīng)用對各層協(xié)議的靈活選擇,滿足不同跨鏈應(yīng)用在性能、安全、隱私等方面的差異化需求.該協(xié)議棧首次解耦了跨鏈事務(wù)與應(yīng)用,抽象出獨立的跨鏈事務(wù)層,一方面簡化跨鏈應(yīng)用的設(shè)計與開發(fā),支持跨鏈應(yīng)用的靈活、快速構(gòu)建;另一方面為跨鏈事務(wù)提供系統(tǒng)級保障,包括跨鏈事務(wù)的原子性與事務(wù)間的隔離性,避免跨鏈應(yīng)用在事務(wù)保障方面的設(shè)計、實現(xiàn)缺陷為所在跨鏈系統(tǒng)引入安全漏洞.

本文的主要貢獻包括3 個方面:

1)提出了一種按需可擴展的跨鏈架構(gòu)——PieBridge.基于“按需建域”的理念,將需要跨鏈交互的區(qū)塊鏈按需組建成中繼域,通過域的管理與性能優(yōu)化,保證跨鏈架構(gòu)的可擴展性.

2)提出了一種具有獨立事務(wù)層的4 層跨鏈交互協(xié)議棧.在對跨鏈交互進行功能分層的基礎(chǔ)上,在各層實現(xiàn)多種基礎(chǔ)協(xié)議,支持應(yīng)用在交互過程中對各層協(xié)議的靈活選擇,滿足不同跨鏈應(yīng)用在隱私、安全、性能等方面的差異化需求.同時解耦跨鏈事務(wù)與應(yīng)用,支持跨鏈應(yīng)用簡易、靈活、快速構(gòu)建的同時,實現(xiàn)系統(tǒng)級跨鏈事務(wù)保障.

3)基于所提跨鏈架構(gòu)實現(xiàn)了PieBridge 原型系統(tǒng),并通過理論分析與實驗驗證,證明了PieBridge 的可擴展性,以及其對差異化跨鏈交互需求的靈活支持.

1 相關(guān)工作

跨鏈研究包括跨鏈架構(gòu)和跨鏈交互機制2 個層面的工作,其中跨鏈交互機制是在跨鏈架構(gòu)的基礎(chǔ)上實現(xiàn)跨鏈交互的具體方法.

1.1 跨鏈架構(gòu)

現(xiàn)有跨鏈研究根據(jù)是否需要借助中繼鏈可以分為直連跨鏈架構(gòu)與中繼跨鏈架構(gòu).

直連跨鏈架構(gòu)的基本思想是有跨鏈需求的區(qū)塊鏈直接實現(xiàn)跨鏈交互.

BTC Relay[3]被認為是最早的跨鏈方案,其在以太坊上部署可以接收并處理比特幣區(qū)塊頭與交易的智能合約,并借助Relayer 在以太坊上實現(xiàn)基于最長鏈規(guī)則的比特幣輕客戶端,從而實現(xiàn)了比特幣與以太坊的單向跨鏈操作.

RSK[4]是錨定比特幣的一個開源智能合約平臺,其目標是將智能合約引入比特幣.其通過多家有較高社會聲譽的組織、公司組成的可信聯(lián)邦與參與聯(lián)合挖礦的比特幣礦工作為代理,實現(xiàn)與比特幣的雙向跨鏈操作.

BTC Relay 和RSK 這2 種方案是針對特定2 種區(qū)塊鏈跨鏈的方案,針對性強、可擴展性差,難以直接移植至其它區(qū)塊鏈跨鏈交互.

WeCross[13]面向區(qū)塊鏈互聯(lián)互通問題,旨在構(gòu)建一套未來區(qū)塊鏈互聯(lián)基礎(chǔ)設(shè)施,雖然其支持多鏈跨鏈,但是本質(zhì)上依舊是基于直連跨鏈架構(gòu)的方案.WeCross 的核心組件是跨鏈路由,每條參與跨鏈交互的區(qū)塊鏈都有一個由部署該區(qū)塊鏈的機構(gòu)搭建的跨鏈路由,區(qū)塊鏈強信任其跨鏈路由.WeCross 的交互區(qū)塊鏈通過跨鏈路由直接建立連接實現(xiàn)跨鏈交互.與BTC Relay 和RSK 這2 種方案相比,WeCross 面向更通用的區(qū)塊鏈跨鏈交互,并將適配復(fù)雜度由鏈上卸載至跨鏈路由,但是跨鏈路由間依舊需要進行(Ο(n))次適配,適配復(fù)雜度高.

基于中繼鏈的跨鏈方案,其基本思想是有跨鏈需求的區(qū)塊鏈借助其它區(qū)塊鏈作為中繼,通過一跳中繼鏈處理實現(xiàn)跨鏈交互.單個中繼鏈的處理能力有限,當存在大規(guī)模跨鏈需求時,中繼鏈可以進一步擴展成中繼鏈網(wǎng)絡(luò),有跨鏈需求的區(qū)塊鏈借助中繼鏈網(wǎng)絡(luò),通過多跳中繼鏈處理實現(xiàn)跨鏈交互.

Cosmos[6]針對區(qū)塊鏈存在的擴展性、可用性以及獨立性問題,提出了構(gòu)建區(qū)塊鏈互聯(lián)網(wǎng)的設(shè)想,為此設(shè)計了一種區(qū)塊鏈網(wǎng)絡(luò)架構(gòu),并提出了該架構(gòu)下的跨鏈交互方案.Cosmos 的區(qū)塊鏈網(wǎng)絡(luò)架構(gòu)分為分區(qū)和樞紐2 部分,獨立區(qū)塊鏈被稱作分區(qū)(Zone),連接分區(qū)的特殊分區(qū)被稱作樞紐(Hub),分區(qū)借助樞紐實現(xiàn)跨鏈交互,在大量分區(qū)存在交互需求時,這種架構(gòu)可以減少區(qū)塊鏈之間的適配復(fù)雜度.然而由于Cosmos Hub 性能是有限的,其可連接Zone 的數(shù)量也是有限的,無法滿足大規(guī)模跨鏈交互場景下跨鏈架構(gòu)可擴展性的要求.

Polkadot[7]針對區(qū)塊鏈在可擴展性、可伸縮性、安全性等方面普遍存在的問題,設(shè)計了一種多鏈架構(gòu).Polkadot 由一或多條中繼鏈以及多條平行鏈(parachain)構(gòu)成.其中,平行鏈負責具體業(yè)務(wù)的執(zhí)行;中繼鏈負責與其直接連接的所有平行鏈的最終性共識.為了在保證安全性的前提下實現(xiàn)中繼鏈上復(fù)雜的操作,Polkadot 設(shè)計了4 種角色共同維護網(wǎng)絡(luò):收集者、漁夫、提名者以及驗證者.與Cosmos 類似,由于Polkadot 需要在中繼鏈上實現(xiàn)所有平行鏈的全局共識,這使得Polkadot 的可擴展性極大地被中繼鏈性能所約束,目前理論上僅100 條平行鏈的接入.

1.2 跨鏈交互機制

跨鏈交互機制是在跨鏈架構(gòu)的基礎(chǔ)上實現(xiàn)交互功能的具體方法.跨鏈交互機制研究需要解決跨鏈信息傳輸、跨鏈信任傳遞與跨鏈事務(wù)處理3 個層面的基本問題.

1)跨鏈信息傳輸是指將一個區(qū)塊鏈中的數(shù)據(jù)傳送到另一個區(qū)塊鏈.與傳統(tǒng)網(wǎng)絡(luò)信息傳輸不同的是,區(qū)塊鏈是一個封閉的去中心化系統(tǒng),無法主動向其它外部用戶或者區(qū)塊鏈發(fā)送信息.

2)跨鏈信任傳遞是指目的區(qū)塊鏈接收跨鏈信息后確認該信息來自于源區(qū)塊鏈并已通過源區(qū)塊鏈共識.由于不同區(qū)塊鏈采用不同的共識算法,其信任傳遞(即跨鏈信息驗證)方式相應(yīng)的也有所不同.

3)跨鏈事務(wù)是指為實現(xiàn)某個跨鏈交互邏輯而在2 個(或多個)交互區(qū)塊鏈內(nèi)分別執(zhí)行的一組鏈內(nèi)交易(在不同鏈執(zhí)行),跨鏈事務(wù)處理需要保證原子性,即組成跨鏈事務(wù)的鏈內(nèi)交易對所有鏈上狀態(tài)的改變是原子的,所有涉及到的狀態(tài)要么全部改變,要么全部不改變.

現(xiàn)有跨鏈研究面向跨鏈應(yīng)用,提供一套完整的、但各層關(guān)鍵技術(shù)緊耦合的跨鏈交互機制.哈希時間鎖協(xié)議(Hashed Timelock Contract,HTLC)是典型的針對跨鏈資產(chǎn)交換應(yīng)用的跨鏈交互機制[14-18].具體地,HTLC 基于相同的哈希鎖保證各個組成跨鏈事務(wù)的鏈內(nèi)交易可以一致執(zhí)行,基于引入差異化的時間鎖,保證跨鏈操作最終一致回滾的同時,保證參與者有足夠的時間提交交易.在此過程中,HTLC 并沒有在區(qū)塊鏈間傳輸跨鏈信息,而是通過用戶在不同區(qū)塊鏈上釋放哈希鎖密鑰代替特定的跨鏈信息.同時HTLC也沒有直接實現(xiàn)跨鏈信任傳遞,而是根據(jù)預(yù)先設(shè)置的哈希鎖驗證哈希鎖密鑰的正確性,從而間接驗證特定跨鏈信息有效.HTLC 無法抵御審查攻擊[19-21]、洪泛攻擊[22]等,且僅適用于跨鏈資產(chǎn)交互應(yīng)用,無法拓展至其他應(yīng)用場景.

為了提供更通用的跨鏈交互功能,簡化跨鏈應(yīng)用的設(shè)計與實現(xiàn),Cosmos,Polkadot,BitXHub 等研究將跨鏈傳輸驗證與應(yīng)用進行了解耦.

Cosmos 提出了區(qū)塊鏈間通信協(xié)議(the Inter-Blockchain Communication Protocol,IBC 協(xié)議)[23].IBC協(xié)議是一種端到端、面向連接、有狀態(tài)的協(xié)議,實現(xiàn)了獨立分布式賬本上模塊之間的可靠、有序和認證通信.IBC 協(xié)議具體由客戶端、連接、通道與中繼器組成.其中,客戶端負責驗證跨鏈交易;連接與通道維護了跨鏈信息傳輸?shù)臓顟B(tài),實現(xiàn)對端鏈與應(yīng)用的認證以及傳輸有序性的支持;中繼器實現(xiàn)跨鏈信息的轉(zhuǎn)發(fā).

Polkadot 設(shè)計了平行鏈間跨鏈信息傳輸(the Cross-Consensus Message Passing,XCMP)[24]協(xié)議,XCMP協(xié)議通過允許雙向通信的跨鏈消息傳遞通道在平行鏈間傳遞數(shù)據(jù).由于XCMP 協(xié)議仍在設(shè)計實現(xiàn)階段,目前平行鏈通信使用資源開銷更大的、借助中繼鏈通過多跳傳輸實現(xiàn)的水平中繼路由信息傳輸(horizontal relay-routed message passing,HRMP).Polkadot 通過中繼鏈上的全局共識實現(xiàn)跨鏈信息驗證.

BitXHub[8]提出的鏈間消息傳輸協(xié)議(Inter-Blockchain Transfer Protocol,IBTP 協(xié)議)是一種類似TCP/IP 的鏈間傳輸協(xié)議,其通過引入轉(zhuǎn)發(fā)節(jié)點實現(xiàn)了記錄跨鏈信息的IBTP 數(shù)據(jù)包的傳輸,包括直接交互模式與中繼鏈轉(zhuǎn)發(fā)模式.BitXHub 通過鏈上簡單支付驗證(simplified payment verification,SPV)實現(xiàn)對跨鏈信息的驗證.

盡管Cosmos,Polkadot 和BitXHub 方案實現(xiàn)了最基本的傳輸驗證與應(yīng)用分離的2 層結(jié)構(gòu),但是傳輸與驗證緊耦合,事務(wù)與應(yīng)用緊耦合.在傳輸與驗證方面,上述方案無法滿足不同區(qū)塊鏈差異化跨鏈數(shù)據(jù)驗證的要求.在事務(wù)與應(yīng)用方面,各跨鏈應(yīng)用的設(shè)計、實現(xiàn)需要保證事務(wù)的基礎(chǔ)特性,設(shè)計、開發(fā)難度大且可能因為跨鏈應(yīng)用在事務(wù)性基礎(chǔ)特性保障方面的設(shè)計、實現(xiàn)缺陷為所在跨鏈系統(tǒng)引入安全漏洞.

2 按需可擴展跨鏈架構(gòu)

本文提出了一種按需可擴展的跨鏈架構(gòu)——PieBridge,并在此基礎(chǔ)上提出了具有獨立事務(wù)層的4層跨鏈交互協(xié)議棧,在保證跨鏈架構(gòu)的可擴展性的同時支持差異化的跨鏈交互,本節(jié)將介紹PieBridge.

本節(jié)首先介紹PieBridge 的整體設(shè)計思路,區(qū)分其與現(xiàn)有跨鏈架構(gòu);然后從中繼域全生命周期管理與跨鏈交互的基本流程2 個方面詳細介紹了Pie-Bridge 的設(shè)計.

2.1 整體設(shè)計

本文引入中繼域,并基于“按需建域”的跨鏈架構(gòu)設(shè)計理念,設(shè)計了如圖1 所示的按需可擴展跨鏈架構(gòu)PieBridge.與現(xiàn)有“一通百通”的基于中繼鏈的跨鏈架構(gòu)不同,“按需建域”考慮到區(qū)塊鏈之間差異化的跨鏈需求強度,僅將有共同跨鏈交互需求的區(qū)塊鏈連接在同一條中繼鏈上,形成一個個獨立的中繼域.各獨立中繼域在組建過程中可以根據(jù)跨鏈交互需求配置不同的規(guī)模、性能、安全等級的中繼鏈.通過“按需建域”,一方面將跨鏈交易隔離在中繼域內(nèi),實現(xiàn)跨鏈系統(tǒng)負載的合理切分,保證跨鏈架構(gòu)的可擴展性;另一方面,可以在中繼域內(nèi)按需配置中繼鏈,從架構(gòu)層面支持差異化的跨鏈交互需求.

Fig.1 The architecture of PieBridge圖1 PieBridge 架構(gòu)

在“按需建域”的基礎(chǔ)上,本文針對單中繼域內(nèi)平行鏈數(shù)量增加、跨鏈交易比例升高等導(dǎo)致中繼鏈擁塞的問題,設(shè)計了中繼域動態(tài)擴容機制.具體地,在中繼域內(nèi)復(fù)制一條新的中繼鏈,并將跨鏈交易均衡分流至不同中繼鏈進行處理.通過中繼域動態(tài)擴容,在保證實現(xiàn)中繼域處理能力提升的同時,避免多跳中繼鏈處理帶來的跨鏈交互時延增加問題.

進一步地,考慮到中繼域是隨跨鏈交互需求動態(tài)生成、更新的,本文秉持去中心化的理念,引入了一條專門區(qū)塊鏈對中繼域進行去中心化的管理.

本文設(shè)計的PieBridge 架構(gòu)如圖1 所示,包括管理面與交互面2 部分.

PieBridge 管理面由管理鏈組成,實現(xiàn)對交互面去中心、去信任、公開透明的管理.管理鏈是為PieBridge 提供去中心管理服務(wù)的區(qū)塊鏈,其以智能合約的形式部署了具體的管理規(guī)則,通過管理決策下發(fā)機制可以將管理決策發(fā)送給交互面執(zhí)行,具體實現(xiàn)方法將在2.2 節(jié)中繼域全生命周期管理中詳細介紹.此外,管理鏈還管理了一組用于構(gòu)建中繼鏈與網(wǎng)關(guān)節(jié)點的節(jié)點.

PieBridge 交互面實現(xiàn)具體的跨鏈應(yīng)用,其由平行鏈、中繼鏈、網(wǎng)關(guān)節(jié)點與按需組建的一系列中繼域組成.

1)平行鏈.平行鏈是存在跨鏈需求的獨立區(qū)塊鏈,其通過組建或者加入中繼域?qū)崿F(xiàn)跨鏈交互.

2)中繼鏈.中繼鏈即按需組建的、在域內(nèi)連接指定平行鏈的區(qū)塊鏈,其通過與域內(nèi)平行鏈適配、建立連接,為它們提供去中心的中繼服務(wù)①為了應(yīng)對域間不頻繁、非時間敏感的跨鏈交互需求,可以引入連接中繼鏈的二級中繼鏈,以實現(xiàn)域間交互..

3)網(wǎng)關(guān)節(jié)點.網(wǎng)關(guān)節(jié)點即在域內(nèi)平行鏈與中繼鏈之間轉(zhuǎn)發(fā)跨鏈數(shù)據(jù),支撐跨鏈信息傳輸?shù)墓?jié)點.網(wǎng)關(guān)節(jié)點既可以由平行鏈提供,又可以由跨鏈系統(tǒng)提供,甚至可以通過設(shè)置激勵機制引入,本文不討論這部分內(nèi)容.

4)中繼域.中繼域是PieBridge 中進行跨鏈交互的基本單元,區(qū)塊鏈需要加入中繼域才能進行跨鏈交互.中繼域由有共同跨鏈交互需求的平行鏈、連接這些平行鏈的中繼鏈以及在區(qū)塊鏈之間轉(zhuǎn)發(fā)跨鏈信息的網(wǎng)關(guān)節(jié)點組成.域內(nèi)平行鏈大多為相同行業(yè)領(lǐng)域的區(qū)塊鏈,而由于部分平行鏈可以應(yīng)用于不同行業(yè),與不同行業(yè)平行鏈存在跨鏈交互需求,例如供應(yīng)鏈、保險等行業(yè)的跨鏈應(yīng)用均需要引入銀行區(qū)塊鏈進行結(jié)算,因此平行鏈可以根據(jù)應(yīng)用需求加入多個中繼域.

2.2 中繼域全生命周期管理

為了實現(xiàn)對中繼域按需生成、按需更新的支持,本文設(shè)計、實現(xiàn)了對中繼域的全生命周期管理,具體包括中繼域的組建、中繼域新增/刪除平行鏈、多粒度的跨鏈資源訪問控制與中繼域動態(tài)擴容.

域的組建可以分為3 個階段,首先是請求發(fā)起階段,各平行鏈代表向管理鏈提交建域請求,聲明要組建一個域,并提出期望的共識算法、出塊頻率等中繼鏈選型信息;隨后進入決策階段,管理鏈根據(jù)收到的建域請求生成中繼鏈創(chuàng)世區(qū)塊,實現(xiàn)了對中繼鏈的按需配置與域內(nèi)網(wǎng)關(guān)節(jié)點的初始化授權(quán),并選擇一組節(jié)點作為中繼鏈初始共識節(jié)點;最后進入決策執(zhí)行階段,管理鏈基于網(wǎng)絡(luò)將決策信息分發(fā)給中繼鏈初始共識節(jié)點,這些節(jié)點驗證決策已在管理鏈中達成一致后,依據(jù)該決策啟動中繼鏈,基于已授權(quán)的網(wǎng)關(guān)節(jié)點完成平行鏈與中繼鏈的連接,實現(xiàn)域的構(gòu)建.

域新增、刪除平行鏈與域組建類似,但是在決策執(zhí)行階段管理鏈需要將決策信息分發(fā)給運行中的中繼鏈,該操作無法直接基于網(wǎng)絡(luò)傳輸實現(xiàn).為此,Pie-Bridge 引入了中繼鏈治理者,由治理者以中繼鏈交易的形式實現(xiàn)決策分發(fā).而為了避免引入信任與單點故障問題,PieBridge 進一步設(shè)計了基于分布式私鑰[25]的治理決策分發(fā)機制,由管理鏈共同擔任中繼鏈治理者,保證決策分發(fā)擁有與管理鏈相同的安全等級與去中心化程度.具體地,管理鏈基于分布式私鑰技術(shù)生成中繼鏈治理節(jié)點公鑰地址以及由管理鏈共識節(jié)點共同持有的分布式私鑰,當管理鏈處理平行鏈組加域、退域請求時,管理鏈共識節(jié)點根據(jù)管理鏈決策分別使用其持有的分布式私鑰簽署中繼鏈交易,當分布式私鑰簽名達到一定數(shù)量時該交易生效.

在多粒度的跨鏈資源訪問控制方面,PieBridge通過中繼鏈對平行鏈網(wǎng)關(guān)節(jié)點權(quán)限的控制,保證只有授權(quán)網(wǎng)關(guān)節(jié)點所在平行鏈的跨鏈信息能被轉(zhuǎn)發(fā)至中繼鏈,從而實現(xiàn)區(qū)塊鏈級別的資源訪問控制;在平行鏈上部署基于區(qū)塊鏈標識、跨鏈應(yīng)用標識與用戶全局標識的資源訪問控制列表,并通過跨鏈請求與資源訪問控制列表的匹配,實現(xiàn)應(yīng)用與用戶級別的資源訪問控制.

由于中繼鏈需要處理域內(nèi)所有跨鏈交易,是中繼域的性能瓶頸,因此隨著接入平行鏈增多、跨鏈交易增多,中繼鏈將率先出現(xiàn)擁塞,并導(dǎo)致域內(nèi)跨鏈交互高時延問題.為此,PieBridge 提出了如圖2 所示的動態(tài)擴容:管理鏈在域內(nèi)復(fù)制一條與域內(nèi)平行鏈連接的中繼鏈,將域內(nèi)原本由單一中繼鏈處理的跨鏈交易分流至2 條中繼鏈上.該方案通過適度增加平行鏈上的存儲、計算開銷,可以有效緩解單中繼鏈擁塞問題,并保證域內(nèi)跨鏈交易無需多跳中繼鏈處理,從而降低跨鏈系統(tǒng)平均跨鏈交易時延.

域的擴容同樣可以分為3 個階段:首先是請求發(fā)起階段,平行鏈代表向管理鏈提交擴容請求,聲明中繼域達到性能瓶頸;隨后進入決策階段,管理鏈依據(jù)該域中繼鏈生成新中繼鏈創(chuàng)世區(qū)塊、選擇一組節(jié)點作為新中繼鏈初始共識節(jié)點并生成跨鏈數(shù)據(jù)分流策略;最后進入決策執(zhí)行階段,管理鏈基于網(wǎng)絡(luò)將創(chuàng)世區(qū)塊分發(fā)給新中繼鏈初始共識節(jié)點,由這些節(jié)點啟動新中繼鏈,基于網(wǎng)絡(luò)將分流策略分發(fā)給已授權(quán)的網(wǎng)關(guān)節(jié)點,網(wǎng)關(guān)節(jié)點加載分流策略,同時平行鏈適配新增中繼鏈,實現(xiàn)域的擴容.

2.3 跨鏈交互基本流程

PieBridge 中繼域內(nèi),平行鏈借助中繼鏈實現(xiàn)跨鏈交互,因此平行鏈與中繼鏈均需要部署跨鏈交互功能.跨鏈應(yīng)用的具體功能需要基于跨鏈交互實現(xiàn),例如,在資產(chǎn)類應(yīng)用場景下,跨鏈轉(zhuǎn)賬應(yīng)用通過資產(chǎn)區(qū)塊鏈A對資產(chǎn)區(qū)塊鏈B上用戶資產(chǎn)狀態(tài)的跨鏈更新實現(xiàn);在醫(yī)療保險應(yīng)用場景下,跨鏈核保應(yīng)用通過保險區(qū)塊鏈對醫(yī)院區(qū)塊鏈患者醫(yī)療數(shù)據(jù)的跨鏈讀取實現(xiàn).而由于跨鏈交互無法協(xié)調(diào)交互區(qū)塊鏈完成不存在的應(yīng)用功能,因此交互區(qū)塊鏈均需要部署相應(yīng)的應(yīng)用,在上述跨鏈轉(zhuǎn)賬應(yīng)用中,資產(chǎn)區(qū)塊鏈B需要本身支持對用戶資產(chǎn)狀態(tài)的管理.

本文抽象了PieBridge 中跨鏈交互的流程,具體如圖3 所示,包括跨鏈請求發(fā)起階段、跨鏈請求中繼階段、跨鏈請求處理階段以及跨鏈回執(zhí)反饋階段.為了便于描述,本文將發(fā)起跨鏈交互的平行鏈稱為“源平行鏈”,接收并處理跨鏈請求的平行鏈稱為“目的平行鏈”,在上述例子跨鏈核保應(yīng)用中,保險區(qū)塊鏈是源平行鏈,醫(yī)院區(qū)塊鏈是目的平行鏈.

1)跨鏈請求發(fā)起階段.用戶在源平行鏈上以交易的形式調(diào)用跨鏈應(yīng)用合約并觸發(fā)跨鏈請求.源平行鏈跨鏈協(xié)議棧合約將該跨鏈請求打包成標準的跨鏈數(shù)據(jù)包.

2)跨鏈請求中繼階段.源網(wǎng)關(guān)節(jié)點通過監(jiān)聽源平行鏈獲取跨鏈數(shù)據(jù)包,整理出證明數(shù)據(jù)包在源平行鏈中達成一致的證據(jù),隨后將該跨鏈數(shù)據(jù)包與證據(jù)以交易的形式發(fā)送到中繼鏈中.中繼鏈跨鏈協(xié)議棧合約基于證據(jù)驗證跨鏈數(shù)據(jù)包在源平行鏈達成一致,并將驗證結(jié)果寫入鏈中實現(xiàn)背書.

3)跨鏈請求處理階段.目的網(wǎng)關(guān)節(jié)點通過監(jiān)聽中繼鏈獲取跨鏈數(shù)據(jù)包與中繼鏈背書的證據(jù),并將該數(shù)據(jù)包以交易的形發(fā)送到目的平行鏈中.目的平行鏈跨鏈協(xié)議棧合約解析跨鏈數(shù)據(jù)包,并通過驗證中繼鏈對跨鏈請求的背書間接驗證該跨鏈請求在源平行鏈上達成一致,隨后調(diào)用對應(yīng)的應(yīng)用合約,完成跨鏈請求響應(yīng).

4)跨鏈回執(zhí)反饋階段.跨鏈請求處理回執(zhí)以同樣逐跳傳輸、驗證的方式傳回源平行鏈.

復(fù)雜的跨鏈應(yīng)用需要多次跨鏈交互實現(xiàn),PieBridge跨鏈交互協(xié)議的具體設(shè)計與實現(xiàn)將在第3 節(jié)中詳細展開.

3 四層跨鏈交互協(xié)議棧

本節(jié)介紹具有獨立事務(wù)層的4 層跨鏈交互協(xié)議棧,首先概述了分層跨鏈交互協(xié)議棧的整體設(shè)計思路,隨后詳細介紹協(xié)議棧各層的內(nèi)容.

3.1 協(xié)議棧整體設(shè)計

針對跨鏈交互需要解決的跨鏈信息傳輸、跨鏈信任傳遞與跨鏈事務(wù)處理3 個層面的基本問題,本文通過抽象跨鏈元操作與跨鏈事務(wù),首次將跨鏈事務(wù)與跨鏈應(yīng)用解耦,提出了具有獨立事務(wù)層的4 層跨鏈交互協(xié)議棧,如圖4 所示.獨立事務(wù)層的抽象,一方面簡化了跨鏈應(yīng)用的設(shè)計與開發(fā),支持跨鏈應(yīng)用的靈活、快速構(gòu)建;另一方面為跨鏈應(yīng)用的事務(wù)性安全提供了系統(tǒng)級保障,避免跨鏈應(yīng)用在事務(wù)處理方面的設(shè)計、實現(xiàn)缺陷為所在跨鏈系統(tǒng)引入安全漏洞,有利于跨鏈應(yīng)用生態(tài)系統(tǒng)的發(fā)展.在協(xié)議分層解耦的基礎(chǔ)上,本文在協(xié)議棧各層均實現(xiàn)了多種基礎(chǔ)協(xié)議,并采用適配器設(shè)計模式[26],為協(xié)議棧各層引入聚合器,設(shè)計通用層間接口,將層間多協(xié)議的復(fù)雜交互轉(zhuǎn)換為聚合器間的簡單交互,降低了多種協(xié)議的管理復(fù)雜度,保證了層內(nèi)協(xié)議的靈活性,滿足不同跨鏈應(yīng)用在性能、安全、隱私等方面的差異化需求.

4 層跨鏈交互協(xié)議棧具體包括跨鏈應(yīng)用層、跨鏈事務(wù)層、跨鏈驗證層與跨鏈傳輸層.

1)跨鏈應(yīng)用層.跨鏈應(yīng)用層部署在平行鏈上,包括多種跨鏈應(yīng)用,各跨鏈應(yīng)用設(shè)計、實現(xiàn)需要跨鏈交互的應(yīng)用功能.跨鏈應(yīng)用需求將會被封裝成跨鏈事務(wù),交由跨鏈事務(wù)層處理.

2)跨鏈事務(wù)層.跨鏈事務(wù)如圖5 所示,由在2 個(或多個)交互區(qū)塊鏈內(nèi)分別執(zhí)行的一組鏈內(nèi)交易(在不同鏈執(zhí)行)組成.跨鏈事務(wù)層部署在平行鏈,提供了獨立的事務(wù)協(xié)議,在保證跨鏈事務(wù)原子性的同時,保證跨鏈事務(wù)與跨鏈事務(wù)間、跨鏈事務(wù)與鏈內(nèi)交易間的隔離性,即組成跨鏈事務(wù)的交易與組成其他跨鏈事務(wù)的交易及鏈內(nèi)交易互不影響.

3)跨鏈驗證層.跨鏈驗證層解決跨鏈信任傳遞的問題,與跨鏈傳輸層一起支撐跨鏈事務(wù)處理.其部署在平行鏈、中繼鏈以及網(wǎng)關(guān)節(jié)點上,提供了多種區(qū)塊鏈驗證方法與對應(yīng)的證據(jù)生成機制,實現(xiàn)了平行鏈與中繼鏈對基于跨鏈傳輸層所獲取的跨鏈數(shù)據(jù)的可信性驗證.

4)跨鏈傳輸層.跨鏈傳輸層解決跨鏈信息傳輸?shù)膯栴},與跨鏈驗證層一起支撐跨鏈事務(wù)處理.其部署在平行鏈、中繼鏈以及網(wǎng)關(guān)節(jié)點上,提供了多種跨鏈傳輸協(xié)議,實現(xiàn)了跨鏈數(shù)據(jù)在交互區(qū)塊鏈間的傳輸.其中,由于區(qū)塊鏈無法主動向外部發(fā)送信息[18],各跨鏈傳輸協(xié)議均通過網(wǎng)關(guān)節(jié)點監(jiān)聽平行鏈與中繼鏈獲取跨鏈信息、轉(zhuǎn)發(fā)跨鏈信息實現(xiàn).

本文采用適配器設(shè)計模式,如圖4 所示,為協(xié)議棧各層引入聚合器,一方面實現(xiàn)層內(nèi)協(xié)議管理,另一方面實現(xiàn)層間交互.在層內(nèi)協(xié)議管理方面,本文通過協(xié)議注冊與協(xié)議地址映射表實現(xiàn)新協(xié)議的加載與協(xié)議的調(diào)用.在層間交互方面,本文設(shè)計了如表1 所示的各層控制信息.在跨鏈請求發(fā)送階段,上層聚合器將處理好的跨鏈數(shù)據(jù)以及控制信息發(fā)給下層聚合器,下層聚合器根據(jù)控制信息進行協(xié)議調(diào)度,數(shù)據(jù)經(jīng)過層內(nèi)協(xié)議處理后,聚合器再將本層數(shù)據(jù)打包,連同控制信息一并發(fā)給下層聚合器;在跨鏈請求處理階段,各層解析本層控制信息,并將本層控制信息外的其它數(shù)據(jù)發(fā)給上層聚合器.各層的數(shù)據(jù)包拆封與解封方式與傳統(tǒng)網(wǎng)絡(luò)協(xié)議棧類似,每層的數(shù)據(jù)都是由本層的數(shù)據(jù)包頭以及來自上層的數(shù)據(jù)包體組成,發(fā)送時層層封裝,接收時層層解封.

Table 1 Control Information of the Cross-Chain Interaction Protocol Stack表1 跨鏈交互協(xié)議??刂菩畔?/p>

3.2 分層協(xié)議棧設(shè)計

1)跨鏈事務(wù)層

跨鏈事務(wù)層解耦應(yīng)用與事務(wù),為跨鏈事務(wù)提供多種事務(wù)協(xié)議保障其原子性與隔離性.

本文針對事務(wù)協(xié)議的共性需求,抽象出資源鎖服務(wù)、回滾日志服務(wù)、事務(wù)時鐘服務(wù)3 種基礎(chǔ)服務(wù).

資源鎖服務(wù)是保證跨鏈事務(wù)隔離性的重要模塊.跨鏈事務(wù)隔離性本質(zhì)上需要解決并行的多個跨鏈事務(wù)對同一公共資源的競爭問題.資源鎖服務(wù)通過在鏈上維護資源鎖映射表,記錄當前世界狀態(tài)下指定對象的操作權(quán)限.跨鏈事務(wù)在訪問區(qū)塊鏈資源前需要成功申請資源鎖,在跨鏈事務(wù)完成后需要釋放資源鎖.資源鎖具體包括讀鎖、共享寫鎖和獨占寫鎖.

回滾日志服務(wù)是保證跨鏈事務(wù)原子性的重要模塊.回滾日志服務(wù)通過預(yù)寫日志和回滾日志的方法實現(xiàn)事務(wù)處理失敗時所涉及的區(qū)塊鏈狀態(tài)的回滾.具體而言,跨鏈事務(wù)在執(zhí)行前需要將回滾操作加載至回滾日志服務(wù)中,若事務(wù)處理失敗,則回滾日志服務(wù)會按照事務(wù)預(yù)先注冊的回滾策略進行事務(wù)回滾.

事務(wù)時鐘服務(wù)主要解決區(qū)塊鏈缺少統(tǒng)一時鐘帶來的事務(wù)協(xié)議可終止性問題.事務(wù)時鐘服務(wù)通過鏈上記錄事務(wù)有效時間與鏈下計時器監(jiān)聽、觸發(fā)事務(wù)超時事件完成對跨鏈事務(wù)超時情況的監(jiān)測.

基于上述3 種基礎(chǔ)服務(wù),本文設(shè)計了3 種基本的事務(wù)協(xié)議,包括基礎(chǔ)事務(wù)協(xié)議(BTP)、自動事務(wù)協(xié)議(ATP)、多鏈事務(wù)協(xié)議(MTP).BTP 僅適用于有補償操作的跨鏈應(yīng)用,且需應(yīng)用顯示地給出事務(wù)處理失敗時的補償操作,其基于補償保證原子性,基于資源鎖服務(wù)保證隔離性.ATP 基于回滾日志服務(wù)保證原子性,基于資源鎖服務(wù)保證隔離性,適用范圍更廣.MTP 適用于多鏈事務(wù),其原子性和隔離性保障方式與BTP 相同.

2)跨鏈驗證層

跨鏈驗證層提供多種跨鏈驗證方法保證跨鏈交互過程中跨鏈信息的可信性,即跨鏈信息是經(jīng)過源鏈共識的且存在于源鏈主鏈中的數(shù)據(jù).

本文實現(xiàn)了基于SPV 的跨鏈數(shù)據(jù)驗證方法與基于公證人的跨鏈數(shù)據(jù)驗證方法.基于SPV 的驗證方法通過區(qū)塊頭鏈的同步保證區(qū)塊頭的可信性;通過狀態(tài)樹驗證,保證指定狀態(tài)數(shù)據(jù)在有效區(qū)塊頭中.基于公證人的驗證方法通過可信公證人背書實現(xiàn)跨鏈數(shù)據(jù)的驗證.

跨鏈驗證層部署在平行鏈、中繼鏈以及網(wǎng)關(guān)節(jié)點上,其中平行鏈與中繼鏈實現(xiàn)具體的驗證方法;網(wǎng)關(guān)節(jié)點根據(jù)不同驗證協(xié)議生成不同的證據(jù).

3)跨鏈傳輸層

跨鏈傳輸層實現(xiàn)鏈到鏈的信息傳輸.由于區(qū)塊鏈需要借助鏈下網(wǎng)關(guān)節(jié)點監(jiān)聽轉(zhuǎn)發(fā)實現(xiàn)跨鏈信息傳輸,在此過程中需要解決如何在源鏈上發(fā)現(xiàn)并獲取待轉(zhuǎn)發(fā)的跨鏈信息這一基本問題.

為此,本文設(shè)計了跨鏈事件拋出與跨鏈數(shù)據(jù)隊列存儲2 種基礎(chǔ)服務(wù).其中,跨鏈事件拋出服務(wù)是指利用大多數(shù)區(qū)塊鏈自有的事件機制,將封裝好的跨鏈數(shù)據(jù)包以事件形式拋出,以便網(wǎng)關(guān)節(jié)點監(jiān)聽.跨鏈數(shù)據(jù)隊列存儲服務(wù)是指利用智能合約維護一個存儲跨鏈數(shù)據(jù)的隊列,新產(chǎn)生的跨鏈信息將存儲在隊列中等待傳輸,鏈下網(wǎng)關(guān)需要不斷查詢這個隊列來判斷是否有新的數(shù)據(jù)包到來.

在此基礎(chǔ)上,本文進一步設(shè)計了基礎(chǔ)跨鏈傳輸協(xié)議與可靠跨鏈傳輸協(xié)議.其中,基礎(chǔ)跨鏈傳輸協(xié)議僅實現(xiàn)跨鏈信息監(jiān)聽、轉(zhuǎn)發(fā).而可靠跨鏈傳輸協(xié)議為跨鏈數(shù)據(jù)包引入唯一的序號,實現(xiàn)重復(fù)跨鏈信息的過濾;基于源平行鏈、目的平行鏈上維護的下一筆跨鏈數(shù)據(jù)包發(fā)送序號、跨鏈數(shù)據(jù)包接受序號,實現(xiàn)跨鏈信息有序交付以及數(shù)據(jù)包丟失重傳.

4 驗證與分析

本節(jié)從理論分析與實驗2 個角度對PieBridge 的可擴展性與差異化跨鏈交互進行了驗證.首先通過理論分析,對比中繼鏈網(wǎng)絡(luò)方案與PieBridge 在擴展性方面的優(yōu)劣.接著,通過2 組實驗,對比了單中繼鏈方案與PieBridge 在可擴展性方面的優(yōu)劣,并驗證了PieBridge 對差異化跨鏈交互的支持.

4.1 理論分析

本文選取跨鏈交易的時延作為指標,由于所有跨鏈交易都需要經(jīng)過源平行鏈、目的平行鏈處理,因此此處時延僅指跨鏈交易在中繼鏈中的時延.若跨鏈系統(tǒng)在時延可接受、波動較小的情況下可以接入更多區(qū)塊鏈,則表明該跨鏈系統(tǒng)擴展性良好;反之,若跨鏈系統(tǒng)為接入更多區(qū)塊鏈,造成了嚴重的阻塞,甚至是無限制排隊,導(dǎo)致時延很高,則跨鏈系統(tǒng)可擴展性不佳.

4.1.1 建模

首先,本文對于一條中繼鏈上跨鏈交易的到達和處理作出一些基本假設(shè).假設(shè)交易的到達、處理是服從參數(shù)為 λ和μ的泊松過程,這種假設(shè)將每條中繼鏈的交易處理過程簡化為一個M/M/1模型[27].此處的λ和μ的單位并非區(qū)塊鏈中??剂康膖ps,而是以中繼鏈的區(qū)塊為單位計數(shù)的頻率,例如若中繼鏈從一條區(qū)塊鏈收到跨鏈交易的頻率是5 tps,中繼鏈處理交易的速度是100 tps,且區(qū)塊能打包500 筆交易,那么在本模型中對于中繼鏈而言,此時每秒鐘會從一條平行鏈收到 λ=個中繼鏈區(qū)塊,并處理 μ=個中繼鏈區(qū)塊,即

其中,TPS1是一條源平行鏈的交易處理速率,γ是其中的跨鏈交易比例,B是一個中繼鏈區(qū)塊所能容納的交易數(shù)目,TPS2是中繼鏈處理交易速率.

接下來,討論每種方案的理論時延.

1)中繼鏈網(wǎng)絡(luò)

記Wrelay為中繼鏈網(wǎng)絡(luò)下一筆跨鏈交易從被發(fā)送至中繼鏈到上鏈處理完畢的時延,表示為

因為中繼鏈隨機連接一組平行鏈,對于一筆跨鏈交易,其源平行鏈與目的平行鏈既可能連接同一條中繼鏈,又可能連接不同的中繼鏈,這2 種情況對應(yīng)的概率分別記做p1和p2.W為經(jīng)歷一次中繼鏈的時延,則當源中繼鏈、目的中繼鏈在同一中繼鏈群組時,跨鏈交易會經(jīng)歷一次中繼鏈時延,源中繼鏈、目的中繼鏈分處于不同中繼鏈群組時,跨鏈交易經(jīng)歷2 次中繼鏈時延.p1和p2的計算公式為:

k為中繼鏈網(wǎng)絡(luò)下中繼鏈群組的數(shù)目,它是下面方程的解.

其中k-1是指當前中繼鏈需要與所有其他中繼鏈互聯(lián),n為整個網(wǎng)絡(luò)中需要提供服務(wù)的平行鏈數(shù)量,則為每個群組中隨機分配到的平行鏈數(shù)量,不得超過中繼鏈的極限接入能力mmax.θ是本文引入的參數(shù),代表中繼鏈接入鏈數(shù)目占其極限數(shù)目的百分比,θ <1,記m=θ·mmax.根據(jù)前文抽象的排隊論M/M/1模型,每條中繼鏈的負載強度 ρ不得大于1,否則中繼鏈會發(fā)生阻塞,跨鏈交易無限制排隊下去,由此可得mmax:

需要注意的是,式(1)中的 μ表示中繼鏈處理交易的能力,但是在中繼鏈網(wǎng)絡(luò)下,除跨鏈交易外,每個源平行鏈區(qū)塊頭也需要被中繼鏈同步,這會降低中繼鏈的處理能力,我們假設(shè)平均q筆跨鏈交易會有1 個區(qū)塊頭需要同步,中繼鏈對跨鏈交易的實際處理能力 μ′為

由M/M/1模型可知,單一中繼鏈的時延W為

因此有

2)PieBridge

本文分別為PieBridge 不進行中繼域擴容的基礎(chǔ)方案與進行中繼域擴容的優(yōu)化方案建模.

①基礎(chǔ)方案

在“按需建域”的PieBridge 中,一筆跨鏈交易的源平行鏈、目的平行鏈總是存在于同一中繼域中,因此有,

其中,m=θ·mmax.需要注意的是,PieBridge中繼域依據(jù)跨鏈需求生成,各中繼域內(nèi)平行鏈數(shù)量不一致,本文建模對此進行了簡化.同時,由于各中繼域獨立,中繼鏈不需要互聯(lián),因此每條中繼鏈所連接的所有區(qū)塊鏈都是需要服務(wù)的平行鏈,這將使得在全網(wǎng)區(qū)塊鏈數(shù)目一定的情況下,本文方案需要更少的中繼鏈群組建立更少的中繼鏈,才達到更低的時延.

②優(yōu)化方案

在支持中繼域擴容的PieBridge 中,網(wǎng)關(guān)節(jié)點根據(jù)跨鏈交易分流策略,實現(xiàn)中繼鏈之間的負載均衡.假設(shè)每個中繼域有s條中繼鏈,此時整個中繼鏈的模型不再是單鏈模型M/M/1的組合,而是相當于一個多服務(wù)臺的M/M/s系統(tǒng)[27].

根據(jù)圖6,中繼鏈時延WPieBridge2可以表示為

Fig.6 The multi-server queuing model圖6 多服務(wù)臺排隊模型

式(4)中p0為中繼鏈空載概率,其計算公式為

其中 ρ代表整體中繼鏈負載強度,其計算公式為

式(4)中 ρs代表此時每條中繼鏈負載強度,其計算公式為

此處 μ′′為該方案下每條中繼鏈對跨鏈交易的實際處理能力,需要注意的是,此時即使一筆跨鏈交易沒有經(jīng)由某條中繼鏈處理,但是其區(qū)塊頭仍然需要s條中繼鏈全部同步,即

mmax由ρs=1取得,m仍然滿足m=θ·mmax.值得注意的是,此時mmax擴展了倍.盡管支持中繼域擴容的PieBridge 方案中,由于域內(nèi)中繼鏈均需要適配所有平行鏈,每條中繼鏈上的平行鏈數(shù)據(jù)同步開銷將隨著平行鏈的接入而不斷增加,因此mmax無法擴展為s倍.但是,仍然可以極大地提升跨鏈架構(gòu)的可擴展性,且提升效果在跨鏈交易密集的情況下更好.

4.1.2 分析

本文根據(jù)對Cosmos 網(wǎng)絡(luò)中跨鏈交易比例的測量以及現(xiàn)有相關(guān)測量工作[28],進行了如表2 所示的配置,并討論了表2 配置下PieBridge 與Cosmos 的端到端跨鏈時延隨接入平行鏈數(shù)量變化的模擬實驗結(jié)果.

Table 2 Parameters When the Number of Connected Parachain Varies表2 接入平行鏈數(shù)量變化時的參數(shù)

對比如圖7 所示的3 種方案在不同接入?yún)^(qū)塊鏈數(shù)目下的延時變化情況.

Fig.7 Delay of transactions in the relay chain system when the number of connected parachain varies圖7 隨接入平行鏈數(shù)量變化的中繼鏈交易時延

1)中繼鏈網(wǎng)絡(luò)的時延始終高于PieBridge 的2 種方法,這是因為中繼鏈網(wǎng)絡(luò)下,跨鏈交易有很大的概率需要跨越中繼鏈群組,隨著區(qū)塊鏈和中繼鏈群組數(shù)目越多,跨鏈交易需要涉及其他群組的概率也就越大,因此其時延不斷增長.進一步地,因為中繼鏈既需要與一定數(shù)目接入?yún)^(qū)塊鏈相連,又需要負責連接數(shù)目越來越多的其他中繼鏈,當接入?yún)^(qū)塊鏈數(shù)目超過某一臨界值后,所有中繼鏈徹底擁塞,跨鏈交易開始無限制排隊,此時如圖7 中虛線所示,理論時延不是虛線對應(yīng)的數(shù)值120 s,而是隨著無限排隊趨于無窮,因此中繼鏈網(wǎng)絡(luò)的可擴展性瓶頸可見一斑.

2)PieBridge 的2 種方法因為不涉及跨鏈交易跨中繼鏈群組傳播,因此時延顯著低于中繼鏈網(wǎng)絡(luò)方案,且因為中繼鏈不需要連接其他中繼鏈,系統(tǒng)不會因為中繼鏈群組、接入?yún)^(qū)塊鏈數(shù)目的增多而發(fā)生擁塞,展現(xiàn)了良好的可擴展性.

3)PieBridge 的優(yōu)化方案展現(xiàn)出了極佳的性能,在每個中繼鏈群組只額外引入1 條區(qū)塊鏈的情況下,系統(tǒng)的時延由55 s 大幅度下降到了4.21 s,該時延已經(jīng)接近中繼鏈本身的共識時延,基本可達到“跨鏈交易產(chǎn)生,即被中繼鏈處理”的效果.此外,如模型中討論,PieBridge 優(yōu)化方案的區(qū)塊鏈可接入數(shù)量得到極大的提升,系統(tǒng)的可擴展性優(yōu)異.

4.2 實驗分析

本文選取中繼鏈吞吐量(中繼鏈單位時間內(nèi)處理交易的數(shù)目)作為指標,進行了性能實驗.通過增加接入中繼鏈的平行鏈數(shù)量,比較中繼鏈吞吐量,衡量跨鏈系統(tǒng)性能.若中繼鏈吞吐量趨于平穩(wěn),則表明中繼鏈已到達性能瓶頸,無法接入更多的平行鏈.

然后本文驗證了PieBridge 對差異化跨鏈交互的支持.根據(jù)供應(yīng)鏈數(shù)據(jù)存證場景與跨城市公共服務(wù)場景對跨鏈交互在可擴展性與時效性上的不同需求,針對性地構(gòu)建了不同類型的中繼域,并通過實驗比較2 個中繼域在性能方面的差異性,驗證了PieBridge對差異化跨鏈交互的支持.

考慮到實際跨鏈應(yīng)用中的網(wǎng)絡(luò)問題,本文選擇部署在不同地區(qū)的云服務(wù)器進行實驗.服務(wù)器使用了2 個CPU,每個CPU 配置為2.10 GHz、20 核,服務(wù)器內(nèi)存為256 GB.

4.2.1 性能試驗

本文將Cosmos 跨鏈系統(tǒng)與按需建域的PieBridge進行比較,通過比較相同實驗環(huán)境下Cosmos 與PieBridge 吞吐量隨接入平行鏈數(shù)量的變化,驗證PieBridge 在性能方面的可擴展性.

在實驗中,本文設(shè)置Cosmos 跨鏈系統(tǒng)和PieBridge跨鏈系統(tǒng)的中繼鏈配置相同,均采用4 個共識節(jié)點,分別部署在4 臺服務(wù)器上,中繼鏈每個區(qū)塊可容納的最大交易數(shù)量為5 000;同時使用了進程模擬平行鏈出塊過程,假設(shè)平行鏈出塊間隔時間為6 s,每個區(qū)塊中的跨鏈交易比例為10%,每當平行鏈有新的區(qū)塊產(chǎn)生,區(qū)塊內(nèi)的跨鏈交易都會被逐個發(fā)送到中繼鏈.

實驗結(jié)果如圖8 所示.Cosmos 吞吐量首先隨接入平行鏈數(shù)量的增多持續(xù)增大,并在接入500 條平行鏈后趨于穩(wěn)定,這意味著跨鏈系統(tǒng)到達性能瓶頸,無法接入更多的平行鏈、處理更多的跨鏈交易;而PieBridge由于將平行鏈接入了不同的中繼域,并且當中繼域到達性能瓶頸時會動態(tài)擴容,其吞吐量隨接入平行鏈數(shù)量的增多持續(xù)增大.由圖8 表明,PieBridge 可以通過域的擴容,按需提升跨鏈系統(tǒng)的吞吐量,保證跨鏈性能不隨跨鏈交互的增加而降低.

Fig.8 Throughput of cross-chain system when the number of connected parachain varies圖8 隨接入平行鏈數(shù)量變化的跨鏈系統(tǒng)吞吐量

4.2.2 差異化交互實驗

本文依據(jù)供應(yīng)鏈數(shù)據(jù)存證場景與跨城市公共服務(wù)場景對跨鏈交互在可擴展性與時效性上的不同需求,構(gòu)建2 個中繼域,并通過比較這2 個中繼域的吞吐量與跨鏈交互時延,驗證PieBridge 對差異化跨鏈交互的支持.

在該實驗中,供應(yīng)鏈數(shù)據(jù)存證場景更加注重中繼域(Zone-1)的吞吐量,且需要保證存證數(shù)據(jù)完整可靠,中繼鏈配置了較大的區(qū)塊容量與權(quán)威證明(proof of authority,PoA)共識機制,跨鏈交互協(xié)議棧在驗證層配置了基于SPV 的跨鏈數(shù)據(jù)驗證方法,傳輸層配置了可靠傳輸協(xié)議;面向跨城市公共服務(wù)場景的中繼域(Zone-2)注重跨鏈交互的時效性,中繼鏈配置了較小的出塊間隔與tendermint 共識機制,跨鏈交互協(xié)議棧在驗證層配置了基于公證人的跨鏈數(shù)據(jù)驗證方法,傳輸層配置了基礎(chǔ)跨鏈傳輸協(xié)議.

實驗結(jié)果如圖9 所示,Zone-1 擁有更高的平均吞吐量,Zone-2 擁有更低的跨鏈交互時延.這是因為Zone-1 配置了較大的區(qū)塊容量,單區(qū)塊包含的交易數(shù)量增多;Zone-2 配置了較小的出塊間隔,且采用基于公證人的跨鏈數(shù)據(jù)驗證方法,縮短了交易等待時間與跨鏈數(shù)據(jù)驗證時間.該結(jié)果符合不同應(yīng)用場景對跨鏈交互提出的需求,這意味著PieBridge 可以通過中繼鏈與跨鏈交互協(xié)議的配置實現(xiàn)差異化的跨鏈交互.

Fig.9 Diversity of cross-chain interactions圖9 差異性跨鏈交互

5 總結(jié)

本文基于“按需建域”的理念提出了一種按需可擴展的跨鏈架構(gòu)PieBridge,并在此基礎(chǔ)上提出了具有獨立事務(wù)層的4 層跨鏈交互協(xié)議棧,在保證跨鏈架構(gòu)可擴展的同時支持差異化的跨鏈交互.本文實現(xiàn)了PieBridge 原型系統(tǒng),并通過建模分析與實驗驗證了PieBridge 的可擴展性,以及其對差異化跨鏈交互需求的靈活支持.

未來,我們將在本文工作的基礎(chǔ)上,針對當前跨鏈交互性能低的問題,從2 個層面開展工作:

1)架構(gòu)層面.針對中繼鏈上交易類型單一、交易分區(qū)明顯的特點,研究中繼鏈并行化方法,通過提升單中繼鏈性能,降低跨鏈交互時延.

2)交互協(xié)議層面.針對跨鏈事務(wù)處理機制在多主體、長流程的場景下低效率的問題,研究單事務(wù)并行執(zhí)行技術(shù)與多事務(wù)并發(fā)執(zhí)行技術(shù),通過提升跨鏈事務(wù)處理效率,提升跨鏈交互性能.

作者貢獻聲明:段田田提出系統(tǒng)、實現(xiàn)系統(tǒng)并撰寫論文;郭儀實現(xiàn)系統(tǒng)、參與實驗;李博對系統(tǒng)進行理論分析;張瀚文、李忠誠、張珺、孫毅負責方案設(shè)計指導(dǎo)與論文修改;宋兆雄負責系統(tǒng)實現(xiàn)指導(dǎo)與論文修改.

猜你喜歡
中繼事務(wù)平行
基于分布式事務(wù)的門架數(shù)據(jù)處理系統(tǒng)設(shè)計與實現(xiàn)
向量的平行與垂直
平行
逃離平行世界
河湖事務(wù)
面向5G的緩存輔助多天線中繼策略
再頂平行進口
中繼測控鏈路動態(tài)分析與計算方法研究
Nakagami-m衰落下AF部分中繼選擇系統(tǒng)性能研究
SQLServer自治事務(wù)實現(xiàn)方案探析
河西区| 达孜县| 土默特左旗| 台前县| 伊金霍洛旗| 漯河市| 长泰县| 同心县| 洪泽县| 长阳| 句容市| 楚雄市| 同仁县| 涞水县| 汨罗市| 凤冈县| 高陵县| 尖扎县| 绥德县| 木里| 错那县| 潼关县| 桐梓县| 淅川县| 黄浦区| 惠安县| 五寨县| 原平市| 和硕县| 镇平县| 库车县| 长沙县| 阿鲁科尔沁旗| 化隆| 巢湖市| 子洲县| 金寨县| 崇义县| 扶余县| 三明市| 松溪县|