?

區塊鏈互操作性技術研究進展

2024-01-11 13:14陳先意丁思哲付章杰
計算機與生活 2024年1期
關鍵詞:公證人側鏈哈希

陳先意,王 康+,丁思哲,付章杰,2

1.南京信息工程大學 數字取證教育部工程研究中心,南京 210044

2.西安電子科技大學 綜合業務網理論及關鍵技術國家重點實驗室,西安 710126

區塊鏈技術因其去中心化、不可篡改的優良特性引領新一代數據存儲技術。然而,區塊鏈數據賬本的封閉特性限制了鏈間數據交流,致使技術應用場景受限。區塊鏈互操作性技術旨在打破鏈間通信壁壘,實現跨鏈交互,對區塊鏈技術的發展意義不凡。

目前,區塊鏈互操作性領域已經取得了一些成果,早在2016 年,Buterin、Hardjono 等人[1-2]便闡述了區塊鏈互操作性的定義、分類及其重要意義,但由于技術發展時間較短,該文僅對各類跨鏈方案進行大致介紹和設想。Lohachab 等人[3]首次對區塊鏈互操作性及其相關問題給出明確的密碼學定義,并大概列舉相關解決方案的技術特性,但未能對各方案流程給出詳細說明。Monika等人[4]更新了分類方法,從公證人、側鏈/中繼、智能合約方案、橋接方案、路由方案分類介紹跨鏈技術,但其對技術方案的介紹較為精簡,缺少流程分析和特性對比,值得進一步擴展。

國內關于區塊鏈互操作性的相關研究起步較晚,相關研究工作較少。李芳等人[5]最早在國內總結了當時的跨鏈技術,簡要介紹了2018 年之前的24 種主流跨鏈技術的原理和實現思路,以及跨鏈技術面臨的12 項主要問題。但受限于技術瓶頸,當時的跨鏈技術或協議多數僅停留在白皮書階段,無法結合實際探討及分析,且其中部分技術已經大幅更新。同時期的路愛同等人[6]將主流跨鏈技術分為四類并從理論上給出解釋——公證人機制、側鏈/中繼、哈希鎖定、分布式私鑰控制。之后,郭朝等人[7]基于哈希鎖定、公證人、側鏈中繼三個方向介紹了跨鏈技術,提及了一些更先進的跨鏈技術,包括微支付通道、閃電網絡及簡單支付驗證(simplified payment verification,SPV)雙向錨定等,并結合實例對Polkadot、Cosmos和Plasma三種方案進行流程分析。隨著分布式私鑰控制技術興起,李洋等人[8]從分層角度分析了區塊鏈擴容技術,將其分為合約層+應用層、數據層+網絡層+共識層+激勵層、網絡層+傳輸層協議,對相關技術的原理進行了詳細介紹,但未能結合實例進行分析。徐卓嫣等人[9]從安全、連接、信息同步等角度分析了區塊鏈跨鏈的各種實現方案,具體分析了Interledger、Cosmos和Polkadot三種項目。何帥等人[10]在傳統分類基礎上,對各方案的性能進行了詳細分析對比,做出了一些補充。

區塊鏈作為一門新興技術,其技術迭代速度極快,現有的歸總和討論亟需進一步更新,尤其需要對項目實例進行技術流程與特性的全面總結分析。本文將結合區塊鏈互操作性技術的最新進展,從最新的技術發展對不同結構的區塊鏈的適用性方面總結現有的區塊鏈互操作技術。

1 區塊鏈及互操作性

1.1 區塊鏈簡介

區塊鏈(Blockchain)是一個可以抽象成由多個數據塊依照時間順序串聯而成的一條單向數據鏈,如圖1 所示,其中每個數據區塊內部包含多個交易(Transaction)。對每一個交易,區塊鏈系統采用哈希算法將其轉換成固定長度的字符串,然后把各字符串兩兩組合作為輸入生成新的哈希字符串。多次重復上述流程,直到最后只剩下一個哈希字符串,即Merkle根字符串。

圖1 區塊結構示意圖Fig.1 Block architecture

依據哈希算法的特性,攻擊者對已發布區塊交易的任何篡改,均會導致Merkle 根字符串不可預測的變化。從而驗證者只要查驗Merkle 根字符串即可判斷區塊信息是否遭到篡改,實現對區塊內信息正確性的快速驗證。將上述思路從單個區塊拓展到整個單向數據鏈即可實現整個區塊鏈系統賬本的防篡改。這里,最經典的區塊鏈系統就是比特幣(bitcoin,BTC)[11]。

進入區塊鏈2.0 時代,智能合約成為區塊鏈的重要特性,代表性的系統就是以太坊(ethereum,ETH)[12]。以太坊通過對智能合約的支持,降低對區塊鏈應用開發的技術要求,快速豐富了以太坊社區,實現對比特幣的彎道超車,兩種系統的交易量對比可見圖2。智能合約本質上是一段可以自動執行預定合約條款的計算機程序。當智能合約的滿足條件被觸發時,合約代碼將自動執行。智能合約極大提高了區塊鏈的運轉效率,預擬定的合約流程也能降低惡意方干預的概率,節省信任成本。

圖2 BTC和ETH年平均日交易數量數據圖1)數據來源https://bitinfocharts.com/,選取每年每季度第一個月第一個有記錄的數據。Fig.2 Annual average daily number of transactions in BTCÐ

現如今,區塊鏈去中心化、安全性、獨立運作等優良特性已經得到社會各界的廣泛認可,許多區塊鏈項目已經在社會生活的多個方面落地運營。例如美國醫療保健領域的Patientory[13]使用區塊鏈搭建醫患溝通平臺,維護醫療記錄;Shipchain[14]使用區塊鏈追蹤記錄供應鏈的物流運輸過程;用于政府選票收集的Voatz[15],使用區塊鏈保證公民投票的安全性;用于物聯網[16]設備的Xage[17],使用區塊鏈監測違規行為等。我國也在積極探索區塊鏈的應用場景,例如在中國雄安落地的數字人民幣穿透支付業務[18],擴展了區塊鏈支付場景;最高人民法院加強區塊鏈在司法取證等方面的應用[19]。

區塊鏈技術之所以跨領域廣泛流行,主要由于其具有兩個特征:(1)對數據賬本采用分布式存儲;(2)實行高度封閉管理。前者能夠解決傳統的單點故障問題,防止數據丟失;后者限制數據的訪問與修改權限,防止數據篡改,兩者的結合有力地保障了數據賬本的安全性。

然而,這種封閉式的數據賬本管理,也極大犧牲了區塊鏈系統的兼容性和擴展性。目前全球范圍內至少有數十種公共區塊鏈賬本在廣泛使用(公共區塊鏈賬本市值占比見圖3),這些賬本及其應用相互獨立,各自維護自己的賬本,不與其他賬本進行任何信息交換,導致某一領域的信息始終只在該領域的鏈上流轉,而無法在更廣泛的領域內移植利用,從而限制了數據范圍,引發對區塊鏈存儲方式的質疑。2

