聯(lián)盟鏈的跨鏈設(shè)計(jì)探索與實(shí)踐研究_第1頁(yè)
聯(lián)盟鏈的跨鏈設(shè)計(jì)探索與實(shí)踐研究_第2頁(yè)
聯(lián)盟鏈的跨鏈設(shè)計(jì)探索與實(shí)踐研究_第3頁(yè)
聯(lián)盟鏈的跨鏈設(shè)計(jì)探索與實(shí)踐研究_第4頁(yè)
聯(lián)盟鏈的跨鏈設(shè)計(jì)探索與實(shí)踐研究_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

聯(lián)盟鏈的跨鏈設(shè)計(jì)探索與實(shí)踐研究

隨著區(qū)塊鏈產(chǎn)業(yè)改革和升級(jí),整個(gè)區(qū)塊鏈行業(yè)蓬勃發(fā)展,從金融領(lǐng)域逐步滲透到各行各業(yè)。區(qū)塊鏈根據(jù)節(jié)點(diǎn)準(zhǔn)入條件和節(jié)點(diǎn)規(guī)模分為公有鏈、聯(lián)盟鏈和私有鏈三類。目前,我國(guó)的區(qū)塊鏈產(chǎn)業(yè)以聯(lián)盟鏈為主。隨著國(guó)內(nèi)聯(lián)盟鏈應(yīng)用的不斷增長(zhǎng),基于不同平臺(tái)的應(yīng)用之間逐漸產(chǎn)生了交互、建立關(guān)聯(lián)的外延需求,整個(gè)聯(lián)盟鏈生態(tài)需要一個(gè)更加開放、易于協(xié)作、多方共贏的交互環(huán)境,以及“超越平臺(tái)、鏈接應(yīng)用”的創(chuàng)新性解決方案。高效通用的跨鏈技術(shù)是實(shí)現(xiàn)萬(wàn)鏈互聯(lián)的關(guān)鍵??珂溂夹g(shù)能夠連通分散的區(qū)塊鏈生態(tài)孤島,成為區(qū)塊鏈整體向外拓展的橋梁紐帶。業(yè)界在跨鏈領(lǐng)域已有初步的探索和積累,以太坊創(chuàng)始人VitalikButerin總結(jié)了三類跨鏈技術(shù),分別是公證人機(jī)制、中繼/側(cè)鏈、哈希時(shí)間鎖定合約。目前,基于這些技術(shù)構(gòu)建的跨鏈應(yīng)用主要面向公有鏈實(shí)現(xiàn)數(shù)字資產(chǎn)跨鏈。在聯(lián)盟鏈的大生態(tài)中,還需針對(duì)底層平臺(tái)異構(gòu)化、應(yīng)用場(chǎng)景多樣化、跨鏈需求復(fù)雜化等特點(diǎn),構(gòu)建聯(lián)盟鏈的可信跨鏈交互。當(dāng)然,這面臨更大的挑戰(zhàn)。實(shí)現(xiàn)聯(lián)盟鏈跨鏈需要突破五大難點(diǎn)。(1)底層架構(gòu)無(wú)法互通,不同的聯(lián)盟鏈平臺(tái)底層架構(gòu)設(shè)計(jì)相差甚遠(yuǎn),不僅交易處理時(shí)序不同,計(jì)算與存儲(chǔ)結(jié)構(gòu)也不同,跨鏈交易無(wú)法直接在兩個(gè)平臺(tái)互通。(2)跨鏈數(shù)據(jù)無(wú)法互驗(yàn),基于默克爾樹實(shí)現(xiàn)交易存在性驗(yàn)證的方式非常普遍,但并非所有平臺(tái)都支持默克爾樹,不同的驗(yàn)證機(jī)制難以整合。(3)接口協(xié)議無(wú)法互聯(lián),平臺(tái)間網(wǎng)絡(luò)傳輸編碼協(xié)議各不相同,暴露的接口格式字段也有差異,難以兼容互聯(lián)。(4)安全機(jī)制無(wú)法互信,區(qū)塊鏈的安全邊界往往以平臺(tái)范圍為界,當(dāng)涉及鏈和鏈之間進(jìn)行銜接時(shí),會(huì)因?yàn)槎喾N安全機(jī)制參差不齊,如共識(shí)者列表不同、準(zhǔn)入機(jī)制嚴(yán)格程度有高低、權(quán)限配置差異等因素,導(dǎo)致平臺(tái)之間的互信條件不成立。(5)業(yè)務(wù)層無(wú)法互訪。不同業(yè)務(wù)場(chǎng)景的合約邏輯千差萬(wàn)別,各個(gè)場(chǎng)景都是內(nèi)在閉環(huán)的系統(tǒng),要打通場(chǎng)景之間的互訪,任意一個(gè)環(huán)節(jié)的疏漏都可能導(dǎo)致異常,使跨鏈?zhǔn)?,保障整體銜接過程中事務(wù)和事務(wù)之間的完整性和一致性將是巨大的挑戰(zhàn)。一區(qū)塊鏈跨鏈技術(shù)演進(jìn)在2008年比特幣誕生至2015年Linux基金會(huì)成立超級(jí)賬本期間,關(guān)于區(qū)塊鏈的討論和研究主要圍繞以比特幣和以太坊為主的公有鏈。由于公有鏈本身伴隨著濃厚的金融色彩,早中期對(duì)跨鏈的需求主要集中在數(shù)字資產(chǎn)的交換或轉(zhuǎn)移方面,因此跨鏈概念的狹義解釋為:兩條區(qū)塊鏈之間資產(chǎn)的互操作(Interoperability)過程。隨著聯(lián)盟鏈的發(fā)展,區(qū)塊鏈從金融行業(yè)逐漸滲透到醫(yī)療、存證、司法等眾多領(lǐng)域,催生了跨應(yīng)用互聯(lián)互通的需求,跨鏈含義得到進(jìn)一步升華:在不改變?cè)湹那闆r下,兩條區(qū)塊鏈之間進(jìn)行資產(chǎn)轉(zhuǎn)移、支付或信息交互。近年來,在從業(yè)人員的不斷探索下,已經(jīng)誕生了多種跨鏈機(jī)制,催生了很多區(qū)塊鏈跨鏈應(yīng)用,相關(guān)跨鏈標(biāo)準(zhǔn)也在初步形成。(一)多種跨鏈機(jī)制誕生Nolan于2013年提出數(shù)字資產(chǎn)原子轉(zhuǎn)移(AtomicTransfers)方案,旨在實(shí)現(xiàn)兩條區(qū)塊鏈之間數(shù)字資產(chǎn)的原子互換,即發(fā)生在兩條鏈上的資產(chǎn)轉(zhuǎn)移同時(shí)成功或同時(shí)失敗,不會(huì)出現(xiàn)第三種中間狀態(tài)。該方案通過在兩條鏈上設(shè)定一個(gè)合約腳本,并根據(jù)某種斷言,如是否持有約定哈希值的原像,作為合約的觸發(fā)條件,并通過一系列流程保證跨鏈交易的原子性。這就是哈希時(shí)間鎖定合約(HashedTimelockContract,HTLC)的前身。哈希時(shí)間鎖定合約是一種用于實(shí)現(xiàn)資產(chǎn)互換的跨鏈機(jī)制,通過哈希鎖和時(shí)間鎖提供原子性保障。哈希鎖是指兩條鏈上的資產(chǎn)分別使用同一個(gè)哈希值鎖定,然后在合約里約定只有提供該哈希的原像才能將資產(chǎn)解鎖。時(shí)間鎖是指解鎖必須在約定的時(shí)間內(nèi),否則資產(chǎn)就會(huì)回滾。為了解決比特幣擴(kuò)容問題而誕生的閃電網(wǎng)絡(luò)便是基于哈希時(shí)間鎖定合約實(shí)現(xiàn)的微支付通道,以支持可擴(kuò)展的連鎖即時(shí)支付。側(cè)鏈/中繼是一種更靈活、易于擴(kuò)展的跨鏈機(jī)制。很多的跨鏈應(yīng)用基于側(cè)鏈/中繼實(shí)現(xiàn)不同區(qū)塊鏈資產(chǎn)的跨鏈轉(zhuǎn)移,組建區(qū)塊鏈互操作網(wǎng)絡(luò),或構(gòu)建異構(gòu)的多鏈架構(gòu)。側(cè)鏈/中繼以輕客戶端驗(yàn)證技術(shù)為基礎(chǔ),實(shí)現(xiàn)跨鏈交易的存在性驗(yàn)證。側(cè)鏈/中繼上部署一個(gè)類似輕客戶端功能的合約,驗(yàn)證來自主鏈/應(yīng)用鏈的跨鏈交易,驗(yàn)證方式取決于區(qū)塊鏈本身的設(shè)計(jì)。側(cè)鏈/中繼驗(yàn)證模塊大多依賴默克爾證明,通過加密哈希樹和交易哈希生成交易的默克爾根,然后和區(qū)塊頭中的交易默爾克根對(duì)比,確定跨鏈交易的真實(shí)性。還有其他的一些驗(yàn)證方式,例如驗(yàn)證節(jié)點(diǎn)簽名數(shù)量,或者共識(shí)節(jié)點(diǎn)的公鑰列表等。側(cè)鏈/中繼機(jī)制是一種比較復(fù)雜的跨鏈機(jī)制,由于所有跨鏈交易都需要在側(cè)鏈/中繼中完成驗(yàn)證、共識(shí)、中轉(zhuǎn),側(cè)鏈/中繼本身容易成為跨鏈系統(tǒng)安全性和性能的瓶頸。還有一種應(yīng)用較廣的跨鏈技術(shù),即公證人機(jī)制。普通的公證人機(jī)制由單一的節(jié)點(diǎn)或獨(dú)立機(jī)構(gòu)作為公證人,公證人負(fù)責(zé)監(jiān)聽A鏈上的事件并在B鏈執(zhí)行相關(guān)的交易完成對(duì)該事件的響應(yīng)。公證人在跨鏈交互過程中充當(dāng)了交易確認(rèn)和交易仲裁的角色,雖然該模式架構(gòu)簡(jiǎn)單、擴(kuò)展性強(qiáng)、跨鏈性能較高,但公證人安全性成為跨鏈系統(tǒng)穩(wěn)定的關(guān)鍵因素。為了削弱該機(jī)制中對(duì)公證人的信任依賴,一種多重簽名的公證人機(jī)制被提出。通過多種方式如隨機(jī)抽取,或采用可信聯(lián)盟的節(jié)點(diǎn)選取多個(gè)公證人??珂溄灰椎拇_認(rèn)需要滿足兩個(gè)條件:(1)達(dá)到了一定的公證人簽名數(shù)量;(2)所有公證人達(dá)成了共識(shí)。雖然多重簽名公證人機(jī)制擁有更高的安全性,但要求參與跨鏈的區(qū)塊鏈平臺(tái)都支持多重簽名,缺乏擴(kuò)展性。(二)跨鏈應(yīng)用快速發(fā)展隨著多種跨鏈機(jī)制的不斷迭代和完善,區(qū)塊鏈跨鏈應(yīng)用逐漸涌現(xiàn)出來。2016年,ConsenSys公司開發(fā)的跨鏈項(xiàng)目基于中繼技術(shù)實(shí)現(xiàn)了以太坊對(duì)比特幣的區(qū)塊鏈數(shù)據(jù)的單向訪問,使以太坊應(yīng)用能夠支持比特幣支付。2017年,閃電網(wǎng)絡(luò)測(cè)試網(wǎng)基于哈希時(shí)間鎖合約機(jī)制首次實(shí)現(xiàn)了比特幣與萊特幣之間的原子互換。2018年,比特幣的首個(gè)側(cè)鏈問世,用于交易所大額轉(zhuǎn)賬。上述應(yīng)用主要面向公有鏈實(shí)現(xiàn)資產(chǎn)跨鏈,與此同時(shí),致力于構(gòu)建公有鏈跨鏈協(xié)作平臺(tái)的項(xiàng)目逐漸問世。2016年,Tendermint團(tuán)隊(duì)發(fā)起了Cosmos項(xiàng)目,以構(gòu)建支持多種區(qū)塊鏈接入的跨鏈網(wǎng)絡(luò)??珂溇W(wǎng)絡(luò)由樞紐和分區(qū)組成,每個(gè)分區(qū)都是基于Tendermint開發(fā)框架的同構(gòu)區(qū)塊鏈,并通過橋接器接入異構(gòu)區(qū)塊鏈。分區(qū)之間采用IBC協(xié)議通信,且必須經(jīng)過樞紐。同年,Gavin發(fā)布了Polkadot白皮書。該項(xiàng)目由Web3基金會(huì)支持,旨在打造一種異構(gòu)的多鏈架構(gòu)。整個(gè)網(wǎng)絡(luò)由中繼鏈、平行鏈和轉(zhuǎn)接橋組成,并定義了四種角色以分別負(fù)責(zé)交易收集、交易驗(yàn)證、監(jiān)督作惡以及提名驗(yàn)證者,以實(shí)現(xiàn)多鏈架構(gòu)的運(yùn)行和治理。隨著聯(lián)盟鏈技術(shù)的發(fā)展,聯(lián)盟鏈在各個(gè)行業(yè)大放異彩,聯(lián)盟鏈跨鏈應(yīng)用儼然成為行業(yè)新星。2017年,超級(jí)賬本推出新項(xiàng)目Quilt,通過ILP協(xié)議提供賬本間的互操作性,并支持除分布式賬本外的傳統(tǒng)分類賬。Quilt基于一系列協(xié)議和原語(yǔ)實(shí)現(xiàn)系統(tǒng)間資產(chǎn)的原子互換,并為支付賬戶提供了全局唯一身份標(biāo)識(shí)。2020年,超級(jí)賬本聯(lián)合埃森哲及富士通推出又一個(gè)區(qū)塊鏈互操作性解決方案Cactus,該項(xiàng)目本質(zhì)上是一種軟件開發(fā)工具包,基于可插拔性設(shè)計(jì)為多個(gè)區(qū)塊鏈分類賬本提供接入接口。2020年2月,微眾銀行開源了自主研發(fā)的區(qū)塊鏈跨鏈協(xié)作平臺(tái)——WeCross,并發(fā)布白皮書。WeCross著眼于應(yīng)對(duì)區(qū)塊鏈行業(yè)現(xiàn)存挑戰(zhàn),不局限于滿足同構(gòu)區(qū)塊鏈平行擴(kuò)展后的可信數(shù)據(jù)交換需求,進(jìn)一步探索異構(gòu)區(qū)塊鏈之間因底層架構(gòu)、數(shù)據(jù)結(jié)構(gòu)、接口協(xié)議、安全機(jī)制等多維異構(gòu)性導(dǎo)致無(wú)法互聯(lián)互通問題的有效解決方案,以促進(jìn)跨行業(yè)、機(jī)構(gòu)和地域的跨區(qū)塊鏈信任傳遞和商業(yè)合作。隨后,國(guó)內(nèi)多個(gè)廠商也相繼推出了跨鏈相關(guān)應(yīng)用,跨鏈技術(shù)發(fā)展呈欣欣向榮之態(tài)。(三)跨鏈標(biāo)準(zhǔn)逐步形成區(qū)塊鏈領(lǐng)域發(fā)展日新月異,區(qū)塊鏈應(yīng)用百花齊放。區(qū)塊鏈從業(yè)人員逐漸意識(shí)到,只有打破區(qū)塊鏈間的平臺(tái)壁壘,形成完善的技術(shù)規(guī)范,建立統(tǒng)一的行業(yè)標(biāo)準(zhǔn),才能構(gòu)建真正的價(jià)值互聯(lián)網(wǎng),打造可靠、可用、成熟的數(shù)字經(jīng)濟(jì)基礎(chǔ)設(shè)施。為了實(shí)現(xiàn)這一愿景,區(qū)塊鏈跨鏈技術(shù)標(biāo)準(zhǔn)逐步形成。IEEE計(jì)算機(jī)協(xié)會(huì)區(qū)塊鏈和分布式記賬委員會(huì)(IEEEC/BDL)通過了幾個(gè)與跨鏈相關(guān)的標(biāo)準(zhǔn)立項(xiàng)。標(biāo)準(zhǔn)P3203設(shè)計(jì)了一種跨鏈資源命名和尋址方式,可以使任意一個(gè)區(qū)塊鏈網(wǎng)絡(luò)能通過標(biāo)準(zhǔn)化地址定位所要訪問的其他區(qū)塊鏈網(wǎng)絡(luò)的資源。標(biāo)準(zhǔn)P3204描述了一種跨鏈交易證明模型和交互協(xié)議,以實(shí)現(xiàn)在沒有第三方參與的情況下保證跨鏈交互的事務(wù)性。標(biāo)準(zhǔn)P3205介紹了一種跨鏈數(shù)據(jù)認(rèn)證與交互協(xié)議,涉及分布式身份、鏈上證明轉(zhuǎn)換以及跨鏈通信。未來跨鏈領(lǐng)域?qū)⒉粩嗤晟葡嚓P(guān)標(biāo)準(zhǔn)體系,推動(dòng)區(qū)塊鏈技術(shù)進(jìn)一步向前發(fā)展。二聯(lián)盟鏈跨鏈關(guān)鍵技術(shù)如前文所述,聯(lián)盟鏈跨鏈面臨底層架構(gòu)無(wú)法互通、跨鏈數(shù)據(jù)無(wú)法互驗(yàn)、接口協(xié)議無(wú)法互聯(lián)、安全機(jī)制無(wú)法互信等諸多挑戰(zhàn)。聯(lián)盟鏈跨鏈除了要突破上述挑戰(zhàn)外,還需設(shè)計(jì)合理的跨鏈架構(gòu)、靈活的適配協(xié)議、友好的操作接口,并實(shí)現(xiàn)安全可信的跨鏈治理,從多個(gè)關(guān)鍵維度考慮跨鏈操作的高擴(kuò)展性、高易用性以及高安全性。隨著區(qū)塊鏈跨鏈技術(shù)的不斷演進(jìn)完善,聯(lián)盟鏈跨鏈關(guān)鍵技術(shù)初步形成,以實(shí)現(xiàn)安全高效的跨鏈交互,構(gòu)建可靠成熟的跨鏈應(yīng)用。(一)通用跨鏈接口聯(lián)盟鏈平臺(tái)雖各有不同,但萬(wàn)變不離其宗,主流聯(lián)盟鏈的底層原理都有共通之處。經(jīng)過抽象后,大部分聯(lián)盟鏈平臺(tái)的區(qū)塊鏈邏輯、區(qū)塊數(shù)據(jù)結(jié)構(gòu)和交易數(shù)據(jù)結(jié)構(gòu)等都具有一定的相似性。通用跨鏈接口對(duì)交易、智能合約與資產(chǎn)等數(shù)據(jù)進(jìn)行抽象包裝,設(shè)計(jì)統(tǒng)一的資源范式,對(duì)主流聯(lián)盟鏈的關(guān)鍵數(shù)據(jù)結(jié)構(gòu)進(jìn)行提煉,設(shè)計(jì)普適跨鏈場(chǎng)景的抽象區(qū)塊數(shù)據(jù)結(jié)構(gòu),為異構(gòu)聯(lián)盟鏈的交互建立數(shù)據(jù)協(xié)議一致的基礎(chǔ),實(shí)現(xiàn)“一次適配,隨處可用”的效果。1.統(tǒng)一資源范式各個(gè)聯(lián)盟鏈平臺(tái)上的資源多種多樣,有智能合約、資產(chǎn)、信道和數(shù)據(jù)表等,無(wú)論這些資源的功能如何多樣,其核心接口都可以歸納為數(shù)據(jù)、調(diào)用和事件三類固定的接口(見圖1)。為了更好地打通聯(lián)盟鏈平臺(tái)資源交互,通用跨鏈接口提出統(tǒng)一資源接口范式,使用戶在調(diào)用區(qū)塊鏈智能合約、資產(chǎn)、信道或數(shù)據(jù)表時(shí)無(wú)須關(guān)心具體的智能合約語(yǔ)言和區(qū)塊鏈的底層架構(gòu),只需傳入通用的參數(shù),并處理統(tǒng)一定義的返回值即可。單個(gè)聯(lián)盟鏈上的資源可以通過合約地址或名稱來定位和訪問,在跨鏈和多個(gè)業(yè)務(wù)互通的復(fù)雜網(wǎng)絡(luò)模型下需要一個(gè)更高層的資源尋址協(xié)議,通過提供資源地址和相關(guān)參數(shù)實(shí)現(xiàn)資源定位和訪問。一個(gè)跨鏈系統(tǒng)可定義為跨鏈分區(qū)(運(yùn)行著同一類業(yè)務(wù)的聯(lián)盟鏈集合)、業(yè)務(wù)鏈和業(yè)務(wù)鏈上的資源的組合,它們都有唯一的標(biāo)識(shí)。通過組合三種標(biāo)識(shí),可以唯一地定位到跨鏈系統(tǒng)中的任一資源的位置,這個(gè)尋址的標(biāo)識(shí)稱為跨鏈路徑(InterchainPath),跨鏈路徑定義為:[跨鏈分區(qū)].[業(yè)務(wù)鏈].[鏈上資源]。跨鏈平臺(tái)提供統(tǒng)一的RPC接口訪問跨鏈路徑,支持以URL的形式訪問跨鏈系統(tǒng)中的資源,URL格式為:http://IP:Port/[跨鏈分區(qū)]/[業(yè)務(wù)鏈]/[區(qū)塊鏈資源]/[資源方法]。圖1跨鏈核心接口和資源抽象2.抽象區(qū)塊鏈結(jié)構(gòu)為了滿足異構(gòu)聯(lián)盟鏈之間的區(qū)塊數(shù)據(jù)互信的需求,統(tǒng)一跨鏈接口提出抽象區(qū)塊的概念,由抽象區(qū)塊組成的鏈稱為“抽象鏈”(見圖2)。抽象區(qū)塊里包含業(yè)界主流聯(lián)盟鏈共同的數(shù)據(jù)字段,以用于驗(yàn)證聯(lián)盟鏈結(jié)構(gòu)的正確性、查詢聯(lián)盟鏈當(dāng)前狀態(tài)和驗(yàn)證聯(lián)盟鏈數(shù)據(jù)等。多個(gè)聯(lián)盟鏈之間,通過相互同步和獲取抽象鏈的方式,來確認(rèn)其他聯(lián)盟鏈的狀態(tài),驗(yàn)證預(yù)期交互數(shù)據(jù)的正確性。圖2抽象區(qū)塊鏈抽象區(qū)塊的數(shù)據(jù)字段可以分為兩類,一類是區(qū)塊信息字段,包括區(qū)塊高度、區(qū)塊哈希值和上一塊哈希,這些字段用于驗(yàn)證聯(lián)盟鏈的正確性;另一類是信息驗(yàn)證字段,包括交易默克爾根、回執(zhí)默克爾根和狀態(tài)默克爾根,分別用于驗(yàn)證該區(qū)塊相關(guān)的交易、回執(zhí)和狀態(tài)數(shù)據(jù)的存在性和正確性,以證明某個(gè)交易是否屬于當(dāng)前區(qū)塊、某個(gè)回執(zhí)是否屬于當(dāng)前區(qū)塊等。(二)異構(gòu)鏈互聯(lián)協(xié)議通過分析主流聯(lián)盟鏈平臺(tái)交互方式的共性點(diǎn),例如都具備數(shù)據(jù)讀寫、調(diào)用智能合約和向智能合約發(fā)送交易等接口,提煉出一種通用的聯(lián)盟鏈接入范式與跨鏈交互模型,聯(lián)盟鏈平臺(tái)之間進(jìn)行少量適配對(duì)接,就可以實(shí)現(xiàn)異構(gòu)鏈之間的跨鏈交互。1.通用接入范式異構(gòu)鏈互聯(lián)協(xié)議定義了一種通用的聯(lián)盟鏈接入范式,只需實(shí)現(xiàn)兩個(gè)核心接口即可接入一條聯(lián)盟鏈,分別是獲取資源的接口和獲取信息的接口?;谶@種通用范式,不同聯(lián)盟鏈平臺(tái)可以各自提供一個(gè)聯(lián)盟鏈適配器(Stub)。聯(lián)盟鏈適配器可以基于原有聯(lián)盟鏈平臺(tái)開發(fā)工具包(SDK)進(jìn)行封裝,形成異構(gòu)鏈互聯(lián)協(xié)議的核心接口,而無(wú)須對(duì)原有聯(lián)盟鏈進(jìn)行侵入修改。任何聯(lián)盟鏈只要遵循聯(lián)盟鏈接入模型,構(gòu)建聯(lián)盟鏈適配器,就可以接入跨鏈協(xié)作平臺(tái)。2.跨鏈交互模型實(shí)現(xiàn)跨鏈互聯(lián)需要借助跨鏈路由(Router),以用于橋接業(yè)務(wù)系統(tǒng)與區(qū)塊鏈。為適配多變的跨鏈業(yè)務(wù)場(chǎng)景,需要一個(gè)跨鏈交互模型,該模型可以支持單分區(qū)單路由、單分區(qū)多路由以及多分區(qū)多路由等多種場(chǎng)景。(1)單分區(qū)單路由:針對(duì)一個(gè)機(jī)構(gòu)的用戶需要同時(shí)訪問多個(gè)聯(lián)盟鏈的場(chǎng)景,可以在機(jī)構(gòu)內(nèi)搭建一個(gè)跨鏈路由,并為其配置多個(gè)聯(lián)盟鏈適配器,連接到多個(gè)聯(lián)盟鏈(見圖3)。通過給多個(gè)聯(lián)盟鏈適配器配置不同的跨鏈路徑前綴,用戶可以通過跨鏈路由,任意尋址并訪問網(wǎng)絡(luò)中的資源。如圖4所示,用戶可以通過配置了兩個(gè)不同聯(lián)盟鏈適配器的跨鏈路由,實(shí)現(xiàn)對(duì)兩條鏈上資源的訪問。圖3區(qū)塊鏈適配器圖4單分區(qū)單路由(2)單分區(qū)多路由:針對(duì)多個(gè)機(jī)構(gòu)的多個(gè)用戶想要交叉訪問對(duì)方的聯(lián)盟鏈,可以部署多個(gè)跨鏈路由,并為其配置各自的聯(lián)盟鏈適配器??珂溌酚芍g通過P2P網(wǎng)絡(luò)協(xié)議相連,跨鏈路由之間會(huì)自動(dòng)同步交換各自的聯(lián)盟鏈適配器和資源信息。不同機(jī)構(gòu)的用戶可以通過調(diào)用本機(jī)構(gòu)的跨鏈路由,把本機(jī)構(gòu)的跨鏈路由轉(zhuǎn)發(fā)至其他機(jī)構(gòu)的跨鏈路由,訪問相應(yīng)資源并按路由返回。如圖5所示,用戶甲可以通過跨鏈路由viaA和跨鏈路由viaB組成的路由網(wǎng)絡(luò),實(shí)現(xiàn)對(duì)兩條存證管理鏈上資源的訪問。圖5單分區(qū)多路由(3)多分區(qū)多路由:在更為復(fù)雜的業(yè)務(wù)場(chǎng)景中存在多種業(yè)務(wù)相互融合的需求,因此也就存在多個(gè)跨鏈分區(qū)互聯(lián)訪問的需求。面對(duì)這種需求,需要支持跨鏈路由動(dòng)態(tài)增加與其他跨鏈路由的連接,通過權(quán)限控制保證跨鏈訪問的安全可控,對(duì)原有業(yè)務(wù)不進(jìn)行任何侵入修改。如圖6所示,通過跨鏈路由將存證分區(qū)和結(jié)算分區(qū)相連,實(shí)現(xiàn)原有兩個(gè)分區(qū)的用戶能夠訪問對(duì)方分區(qū)的資源。圖6多分區(qū)多路由從以上三個(gè)場(chǎng)景可以看到,跨鏈路由是整個(gè)交互模型的核心模塊,是連通多個(gè)聯(lián)盟鏈的橋梁。跨鏈路由是獨(dú)立的進(jìn)程部署,一個(gè)跨鏈路由可以使用多個(gè)聯(lián)盟鏈適配器模塊去連接多個(gè)聯(lián)盟鏈,多個(gè)跨鏈路由使用P2P網(wǎng)絡(luò)互相連通??珂溌酚蓛?nèi)部采用分層設(shè)計(jì)理念,自下向上分為三個(gè)層次?;A(chǔ)層:跨鏈路由底層最基礎(chǔ)的部分,包括網(wǎng)絡(luò)互聯(lián)模塊、聯(lián)盟鏈適配器模塊和抽象鏈存儲(chǔ)模塊。網(wǎng)絡(luò)互聯(lián)模塊負(fù)責(zé)跨鏈路由間的互聯(lián),聯(lián)盟鏈適配器模塊負(fù)責(zé)連接具體的聯(lián)盟鏈節(jié)點(diǎn),抽象鏈存儲(chǔ)模塊保存多個(gè)聯(lián)盟鏈的抽象區(qū)塊頭信息以用于驗(yàn)證交易和回執(zhí)。交互層:處理跨鏈路由的交互邏輯,包括資源同步、資源尋址以及跨鏈證明等模塊。資源同步模塊同步多個(gè)其他跨鏈路由的資源配置信息,資源尋址模塊幫助用戶在跨鏈分區(qū)中按跨鏈路徑尋找資源,跨鏈證明模塊驗(yàn)證其他跨鏈路由返回的交易和回執(zhí)數(shù)據(jù)。事務(wù)層:處理和協(xié)調(diào)跨聯(lián)盟鏈的事務(wù)邏輯,包括兩階段事務(wù)模塊和哈希時(shí)間鎖定等機(jī)制。(三)可信事務(wù)機(jī)制在跨鏈場(chǎng)景中,各自獨(dú)立的區(qū)塊鏈平臺(tái)需要相互獲取對(duì)方鏈上的數(shù)據(jù),由于它們并沒有參與對(duì)方鏈的共識(shí)流程,因此需要一種機(jī)制能夠驗(yàn)證獲得的數(shù)據(jù)是否可信。同時(shí),在涉及事務(wù)的跨鏈場(chǎng)景中,如何保證各自鏈上交易執(zhí)行都成功或都失敗也是亟須解決的問題。1.數(shù)據(jù)互信機(jī)制數(shù)據(jù)互信機(jī)制用于解決跨鏈場(chǎng)景下的數(shù)據(jù)可信問題。參與跨鏈的雙方通常沒有條件和權(quán)限去存儲(chǔ)另一方的全量區(qū)塊鏈數(shù)據(jù),在不存儲(chǔ)所有區(qū)塊的情況下驗(yàn)證某個(gè)區(qū)塊是否包含特定的交易,需要借助一種特殊的數(shù)據(jù)結(jié)構(gòu)——默克爾樹。默克爾樹結(jié)構(gòu)如圖7所示,每個(gè)非葉子節(jié)點(diǎn)通過其子節(jié)點(diǎn)的哈希值來進(jìn)行標(biāo)注,樹的根節(jié)點(diǎn)叫作默克爾根。有了這樣的數(shù)據(jù)結(jié)構(gòu),就可以基于默克爾證明機(jī)制實(shí)現(xiàn)數(shù)據(jù)驗(yàn)證。默克爾證明是一種經(jīng)典技術(shù),用于證明交易存在于聯(lián)盟鏈的某個(gè)區(qū)塊中,使一方在不需要獲取另一條鏈全量數(shù)據(jù)的情況下,仍然能夠快速證明另一條鏈上特定數(shù)據(jù)的真實(shí)存在性。圖7默克爾樹結(jié)構(gòu)2.跨鏈?zhǔn)聞?wù)機(jī)制早期的跨鏈技術(shù)主要專注于保證跨鏈資產(chǎn)交換的事務(wù)性。在聯(lián)盟鏈跨鏈場(chǎng)景中,為了支持更加復(fù)雜的業(yè)務(wù)需求,提供更加全面靈活的事務(wù)性保障,需要集成多種主流的事務(wù)機(jī)制,包括兩階段提交協(xié)議、哈希時(shí)間鎖定合約等。(1)兩階段提交協(xié)議兩階段提交協(xié)議旨在保證分布式系統(tǒng)處理事務(wù)時(shí)的一致性。兩階段提交協(xié)議具備可靠性強(qiáng)、通用性強(qiáng)、實(shí)現(xiàn)簡(jiǎn)單等優(yōu)勢(shì),大部分業(yè)務(wù)諸如跨鏈轉(zhuǎn)賬、跨鏈協(xié)同等,都可以使用兩階段提交協(xié)議來實(shí)現(xiàn)。兩階段提交協(xié)議將事務(wù)的提交過程分成兩個(gè)階段來處理,分別是準(zhǔn)備階段和提交階段。為了讓整個(gè)事務(wù)能夠正常運(yùn)行,兩階段提交協(xié)議涉及三個(gè)事務(wù)接口:準(zhǔn)備(Prepare)、提交(Commit)和回滾(Rollback)?;谇懊嫠龅耐ㄓ每珂溄涌谠O(shè)計(jì),參與事務(wù)的跨鏈資源需要增加三個(gè)事務(wù)接口(見圖8)。兩階段提交協(xié)議中的協(xié)調(diào)工作由跨鏈路由完成。在準(zhǔn)備階段,跨鏈路由會(huì)向全體參與事務(wù)的資源發(fā)起準(zhǔn)備請(qǐng)求,在所有資源完成準(zhǔn)備后,再向全體資源發(fā)送提交請(qǐng)求。準(zhǔn)備或提交兩個(gè)階段中,如果任一資源返回失敗,則跨鏈路由會(huì)向全體參與事務(wù)的資源發(fā)起回滾請(qǐng)求,放棄本次事務(wù),恢復(fù)最初狀態(tài)。圖8兩階段提交協(xié)議事務(wù)設(shè)計(jì)如果跨鏈路由由于系統(tǒng)或網(wǎng)絡(luò)的原因失效,就會(huì)產(chǎn)生單點(diǎn)問題,從而使事務(wù)無(wú)法繼續(xù)。為了避免該問題,可在多個(gè)業(yè)務(wù)聯(lián)盟鏈之外搭建一個(gè)專門用于協(xié)調(diào)事務(wù)的聯(lián)盟鏈,稱為治理鏈。各個(gè)機(jī)構(gòu)中參與事務(wù)的跨鏈路由通過配置區(qū)塊各個(gè)機(jī)構(gòu)中參與事務(wù)的跨鏈路由(通過配置區(qū)塊鏈適配器)連接治理鏈,在處理兩階段事務(wù)的過程中,事務(wù)的狀態(tài)都記錄在治理鏈上,這樣,惡意的協(xié)調(diào)者就無(wú)法輕易地篡改兩階段事務(wù)的狀態(tài)。(2)哈希時(shí)間鎖定合約哈希時(shí)間鎖定合約用于實(shí)現(xiàn)資產(chǎn)原子交換,對(duì)比兩階段提交協(xié)議,并不依賴某個(gè)協(xié)調(diào)者,特別適合聯(lián)盟鏈資產(chǎn)交換的場(chǎng)景。基于統(tǒng)一資源范式,參與跨鏈轉(zhuǎn)賬的資源需要增加三個(gè)事務(wù)接口:鎖定(Lock)、解鎖(Unlock)和超時(shí)(Timeout)。只要正確實(shí)現(xiàn)這三個(gè)接口,跨鏈路由就可以協(xié)調(diào)該跨鏈資源,參與到任意基于哈希時(shí)間鎖定合約的轉(zhuǎn)賬事務(wù)中(見圖9)。兩階段提交協(xié)議和哈希時(shí)間鎖定合約各有特點(diǎn)。兩階段提交協(xié)議可以用于滿足一般的事務(wù)處理請(qǐng)求,但是依賴可信的協(xié)調(diào)者,為了引入多中心可信協(xié)調(diào)者,需要額外的治理鏈來配合實(shí)現(xiàn)。哈希時(shí)間鎖定合約不依賴可信協(xié)調(diào)者,契合聯(lián)盟鏈資產(chǎn)交換的場(chǎng)景,但對(duì)于資產(chǎn)交換以外的場(chǎng)景,其流程較為復(fù)雜和冗長(zhǎng),沒有兩階段提交協(xié)議通用和有效。圖9哈希時(shí)間鎖定合約事務(wù)設(shè)計(jì)(四)多邊跨域治理多邊跨域治理是一套完整的聯(lián)盟鏈跨鏈網(wǎng)絡(luò)治理方案,支持多個(gè)區(qū)塊鏈按照業(yè)務(wù)需求,以不同的網(wǎng)絡(luò)拓?fù)鋪斫M建跨鏈分區(qū),并由多個(gè)機(jī)構(gòu)共同維護(hù)治理鏈,實(shí)現(xiàn)多個(gè)區(qū)塊鏈安全可信地執(zhí)行事務(wù)(見圖10)??赏ㄟ^協(xié)商和投票的形式進(jìn)行機(jī)構(gòu)準(zhǔn)入和區(qū)塊鏈治理,并支持即時(shí)有效的監(jiān)管仲裁。治理鏈上部署多種與跨鏈治理相關(guān)的智能合約,包括權(quán)限管理合約、事務(wù)管理合約、業(yè)務(wù)鏈監(jiān)管合約、業(yè)務(wù)鏈準(zhǔn)入合約和機(jī)構(gòu)準(zhǔn)入合約等,這些合約分別聚焦權(quán)限事務(wù)、監(jiān)管準(zhǔn)入等功能。治理鏈由業(yè)務(wù)方和監(jiān)管方等相關(guān)機(jī)構(gòu)共同搭建,各個(gè)機(jī)構(gòu)可以通過在各自的跨鏈路由中配置區(qū)塊鏈適配器接入治理鏈。1.權(quán)限事務(wù)管理區(qū)塊鏈上的資源可能涉及個(gè)人資產(chǎn)、身份數(shù)據(jù)和商業(yè)機(jī)密等多種敏感信息,需要可靠的權(quán)限管理和授權(quán)機(jī)制來保障區(qū)塊鏈資源的安全。通過在治理鏈上部署權(quán)限管理智能合約,能夠?qū)⒖珂湶僮鞯臋?quán)限控制細(xì)化到分區(qū)、機(jī)構(gòu)、區(qū)塊鏈甚至資源的具體接口。接入治理鏈的跨鏈路由將實(shí)時(shí)同步和執(zhí)行來自權(quán)限管理合約的權(quán)限策略,控制和記錄跨鏈操作的資源訪問,實(shí)時(shí)保障跨鏈業(yè)務(wù)的信息安全。圖10多邊跨域治理架構(gòu)除了權(quán)限的控制外,跨鏈的事務(wù)操作也通過治理鏈調(diào)度。治理鏈部署事務(wù)管理合約,用于記錄事務(wù)從生成到結(jié)束的完整生命周期。事務(wù)管理合約將事務(wù)的步驟記錄在治理鏈上,需要經(jīng)過所有治理節(jié)點(diǎn)的共識(shí)。當(dāng)網(wǎng)絡(luò)或系統(tǒng)發(fā)生故障,導(dǎo)致當(dāng)前負(fù)責(zé)協(xié)調(diào)事務(wù)的跨鏈路由無(wú)法工作時(shí),其他跨鏈路由可以通過事務(wù)管理合約中已記錄的事務(wù)步驟,繼續(xù)執(zhí)行事務(wù),從而避免單點(diǎn)問題,達(dá)到容災(zāi)的效果。2.監(jiān)督準(zhǔn)入管理治理鏈可以選擇性地記錄多個(gè)跨鏈分區(qū)間部分或所有的跨鏈操作,供監(jiān)管機(jī)構(gòu)進(jìn)行穿透式監(jiān)管。監(jiān)管機(jī)構(gòu)可以選擇部署一個(gè)接入治理鏈的跨鏈路由,或是直接運(yùn)行一個(gè)治理鏈的區(qū)塊鏈節(jié)點(diǎn)從而獲取監(jiān)管數(shù)據(jù)。治理鏈上的監(jiān)管數(shù)據(jù)以加密方式存儲(chǔ),只能由監(jiān)管方解密讀取??珂湻謪^(qū)中的任何惡意跨鏈操作都會(huì)被記錄在治理鏈,以供監(jiān)管方實(shí)施事前攔截、事中監(jiān)控以及事后追責(zé)。治理鏈上的業(yè)務(wù)鏈準(zhǔn)入合約和機(jī)構(gòu)準(zhǔn)入合約為參與跨鏈的業(yè)務(wù)和機(jī)構(gòu)提供準(zhǔn)入控制依據(jù),支持基于CA認(rèn)證機(jī)制來識(shí)別業(yè)務(wù)鏈和機(jī)構(gòu)的身份。機(jī)構(gòu)準(zhǔn)入合約可以配置一個(gè)或多個(gè)管理員,合約中保存的準(zhǔn)入信息可以動(dòng)態(tài)地增刪改查。當(dāng)跨鏈分區(qū)中出現(xiàn)惡意行為時(shí),管理員可以在治理鏈上發(fā)起投票表決,懲罰或踢出作惡的機(jī)構(gòu)。治理鏈的數(shù)量不局限于一個(gè),在復(fù)雜的網(wǎng)絡(luò)拓?fù)渲校鄠€(gè)跨鏈分區(qū)可以組建各自的治理鏈,多個(gè)治理鏈之間允許組建更高層級(jí)的治理鏈,從而形成多級(jí)的治理架構(gòu),每一級(jí)治理鏈都能直接管理其接入的多個(gè)治理鏈,使搭建大規(guī)模、跨地域、海量數(shù)據(jù)和可治理的廣域區(qū)塊鏈網(wǎng)絡(luò)成為可能。三聯(lián)盟鏈跨鏈系統(tǒng)架構(gòu)聯(lián)盟鏈跨鏈系統(tǒng)架構(gòu)設(shè)計(jì)需要充分考慮跨行業(yè)、機(jī)構(gòu)和地域的多區(qū)塊鏈互聯(lián),無(wú)論是新部署的區(qū)塊鏈平臺(tái)還是已有的區(qū)塊鏈平臺(tái),都可以基于區(qū)塊鏈體系抽象,在不改動(dòng)原有區(qū)塊鏈平臺(tái)底層的前提下,無(wú)縫接入。(一)系統(tǒng)構(gòu)成1.跨鏈分區(qū)(Zone):運(yùn)行著同一類業(yè)務(wù)的區(qū)塊鏈集合,通過統(tǒng)一跨鏈接口可對(duì)這個(gè)區(qū)塊鏈集合本身和內(nèi)部的區(qū)塊鏈資源進(jìn)行命名和尋址。2.業(yè)務(wù)鏈(Chain):運(yùn)行在某個(gè)跨鏈分區(qū),而且僅屬于一個(gè)跨鏈分區(qū)。3.跨鏈路由(Router):用于橋接業(yè)務(wù)系統(tǒng)與區(qū)塊鏈的服務(wù)進(jìn)程;多個(gè)跨鏈路由之間可以相互連接,相互轉(zhuǎn)發(fā)請(qǐng)求;用戶通過向跨鏈路由發(fā)起請(qǐng)求來訪問跨鏈分區(qū)中的資源。4.跨鏈適配器(Stub):指連接一個(gè)區(qū)塊鏈的接口實(shí)現(xiàn),可由跨鏈路由加載;跨鏈路由可以配置多個(gè)區(qū)塊鏈適配器,達(dá)到連接多條區(qū)塊鏈的效果;跨鏈路由間會(huì)自動(dòng)同步區(qū)塊鏈適配器的配置信息,從而幫助用戶尋址位于其他區(qū)塊鏈上的資源。5.跨鏈資源(Resource):區(qū)塊鏈上的智能合約、數(shù)字資產(chǎn)等用戶可訪問的數(shù)據(jù)對(duì)象,類似于區(qū)塊鏈適配器的配置信息,跨鏈資源的元信息也在跨鏈路由之間同步;用戶通過統(tǒng)一的接口對(duì)跨鏈分區(qū)中的資源進(jìn)行尋址和調(diào)用??珂溝到y(tǒng)架構(gòu)見圖11。圖11跨鏈系統(tǒng)架構(gòu)(二)系統(tǒng)交互流程區(qū)塊鏈通過密碼學(xué)與共識(shí)算法等機(jī)制構(gòu)建分布式可信環(huán)境,然而此可信環(huán)境只在區(qū)塊鏈平臺(tái)內(nèi)部生效,跨鏈系統(tǒng)中需要引入額外的可證明信息來實(shí)現(xiàn)跨區(qū)塊鏈平臺(tái)的可信交互。在實(shí)現(xiàn)跨鏈交互時(shí)除了傳輸區(qū)塊鏈交易信息外,還會(huì)額外傳輸區(qū)塊鏈交易的相關(guān)證明數(shù)據(jù),并使用這些信息進(jìn)行交易和回執(zhí)(交易執(zhí)行結(jié)果)的存在性證明,以證明鏈上信息的真實(shí)與可靠。假設(shè)機(jī)構(gòu)1和機(jī)構(gòu)2分別部署了區(qū)塊鏈A和區(qū)塊鏈B,現(xiàn)在機(jī)構(gòu)1的用戶要訪問機(jī)構(gòu)2的區(qū)塊鏈B,并要求訪問的結(jié)果真實(shí)可信(跨鏈交互時(shí)序如圖12所示)??珂溌酚沙藗鬏斀灰缀突貓?zhí)的信息外,還額外傳輸交易和回執(zhí)的默克爾證明,交易的發(fā)送方使用這些證明來進(jìn)行跨鏈數(shù)據(jù)訪問的可信驗(yàn)證,使交易的發(fā)送方能確認(rèn)交易在目標(biāo)區(qū)塊鏈上真實(shí)發(fā)生且獲得結(jié)果,保證交易和回執(zhí)的真實(shí)可信。通過遵循跨鏈交互數(shù)據(jù)皆可自證的原則,交互響應(yīng)消息同時(shí)攜帶數(shù)據(jù)和證明,普遍適用于各類跨鏈場(chǎng)景。圖12跨鏈可信交互四聯(lián)盟鏈跨鏈應(yīng)用場(chǎng)景探索(一)司法存證聯(lián)盟鏈司法應(yīng)用能夠極大地縮減仲裁流程,幫助仲裁機(jī)構(gòu)快速完成證據(jù)核實(shí),解決糾紛。當(dāng)司法仲裁異地取證或聯(lián)合舉證時(shí),需要跨鏈技術(shù)打通各個(gè)存證聯(lián)盟鏈,以提供更加便捷強(qiáng)大的存證服務(wù)??珂溂夹g(shù)可以將各家存證鏈的證據(jù)統(tǒng)一抽象成證據(jù)資源,在不同的司法存證鏈之間可信地傳輸證據(jù)。通過搭建一個(gè)擁有多類型存證的存證鏈網(wǎng)絡(luò),在面向重大問題和重大糾紛時(shí),多中心地幫助各個(gè)鏈交互完備、可信和具備法律效力的證據(jù)材料,幫助仲裁機(jī)構(gòu)完成裁決。司法存證跨鏈場(chǎng)景見圖13。圖13司法存證跨鏈場(chǎng)景(二)個(gè)體數(shù)據(jù)授權(quán)身份認(rèn)證正向跨地域的方向發(fā)展,不同地域、業(yè)務(wù)和基于不同聯(lián)盟鏈平臺(tái)的身份認(rèn)證產(chǎn)品之間尚不能互認(rèn)的現(xiàn)狀造成信息的鴻溝,導(dǎo)致身份和資質(zhì)等數(shù)據(jù)仍然局限在小范圍的地

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論