版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
聯(lián)盟鏈的跨鏈設計探索與實踐研究
隨著區(qū)塊鏈產(chǎn)業(yè)改革和升級,整個區(qū)塊鏈行業(yè)蓬勃發(fā)展,從金融領域逐步滲透到各行各業(yè)。區(qū)塊鏈根據(jù)節(jié)點準入條件和節(jié)點規(guī)模分為公有鏈、聯(lián)盟鏈和私有鏈三類。目前,我國的區(qū)塊鏈產(chǎn)業(yè)以聯(lián)盟鏈為主。隨著國內聯(lián)盟鏈應用的不斷增長,基于不同平臺的應用之間逐漸產(chǎn)生了交互、建立關聯(lián)的外延需求,整個聯(lián)盟鏈生態(tài)需要一個更加開放、易于協(xié)作、多方共贏的交互環(huán)境,以及“超越平臺、鏈接應用”的創(chuàng)新性解決方案。高效通用的跨鏈技術是實現(xiàn)萬鏈互聯(lián)的關鍵??珂溂夹g能夠連通分散的區(qū)塊鏈生態(tài)孤島,成為區(qū)塊鏈整體向外拓展的橋梁紐帶。業(yè)界在跨鏈領域已有初步的探索和積累,以太坊創(chuàng)始人VitalikButerin總結了三類跨鏈技術,分別是公證人機制、中繼/側鏈、哈希時間鎖定合約。目前,基于這些技術構建的跨鏈應用主要面向公有鏈實現(xiàn)數(shù)字資產(chǎn)跨鏈。在聯(lián)盟鏈的大生態(tài)中,還需針對底層平臺異構化、應用場景多樣化、跨鏈需求復雜化等特點,構建聯(lián)盟鏈的可信跨鏈交互。當然,這面臨更大的挑戰(zhàn)。實現(xiàn)聯(lián)盟鏈跨鏈需要突破五大難點。(1)底層架構無法互通,不同的聯(lián)盟鏈平臺底層架構設計相差甚遠,不僅交易處理時序不同,計算與存儲結構也不同,跨鏈交易無法直接在兩個平臺互通。(2)跨鏈數(shù)據(jù)無法互驗,基于默克爾樹實現(xiàn)交易存在性驗證的方式非常普遍,但并非所有平臺都支持默克爾樹,不同的驗證機制難以整合。(3)接口協(xié)議無法互聯(lián),平臺間網(wǎng)絡傳輸編碼協(xié)議各不相同,暴露的接口格式字段也有差異,難以兼容互聯(lián)。(4)安全機制無法互信,區(qū)塊鏈的安全邊界往往以平臺范圍為界,當涉及鏈和鏈之間進行銜接時,會因為多種安全機制參差不齊,如共識者列表不同、準入機制嚴格程度有高低、權限配置差異等因素,導致平臺之間的互信條件不成立。(5)業(yè)務層無法互訪。不同業(yè)務場景的合約邏輯千差萬別,各個場景都是內在閉環(huán)的系統(tǒng),要打通場景之間的互訪,任意一個環(huán)節(jié)的疏漏都可能導致異常,使跨鏈失敗,保障整體銜接過程中事務和事務之間的完整性和一致性將是巨大的挑戰(zhàn)。一區(qū)塊鏈跨鏈技術演進在2008年比特幣誕生至2015年Linux基金會成立超級賬本期間,關于區(qū)塊鏈的討論和研究主要圍繞以比特幣和以太坊為主的公有鏈。由于公有鏈本身伴隨著濃厚的金融色彩,早中期對跨鏈的需求主要集中在數(shù)字資產(chǎn)的交換或轉移方面,因此跨鏈概念的狹義解釋為:兩條區(qū)塊鏈之間資產(chǎn)的互操作(Interoperability)過程。隨著聯(lián)盟鏈的發(fā)展,區(qū)塊鏈從金融行業(yè)逐漸滲透到醫(yī)療、存證、司法等眾多領域,催生了跨應用互聯(lián)互通的需求,跨鏈含義得到進一步升華:在不改變原鏈的情況下,兩條區(qū)塊鏈之間進行資產(chǎn)轉移、支付或信息交互。近年來,在從業(yè)人員的不斷探索下,已經(jīng)誕生了多種跨鏈機制,催生了很多區(qū)塊鏈跨鏈應用,相關跨鏈標準也在初步形成。(一)多種跨鏈機制誕生Nolan于2013年提出數(shù)字資產(chǎn)原子轉移(AtomicTransfers)方案,旨在實現(xiàn)兩條區(qū)塊鏈之間數(shù)字資產(chǎn)的原子互換,即發(fā)生在兩條鏈上的資產(chǎn)轉移同時成功或同時失敗,不會出現(xiàn)第三種中間狀態(tài)。該方案通過在兩條鏈上設定一個合約腳本,并根據(jù)某種斷言,如是否持有約定哈希值的原像,作為合約的觸發(fā)條件,并通過一系列流程保證跨鏈交易的原子性。這就是哈希時間鎖定合約(HashedTimelockContract,HTLC)的前身。哈希時間鎖定合約是一種用于實現(xiàn)資產(chǎn)互換的跨鏈機制,通過哈希鎖和時間鎖提供原子性保障。哈希鎖是指兩條鏈上的資產(chǎn)分別使用同一個哈希值鎖定,然后在合約里約定只有提供該哈希的原像才能將資產(chǎn)解鎖。時間鎖是指解鎖必須在約定的時間內,否則資產(chǎn)就會回滾。為了解決比特幣擴容問題而誕生的閃電網(wǎng)絡便是基于哈希時間鎖定合約實現(xiàn)的微支付通道,以支持可擴展的連鎖即時支付。側鏈/中繼是一種更靈活、易于擴展的跨鏈機制。很多的跨鏈應用基于側鏈/中繼實現(xiàn)不同區(qū)塊鏈資產(chǎn)的跨鏈轉移,組建區(qū)塊鏈互操作網(wǎng)絡,或構建異構的多鏈架構。側鏈/中繼以輕客戶端驗證技術為基礎,實現(xiàn)跨鏈交易的存在性驗證。側鏈/中繼上部署一個類似輕客戶端功能的合約,驗證來自主鏈/應用鏈的跨鏈交易,驗證方式取決于區(qū)塊鏈本身的設計。側鏈/中繼驗證模塊大多依賴默克爾證明,通過加密哈希樹和交易哈希生成交易的默克爾根,然后和區(qū)塊頭中的交易默爾克根對比,確定跨鏈交易的真實性。還有其他的一些驗證方式,例如驗證節(jié)點簽名數(shù)量,或者共識節(jié)點的公鑰列表等。側鏈/中繼機制是一種比較復雜的跨鏈機制,由于所有跨鏈交易都需要在側鏈/中繼中完成驗證、共識、中轉,側鏈/中繼本身容易成為跨鏈系統(tǒng)安全性和性能的瓶頸。還有一種應用較廣的跨鏈技術,即公證人機制。普通的公證人機制由單一的節(jié)點或獨立機構作為公證人,公證人負責監(jiān)聽A鏈上的事件并在B鏈執(zhí)行相關的交易完成對該事件的響應。公證人在跨鏈交互過程中充當了交易確認和交易仲裁的角色,雖然該模式架構簡單、擴展性強、跨鏈性能較高,但公證人安全性成為跨鏈系統(tǒng)穩(wěn)定的關鍵因素。為了削弱該機制中對公證人的信任依賴,一種多重簽名的公證人機制被提出。通過多種方式如隨機抽取,或采用可信聯(lián)盟的節(jié)點選取多個公證人??珂溄灰椎拇_認需要滿足兩個條件:(1)達到了一定的公證人簽名數(shù)量;(2)所有公證人達成了共識。雖然多重簽名公證人機制擁有更高的安全性,但要求參與跨鏈的區(qū)塊鏈平臺都支持多重簽名,缺乏擴展性。(二)跨鏈應用快速發(fā)展隨著多種跨鏈機制的不斷迭代和完善,區(qū)塊鏈跨鏈應用逐漸涌現(xiàn)出來。2016年,ConsenSys公司開發(fā)的跨鏈項目基于中繼技術實現(xiàn)了以太坊對比特幣的區(qū)塊鏈數(shù)據(jù)的單向訪問,使以太坊應用能夠支持比特幣支付。2017年,閃電網(wǎng)絡測試網(wǎng)基于哈希時間鎖合約機制首次實現(xiàn)了比特幣與萊特幣之間的原子互換。2018年,比特幣的首個側鏈問世,用于交易所大額轉賬。上述應用主要面向公有鏈實現(xiàn)資產(chǎn)跨鏈,與此同時,致力于構建公有鏈跨鏈協(xié)作平臺的項目逐漸問世。2016年,Tendermint團隊發(fā)起了Cosmos項目,以構建支持多種區(qū)塊鏈接入的跨鏈網(wǎng)絡。跨鏈網(wǎng)絡由樞紐和分區(qū)組成,每個分區(qū)都是基于Tendermint開發(fā)框架的同構區(qū)塊鏈,并通過橋接器接入異構區(qū)塊鏈。分區(qū)之間采用IBC協(xié)議通信,且必須經(jīng)過樞紐。同年,Gavin發(fā)布了Polkadot白皮書。該項目由Web3基金會支持,旨在打造一種異構的多鏈架構。整個網(wǎng)絡由中繼鏈、平行鏈和轉接橋組成,并定義了四種角色以分別負責交易收集、交易驗證、監(jiān)督作惡以及提名驗證者,以實現(xiàn)多鏈架構的運行和治理。隨著聯(lián)盟鏈技術的發(fā)展,聯(lián)盟鏈在各個行業(yè)大放異彩,聯(lián)盟鏈跨鏈應用儼然成為行業(yè)新星。2017年,超級賬本推出新項目Quilt,通過ILP協(xié)議提供賬本間的互操作性,并支持除分布式賬本外的傳統(tǒng)分類賬。Quilt基于一系列協(xié)議和原語實現(xiàn)系統(tǒng)間資產(chǎn)的原子互換,并為支付賬戶提供了全局唯一身份標識。2020年,超級賬本聯(lián)合埃森哲及富士通推出又一個區(qū)塊鏈互操作性解決方案Cactus,該項目本質上是一種軟件開發(fā)工具包,基于可插拔性設計為多個區(qū)塊鏈分類賬本提供接入接口。2020年2月,微眾銀行開源了自主研發(fā)的區(qū)塊鏈跨鏈協(xié)作平臺——WeCross,并發(fā)布白皮書。WeCross著眼于應對區(qū)塊鏈行業(yè)現(xiàn)存挑戰(zhàn),不局限于滿足同構區(qū)塊鏈平行擴展后的可信數(shù)據(jù)交換需求,進一步探索異構區(qū)塊鏈之間因底層架構、數(shù)據(jù)結構、接口協(xié)議、安全機制等多維異構性導致無法互聯(lián)互通問題的有效解決方案,以促進跨行業(yè)、機構和地域的跨區(qū)塊鏈信任傳遞和商業(yè)合作。隨后,國內多個廠商也相繼推出了跨鏈相關應用,跨鏈技術發(fā)展呈欣欣向榮之態(tài)。(三)跨鏈標準逐步形成區(qū)塊鏈領域發(fā)展日新月異,區(qū)塊鏈應用百花齊放。區(qū)塊鏈從業(yè)人員逐漸意識到,只有打破區(qū)塊鏈間的平臺壁壘,形成完善的技術規(guī)范,建立統(tǒng)一的行業(yè)標準,才能構建真正的價值互聯(lián)網(wǎng),打造可靠、可用、成熟的數(shù)字經(jīng)濟基礎設施。為了實現(xiàn)這一愿景,區(qū)塊鏈跨鏈技術標準逐步形成。IEEE計算機協(xié)會區(qū)塊鏈和分布式記賬委員會(IEEEC/BDL)通過了幾個與跨鏈相關的標準立項。標準P3203設計了一種跨鏈資源命名和尋址方式,可以使任意一個區(qū)塊鏈網(wǎng)絡能通過標準化地址定位所要訪問的其他區(qū)塊鏈網(wǎng)絡的資源。標準P3204描述了一種跨鏈交易證明模型和交互協(xié)議,以實現(xiàn)在沒有第三方參與的情況下保證跨鏈交互的事務性。標準P3205介紹了一種跨鏈數(shù)據(jù)認證與交互協(xié)議,涉及分布式身份、鏈上證明轉換以及跨鏈通信。未來跨鏈領域將不斷完善相關標準體系,推動區(qū)塊鏈技術進一步向前發(fā)展。二聯(lián)盟鏈跨鏈關鍵技術如前文所述,聯(lián)盟鏈跨鏈面臨底層架構無法互通、跨鏈數(shù)據(jù)無法互驗、接口協(xié)議無法互聯(lián)、安全機制無法互信等諸多挑戰(zhàn)。聯(lián)盟鏈跨鏈除了要突破上述挑戰(zhàn)外,還需設計合理的跨鏈架構、靈活的適配協(xié)議、友好的操作接口,并實現(xiàn)安全可信的跨鏈治理,從多個關鍵維度考慮跨鏈操作的高擴展性、高易用性以及高安全性。隨著區(qū)塊鏈跨鏈技術的不斷演進完善,聯(lián)盟鏈跨鏈關鍵技術初步形成,以實現(xiàn)安全高效的跨鏈交互,構建可靠成熟的跨鏈應用。(一)通用跨鏈接口聯(lián)盟鏈平臺雖各有不同,但萬變不離其宗,主流聯(lián)盟鏈的底層原理都有共通之處。經(jīng)過抽象后,大部分聯(lián)盟鏈平臺的區(qū)塊鏈邏輯、區(qū)塊數(shù)據(jù)結構和交易數(shù)據(jù)結構等都具有一定的相似性。通用跨鏈接口對交易、智能合約與資產(chǎn)等數(shù)據(jù)進行抽象包裝,設計統(tǒng)一的資源范式,對主流聯(lián)盟鏈的關鍵數(shù)據(jù)結構進行提煉,設計普適跨鏈場景的抽象區(qū)塊數(shù)據(jù)結構,為異構聯(lián)盟鏈的交互建立數(shù)據(jù)協(xié)議一致的基礎,實現(xiàn)“一次適配,隨處可用”的效果。1.統(tǒng)一資源范式各個聯(lián)盟鏈平臺上的資源多種多樣,有智能合約、資產(chǎn)、信道和數(shù)據(jù)表等,無論這些資源的功能如何多樣,其核心接口都可以歸納為數(shù)據(jù)、調用和事件三類固定的接口(見圖1)。為了更好地打通聯(lián)盟鏈平臺資源交互,通用跨鏈接口提出統(tǒng)一資源接口范式,使用戶在調用區(qū)塊鏈智能合約、資產(chǎn)、信道或數(shù)據(jù)表時無須關心具體的智能合約語言和區(qū)塊鏈的底層架構,只需傳入通用的參數(shù),并處理統(tǒng)一定義的返回值即可。單個聯(lián)盟鏈上的資源可以通過合約地址或名稱來定位和訪問,在跨鏈和多個業(yè)務互通的復雜網(wǎng)絡模型下需要一個更高層的資源尋址協(xié)議,通過提供資源地址和相關參數(shù)實現(xiàn)資源定位和訪問。一個跨鏈系統(tǒng)可定義為跨鏈分區(qū)(運行著同一類業(yè)務的聯(lián)盟鏈集合)、業(yè)務鏈和業(yè)務鏈上的資源的組合,它們都有唯一的標識。通過組合三種標識,可以唯一地定位到跨鏈系統(tǒng)中的任一資源的位置,這個尋址的標識稱為跨鏈路徑(InterchainPath),跨鏈路徑定義為:[跨鏈分區(qū)].[業(yè)務鏈].[鏈上資源]。跨鏈平臺提供統(tǒng)一的RPC接口訪問跨鏈路徑,支持以URL的形式訪問跨鏈系統(tǒng)中的資源,URL格式為:http://IP:Port/[跨鏈分區(qū)]/[業(yè)務鏈]/[區(qū)塊鏈資源]/[資源方法]。圖1跨鏈核心接口和資源抽象2.抽象區(qū)塊鏈結構為了滿足異構聯(lián)盟鏈之間的區(qū)塊數(shù)據(jù)互信的需求,統(tǒng)一跨鏈接口提出抽象區(qū)塊的概念,由抽象區(qū)塊組成的鏈稱為“抽象鏈”(見圖2)。抽象區(qū)塊里包含業(yè)界主流聯(lián)盟鏈共同的數(shù)據(jù)字段,以用于驗證聯(lián)盟鏈結構的正確性、查詢聯(lián)盟鏈當前狀態(tài)和驗證聯(lián)盟鏈數(shù)據(jù)等。多個聯(lián)盟鏈之間,通過相互同步和獲取抽象鏈的方式,來確認其他聯(lián)盟鏈的狀態(tài),驗證預期交互數(shù)據(jù)的正確性。圖2抽象區(qū)塊鏈抽象區(qū)塊的數(shù)據(jù)字段可以分為兩類,一類是區(qū)塊信息字段,包括區(qū)塊高度、區(qū)塊哈希值和上一塊哈希,這些字段用于驗證聯(lián)盟鏈的正確性;另一類是信息驗證字段,包括交易默克爾根、回執(zhí)默克爾根和狀態(tài)默克爾根,分別用于驗證該區(qū)塊相關的交易、回執(zhí)和狀態(tài)數(shù)據(jù)的存在性和正確性,以證明某個交易是否屬于當前區(qū)塊、某個回執(zhí)是否屬于當前區(qū)塊等。(二)異構鏈互聯(lián)協(xié)議通過分析主流聯(lián)盟鏈平臺交互方式的共性點,例如都具備數(shù)據(jù)讀寫、調用智能合約和向智能合約發(fā)送交易等接口,提煉出一種通用的聯(lián)盟鏈接入范式與跨鏈交互模型,聯(lián)盟鏈平臺之間進行少量適配對接,就可以實現(xiàn)異構鏈之間的跨鏈交互。1.通用接入范式異構鏈互聯(lián)協(xié)議定義了一種通用的聯(lián)盟鏈接入范式,只需實現(xiàn)兩個核心接口即可接入一條聯(lián)盟鏈,分別是獲取資源的接口和獲取信息的接口?;谶@種通用范式,不同聯(lián)盟鏈平臺可以各自提供一個聯(lián)盟鏈適配器(Stub)。聯(lián)盟鏈適配器可以基于原有聯(lián)盟鏈平臺開發(fā)工具包(SDK)進行封裝,形成異構鏈互聯(lián)協(xié)議的核心接口,而無須對原有聯(lián)盟鏈進行侵入修改。任何聯(lián)盟鏈只要遵循聯(lián)盟鏈接入模型,構建聯(lián)盟鏈適配器,就可以接入跨鏈協(xié)作平臺。2.跨鏈交互模型實現(xiàn)跨鏈互聯(lián)需要借助跨鏈路由(Router),以用于橋接業(yè)務系統(tǒng)與區(qū)塊鏈。為適配多變的跨鏈業(yè)務場景,需要一個跨鏈交互模型,該模型可以支持單分區(qū)單路由、單分區(qū)多路由以及多分區(qū)多路由等多種場景。(1)單分區(qū)單路由:針對一個機構的用戶需要同時訪問多個聯(lián)盟鏈的場景,可以在機構內搭建一個跨鏈路由,并為其配置多個聯(lián)盟鏈適配器,連接到多個聯(lián)盟鏈(見圖3)。通過給多個聯(lián)盟鏈適配器配置不同的跨鏈路徑前綴,用戶可以通過跨鏈路由,任意尋址并訪問網(wǎng)絡中的資源。如圖4所示,用戶可以通過配置了兩個不同聯(lián)盟鏈適配器的跨鏈路由,實現(xiàn)對兩條鏈上資源的訪問。圖3區(qū)塊鏈適配器圖4單分區(qū)單路由(2)單分區(qū)多路由:針對多個機構的多個用戶想要交叉訪問對方的聯(lián)盟鏈,可以部署多個跨鏈路由,并為其配置各自的聯(lián)盟鏈適配器??珂溌酚芍g通過P2P網(wǎng)絡協(xié)議相連,跨鏈路由之間會自動同步交換各自的聯(lián)盟鏈適配器和資源信息。不同機構的用戶可以通過調用本機構的跨鏈路由,把本機構的跨鏈路由轉發(fā)至其他機構的跨鏈路由,訪問相應資源并按路由返回。如圖5所示,用戶甲可以通過跨鏈路由viaA和跨鏈路由viaB組成的路由網(wǎng)絡,實現(xiàn)對兩條存證管理鏈上資源的訪問。圖5單分區(qū)多路由(3)多分區(qū)多路由:在更為復雜的業(yè)務場景中存在多種業(yè)務相互融合的需求,因此也就存在多個跨鏈分區(qū)互聯(lián)訪問的需求。面對這種需求,需要支持跨鏈路由動態(tài)增加與其他跨鏈路由的連接,通過權限控制保證跨鏈訪問的安全可控,對原有業(yè)務不進行任何侵入修改。如圖6所示,通過跨鏈路由將存證分區(qū)和結算分區(qū)相連,實現(xiàn)原有兩個分區(qū)的用戶能夠訪問對方分區(qū)的資源。圖6多分區(qū)多路由從以上三個場景可以看到,跨鏈路由是整個交互模型的核心模塊,是連通多個聯(lián)盟鏈的橋梁??珂溌酚墒仟毩⒌倪M程部署,一個跨鏈路由可以使用多個聯(lián)盟鏈適配器模塊去連接多個聯(lián)盟鏈,多個跨鏈路由使用P2P網(wǎng)絡互相連通??珂溌酚蓛炔坎捎梅謱釉O計理念,自下向上分為三個層次?;A層:跨鏈路由底層最基礎的部分,包括網(wǎng)絡互聯(lián)模塊、聯(lián)盟鏈適配器模塊和抽象鏈存儲模塊。網(wǎng)絡互聯(lián)模塊負責跨鏈路由間的互聯(lián),聯(lián)盟鏈適配器模塊負責連接具體的聯(lián)盟鏈節(jié)點,抽象鏈存儲模塊保存多個聯(lián)盟鏈的抽象區(qū)塊頭信息以用于驗證交易和回執(zhí)。交互層:處理跨鏈路由的交互邏輯,包括資源同步、資源尋址以及跨鏈證明等模塊。資源同步模塊同步多個其他跨鏈路由的資源配置信息,資源尋址模塊幫助用戶在跨鏈分區(qū)中按跨鏈路徑尋找資源,跨鏈證明模塊驗證其他跨鏈路由返回的交易和回執(zhí)數(shù)據(jù)。事務層:處理和協(xié)調跨聯(lián)盟鏈的事務邏輯,包括兩階段事務模塊和哈希時間鎖定等機制。(三)可信事務機制在跨鏈場景中,各自獨立的區(qū)塊鏈平臺需要相互獲取對方鏈上的數(shù)據(jù),由于它們并沒有參與對方鏈的共識流程,因此需要一種機制能夠驗證獲得的數(shù)據(jù)是否可信。同時,在涉及事務的跨鏈場景中,如何保證各自鏈上交易執(zhí)行都成功或都失敗也是亟須解決的問題。1.數(shù)據(jù)互信機制數(shù)據(jù)互信機制用于解決跨鏈場景下的數(shù)據(jù)可信問題。參與跨鏈的雙方通常沒有條件和權限去存儲另一方的全量區(qū)塊鏈數(shù)據(jù),在不存儲所有區(qū)塊的情況下驗證某個區(qū)塊是否包含特定的交易,需要借助一種特殊的數(shù)據(jù)結構——默克爾樹。默克爾樹結構如圖7所示,每個非葉子節(jié)點通過其子節(jié)點的哈希值來進行標注,樹的根節(jié)點叫作默克爾根。有了這樣的數(shù)據(jù)結構,就可以基于默克爾證明機制實現(xiàn)數(shù)據(jù)驗證。默克爾證明是一種經(jīng)典技術,用于證明交易存在于聯(lián)盟鏈的某個區(qū)塊中,使一方在不需要獲取另一條鏈全量數(shù)據(jù)的情況下,仍然能夠快速證明另一條鏈上特定數(shù)據(jù)的真實存在性。圖7默克爾樹結構2.跨鏈事務機制早期的跨鏈技術主要專注于保證跨鏈資產(chǎn)交換的事務性。在聯(lián)盟鏈跨鏈場景中,為了支持更加復雜的業(yè)務需求,提供更加全面靈活的事務性保障,需要集成多種主流的事務機制,包括兩階段提交協(xié)議、哈希時間鎖定合約等。(1)兩階段提交協(xié)議兩階段提交協(xié)議旨在保證分布式系統(tǒng)處理事務時的一致性。兩階段提交協(xié)議具備可靠性強、通用性強、實現(xiàn)簡單等優(yōu)勢,大部分業(yè)務諸如跨鏈轉賬、跨鏈協(xié)同等,都可以使用兩階段提交協(xié)議來實現(xiàn)。兩階段提交協(xié)議將事務的提交過程分成兩個階段來處理,分別是準備階段和提交階段。為了讓整個事務能夠正常運行,兩階段提交協(xié)議涉及三個事務接口:準備(Prepare)、提交(Commit)和回滾(Rollback)?;谇懊嫠龅耐ㄓ每珂溄涌谠O計,參與事務的跨鏈資源需要增加三個事務接口(見圖8)。兩階段提交協(xié)議中的協(xié)調工作由跨鏈路由完成。在準備階段,跨鏈路由會向全體參與事務的資源發(fā)起準備請求,在所有資源完成準備后,再向全體資源發(fā)送提交請求。準備或提交兩個階段中,如果任一資源返回失敗,則跨鏈路由會向全體參與事務的資源發(fā)起回滾請求,放棄本次事務,恢復最初狀態(tài)。圖8兩階段提交協(xié)議事務設計如果跨鏈路由由于系統(tǒng)或網(wǎng)絡的原因失效,就會產(chǎn)生單點問題,從而使事務無法繼續(xù)。為了避免該問題,可在多個業(yè)務聯(lián)盟鏈之外搭建一個專門用于協(xié)調事務的聯(lián)盟鏈,稱為治理鏈。各個機構中參與事務的跨鏈路由通過配置區(qū)塊各個機構中參與事務的跨鏈路由(通過配置區(qū)塊鏈適配器)連接治理鏈,在處理兩階段事務的過程中,事務的狀態(tài)都記錄在治理鏈上,這樣,惡意的協(xié)調者就無法輕易地篡改兩階段事務的狀態(tài)。(2)哈希時間鎖定合約哈希時間鎖定合約用于實現(xiàn)資產(chǎn)原子交換,對比兩階段提交協(xié)議,并不依賴某個協(xié)調者,特別適合聯(lián)盟鏈資產(chǎn)交換的場景?;诮y(tǒng)一資源范式,參與跨鏈轉賬的資源需要增加三個事務接口:鎖定(Lock)、解鎖(Unlock)和超時(Timeout)。只要正確實現(xiàn)這三個接口,跨鏈路由就可以協(xié)調該跨鏈資源,參與到任意基于哈希時間鎖定合約的轉賬事務中(見圖9)。兩階段提交協(xié)議和哈希時間鎖定合約各有特點。兩階段提交協(xié)議可以用于滿足一般的事務處理請求,但是依賴可信的協(xié)調者,為了引入多中心可信協(xié)調者,需要額外的治理鏈來配合實現(xiàn)。哈希時間鎖定合約不依賴可信協(xié)調者,契合聯(lián)盟鏈資產(chǎn)交換的場景,但對于資產(chǎn)交換以外的場景,其流程較為復雜和冗長,沒有兩階段提交協(xié)議通用和有效。圖9哈希時間鎖定合約事務設計(四)多邊跨域治理多邊跨域治理是一套完整的聯(lián)盟鏈跨鏈網(wǎng)絡治理方案,支持多個區(qū)塊鏈按照業(yè)務需求,以不同的網(wǎng)絡拓撲來組建跨鏈分區(qū),并由多個機構共同維護治理鏈,實現(xiàn)多個區(qū)塊鏈安全可信地執(zhí)行事務(見圖10)??赏ㄟ^協(xié)商和投票的形式進行機構準入和區(qū)塊鏈治理,并支持即時有效的監(jiān)管仲裁。治理鏈上部署多種與跨鏈治理相關的智能合約,包括權限管理合約、事務管理合約、業(yè)務鏈監(jiān)管合約、業(yè)務鏈準入合約和機構準入合約等,這些合約分別聚焦權限事務、監(jiān)管準入等功能。治理鏈由業(yè)務方和監(jiān)管方等相關機構共同搭建,各個機構可以通過在各自的跨鏈路由中配置區(qū)塊鏈適配器接入治理鏈。1.權限事務管理區(qū)塊鏈上的資源可能涉及個人資產(chǎn)、身份數(shù)據(jù)和商業(yè)機密等多種敏感信息,需要可靠的權限管理和授權機制來保障區(qū)塊鏈資源的安全。通過在治理鏈上部署權限管理智能合約,能夠將跨鏈操作的權限控制細化到分區(qū)、機構、區(qū)塊鏈甚至資源的具體接口。接入治理鏈的跨鏈路由將實時同步和執(zhí)行來自權限管理合約的權限策略,控制和記錄跨鏈操作的資源訪問,實時保障跨鏈業(yè)務的信息安全。圖10多邊跨域治理架構除了權限的控制外,跨鏈的事務操作也通過治理鏈調度。治理鏈部署事務管理合約,用于記錄事務從生成到結束的完整生命周期。事務管理合約將事務的步驟記錄在治理鏈上,需要經(jīng)過所有治理節(jié)點的共識。當網(wǎng)絡或系統(tǒng)發(fā)生故障,導致當前負責協(xié)調事務的跨鏈路由無法工作時,其他跨鏈路由可以通過事務管理合約中已記錄的事務步驟,繼續(xù)執(zhí)行事務,從而避免單點問題,達到容災的效果。2.監(jiān)督準入管理治理鏈可以選擇性地記錄多個跨鏈分區(qū)間部分或所有的跨鏈操作,供監(jiān)管機構進行穿透式監(jiān)管。監(jiān)管機構可以選擇部署一個接入治理鏈的跨鏈路由,或是直接運行一個治理鏈的區(qū)塊鏈節(jié)點從而獲取監(jiān)管數(shù)據(jù)。治理鏈上的監(jiān)管數(shù)據(jù)以加密方式存儲,只能由監(jiān)管方解密讀取??珂湻謪^(qū)中的任何惡意跨鏈操作都會被記錄在治理鏈,以供監(jiān)管方實施事前攔截、事中監(jiān)控以及事后追責。治理鏈上的業(yè)務鏈準入合約和機構準入合約為參與跨鏈的業(yè)務和機構提供準入控制依據(jù),支持基于CA認證機制來識別業(yè)務鏈和機構的身份。機構準入合約可以配置一個或多個管理員,合約中保存的準入信息可以動態(tài)地增刪改查。當跨鏈分區(qū)中出現(xiàn)惡意行為時,管理員可以在治理鏈上發(fā)起投票表決,懲罰或踢出作惡的機構。治理鏈的數(shù)量不局限于一個,在復雜的網(wǎng)絡拓撲中,多個跨鏈分區(qū)可以組建各自的治理鏈,多個治理鏈之間允許組建更高層級的治理鏈,從而形成多級的治理架構,每一級治理鏈都能直接管理其接入的多個治理鏈,使搭建大規(guī)模、跨地域、海量數(shù)據(jù)和可治理的廣域區(qū)塊鏈網(wǎng)絡成為可能。三聯(lián)盟鏈跨鏈系統(tǒng)架構聯(lián)盟鏈跨鏈系統(tǒng)架構設計需要充分考慮跨行業(yè)、機構和地域的多區(qū)塊鏈互聯(lián),無論是新部署的區(qū)塊鏈平臺還是已有的區(qū)塊鏈平臺,都可以基于區(qū)塊鏈體系抽象,在不改動原有區(qū)塊鏈平臺底層的前提下,無縫接入。(一)系統(tǒng)構成1.跨鏈分區(qū)(Zone):運行著同一類業(yè)務的區(qū)塊鏈集合,通過統(tǒng)一跨鏈接口可對這個區(qū)塊鏈集合本身和內部的區(qū)塊鏈資源進行命名和尋址。2.業(yè)務鏈(Chain):運行在某個跨鏈分區(qū),而且僅屬于一個跨鏈分區(qū)。3.跨鏈路由(Router):用于橋接業(yè)務系統(tǒng)與區(qū)塊鏈的服務進程;多個跨鏈路由之間可以相互連接,相互轉發(fā)請求;用戶通過向跨鏈路由發(fā)起請求來訪問跨鏈分區(qū)中的資源。4.跨鏈適配器(Stub):指連接一個區(qū)塊鏈的接口實現(xiàn),可由跨鏈路由加載;跨鏈路由可以配置多個區(qū)塊鏈適配器,達到連接多條區(qū)塊鏈的效果;跨鏈路由間會自動同步區(qū)塊鏈適配器的配置信息,從而幫助用戶尋址位于其他區(qū)塊鏈上的資源。5.跨鏈資源(Resource):區(qū)塊鏈上的智能合約、數(shù)字資產(chǎn)等用戶可訪問的數(shù)據(jù)對象,類似于區(qū)塊鏈適配器的配置信息,跨鏈資源的元信息也在跨鏈路由之間同步;用戶通過統(tǒng)一的接口對跨鏈分區(qū)中的資源進行尋址和調用??珂溝到y(tǒng)架構見圖11。圖11跨鏈系統(tǒng)架構(二)系統(tǒng)交互流程區(qū)塊鏈通過密碼學與共識算法等機制構建分布式可信環(huán)境,然而此可信環(huán)境只在區(qū)塊鏈平臺內部生效,跨鏈系統(tǒng)中需要引入額外的可證明信息來實現(xiàn)跨區(qū)塊鏈平臺的可信交互。在實現(xiàn)跨鏈交互時除了傳輸區(qū)塊鏈交易信息外,還會額外傳輸區(qū)塊鏈交易的相關證明數(shù)據(jù),并使用這些信息進行交易和回執(zhí)(交易執(zhí)行結果)的存在性證明,以證明鏈上信息的真實與可靠。假設機構1和機構2分別部署了區(qū)塊鏈A和區(qū)塊鏈B,現(xiàn)在機構1的用戶要訪問機構2的區(qū)塊鏈B,并要求訪問的結果真實可信(跨鏈交互時序如圖12所示)??珂溌酚沙藗鬏斀灰缀突貓?zhí)的信息外,還額外傳輸交易和回執(zhí)的默克爾證明,交易的發(fā)送方使用這些證明來進行跨鏈數(shù)據(jù)訪問的可信驗證,使交易的發(fā)送方能確認交易在目標區(qū)塊鏈上真實發(fā)生且獲得結果,保證交易和回執(zhí)的真實可信。通過遵循跨鏈交互數(shù)據(jù)皆可自證的原則,交互響應消息同時攜帶數(shù)據(jù)和證明,普遍適用于各類跨鏈場景。圖12跨鏈可信交互四聯(lián)盟鏈跨鏈應用場景探索(一)司法存證聯(lián)盟鏈司法應用能夠極大地縮減仲裁流程,幫助仲裁機構快速完成證據(jù)核實,解決糾紛。當司法仲裁異地取證或聯(lián)合舉證時,需要跨鏈技術打通各個存證聯(lián)盟鏈,以提供更加便捷強大的存證服務。跨鏈技術可以將各家存證鏈的證據(jù)統(tǒng)一抽象成證據(jù)資源,在不同的司法存證鏈之間可信地傳輸證據(jù)。通過搭建一個擁有多類型存證的存證鏈網(wǎng)絡,在面向重大問題和重大糾紛時,多中心地幫助各個鏈交互完備、可信和具備法律效力的證據(jù)材料,幫助仲裁機構完成裁決。司法存證跨鏈場景見圖13。圖13司法存證跨鏈場景(二)個體數(shù)據(jù)授權身份認證正向跨地域的方向發(fā)展,不同地域、業(yè)務和基于不同聯(lián)盟鏈平臺的身份認證產(chǎn)品之間尚不能互認的現(xiàn)狀造成信息的鴻溝,導致身份和資質等數(shù)據(jù)仍然局限在小范圍的地
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第11課 北洋政府的統(tǒng)治與軍閥割據(jù)(學生版)
- 歷史觀點論述題(解題指導+專項練習)(解析版)
- 2025北京市蜂產(chǎn)品收購合同
- 2024幼兒園園長任期管理與職業(yè)發(fā)展聘用協(xié)議9篇
- 2025年液體氣體過濾、凈化機械項目合作計劃書
- 磷礦防水工程承包合同
- 保定市物業(yè)環(huán)境衛(wèi)生管理
- 機場跑道室外施工合同
- 2024年鉆機操作與維護承包協(xié)議樣本版B版
- 公交車油耗維修管理準則
- 《駱駝祥子》1-24章每章練習題及答案
- 《伊利乳業(yè)集團盈利能力研究》文獻綜述3000字
- 國際金融課后習題答案(吳志明第五版)第1-9章
- 《基于杜邦分析法周大福珠寶企業(yè)盈利能力分析報告(6400字)》
- 全國英語等級考試三級全真模擬試題二-2023修改整理
- 02R112 拱頂油罐圖集
- 減鹽防控高血壓培訓課件
- 英語課presentation中國麻將-Chinese-mahjong
- GB/T 8571-2008復混肥料實驗室樣品制備
- GB/T 25344-2010中華人民共和國鐵路線路名稱代碼
- GB/T 1885-1998石油計量表
評論
0/150
提交評論