圖3 全球區塊鏈總市值占比圖2)數據來源https://www.coincarp.com/zh/,https://bitinfocharts.com/,2023年1月1日。Fig.3 Proportion of global blockchain market capitalization

除此之外,區塊鏈的封閉性導致舊系統難以實現新功能。以比特幣為例,盡管以太坊智能合約技術已經發布并流行數年,然而比特幣至今仍未找到一種完備的兼容智能合約技術的升級方案,一定程度上導致其存量用戶的流失和新用戶增長遲滯。

在發展設想中的區塊鏈3.0 時期,區塊鏈技術將成為“萬物互聯”的一種底層協議,它將在社會治理領域全面鋪開,囊括身份認證、公證、仲裁、審計、域名、物流、醫療、郵件、簽證、投票等幾乎全部的社會領域。而單一的區塊鏈系統不可能承載海量的跨領域信息,因此,發展現有的區塊鏈系統并研究鏈間互操作技術迫在眉睫。

1.2 互操作性技術簡介

區塊鏈互操作性[20]技術,又稱為區塊鏈跨鏈技術,從應用目的上可以分為淺層、中層、深層三種類別:

淺層跨鏈方法主要指的是區塊鏈擴容方法,該類方法面向已經大規模運營的區塊鏈,在不修改鏈結構的前提下對現存區塊鏈進行擴容、改善吞吐量、增強安全性,幫助區塊鏈開發并及時兼容更多的新技術特性,使其具備更長的生命周期。然而,這類方案通常只針對某個特定的鏈(尤其是公鏈)進行改進,普適性有限。代表性方案包括:用于擴充比特幣功能的BTC-Relay 和提升比特幣吞吐量的Lightning。

中層跨鏈方法是面向已經小規模運營的區塊鏈的互操作方案,一般為聯盟鏈或私有鏈,旨在尋找對已有的區塊鏈僅作少量改動或不做改動的條件下,實現多個同構或異構區塊鏈系統之間的信息交換和資產轉移等鏈間操作,代表性方案是被加密貨幣交易所青睞的Interledger方案。

深層跨鏈方法對現存區塊鏈結構的改動較多,通過更改區塊鏈底層架構,建立完備的區塊鏈互聯生態系統架構并構筑下一代區塊鏈鏈間通信協議,如Polkadot 構建了全新的Parachains 鏈,只通過橋接方式兼容現存的區塊鏈。

上述淺、中、深三類方法各有側重,但都是為將區塊鏈技術由一條條的獨立鏈,進化為跨鏈互聯、兼收并蓄的多鏈網絡,邁入理想中的區塊鏈互聯網時代[21]。

本文將在前述工作之上,就各方案應用的主要目的和鏈間結構差異總結現有的區塊鏈互操作性技術路線,并介紹已有的鏈間互操作方案實例,結合實例說明各技術的特性和優缺點。

2 區塊鏈互操作性技術路線

當前,互聯網中運行的區塊鏈賬本眾多,部分區塊鏈系統只運行于局域網中,用于企業內部數據管理等,主要使用私有鏈和聯盟鏈,它們內部的多條鏈之間一般采用相似的結構,對區塊鏈互操作性的要求主要是擴充現有鏈的容量和功能,難度較低。其余區塊鏈系統如公有鏈一般面向整個互聯網,它們對區塊鏈互操作性的要求更高,追求在互聯網內不同結構的區塊鏈間建立一套完備的互操作方法。

為方便介紹,本文按照要互操作的區塊鏈間結構差異的大小,將互操作技術分為同構擴容技術和異構互操作技術兩種類型進行介紹,細節如圖4。

圖4 互操作性技術概覽圖Fig.4 Overview of interoperability technology

2.1 同構擴容技術

同構擴容技術,一般用于特定的某個或某類區塊鏈,旨在對其實行鏈下擴容,亦或是針對區塊結構、共識算法等鏈結構相同的公鏈實施互操作。按照提出的時間先后,同構擴容技術主要包含三類:傳統側鏈技術、支付通道和哈希時間鎖、基于智能合約的互操作方法。

2.1.1 傳統側鏈技術

最先出現的同構擴容技術就是傳統側鏈技術,Back 等人[22]首先提出并實現用于比特幣擴容。該技術指的是以某個區塊鏈作為主鏈,在主鏈之外另外搭建一條或多條與其底層架構相似但功能定位不同的子區塊鏈,這些子鏈被稱為側鏈。經過Kiayias、Ga?i 等人[23-24]從工作量證明(proof of work,PoW)和權益證明(proof of stake,PoS)兩種共識下分別構建原始模型并給出安全性證明,側鏈的實用性得到肯定。

側鏈技術的優勢主要在于,可以在不修改原主鏈結構的前提下,通過與主鏈的聯通,既為主鏈添加其原來不支持的新功能,還可以將主鏈的部分交易流程轉移到側鏈執行,實現主鏈的“減負”,提升主鏈的事務處理速度。

側鏈技術的核心在于,如何實現資產在兩條鏈上的轉移。文獻[22]提出了雙向錨定技術解決這一問題,雙向錨定流程圖見圖5。雙向錨定的思想是,當需要將某資產從鏈1 移動到鏈2 時,首先在鏈1 上對需要轉移的資產進行鎖定,使之不能再繼續流通,之后在鏈2上將同樣價值的資產解鎖并投入流通,反之亦然。雙向錨定技術分為對稱式雙向錨定和非對稱式雙向錨定兩種,對稱式雙向錨定要求主鏈和側鏈均能夠相互驗證對方的信息,這常要求對主鏈進行一定的改造,使之能夠識別側鏈的信息,因此不適用于已經投入運營的大型區塊鏈網絡,一般用于新搭建的區塊鏈網絡,在搭建主鏈之初即設計好驗證方式。相應地,非對稱式雙向錨定無需對主鏈進行額外的改造,一般只要求主鏈的信息能夠被側鏈完全驗證,這意味主鏈其實并不“知道”自己存在側鏈,兩者的關系類似于寄生體之于宿主。這方便主鏈的資產向側鏈轉移,但增加側鏈資產向主鏈轉移的困難性。而且“宿主”的狀態改變極易影響到“寄生體”的穩定性并引發錯誤。

圖5 雙向錨定流程圖Fig.5 Flow chart of two-way pegging

目前,側鏈技術的實現方式,按資產轉移的托管方式分為以下幾類:單一托管模式、聯盟模式、SPV[11]模式、驅動鏈模式和混合模式。

(1)單一托管模式[25-26],指的是在主鏈上指派某個節點作為主鏈和側鏈之間的托管方,資產的鎖定和解鎖均由托管方負責。顯然,這會給區塊鏈網絡帶來中心化的問題。

(2)聯盟模式和單一托管模式類似,將托管方由單個節點擴展到了多個節點組成的聯盟[27-28],使用動態成員多重簽名機制(dynamic members multi signature,DMMS)使聯盟節點共同負責資產的鎖定和解鎖,一定程度上緩解了中心化問題。上述的單一托管模式和聯盟模式和下文公證人模式的機制類似,此處不再展開說明。

(3)SPV 模式[22,29-31],意為簡單支付驗證,來源于雙向錨定技術。資產轉出方需要將要轉移的鏈上資產發送到鏈上的一個特殊地址,發送后等待多個產塊時間確認資產確實被轉出并鎖定(在比特幣中,一般為六個區塊后確認該交易有效),之后該地址發送一份SPV 證明給側鏈,證明資產被鎖定,側鏈接收到該SPV 證明后,再次驗證主鏈上被鎖定的資產,確認無誤后解鎖對應的資產。SPV 使用規范化的跨鏈流程,有效避免前兩種托管模式下可能存在的托管方信任問題,目前得到廣泛使用。

(4)驅動鏈模式[32],同樣采用了資產托管方案。不同點在于將挖出新幣的礦工節點作為資金的托管方,礦工節點集體監測側鏈狀態、共同投票決定資產解鎖和轉移,理論上該模式可以借助高比例的誠實礦工節點以阻止托管方的惡意行為。然而,隨著礦池的出現,本應成為獨立節點的零散用戶,選擇將算力交給少數礦池節點以保證挖幣收益,這實質上減少了參與挖幣的節點數目,導致誠實礦工節點的比例降低,影響到驅動鏈模式的安全性,引發較多質疑。

2.1.2 支付通道與哈希時間鎖

傳統側鏈技術初步實現了跨同構鏈資產轉移功能,但其對區塊鏈的吞吐量性能提升效果不佳。為了解決這一問題,支付通道和哈希時間鎖技術[33]被開發出來。

支付通道技術起源于對比特幣的研究,設計之初并非為鏈下擴容而設計,而是為提升加密貨幣交易速度和減少手續費用而開發的一種鏈下支付技術。網絡中的交易雙方事先約定在某個通道(channels)中交易,但對通道中已達成共識的交易不會立刻廣播給其他節點,雙方約定都將比特幣存入到由雙方控制的多簽名地址中,在進行零次或多次交易之后再在延后的某個時間公布通道內的交易,交易結束后智能合約自動調整雙方的存款余額來實現鏈下支付,并將最終交易發布到區塊鏈上。只要交易雙方始終能夠就交易前后的雙方余額達成一致,這種交易模式就不會影響到區塊鏈的穩定性。其原理如圖6所示,支付通道以一次最終交易合并了通道內的三次交易,只需向區塊鏈寫入一次而非三次。采用先延遲后集中結算的交易模式,能夠有效減少無關節點接收到的交易信息量,在不減少交易量和影響信任度的基礎上,減輕鏈上壓力。

圖6 支付通道原理示意圖Fig.6 Principle of payment channel

顯然,在支付通道技術中,其設計的關鍵在于如何在未公布交易的情況下使交易雙方無法否認已進行的交易,這一問題主要借助于哈希時間鎖來解決。

目前支付通道技術相關研究不在少數,其中最成功的是閃電網絡(Lightning Network[34])。

閃電網絡使用哈希時間鎖來解決跨鏈支付的原子性問題(即原子跨鏈交換[35]),利用哈希時間鎖定(hash time lock contracts,HTLC)執行的跨鏈事務,只存在完成交易和不進行交易兩種狀態,不會有中間態導致資產損失,任何未完成的失敗交易,在經過約定時間后都會執行回退,將交易資產返回原賬戶。

如圖7,哈希鎖定的原子跨鏈交換大致遵循以下流程:

圖7 原子跨鏈交換流程圖Fig.7 Flow chart of atomic cross-chain swap

(1)甲發起跨鏈交易,選擇隨機字符串s和超時時限t1,并經哈希計算得H(s),將H(s)和t1發送給乙;

(2)乙收到H(s) 和t1后,選擇超時時限t2(t2<t1);

(3)甲使用H(s)和t1鎖定資產,乙使用H(s)和t2鎖定資產,雙方相互查驗鎖定;

(4)甲在乙處使用H(s)的輸入值s解鎖乙的鎖定資產,解鎖后s的值被暴露給乙;

(5)乙使用s解鎖甲的鎖定資產;

(6)若在時限t2內,甲未能取走乙的資產,則交易失敗,回滾;若時限t1內,乙未能取走甲的資產,則交易失敗,回滾。

上述思路中,使用哈希算法保證了加密字符串s不易被破解,使用時間鎖防止交易方的不誠信行為,這使得哈希時間鎖定不借助可信中介即可實現鏈間傳輸。

但是,哈希時間鎖定存在如下幾個問題。第一,哈希時間鎖涉及到鏈與鏈之間的直接交互,這種交互要求跨鏈過程中雙方持續在線并監聽區塊鏈。同時,為防止鏈分叉等問題,雙方每次的交互均要經歷長時間的等待以確保交易得到確認,這要求雙方長時間保持在線,嚴重降低了交互效率,導致該原子跨鏈交換方案在大型公鏈上的實用性有限。第二,哈希時間鎖定要求通信雙方事先通過帶外通信約定部分交易參數,這種將安全問題由鏈本身轉移給帶外通信信道的方式并不能徹底解決問題。第三,從交易類型上看,哈希時間鎖定是基于原子跨鏈交換的,它要求跨鏈事務必須是雙向的,即雙方都需付出資產才能獲得對方的資產。這一先天特性決定原子跨鏈交換只適用于資產交換場景,而無法應用于資產轉移,進一步限制了該方案的實用性。

閃電網絡的哈希時間鎖的實現思路與圖7相仿,更多關于Lightning 的實現可以參考文獻[36-38]。從實現中容易發現,閃電網絡的微支付通道技術具備明顯的不足——由于全連接網絡的代價是不可承受的,不可能在所有交易節點之間都創建通道。對于兩個不共享支付通道的用戶來說,盡管使用支付通道網絡(payment channel networks,PCNs)[39]可以借助鄰居節點的開放通道路徑實現相互支付,但PCNs 并不能完全保證安全性、隱私性和互操作性。

2.1.3 基于智能合約的互操作方法

邁入區塊鏈2.0 時代,智能合約技術廣泛流行。因此,除鏈-鏈跨鏈方案外,研究者們積極探索基于智能合約的區塊鏈擴容[40]和互操作方法[41-43]。對于支持智能合約的區塊鏈,該類方法可以在不改變其底層設計的前提下實現互操作性,均具備較強的跨鏈潛力。

此外,不同于傳統跨鏈方法,基于智能合約的互操作方法主要基于淺層的合約層,一般無需深入到共識層以及數據層中協調鏈間差異,智能合約的開發工具和語言也相對統一,整體實現難度較低。

然而,由于該方法的發展時間較短,相關工作大多仍停留在原型研發階段,僅能用于鏈內擴容或功能增強,目前仍未有達到鏈間互操作級別的、已開源運營的項目。

2.2 異構互操作技術

不同于同構擴容技術,異構互操作技術,不再局限于單一區塊鏈或某類特定鏈,而是針對于區塊結構、共識算法等多處不同的幾條相互獨立的區塊鏈實現鏈間互操作。從難度上來說,由于區塊鏈底層技術差別較大,異構鏈的鏈間互操作需要從跨鏈網關、投票機制等多方面進行統一,同時對各種異構鏈都需要進行針對性橋接和適配,因此異構互操作技術也從應用層的公證人機制逐步向底層的網關層發展。與同構擴容技術相比,異構互操作的實現成本更高、難度更大、效率相對較低,但其適用范圍也更寬泛,具備更好的應用前景。

按照核心工作層由淺入深的順序,異構互操作技術主要包含:公證人機制、中繼方案和網絡層互操作三類。

2.2.1 公證人機制

公證人機制是異構鏈間互操作技術中,最早被提出、最成熟的技術,該機制的發展先后經歷了單簽名公證人機制、多重簽名公證人機制和分布式簽名公證人機制[44]。該方法通過引入某個可信第三方作為中介(公證人),實現不信任雙方的交易過程。公證人的角色類似于國家銀行,交易雙方相互不信任,但都相信具備公信力的國家銀行。于是,銀行分別收取雙方約定好的欲交易的財產,確認財產品類和數目均滿足約定后,將一方的約定物給予另一方。由于公證人機制無需考慮區塊鏈底層的技術細節,只要確認雙方的交易發生即可實現,可以普遍適配于各種同構和異構鏈,而且其本身實現難度低、事務處理速度快,目前常用于數字貨幣交易所之中。

(1)單簽名公證人機制[45-46]。公證人一般由交易雙方指定的某個節點或機構擔任,跨鏈事務的全過程——事務收集、共識確認、事務驗證等均由該公證人全權負責。顯然,這對公證人的選擇有著較高的要求,包括持續在線、計算機處理能力強、網絡通信穩定等。這些條件決定了公證人一般局限于一些大型節點,因此整個區塊鏈網絡中的跨鏈事務不可避免會向這些節點處進行集中,并由此引發與區塊鏈“去中心化”理念相悖的中心化問題,增加了單點故障和日蝕攻擊等安全風險。

(2)多重簽名公證人機制[47-49]。相比于單簽名公證人機制,多重簽名公證人機制將擔任可信的公證人,從某個節點或機構拓展為多個節點共同擔任的中介聯盟,只有當聯盟中節點對某事務的投票滿足一定數量或比例時,跨鏈事務才會通過。多重簽名公證人機制,一定程度上緩解了單簽名公證人機制的中心化問題。然而,整個區塊鏈網絡的跨鏈權限,實際依然由網絡中占比極小的一部分節點所掌握,并未完全解決中心化問題。此外,多重簽名公證人機制需要在目標區塊鏈上額外支持多重簽名機制,增加了成本開銷。

(3)分布式簽名公證人機制[50]。分布式簽名公證人機制主要創新在于使用類似門限簽名的思想,將原本各節點分別使用自己密鑰對事務進行簽名的方式,修改為將一個密鑰拆分為多份,每個節點各自保存密鑰的一部分(密鑰拆分為單向過程,無法還原)。當簽名節點數量或比例滿足條件后即可通過事務。新機制在事務收集和密鑰驗證方面強化區塊鏈跨鏈的安全性,但并未能徹底解決公證人機制下的中心化問題。

三種公證人機制的思路對比見圖8。

圖8 公證人機制說明圖Fig.8 Illustration chart of notary schemes

2.2.2 中繼方案

公證人方案與生俱備的逆中心化問題嚴重限制了它的應用前景。為了擺脫來自主鏈的限制,一部分側鏈方案逐漸發展成了全新的中繼方案。中繼方案最初是基于現存鏈搭設鏈間互通的中心平臺,后來為了解決中心化問題,全新的獨立區塊鏈被搭建作為中繼鏈,專門處理不同鏈間的操作,從而具備更加公開透明、兼容性強等特性,是目前最具前景的異構鏈間互操作性方案。

中繼方案的初次嘗試是Aion Network[51]。Aion Network 對傳統側鏈方案進行了改進,通過搭建一個中心hub,使得網絡中的每個區塊鏈都可為其他任一區塊鏈創建對應的側鏈。通過這種多層次的區塊鏈網絡結構,每個鏈都可以通過中心hub將自己的事務發送到其他區塊鏈。此外,中心hub本身也是通過一個獨立的區塊鏈實現,并配備有側鏈協議、通信協議及其他標準以連接到其他區塊鏈,顯然,Aion 已經具備當今中繼鏈方案的基本雛形。但是,Aion 對側鏈協議的要求較高,大部分現有區塊鏈無法滿足其要求,不能接入到Aion 網絡中。Aion 方案的主要成果是開發Aion-1系統,可以與以太坊互聯[52]。令人遺憾的是,Aion-1公司目前已轉做基于區塊鏈技術的開放式應用服務平臺,該項目的研究已經停止,相關核心技術開發已經陷入停滯。

中繼鏈方案可以視作對公證人機制和側鏈方案的結合,其一方面吸納公證人方案的中介思想,通過中介實現對各種異構鏈的廣泛兼容而無需對原鏈做出修改,另一方面其使用第三方鏈作為中介,相當于中繼鏈同時作為兩條鏈的側鏈,保證跨鏈中介的可信性和去中心化特性。

傳統方案分類中一般還包含分布式私鑰控制,該方案要求對公證人或中繼鏈賬戶的私鑰,使用安全多方計算如門限密鑰等方式進行冗余拆分,然后再分發給驗證者防止可能存在的惡意驗證,強化中繼鏈本身的安全特性。本質上來說,分布式私鑰控制并不能算作一種獨立的跨鏈方案,更多是作為公證人和中繼鏈方案的一種改進。

2.2.3 網絡層互操作

中繼方案既要建立統一的中繼鏈,還要在智能合約設計、產塊機制和投票共識等多個方面對不同的區塊鏈進行調整適配,這涉及到區塊鏈六層架構3)現在一般認為區塊鏈具備六層架構,自下而上為:數據層、網絡層、共識層、激勵層、合約層和應用層。數據層通過區塊存儲數據,網絡層使用對等網絡(peer-to-peer,P2P)技術傳輸數據,共識層維護節點間數據同步,激勵層鼓勵各節點參與記賬,合約層封裝智能合約和腳本,應用層部署應用。中的多個層,工作量和工作難度較大。

細究中繼方案可以發現,其一般通過橋接或跨鏈網關實現與外部區塊鏈的交互??珂溇W關主要工作在區塊鏈六層架構中的網絡層,作用是翻譯不同的鏈發送的信息流,幫助網絡節點甄別區塊鏈信息。這種在網絡層面做變通的方法精準而高效。

因此,部分研究者們嘗試移除中繼平臺或中繼鏈,轉而將鏈間交互協議[53]直接寫入到網絡路由層中,實現與合約層、共識層等解耦,實現思路如圖9。這種網絡層互操作方案,是一種自底向上的鏈間互操作思路,由于無需考慮冗雜的共識機制與產塊機制等,大幅降低了互操作成本。

圖9 網絡層互操作示意圖Fig.9 Chart of network layer interoperability

然而,網絡層互操作方案在降低成本的同時,也產生了更多的不確定性。首先,新的底層協議接入到舊協議的頂層應用時,是否會發生沖突是難以預料的,受限于規模,協議在內部測試階段很難排除所有漏洞;其次,假如區塊鏈網絡層協議出現問題,造成的負面影響遠大于某個應用層軟件所能造成的破壞,其漏洞可能顛覆數個區塊鏈網絡;最后,網絡層互操作方案可能涉及到硬件協議的更改,其風險更加難以估量,方案落地應用也更加困難。

3 區塊鏈互操作性常見項目

本章將按照同構擴容技術和異構互操作技術兩種類型,分析現存的區塊鏈互操作常見項目,詳細說明它們的實現思路及發展方向。

3.1 代表性的同構擴容項目簡介

與本文第2.1 節部分技術路線對應,本節將結合實際項目介紹同構擴容技術的發展,主要包括:(1)以BTC-Relay 為代表的傳統側鏈技術;(2)通過分析Lightning 之后的改進介紹支付通道與哈希時間鎖;(3)在基于智能合約的互操作方法中,主要對Dinh和Babu兩位研究者的方案進行了比較。

3.1.1 傳統側鏈項目——BTC-Relay

早期側鏈技術最成功的代表是BTC-Relay[54],它是區塊鏈網絡中的第一條側鏈,其研發之初的目的是服務比特幣網絡,旨在為舊的比特幣網絡添加智能合約,以及支持正在流行的去中心化應用程序(decentralized application,DApp)功能,幫助比特幣實現與其他區塊鏈網絡(如以太坊)的互通,擴展區塊鏈生態。根據BTC-Relay的官方描述,其實現原理是在網絡中添加一種新角色“relayers”,該角色持續將比特幣的最新區塊頭發送給以太坊上的智能合約“BTC-Relay”,通過在以太坊上同步比特幣的區塊頭,實現對比特幣交易的校驗功能。從而以太坊上的智能合約即可驗證比特幣上用戶發起的跨鏈交易,并將驗證后的比特幣交易轉發到以太坊上。當然,這一驗證過程不是免費的,用戶需要額外支付費用到指定的地址。

盡管BTC-Relay 在理論上存在進一步擴展實現異構鏈互操作性的潛力,但仔細研究可以發現,BTCRelay 本身完全基于以太坊智能合約技術開發,也僅能部署在以太坊端而非跨鏈兩端,僅支持以太坊單向驗證區塊鏈交易,反之則不行,本質上并未解決比特幣本身的封閉性問題。因此,這是將以太坊作為比特幣的一種錨定,擴展了以太坊的功能而非建立完備的異構跨鏈體系。在實際使用中,BTC-Relay 的使用人數也非常有限,黯淡的前景導致作為側鏈先驅的BTC-Relay技術未能夠持續發展壯大,目前僅有一個BTC-Relay項目仍在持續運營,而且長時間未能得到更新。

在BTC-Relay 之后,更多側鏈優化的方案被提出。Li等人[55]提出了一種多鏈互聯架構,該模型包含許多“衛星鏈”(衛星鏈實際是由網絡中某些具備相同目標的用戶子集共同維護的分布式私有賬本,其應當被視作單個區塊鏈的子鏈)。衛星鏈中的用戶既可以擔任該私有賬本的驗證者參與共識,也可以擔任監管者和審計員,驗證者和監管者將共同定義衛星鏈內部的訪問控制、共識協議等策略,這是衛星鏈與傳統側鏈最大的不同。衛星鏈之間配備用于資產轉移的原子轉移策略,只需發送方和接收方各自在衛星鏈內部運行一輪共識即可完成資產轉移(如果失敗則需再運行一輪共識執行回滾)。該系統已實現并集成至Hyperledger Fabric[56]v0.6。衛星鏈通過支持自定義衛星鏈內部共識等,降低傳統側鏈下對主側鏈高度同步的要求,缺陷是在系統內生成大量衛星鏈賬本,因此以數據量暴增為代價實現類側鏈的異構跨鏈機制,實用性亟待進一步論證。

側鏈方案的研究起步最早,部分技術已經在國內落地實現,尤其是在供應鏈設計領域應用,可以參見張朝棟等人[57]和夏肇元等人[58]的研究。

3.1.2 支付通道與哈希時間鎖項目

除前文提及的Lightning 項目外,有多項研究項目對鏈下支付渠道的結構細節進一步升級,其中包括Sprites[59]和Plasma[60]。前者提出的新協議,對跨通道支付下鎖定抵押品的策略進行了改良,使得時間復雜度從幾何級別降低至代數級別,并改進支付通道結構,增加在無鏈上交易情況下的少量存取款功能;后者將區塊鏈看作一個樹狀結構,作為葉節點的子區塊鏈定期提交Merkle 計算證明給樹根的父區塊鏈,父鏈只需通過部署的合約即可處理來自子區塊鏈的少量提交,從而實現鏈規模的擴展。然而,目前該技術主要用于區塊鏈擴容,對區塊鏈互操作性的參考意義有限。

在升級支付通道技術的同時,還有一部分研究者專注于對哈希時間鎖技術的研究[61]。Malavolta 等人[62]總結針對支付通道技術的最新攻擊——蟲洞攻擊,該攻擊可以借助圖7流程中傳輸的H(s)幫助特定用戶排除中間用戶實現支付,從而竊取本應付給中間用戶的手續費用。Malavolta 針對蟲洞攻擊提出一種新的加密結構匿名多跳鎖(annoymous multi-hop locks,AMHL),并論證該技術可以部署于現有的大部分加密貨幣。盡管該結構會少量增加系統的運行時間和通信開銷,但這部分開銷相比于龐大的系統總體成本是可以接受的。

目前,上述哈希時間鎖技術已經在新的Lightning Network 版本中進行了部署和測試。該方法的實現難度略低于其他互操作方案,國內已有研究單位實現并改進該方法,例如賽迪(青島)區塊鏈研究院[63]。

3.1.3 基于智能合約的互操作方法

Dinh 等人[41]旨在設計一種允許一個區塊鏈中的智能合約訪問另一個鏈中的智能合約的數據的方案。為此,Dinh 等人提出了三項實現問題,分別是安全且細粒度的智能合約訪問控制、支持一般跨鏈交易和智能合約之間的通信協議。在上述三個問題基礎上,Dinh 給出了初步的實現思路,包括訪問控制與智能合約分離框架、支持小事務[64]的跨鏈事務模型和允許智能合約對外發送和接收消息的發布與訂閱框架。目前該工作主要前景在于增強側鏈系統中的子鏈通信技術。

類似地,Pillai 等人[42]提出了一種基于事務的區塊鏈互操作性方法。該方法在應用程序層面構建交叉通信模型。模型中,發送方首先執行交叉通信事務獲取鏈信息,然后將通信事務寫入到鏈中并等待n個區塊后確認,之后檢索寫入后的區塊鏈信息一同發送給接收方以證明跨鏈事務真實性;接收方收到發送方的區塊鏈信息后在自身的鏈上執行同類操作;最后,雙方都可以把對方鏈上的事務信息作為有效交易的證明。該方法更多是在鏈上執行狀態查詢操作而非狀態變更操作,因此具備較低的交叉通信延遲和成本。但需要注意,該方法仍處于早期階段,其在信息交換過程中的安全性問題仍未得到解決。此外,完全基于智能合約的方法還存在受智能合約漏洞限制的問題。

對于一個區塊鏈互操作方法,影響其性能的主要因素包括:系統處理事務的速度、加密及安全標準、跨鏈通信成本以及應用前景。為此,本文使用吞吐量、安全性、成本、實現難度、兼容性及適用鏈等評價指標對各個方案進行分析對比,對比結果見表1、表2。表中,吞吐量代表系統每秒能處理的事務數量上限(transaction per second,TPS),按照不同數量級劃定高低;安全性主要取決于項目中共識協議的容錯能力和加密技術的安全性,以及是否搭載了額外的抗攻擊設計;跨鏈成本約等于網絡通信費用和系統執行鏈間操作收取的交易費之和;實現難度則與適用鏈、項目規模等直接相關;對于同構項目,使用兼容性和適用鏈兩項衡量應用前景,兼容性取決于項目與現存鏈對接時,是否強制修改原生鏈底層架構或協議等以適配,適用鏈即項目主要適用于哪種類型的區塊鏈,或對區塊鏈有何種要求。

表1 區塊鏈互操作常見同構項目Table 1 Common homogeneous projects in blockchain interoperability

表2 區塊鏈互操作常見同構項目性能Table 2 Performance of common homogeneous projects in blockchain interoperability

3.2 異構互操作項目

與本文2.2 節技術路線對應,本節結合實際項目介紹了異構互操作技術的發展,主要包括:(1)以經典的Interledger 為代表的公證人機制;(2)中繼方案,主要分析了國外的Cosmos、Polkadot 和國內的WeCross、BitXhub;(3)在網絡層互操作方法中,對Chain-Net前后的研究方案進行了概述。

3.2.1 公證人機制項目

Interledger[65]是最具代表性的公證人機制項目。它主要解決在資金支付過程中,資金發送方、連接方(connector)和資金接收方三者間的信任問題。通過在其支付協議中引入托管方,Interledger 對資金進行鎖定防止連接方挪用,配以兩段式提交(two-phase commit)協議實現資金在多方轉移中的原子化操作。Interledger 實現了發送方先收到接收方的收款證明,再將資金支付出去,并通過協議保證發送方資金會被支付。

Interledger 存在兩種托管和執行模式,在原子模式中,參與者需要選擇一組無信任公證人而非高度可信的公證人集合,即可借助上述協議中的密碼學原理協調轉賬;在通用模式下,其高度依靠對理性參與者的激勵以消除外部協調需求,這決定其只能在賬本和參與者均無錯誤的情況下使用。Interledger解決了連接方信任的問題,成為公證人機制的代表性案例。然而,Interledger 主要面向的是代幣交換支付問題,難以應用到以數據交換為目的的私有和聯盟網絡,其本身作為網絡層協議面對智能合約數據存儲等應用層復雜機制也留下許多亟待解決的問題。

在Interledger 之后,公證人方案有了進一步的發展。例如Bifrost[66]采用公證人方案在不同的區塊鏈上存儲、檢索和遷移數據。在該方案下,用戶無需對區塊鏈的底層進行修改,只需連接已有的應用程序接口(application programming interface,API)即可實現跨鏈。Bifrost 提供的API 極大抽象所需的區塊鏈功能,隱去不同區塊鏈的具體實現和語言差異,方便用戶開發新的區塊鏈應用程序和與區塊鏈交互,用戶只需按照模板通過API 輸入,Bifrost 的鏈適配器(Adapters)會將用戶輸入轉換為對應鏈上的事務,轉發給鏈上節點處理,并在數據庫中留存事務憑證和哈希以供稍后檢索。目前,Bifrost在原型中已經實現了與包括以太坊、比特幣在內的七個不同區塊鏈的Adapters,這些Adapters包含了各鏈專用的事務模板、數據轉換和遠程過程調用(remote procedure call,RPC)通信等。Bifrost 主要貢獻在于,通過公證人方案無需更改鏈底層,無需承擔維護中繼鏈的成本等。然而,它也具有傳統公證人方案的缺點,如逆中心化和暫不支持智能合約通信等,這些問題仍然阻礙著公證人機制的改進。

3.2.2 中繼項目

中繼鏈作為目前最流行的跨鏈方案活躍于各大區塊鏈平臺,最為火熱的兩大實現方案是Cosmos[67]和Polkadot[68]。

Cosmos 構建一個由許多獨立區塊鏈組成的網絡,各獨立區塊鏈被看作一個個“zone”,網絡內部通過名為“Tendermint”的類實用拜占庭容錯(practical Byzantine fault tolerance,PBFT)共識算法防止惡意行為,Cosmos 架構如圖10。在Cosmos 網絡初期,首先按照預設條件生成名為“Cosmos Hub”的第一個“zone”,這個“zone”即可被視作中繼鏈。

隨著其他的獨立區塊鏈不斷加入到Cosmos 網絡中,這些“zone”和Hub 持續交換最新的區塊(獨立鏈之間不會交換最新區塊),以保證相互間的持續跨鏈通信能力,這就是Cosmos 中鏈間通信協議(inter-blockchain communication protocol,IBC)的基礎原理。當Cosmos 網絡中的獨立鏈1 需要向獨立鏈2 進行跨鏈交流時,鏈1 先與Hub 交流,通過IBCBlockCommitTx 事務對外同步自己的最新塊哈希值到Hub,Hub接收到后再將其哈希值同步到鏈2;然后鏈1 再執行IBCPacketTx 事務發送數據包給Hub,Hub再轉發到鏈2,鏈2通過已有的鏈1區塊哈希即可驗證該數據包確實有效并來自于鏈1,跨鏈通信由此完成(描述隱去了橋接Bridge 的細節)。通過上述的IBC 通信協議,各獨立區塊鏈均只需與Hub保持同步和直接通信即可實現整個網絡中其他區塊鏈的間接跨鏈通信。

與Cosmos 類似,Polkadot 同樣是一種以鏈間協議為基礎的網絡平臺即“Relay Chain”,允許在其上并行多個獨立鏈即“Parachains”或通過橋接Bridge接入其他鏈如以太坊。Polkadot 將網絡中的節點分為四類角色:平行鏈上的收集者、漁夫和中繼鏈上的提名者和驗證者。

(1)收集者Collators 維持特定的平行鏈的一個“全節點”,其中保留該平行鏈的全部必要信息,可以與該鏈的其他節點進行交易,收集者的主要任務是整理和執行鏈上交易,并將之和零知識證明一起提交給負責的驗證者;

(2)提名者Nominators 實際是stake 權益的所有者,主要職責在于挑選可信的驗證者;

(3)驗證者Validators部署中繼鏈客戶端,其驗證收集者所提交的證明、批準平行鏈的產塊并隨后執行中繼鏈的共識產塊過程;

(4)漁夫Fishermen 不參與中繼鏈和平行鏈的產塊過程,其職責在于監督上述角色的非法行為,并從中獲得一次性獎勵。

當需要跨鏈交易時,鏈1將跨鏈事務和其他事務一起放入自己的輸出隊列,鏈1的收集者識別該跨鏈交易,并打包發送給驗證者,其間經受漁夫的合法性檢查,驗證者驗證完跨鏈交易后,將其放入鏈2 的輸入隊列,并將其引用到中繼鏈中,最后鏈2 執行輸入隊列交易即可。Cosmos 和Polkadot 之間的區別主要在于網絡中子鏈的主權。Cosmos中子鏈在維護事務共識時是自治的,而Polkadot要求子鏈通過中繼鏈形成全局共識以實現安全共享。

在Cosmos 和Polkadot 等研究基礎上,更多有價值的中繼鏈方案被提出。

聚焦于區塊鏈互操作問題中可編程性和強通用性,HyperService[69]提出了一個跨異構區塊鏈網絡的、構建和執行DApp 的互操作平臺,平臺構建了一套專門用于編寫跨鏈DApp 的統一狀態模型,搭配可證明安全的通用區塊鏈互操作協議以執行DApp。實際上,在HyperService之前,類似方案還有MultiChain[70]和Xclaim[71],遺憾的是前者只能用于同構網絡,而后者專門設計了其智能合約,使之可以被網絡中的用戶公開驗證,以智能合約取代可信中介,并結合鏈中繼技術實現跨鏈狀態驗證。

上述介紹囊括了目前國外最熱門的中繼鏈跨鏈方案,而在國內最受關注的項目主要是WeCross[72]和BitXhub[73]。

WeCross 是由微眾銀行自主研發的開源區塊鏈跨鏈協作平臺,與Cosmos、Polkadot 等主要面向公有鏈比特幣、以太坊為主不同,WeCross 目前只針對自有鏈Fisco Bcos 和聯盟鏈Hyperledger Fabric 實現開發適配。

除應用場景不同以外,WeCross 在跨鏈技術上更側重于在跨鏈路由層面的端口適配,放棄以往的類側鏈SPV 證明的跨鏈流程,而使用哈希時間鎖定技術執行跨鏈資產交換,通過在跨鏈網關層面構建通用的區塊鏈接入范式與跨鏈交互模型,解決異構鏈的通信問題。在執行跨鏈事務時,WeCross 采用兩段式提交協議,將事務分為投票階段和提交階段,包含準備、提交和回滾三種接口。流程可簡述為:

(1)鏈1的跨鏈路由調用鏈1的跨鏈資源準備;

(2)鏈1 的跨鏈路由與鏈2 的跨鏈路由交互,使得鏈2完成準備;

(3)跨鏈路由先后向鏈1和鏈2提交事務請求;

(4)若執行失敗,回滾事務。

整個兩段式事務處理過程中,均記錄在專門的治理鏈上,保證跨鏈事務的安全性。

目前,WeCross 主要應用于司法跨域仲裁、物聯網跨平臺聯動、數字資產交換和個體數據跨域授權等領域。

BitXHub采用中繼鏈+跨鏈網關的主流路線,構建自有的跨鏈傳輸協議(interblockchain transfer protocol,IBTP),協議中的跨鏈數據格式實現了通用的鏈間傳輸,但在跨鏈數字資產交換上針對不同的鏈結構提供具有不同特點的多種方案。對于圖靈不完備的未消費交易輸出模型(unspent transaction output,UTXO)下的區塊鏈如比特幣,BitXHub 采用區塊頭同步+多簽地址托管的方式進行數字資產跨鏈,其流程和側鏈SPV 證明大致相同;對于圖靈完備的應用鏈,BitXHub 采用基于安全多方計算和門限簽名的跨鏈方案,其跨鏈資產錨定流程和前述流程相同,但在資產解鎖時,使用安全性更強的門限簽名方式保證跨鏈事務的安全性。

涉及分布式私鑰控制的項目主要是WanChain[74]。WanChain 是一個類以太坊的公有鏈,在以太坊基礎上實現用于隱私保護的匿名交易,并專注于區塊鏈互操作性,其使用名為“Galaxy Consensus”的PoS 共識算法,該算法使用分布式密鑰共享和門限簽名技術來改進隨機數生成和區塊鏈產塊機制。WanChain本身可以被視作一個大型跨鏈賬戶,其中采用安全多方計算和門限密鑰方式實現賬戶控制,而賬戶私鑰本體從未在網絡中出現過,只能通過多個參與方達成共識以構造簽名。在Wanchain 網絡中,由去中心化的跨鏈橋接節點負責執行和驗證跨鏈交易,跨鏈橋有多種類型,典型的如直接橋,用戶發起跨鏈交易時先將資產鎖定在原鏈以換取Wanchain 代幣,用戶可以隨時銷毀該Wanchain 代幣并取回自己的質押資產;在二層橋模式下,原鏈和目標鏈各部署著一個資產池,此時用戶可以通過質押某代幣直接獲得另一代幣。

3.2.3 網絡層互操作

Wang 等人[75]參考互聯網中的路由器,提出一種區塊鏈路由器,每個獨立的區塊鏈網絡都有一個“子鏈”,子鏈保存所連接區塊鏈的賬本副本。子鏈通過連接器連接到區塊鏈路由,并經由路由器實現跨鏈交互。連接器作為子鏈和路由器之間的連接,本身是一個采用PBFT算法的區塊鏈。

區塊鏈路由和中繼思想有異曲同工之處,但它不采用唯一的一個獨立中繼鏈,而是通過復數個相關子鏈加路由器的組合實現了類中繼鏈作用。

Chain-Net[76]參考在不同計算平臺之間實現無縫通信的網絡路由協議,選擇在網絡層直接使用跨鏈網關(跨鏈網關詳細介紹可參考文獻[77])執行跨鏈事務,真正地把鏈間互操作性研究推進到網絡路由層面。

和傳統鏈中繼方案不同,Chain-Net 在其構建的跨鏈通信框架中,不存在一個專門的第三方中繼鏈用于發布、轉發和執行跨鏈事務。這些跨鏈網關可視為各區塊鏈的輕量級節點,各自擁有與獨立的鏈和網關間的通信算法,從而在網絡層實現握手機制、配置交換等。

目前Chain-Net框架已在其預設的健康電子記錄(electronic health records,EHR)場景下實現Demo。Chain-Net 通過將跨鏈實現直接下放至網絡層,實現在底層的面對面通信,開拓了一個面向異構鏈的鏈間通信新思路。

表3 和表4 對比了常見異構項目的性能。除前述的吞吐量等性能指標外,還需要重點關注異構項目的主要工作層、適用鏈和自發行代幣。主要工作層的深淺直接決定了項目的互操作邊界,一般的,底層方案具備更好的互操作性。適用鏈和自發行代幣兩項和項目的發展前景直接相關,前者決定了能否快速被市場所接受,后者決定了項目利益劃分的話語權歸屬。

表3 區塊鏈互操作常見異構項目Table 3 Common heterogeneous projects in blockchain interoperability

表4 區塊鏈互操作常見異構項目性能Table 4 Performance of common heterogeneous projects in blockchain interoperability

4 研究展望

區塊鏈技術的發展已有十幾年,隨著更高效的共識算法、更安全的加密貨幣、更隱秘的隱私保護技術不斷被發掘,其安全性、隱私性等已經得到大眾認可,目前正處在發展的快車道上。

然而,主流的區塊鏈公鏈,為了最大化地保護其隱私,絕大部分不與外部交互數據或不開放對外數據接口,這極易造成區塊鏈應用的固步自封,人為構筑了行業壁壘。隨著互聯網萬物互聯世紀的到來,完全封閉的數據賬本技術在發展與應用中受到的限制愈發明顯,因此,研究區塊鏈互操作技術具有重要意義。

自2016 年Cosmos 和Polkadot 誕生后,近年來大量研究者投入到對中繼鏈的后續研究之中,僅有少數研究者還在探索公證人和哈希時間鎖定合約的后續可能性,該方向已少有大規模項目誕生并落地實現,但現有的各種方案仍然存在一定問題,主要包括以下方面:

(1)區塊鏈互操作常存在安全漏洞,破壞了區塊鏈本身的不可篡改特性。盡管大部分區塊鏈互操作方案在流程設計上是安全的,但是將方案落實到智能合約的編程上時,人工編寫的代碼無法保障絕對安全。以太坊等已經使用專業的區塊鏈編程語言如Golang、Solidity 等來規避語言二義性等問題,還有研究者在討論智能合約漏洞檢測技術[78-80],也是一種優秀的解決思路。

(2)區塊鏈互操作過程出現問題,修復成本高昂?,F有的各種方案,面對安全問題的主流解決思路是實現原子化操作,保障跨鏈流程出現問題后能夠及時回退到過往的安全狀態。但該方法具備顯著的缺點,回退會導致網絡中的所有正在進行和剛剛完成的操作均會丟失,如果回退的時間跨度較長,對區塊鏈網絡造成的負面影響是難以估量的。此外,考慮到由多個不同區塊鏈共同組成的區塊鏈網絡整體協同問題,如何使回退方案在所有區塊鏈管理委員會中一致通過也具備極大的困難。

(3)如何通過區塊鏈互操作技術平衡不同鏈間的吞吐量差異。如今,如公證人機制和中繼鏈中的部分方案,可以實現較高的處理速度。但互操作技術本身的理論處理速度不等同于實際運行中的速度。隨著加入到互操作流程中的鏈增多,它們之間的速度差異也愈發巨大,由于需要等待區塊鏈確認等因素存在,總體執行速度總是受限于吞吐量最小的某個區塊鏈?,F有的一種方案是設置事務緩存[48],以批處理的方式彌合速度差異。但該方案易引發新的安全問題,緩存事務能否被視為已經確認的事務這一問題有待商榷。

雖然存在諸多困難,但隨著技術發展,這些問題均有望被逐個解決,該方向未來的發展趨勢如下:

(1)同構擴容技術因其實現難度和成本較低,仍然是企業或個人搭建聯盟鏈或私有鏈的首選。此外,現今許多區塊鏈經過一段時間的運營都將存在擴容或升級需求,市場需求能夠促進該技術的快速發展。技術發展前景主要集中于哈希時間鎖定的流程改進和跨鏈智能合約的設計優化。

(2)異構互操作技術隨著密碼學技術和安全多方計算的發展,能夠有力降低少數惡意用戶的影響,促進公證人機制的快速發展,并將公證人逐步由少數的可信中介向多數的誠實節點拓展??紤]到惡意方在網絡中所占的比例始終有限,公證權利的下放能夠有效提升互操作的安全性,并借助規模效應平攤成本。

(3)異構互操作技術中,中繼方案和網關層操作協議應當繼續深入研究區塊鏈底層,探索自底而上的完整互操作體系,而非局限于僅為某幾個鏈搭建鏈間橋梁,規范鏈間底層協議以至于硬件規范等均不失為一種可行的思路。

除此之外,隨著區塊鏈發展的深入,對于從事區塊鏈互操作的個人研究者和小型科研團隊來說,由于設立的被網絡節點廣泛信任公證人難度較大,未來可能更多會投入到對小規模的公證人機制(包括門限密鑰、多方安全計算等密碼學加密存儲和傳輸方面)、哈希時間鎖定合約的流程完善和改進以及針對特定公鏈與聯盟鏈的鏈下擴容技術的研究中;而對于大型研究團隊、機構或公司,未來可能會借助自身的高信譽度建立類似交易所的大規模公證人機制方案,通過中介費等途徑帶來較高的收益,也可能會搭建自有的公鏈側鏈(中繼)生態系統。由于經濟投入大、技術實現難度高、工作量龐大,大型機構容易與后續追趕者實現代差。預測未來區塊鏈互操作技術的研究可能會出現“大小頭”的兩級分化局面,大型聯盟或一家獨大的可能性較大,需要提前警惕技術壟斷風險的出現。

5 結束語

互操作性作為近年區塊鏈的發展熱點之一,直接決定了區塊鏈技術能否擺脫單純的數據存儲技術的限制,更深入地參與到各行業應用中,影響區塊鏈的長久發展。本文主要歸納總結了近年來面向不同架構的區塊鏈互操作性技術發展路線,討論了不同研究者們提出的思路和具體項目并進行分類,從多個角度對比了這些方法的性能和特性,最后總結了現有的主流研究方向適用人群,展望了未來各路線的發展趨勢。

猜你喜歡
公證人側鏈哈希
基于PageRank改進的公證人節點信用排序算法
酞菁鋅的側鏈修飾及光動力活性研究
含聚醚側鏈梳型聚羧酸鹽分散劑的合成及其應用
梳型接枝PVC的性能研究
基于OpenCV與均值哈希算法的人臉相似識別系統
紫杉醇C13側鏈的硒代合成及其結構性質
民間借貸公證辦理中公證人的職責
基于維度分解的哈希多維快速流分類算法
域外公證監督制度之比較考察及對我國的借鑒
基于同態哈希函數的云數據完整性驗證算法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合