• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于聯(lián)盟自治的區(qū)塊鏈跨鏈機制

      2022-11-30 08:39:16鄭建輝林飛龍陳中育胡兆龍唐長兵
      計算機應用 2022年11期
      關鍵詞:中繼網關合約

      鄭建輝,林飛龍*,陳中育,胡兆龍,唐長兵

      基于聯(lián)盟自治的區(qū)塊鏈跨鏈機制

      鄭建輝1,林飛龍1*,陳中育1,胡兆龍1,唐長兵2

      (1.浙江師范大學 數學與計算機科學學院,浙江 金華 321004; 2.浙江師范大學 物理與電子信息工程學院,浙江 金華 321004)(?通信作者電子郵箱bruce_lin@zjnu.edu.cn)

      針對目前區(qū)塊鏈系統(tǒng)跨鏈互操作難問題而導致的“信息與價值孤島”現象,提出一種基于聯(lián)盟自治的區(qū)塊鏈跨鏈機制。該機制的核心思想是以鏈治鏈,通過構建一條由多方共治的中繼聯(lián)盟鏈來管理跨鏈網絡,用于解決不同區(qū)塊鏈系統(tǒng)之間的數據共享、價值流通與業(yè)務協(xié)同問題。首先,提出了一個基于中繼模式的跨鏈系統(tǒng)為同異構區(qū)塊鏈系統(tǒng)提供交互服務;其次,詳細設計了中繼聯(lián)盟鏈,設定了應用鏈及其用戶參與跨鏈系統(tǒng)的規(guī)則;然后,總結了跨鏈交互的基本類型并制定了基于智能合約的跨鏈交互實現流程;最后,通過多組實驗驗證了跨鏈方案的可行性,評估了跨鏈系統(tǒng)的性能指標,并且分析了整個跨鏈網絡的安全性。仿真結果與安全性分析證明,所提機制中的通道分配策略與出塊權分配方案具有實際可行性,當涉及資產交易時,該機制的吞吐量最高可達到758 TPS,而不涉及資產交易時的吞吐量最高可達到960 TPS,且擁有高級別的安全性與粗細粒度兼具的隱私保護機制?;诼?lián)盟自治的區(qū)塊鏈跨鏈機制可提供安全高效的跨鏈服務,適用于目前大多數跨鏈場景。

      區(qū)塊鏈;跨鏈互操作;信息與價值孤島;聯(lián)盟自治;中繼聯(lián)盟鏈

      0 引言

      區(qū)塊鏈技術被公認為近十幾年來最具革命性的技術之一,其源于2008年中本聰發(fā)表的論文——《比特幣:一種點對點的電子現金系統(tǒng)》[1],它創(chuàng)新的去中心化信任價值體系改變了傳統(tǒng)互聯(lián)網依靠中心化機構建立和維護信任的方式,是未來社會發(fā)展中解決信任危機的一種關鍵性技術[2],有望像互聯(lián)網一樣重塑人類社會的活動形態(tài),推動目前的“信息互聯(lián)網”向未來的“信任與價值互聯(lián)網”轉變[3]。區(qū)塊鏈技術的核心思想是利用塊鏈式數據結構存儲與驗證數據,利用共識機制保證網絡中所有誠實節(jié)點擁有一致的數據副本,利用密碼學算法保證數據的安全性與用戶的隱私性,利用智能合約[4]制定業(yè)務與操作數據,區(qū)塊鏈技術支持數據安全共享和大規(guī)模協(xié)同計算,具有去中心化、不可篡改、透明性和可追溯性等特點[5]。

      區(qū)塊鏈極具潛力,引起了全球各界人士的高度關注[6]。十幾年來,隨著區(qū)塊鏈技術的深入發(fā)展與應用場景的不斷推廣,區(qū)塊鏈已經逐漸被應用于物聯(lián)網、農業(yè)、醫(yī)療、供應鏈、法律、政務等各個領域[7],形成了眾多的區(qū)塊鏈基礎設施和業(yè)務體系[8],這些區(qū)塊鏈應用之間的數據交換、價值流通和應用協(xié)同需求日益增長[9],各個行業(yè)對跨鏈交互[10]的訴求越來越突出,如何建立一種通用、安全、高效的跨鏈體系標準[11],滿足鏈與鏈之間的數據共享、價值流通與業(yè)務協(xié)同成為當前區(qū)塊鏈研究的熱點。但是,不同的區(qū)塊鏈項目是不同企業(yè)根據不同應用場景和理念設計的,采用了不同的技術框架,它們在系統(tǒng)架構、網絡拓撲、底層數據結構、共識算法、加密機制、智能合約等方面都有或多或少的區(qū)別,彼此異構化嚴重,并且區(qū)塊鏈天生就具有封閉獨立的特性,信息與價值只在各自鏈上共享與流通,導致大量的區(qū)塊鏈項目成為一個個孤立的信息和價值體系,如同一座座漂浮在海中的孤島[12],要在這些孤島間進行數據共享與價值流通具有極高技術壁壘[13]。

      隨著區(qū)塊鏈技術持續(xù)蓬勃的發(fā)展,未來必將形成多鏈互聯(lián)共生的局面,跨鏈技術不僅能夠打破各個區(qū)塊鏈系統(tǒng)自給自足的現狀,實現平行區(qū)塊鏈之間的交互[14],而且還能突破單個區(qū)塊鏈的性能瓶頸,提升區(qū)塊鏈的可擴展性,是推動區(qū)塊鏈產業(yè)大范圍快速落地與跨場景融合發(fā)展的強力科技引擎,也是實現鏈聯(lián)網和構建信任與價值網絡的核心與關鍵技術[15]。但是,由于區(qū)塊鏈之間極高通信壁壘的存在,跨鏈技術的實現具有相當難度,目前仍處于初步探究階段,尚未形成統(tǒng)一的跨鏈標準和穩(wěn)定通用的跨鏈體系[16],要真正實現萬鏈互聯(lián)的信任與價值互聯(lián)網,未來必然會遇到大量的困難與挑戰(zhàn)[17]。

      本文提出了一種基于聯(lián)盟自治的區(qū)塊鏈跨鏈機制,旨在構建一個通用的跨鏈交互平臺,使各個區(qū)塊鏈系統(tǒng)能夠通過此平臺實現安全高效的數據共享、價值流通與業(yè)務協(xié)同。本文主要工作如下:

      1)基于中繼模式設計了一個跨鏈互操作系統(tǒng),并提出了統(tǒng)一的跨鏈交互模式,支持同異構區(qū)塊鏈的接入。

      2)對中繼聯(lián)盟鏈做了詳細設計,設定了應用鏈接入中繼聯(lián)盟鏈的規(guī)則,以保證跨鏈參與的有序性;制定了出塊權分配方案,以實現聯(lián)盟共治良好生態(tài);分析并設計了通道分配策略,以達到跨鏈網絡性能、管理成本、安全隱私性三者之間的最佳平衡。

      3)將跨鏈事務總結為四種基本類型,并針對這四種類型設計了詳細的跨鏈交互流程;設計了基于分布式門限簽名技術的資產映射方案以確保跨鏈資產的安全性;設計了跨鏈事務狀態(tài)表來保證跨鏈事務的原子性與一致性。最后,將四種基本類型的跨鏈交互編寫成四個智能合約模板,這四大模板可適用于目前大多數跨鏈場景。

      1 相關工作

      跨鏈的概念首次在2014年由Tendermint團隊提出,2016年9月9日,以太坊創(chuàng)始人Vitalik Buterin在R3CEV會議上發(fā)布了文章“Chain Interoperability”,正式提出了跨鏈互操作性問題??珂?,顧名思義,就是通過某些技術手段,使不同區(qū)塊鏈的數據和價值能夠跨越鏈與鏈之間的障礙進行共享與流通。美國國家標準和技術研究所將區(qū)塊鏈架構中的互操作性定義為:“可互操作的區(qū)塊鏈架構由可區(qū)分的區(qū)塊鏈系統(tǒng)組成,每個系統(tǒng)代表一個獨特的分布式數據賬本,交易的執(zhí)行可能跨越多個區(qū)塊鏈系統(tǒng),在一個區(qū)塊鏈中記錄的數據可以被另一個區(qū)塊鏈上的交易以語義兼容的方式訪問、驗證和引用?!眳^(qū)塊鏈之間根據系統(tǒng)架構、網絡拓撲、共識機制、加密算法、隱私安全機制等方面的區(qū)別可分為同構與異構關系。同構區(qū)塊鏈之間整體架構都是一致的,因此同構鏈之間的跨鏈交互相對簡單。然而,在實際應用場景中,更多的是異構區(qū)塊鏈之間的跨鏈交互,異構鏈在諸多方面都存在較大差異,實現起來要復雜得多。跨鏈技術從產生、發(fā)展到實際應用的過程中,在解決區(qū)塊鏈互操作性和可擴展性方面都取得了一定的突破[18]。

      1.1 主流跨鏈方案

      跨鏈技術發(fā)展至今,形成了四種主流的跨鏈方案,分別為:公證人機制、側鏈/中繼、哈希鎖定與分布式私鑰控制,它們有著各自的特點與適用場景,在一定程度上解決了不同區(qū)塊鏈系統(tǒng)之間的互操作問題。

      公證人機制引入了可信的第三方機構作為跨鏈事務的驗證者與協(xié)調者,跨鏈交易發(fā)起者在源鏈上發(fā)起一筆交易后,公證人通過監(jiān)聽源鏈上的事件來驗證該交易是否有效,驗證通過后,通知目標鏈執(zhí)行相應的操作,公證人群體通過特定的共識算法對事件是否發(fā)生達成共識。公證人機制相對容易實現,但有中心化風險,不符合區(qū)塊鏈的去中心化思想。目前,公證人機制分為單簽名、多重簽名和分布式簽名三種,單簽名機制中心化程度最高,后兩者則通過密碼學算法選擇多個實體共同作為公證人,降低了中心化程度,提高了安全性與可靠性。

      側鏈/中繼是一種能夠使區(qū)塊鏈自行驗證數據有效性且具有伸縮性與擴展性的跨鏈技術。側鏈是相對于主鏈而言的,側鏈與主鏈之間可以進行資產的相互轉移,除此之外,側鏈還可以擴展主鏈的性能與功能:當主鏈上出現性能瓶頸時,可以將主鏈上的部分事務轉移到側鏈上處理,從而減輕主鏈上的壓力;當主鏈缺乏某種功能時,也可以通過側鏈來實現。側鏈使用雙向錨定技術實現,通過分別在側鏈和主鏈中鎖定和釋放資產,達到在兩條鏈中互相交換資產的目的。雙向錨定技術目前可以通過單一托管模式、聯(lián)盟模式、驅動鏈模式、混合模式、簡單支付驗證(Simplified Payment Verification, SPV)模式實現。中繼本質上是公證人和側鏈機制的融合和擴展,它為各個鏈構建出一個跨鏈操作層,提供了統(tǒng)一的跨鏈交互模式,中繼模式不完全依賴于可信第三方的驗證,應用鏈可通過中繼鏈收集其他鏈的區(qū)塊數據進行自我驗證,具有較高的安全性。側鏈/中繼都采用SPV模式,即通過區(qū)塊頭與默克爾樹來驗證一條鏈上的某個特定事件是否發(fā)生。側鏈/中繼模式成本較高、效率較低,因為該模式下需要等待交易上鏈,確定不會發(fā)生回滾后才可確認。

      分布式私鑰控制是將數字資產的使用權和所有權進行分離,即將區(qū)塊鏈中資產的私鑰分割成若干份,交由分布式節(jié)點進行管理,沒有一個實體能夠單獨操作資產,能大幅提高數字資產的安全性。分布式私鑰控制技術由鎖定和解鎖兩個環(huán)節(jié)構成:鎖定操作是將私鑰拆分成若干份后交由去中心化節(jié)點進行管理,原有資產被鎖定,并將相應的等值代幣映射到跨鏈系統(tǒng)中;解鎖操作是收集私鑰碎片聚合成完整的私鑰之后去釋放被鎖定的原有資產,同時銷毀映射資產,通過分布式私鑰控制可以實現不同區(qū)塊鏈系統(tǒng)的資產在跨鏈系統(tǒng)中互相交易流通。與側鏈/中繼相同,分布式私鑰控制也需要等待原鏈交易上鏈,且開發(fā)難度較大。

      1.2 主流跨鏈項目

      為了實現不同區(qū)塊鏈系統(tǒng)之間的互操作,業(yè)內進行了諸多研究與實踐。2012年,Ripple公司提出了InterLedger協(xié)議,旨在打造全球統(tǒng)一支付標準,實現不同支付網絡或賬本系統(tǒng)之間的安全轉賬;2013年,Nolan在Bitcointalk論壇里提出了原子交換,原子交換經過改進升級后被稱為哈希鎖定,成為了一種主要的跨鏈技術手段;2014年,BlockStream公司提出了側鏈機制,通過雙向錨定技術實現了資產在主鏈與側鏈之間的跨鏈轉移;2015年,閃電網絡利用哈希時間鎖定機制實現了比特幣鏈下快速交易,提升了比特幣系統(tǒng)的交易效率;2016年,BTC?Relay實現了比特幣和以太坊的單向跨鏈;同年6月,Kwon提出了跨鏈網絡架構Cosmos,Cosmos網絡由中央樞紐(hub)和分區(qū)(zone)組成,分區(qū)由Tendermint經典拜占庭容錯共識算法引擎支持運行,可接入不同區(qū)塊鏈,分區(qū)之間的交互都經由中央樞紐進行處理,并且按照特定的跨鏈交互協(xié)議進行通信;同年11月,Wood提出了一種異構多鏈跨鏈平臺Polkadot,實現了去中心化、去信任地進行跨鏈交互,Polkadot的架構與Cosmos類似,由中繼鏈與平行鏈組成,Polkadot網絡中有四類角色:驗證人(驗證平行鏈的區(qū)塊并將其上鏈)、提名人(選舉驗證者并為其背書)、收集人(收集平行鏈的交易并提交給驗證者)、釣魚人(舉報非法行為);同年,Fusion公司提出了Fusion跨鏈項目,運用分布式密鑰生成算法實現跨鏈資產的安全映射;2017年,以太坊創(chuàng)始人Vitalik Buterin與閃電網絡發(fā)明人Poon提出了Plasma方案,Plasma設計了一種樹形架構,主鏈為樹根,其余鏈為樹的分支,并構建了一個智能合約執(zhí)行框架,Plasma宣稱可支持每秒10億量級的狀態(tài)更新;同年8月,Aion項目定義了一種多層次的區(qū)塊鏈網絡結構,其共識機制基于輕量級拜占庭容錯算法(Byzantine Fault Tolerance, BFT)[19]實現,并通過“橋梁”實現區(qū)塊鏈之間的通信連接,“橋梁”亦有自己的驗證者網絡;2018年,網錄科技開發(fā)了Wanchain,Wanchain基于以太坊實現,通過安全多方計算、門限簽名技術和環(huán)簽名技術實現了鏈上資產的安全性、匿名性及隱私保護的功能;2020年2月,微眾銀行公布了WeCross白皮書,WeCross是由微眾銀行自主研發(fā)并完全開源的區(qū)塊鏈跨鏈協(xié)作平臺,支持應用與區(qū)塊鏈之間、同異構鏈之間等多種形式的跨鏈交互,旨在促進跨行業(yè)、跨機構和跨地域的信任傳遞和商業(yè)合作;同年3月,趣鏈科技自主研發(fā)的跨鏈技術平臺BitXHub[20]正式開源,BitXHub基于中繼模式實現,通過跨鏈網關轉發(fā)網絡中的交易,并且設計了鏈間消息傳輸協(xié)議,BitXhub支持三種架構:鏈對鏈架構、主從鏈架構、中繼鏈架構,可以靈活地應對不同的業(yè)務場景,本文在系統(tǒng)架構的設計上也參考了BitXhub項目。

      綜上所述,雖然跨鏈技術發(fā)展至今已經形成了四種較為成熟的方案并涌現了許多支持跨鏈互操作的平臺,但從宏觀來看,各方依舊處于各自為政的狀態(tài),沒有一種方案或項目在實際應用中得到了廣泛的認可,而且現有的研究成果都存在一定局限性,要么只停留在理論階段,要么應用場景狹窄,離實際落地還有不小的距離。本文提出了一個通用化的跨鏈互操作平臺,能夠兼容不同類型的區(qū)塊鏈,滿足目前大多數跨鏈場景的需求,為不同區(qū)塊鏈的用戶提供安全高效的跨鏈交互服務。

      2 本文系統(tǒng)模型

      本文提出的跨鏈互操作系統(tǒng)的體系架構如圖1所示,主要組成部分包括:中繼聯(lián)盟鏈、跨鏈網關、跨鏈交互協(xié)議(Cross?Chain Interaction Protocol, CCIP)與應用鏈。中繼聯(lián)盟鏈是整個跨鏈系統(tǒng)的中樞,負責應用鏈及其用戶的管理和跨鏈事務的管理;跨鏈網關作為中間路由節(jié)點,連通應用鏈與中繼聯(lián)盟鏈,并具有協(xié)議轉換功能;CCIP用于中繼聯(lián)盟鏈與應用鏈之間的消息傳輸;應用鏈是目前市面上已經投入使用的,需要參與跨鏈交互的區(qū)塊鏈平臺,無論是公鏈、聯(lián)盟鏈還是私鏈都可以參與到本跨鏈系統(tǒng)中。

      圖1 系統(tǒng)架構

      2.1 中繼聯(lián)盟鏈

      中繼聯(lián)盟鏈是跨鏈系統(tǒng)的核心,統(tǒng)籌管理跨鏈事務。中繼聯(lián)盟鏈的設計運用以鏈治鏈思想,采用聯(lián)盟鏈系統(tǒng)實現,因為中繼聯(lián)盟鏈采用的也是區(qū)塊鏈系統(tǒng),本身就附帶了區(qū)塊鏈的安全性特點,而且在本文設計中,中繼聯(lián)盟鏈由所有跨鏈參與方共同治理,網絡中不存在超然于其他參與方的實體,所以整個跨鏈網絡依舊可以保證去中心化或者弱中心化,并且可以完美繼承聯(lián)盟鏈身份管理與隱私保護等特點。

      每一個外部區(qū)塊鏈系統(tǒng)都被抽象成一個組織機構,映射到中繼聯(lián)盟鏈中,可以把中繼聯(lián)盟鏈看作是一個容納萬鏈的龐大容器和一個支持萬鏈交互的超級市場。外部區(qū)塊鏈中的用戶(如果他們需要跨鏈交互)會以賬戶的形式映射到中繼聯(lián)盟鏈中,在遵守跨鏈規(guī)則的前提下,不同區(qū)塊鏈平臺的用戶在中繼聯(lián)盟鏈這個超級市場中可以進行自由的業(yè)務交互。

      所有的跨鏈互操作事務都在中繼聯(lián)盟鏈中進行,在中繼聯(lián)盟鏈中發(fā)生的所有跨鏈交互都會在對應的外部區(qū)塊鏈系統(tǒng)中同步執(zhí)行,從而保證整個跨鏈流程的原子性和一致性[21]。

      中繼聯(lián)盟鏈的具體設計將在第3章中詳細介紹。

      2.2 跨鏈交互協(xié)議標準

      所有的跨鏈互操作事務都要遵循跨鏈交互協(xié)議,CCIP是針對異構區(qū)塊鏈數據結構不同導致的互通難問題而設計的一套用于減少異構區(qū)塊鏈之間通信成本的通用型跨區(qū)塊鏈消息交互協(xié)議,其主要消息字段如圖1(b)所示。其中:Initiator字段代表交易發(fā)起者的身份標識,發(fā)起者需要發(fā)送自己的公鑰、地址以及對交易提案的數字簽名;Type字段為跨鏈交易類型,本文實現了四種基本類型的跨鏈交互,并編寫了四個智能合約模板,每一筆跨鏈交互都會根據其類型被提交到對應的跨鏈合約中執(zhí)行;Payload為具體交易內容,以JSON字符串格式傳輸,也可根據實際需求對其進行加密;Signature字段為跨鏈網關簽名,每一個跨鏈網關都有其自身的證書與私鑰,每一筆跨鏈交易都要經由跨鏈網關進行簽名之后才能在中繼聯(lián)盟鏈與應用鏈之間傳輸;Proof字段是跨鏈交易合法性的憑證,用來證明來源鏈上確實發(fā)生了某個事件,Proof字段的內容有區(qū)塊序號、默克爾根哈希與路徑哈希。驗證交易合法性時,將Payload字段的內容用相應的哈希算法進行運算,得到交易哈希值,將交易哈希值與默克爾路徑哈希進行運算,若最終得到的哈希值與默克爾根哈希一致,則說明交易確實在來源鏈上發(fā)生過。

      來源鏈發(fā)起的交易提案首先會發(fā)送到跨鏈網關中,跨鏈網關解析交易提案,驗證其合法性,若驗證通過,則根據協(xié)議規(guī)則將其重構為CCIP消息格式,提交給中繼聯(lián)盟鏈。

      2.3 跨鏈網關

      跨鏈網關是連接應用鏈與中繼聯(lián)盟鏈的通信組件,中繼聯(lián)盟鏈與每條應用鏈之間都有一組(一個或多個)跨鏈網關專門負責雙方的通信,其結構如圖1(c)所示,具有以下功能:

      1)充當應用鏈與中繼聯(lián)盟鏈之間雙向通信的橋梁,接收應用鏈發(fā)送的跨鏈請求并轉發(fā)給中繼聯(lián)盟鏈以及將中繼聯(lián)盟鏈發(fā)送的消息轉發(fā)給應用鏈;

      2)監(jiān)聽應用鏈與中繼聯(lián)盟鏈上的交易事件,監(jiān)聽到特定事件后,獲取相應的區(qū)塊交易信息與默克爾證明并傳給相應的鏈進行處理;

      3)協(xié)議轉換功能,可以將應用鏈傳來的信息轉換為CCIP結構的消息,也可以將CCIP結構的消息轉換為特定應用鏈可以識別的交易格式。

      3 中繼聯(lián)盟鏈設計

      中繼聯(lián)盟鏈作為跨鏈系統(tǒng)的核心組成部分,其主要工作分為兩部分:1)對應用鏈及其用戶的身份管理與權限控制;2)對跨鏈事務的管理,需保證跨鏈互操作事務的ACID(Atomicity、Consistency、Isolation、Durability)特性,即原子性、一致性、隔離性、持久性。在實踐中,本文采用Hyperledger Fabric[22]作為中繼聯(lián)盟鏈。Hyperledger Fabric是一個開源的企業(yè)級許可分布式賬本技術平臺,是目前廣受企業(yè)歡迎的優(yōu)秀聯(lián)盟鏈實現,已成為聯(lián)盟鏈項目開發(fā)的主流框架,深受市場認可。它具有高度模塊化和可配置的架構,支持可插拔、可擴展,可以滿足不同場景下的需求,并且創(chuàng)新地引入了通道機制、公鑰基礎設施(Public Key Infrastructure, PKI)、隱私保護機制等等,有著許多經典的設計和先進的理念,十分契合本文對中繼聯(lián)盟鏈的要求。接下來,將基于Hyperledger Fabric平臺設計中繼聯(lián)盟鏈。

      3.1 基于多通道模式的跨鏈服務

      首先需要了解中繼聯(lián)盟鏈網絡中的幾個重要概念:

      1)通道。通道是基于數據隔離與保密構建的通信信道,是若干個特定網絡成員之間通信的專用子網,用于進行私有和機密的交易。網絡中每個通道都是獨立、隔離的,并且都維護一個賬本,保證了一個通道內事務的隱私性與安全性。

      2)組織。組織是網絡中的參與者,一般代表機構或團體,組織下面有不同類型的成員:節(jié)點、管理員與用戶。一個組織可以加入不同的通道,若干個組織可組成一個業(yè)務聯(lián)盟。

      3)私有數據機制。如果一個通道上的一組組織需要對該通道上的其他組織保持數據私有,則可以選擇創(chuàng)建一個私有數據集合,使用私有數據機制之后,數據交互只會在特定的若干組織之間進行,其他組織只能看到私有數據的哈希值,而無法得知具體的數據。

      4)成員服務提供者(Membership Service Provider,MSP)。MSP是一個提供抽象化成員操作框架的組件,負責網絡中成員的身份管理與權限控制,包括證書管理與策略制定等。

      5)背書策略。背書是指特定節(jié)點執(zhí)行合約交易并返回一個提案響應給客戶端應用的過程。背書策略定義了哪些組織的節(jié)點需要為特定合約的交易背書,執(zhí)行背書的節(jié)點稱為背書節(jié)點,只有符合背書策略的交易才是有效的。

      應用鏈接入跨鏈系統(tǒng)如圖2所示,外部區(qū)塊鏈系統(tǒng)映射成為中繼聯(lián)盟鏈網絡中的組織,一個應用鏈唯一對應一個組織,如果若干個應用鏈要進行跨鏈交互,就將它們一起加入到同一個通道中,也就是將它們所對應的組織加入到通道中。

      然而,如果為每一對(或多個)希望跨鏈交互的應用鏈都創(chuàng)建一個通道,隨著應用鏈的增多,通道的數量必然迅速增加。舉個例子,假設現有A、B、C三條區(qū)塊鏈,它們要兩兩進行跨鏈交互,那么僅僅為了這三條應用鏈,就需要創(chuàng)建三個通道,因為一個通道內的所有成員共享賬本數據,所以為了數據隱私安全,不能將它們都加入到同一個通道中。由此可見,隨著應用鏈基數的增加,以及考慮到現實場景中更為復雜的業(yè)務需求,通道的需求量將會變得極為龐大。而通道是中繼聯(lián)盟鏈網絡中的珍貴資源,若是按上述的方案分配通道:第一,為了維護網絡中數量龐大的通道,會產生大量的額外開銷(維護每個通道的智能合約、策略、MSP等);第二,極大地浪費了通道資源,因為一個通道可以承載的業(yè)務量可以滿足十幾條、幾十條、甚至上百條應用鏈。所以這樣的通道資源分配方案顯然是不合理的。

      為了解決這個問題,本文采用了私有數據機制。私有數據機制的功能是允許通道內的部分成員在對其他成員保密的情況下進行私密通信。有了私有數據的支持,對于上個段落舉的例子,就無需創(chuàng)建三個通道了,只需一個即可,將A、B、C三方都加入一個通道,再通過私有數據將它們兩兩隔開,就可以滿足它們兩兩交互的跨鏈需求。這樣一來,一個通道中就可以容納相當數量的應用鏈,既不會造成資源浪費,也不需要維護大量的通道。

      圖2 應用鏈接入中繼聯(lián)盟鏈

      3.2 通道分配策略

      3.1節(jié)運用了通道機制與私有數據機制為應用鏈提供了能夠保障數據隱私安全的跨鏈交互方式,本節(jié)將詳細分析如何為應用鏈分配通道與私有數據集合以達到隱私安全、管理成本、性能三者之間的最佳平衡。

      事實上,有了私有數據的支持,將所有業(yè)務都放入一個通道也不會破壞數據的隱私安全性,而且單通道的性能雖然不能達到最高,但也不會太低。但是考慮到單個通道內應用鏈越多,組織、節(jié)點、用戶、智能合約、私有數據集合等的數量就越多,業(yè)務就越復雜,從而形成復雜的交互網絡,導致通道管理復雜度大幅提高,而且會造成通道負擔過大、賬本過于龐大、數據同步緩慢等不良后果,同時也會增加數據安全性與隱私性風險(雖然技術層面上不會,但是在形成足夠復雜的交互網絡之后,難免會因為人為管理因素或其他因素導致風險增加);所以無論是從負載、隱私安全還是管理成本來看,都需要創(chuàng)建多個通道來實現對業(yè)務和網絡資源的合理分配。

      將通道分配策略定義為三元組:=(,,)。其中:表示某成員(一個或多個,可以是已經加入跨鏈系統(tǒng)的老成員,也可以是欲加入跨鏈系統(tǒng)的新成員)是否要與特定通道內已存在成員建立跨鏈交互關系,該元素代表隱私安全性。例如某成員與特定通道內已存在成員毫無交互關系,卻將其加入到此通道中,便不太合適,因為沒有業(yè)務往來的合作群體之間互相擁有對方的賬本會有破壞數據隱私安全性的風險。表示通道的復雜程度,即通道管理成本,可以用組織、智能合約、節(jié)點等的數量以及它們之間交互復雜程度來衡量。表示當前網絡中的通道數量,通道數量會影響網絡性能。通道分配策略的符號定義如表1所示,算法偽碼如算法1所示。

      算法1 通道分配策略。

      輸入 表1中元素與三元組;

      輸出 創(chuàng)建新通道或私有數據集合。

      for:= rangedo

      = true;

      else

      = false;

      end if

      end for

      end if

      if≥then

      else

      end if

      else

      end if

      end if

      if== false &&

      end if

      if== false &&≥then

      else

      end if

      end if

      表1 通道分配策略符號定義

      3.3 跨鏈互操作流程

      跨鏈互操作流程如圖3所示。以應用鏈A要與應用鏈B進行跨鏈交互為例,具體過程如下:

      應用鏈加入跨鏈系統(tǒng):

      1)建立映射關系、頒發(fā)證書。某個區(qū)塊鏈平臺若想加入到跨鏈系統(tǒng)中,需經過資格審查,比如有穩(wěn)定的團隊更新維護、受到市場認可等。每個外部區(qū)塊鏈系統(tǒng)映射到中繼鏈網絡中都將成為一個組織,每個組織都由一個獨立的證書授權中心(Certification Authority, CA)頒發(fā)數字證書,包括身份證書與TLS(Transport Layer Security)傳輸加密證書,這就意味著每個組織都擁有一套獨立的身份系統(tǒng),確保了組織之間身份上的安全性隔離。

      2)創(chuàng)建通道或私有數據集合。依據通道分配策略選擇為應用鏈創(chuàng)建新的通道或私有數據集合。若選擇創(chuàng)建新的通道,則需要編寫通道配置文件,將鏈A、鏈B所對應的組織與監(jiān)管組織(每個通道都有一個監(jiān)管組織,起監(jiān)管審計作用,在發(fā)生糾紛或違規(guī)交易時,行使查賬仲裁權)的MSP證書信息、不同層級的訪問控制策略、不同角色的讀寫權限等配置信息寫入通道配置文件,并以此創(chuàng)建通道,通道創(chuàng)建成功后,會生成該通道的創(chuàng)世區(qū)塊,創(chuàng)世區(qū)塊中包含了該通道的成員信息以及權限策略規(guī)則。若選擇在已有通道內創(chuàng)建新的私有數據集合,需要編寫私有數據集合配置文件,包括組織信息、私有數據級別的背書策略、成員讀寫權限等內容,而后在部署合約時引入私有數據集合配置文件即可。

      3)節(jié)點加入通道、部署智能合約。通道創(chuàng)建成功后,由于三個組織(鏈A、鏈B與監(jiān)管組織)的MSP配置信息都已載入通道的創(chuàng)世區(qū)塊中,所以,隸屬于這三個組織下的節(jié)點都可以加入到該通道中。節(jié)點加入通道后,便可部署智能合約以實現跨鏈業(yè)務,智能合約的背書策略默認設置為AND('Org_ChainA.member', 'Org_ChainB.member'),意思是調用智能合約來執(zhí)行跨鏈事務需要鏈A組織與鏈B組織的共同背書,當然,也可以根據跨鏈業(yè)務的實際需求來靈活更改背書策略。部署與升級智能合約的權限策略為:只有通道內的三個組織共同批準,才能進行合約的部署與升級操作。這樣做的意義是:在沒有獲得三方一致的共識下,杜絕了其中任意一方或兩方隨意操作智能合約的行為,因為智能合約承載了跨鏈業(yè)務邏輯的實現,在整個跨鏈體系中至關重要,若是由于誤操作或者惡意操作導致智能合約狀態(tài)出錯,將會帶來嚴重后果,所以對智能合約的部署與升級操作進行嚴格的權限控制非常必要。

      通道、私有數據和智能合約部署完成后,應用鏈A和應用鏈B下的用戶便可以進行跨鏈交互:

      1)應用鏈A上的用戶首先通過鏈上的跨鏈智能合約(不支持智能合約的區(qū)塊鏈系統(tǒng)可以用腳本程序實現相應功能)發(fā)起一筆跨鏈交易提案,提案會被發(fā)送到對應的跨鏈網關;

      2)跨鏈網關接收到交易提案之后進行解析,驗證其來源,檢查其簽名,核驗通過后,將交易提案構造為CCIP消息格式,發(fā)送給中繼聯(lián)盟鏈進行預處理;

      3)中繼聯(lián)盟鏈會對跨鏈交易做一個初步處理,根據交易內容,生成相應的交易指令,分別發(fā)送給應用鏈A與B;

      4)應用鏈A與B驗證交易指令的合法性,確認無誤后,根據交易指令執(zhí)行相應的操作;

      5)跨鏈網關會監(jiān)聽兩條鏈是否成功執(zhí)行了交易指令所要求的操作,一旦操作成功上鏈,跨鏈網關會獲取該操作的交易原文與交易存在性證明,返回給中繼聯(lián)盟鏈;

      6)等到跨鏈交易的所有子事務都成功完成后(若某個環(huán)節(jié)出現問題,則會回滾,甚至取消交易),中繼聯(lián)盟鏈會對這筆跨鏈交易做一個最終處理,處理完成后,會生成一個交易回執(zhí),返回給應用鏈A與B,用于驗證與存證。

      跨鏈網關是應用鏈與其對應組織之間通信的組件,而且是專用組件,某組(一個或多個)跨鏈網關只為特定應用鏈服務。在為應用鏈創(chuàng)建組織的同時也會創(chuàng)建跨鏈網關,跨鏈網關作為組織的一員而存在,它會獲得其所屬組織的成員證書,并以此為憑證與組織通信。

      中繼聯(lián)盟鏈不向應用鏈旗下的用戶發(fā)放證書,用戶通過其原本在應用鏈中使用的公鑰在中繼聯(lián)盟鏈創(chuàng)建個人賬戶,并且設定了只有與該公鑰對應的數字簽名才能操作此賬戶,這個賬戶可以存放多種類型的映射資產,不同鏈的用戶可以在中繼聯(lián)盟鏈中使用自己的賬戶進行自由的交易。這么設計的原因是:第一,隨著用戶數量逐漸龐大,中繼聯(lián)盟鏈需要發(fā)放大量的證書,如此一來,非但證書管理復雜,而且容易產生安全風險;第二,用戶可以直接通過其原本擁有的公私鑰操作中繼聯(lián)盟鏈中的賬戶,也就是說,用戶所有的跨鏈操作都可以在應用鏈上完成,不需要再另外使用一套證書及私鑰去直接操作中繼聯(lián)盟鏈,更加安全、高效、便捷。

      圖3 跨鏈互操作流程

      3.4 共識

      中繼聯(lián)盟鏈網絡中還有一類特殊角色——排序節(jié)點,也稱共識節(jié)點,它是系統(tǒng)級別的存在,不屬于任何應用通道。排序節(jié)點負責收集每個通道內產生的交易,并將這些交易打包成區(qū)塊,分發(fā)給相應通道上的peer節(jié)點。本文方案中,中繼聯(lián)盟鏈網絡采用的是raft共識算法。排序節(jié)點掌握區(qū)塊生成與分發(fā)的權力,如何合理分配該權力是實現聯(lián)盟共治的關鍵所在。

      出塊權分配方案如下:每個組織作為一個管控排序節(jié)點的團體,根據每個組織在跨鏈事務中的表現,分配其一定數量的排序節(jié)點,表現越好,被分配到的排序節(jié)點越多。raft共識算法中由一個領導者節(jié)點負責處理所有事務,其余跟隨者節(jié)點只需復制領導者節(jié)點的日志,當領導者節(jié)點因故障或延遲等原因不能及時向跟隨者節(jié)點發(fā)送心跳信息時,會有隨機的跟隨者節(jié)點會變?yōu)楹蜻x者節(jié)點(根據隨機超時時間),開始新一輪選舉。每個跟隨者節(jié)點都有幾率成為領導者,當某個組織擁有的排序節(jié)點越多,那它旗下的排序節(jié)點成為領導者節(jié)點的幾率就越大,掌握了領導者節(jié)點,就等于掌握了出塊權,因此,組織的表現越佳,控制出塊權的幾率就越大,表現不佳或作惡的組織獲得出塊權的幾率就越小,從而增加了跨鏈網絡的安全性,同時也使每個組織都有機會爭得出塊權。并且,更大的意義在于,組織表現愈好,說明其信譽愈高,那么愿意與其交互的組織就愈多,該組織所代表的應用鏈的市場價值就會提升,從而有助于整個跨鏈網絡形成良性經濟生態(tài)循環(huán)。

      本文方案為出塊權的分配設計了任期制,每個新任期開始時,網絡會重新分配排序節(jié)點,并重新選舉領導者節(jié)點,在具體實現中,本文方案通過證書來分配排序節(jié)點所有權,并通過將領導者節(jié)點短暫宕機以觸發(fā)新一輪選舉。在任期內,組織被分配到的排序節(jié)點數量為:

      其中:

      4 跨鏈互操作實現方案

      4.1 跨鏈業(yè)務類型定義

      跨鏈互操作的形式多種多樣,本質上來說可分為兩大類:資產交互與信息交互。每大類下面又有不同的交互形式,本文將跨鏈交互總結為以下四種基本類型:

      1)資產交換。跨鏈資產交換實質上是資產在各自區(qū)塊鏈上的流動。例如,Alice和Bob在以太坊和比特幣上都有賬戶,Alice想用20個以太幣換取Bob的1個比特幣,Alice需要先將自己賬戶的20個以太幣轉賬給Bob在以太坊上的賬戶,Bob在收到付款后,將自己在比特幣賬戶上的1個比特幣轉給Alice在比特幣上的賬戶,這樣就完成了比特幣和以太坊的資產交換。

      2)資產轉移。跨鏈資產轉移實際上是資產在一個區(qū)塊鏈上的凍結(銷毀)和在另一個區(qū)塊鏈上的解凍(創(chuàng)建)。例如,假設以太幣與比特幣的匯率為20∶1,Alice與Bob分別在比特幣和以太坊上擁有賬戶,Alice想將自己的1個比特幣轉移給Bob,那么Alice需要先將她的比特幣轉移到一個特殊的地址進行凍結,而后,在以太坊中發(fā)行(或解凍)20個以太幣給Bob的賬戶。

      3)信息付費。一個區(qū)塊鏈平臺上的用戶按照指定的價格購買另一個區(qū)塊鏈平臺上出售的信息資源。

      4)信息交互。指一個區(qū)塊鏈系統(tǒng)獲取另一個區(qū)塊鏈系統(tǒng)上的信息,或將數據寫入另一個區(qū)塊鏈系統(tǒng)等操作,但不涉及資金流動。

      前三類都涉及到資產流動,資產并不局限于貨幣,也包括房產證明、知識產權證明等具有實際價值的事物。針對資產類型的交互,設計了基于分布式門限簽名技術的資產映射方案;針對信息交互,設計了跨鏈事務狀態(tài)表方案。本文為四種基本類型的跨鏈交互設計了四個智能合約模板,每一筆跨鏈交易都會根據其交易類型被提交到相應的合約中執(zhí)行。

      4.2 跨鏈方案描述

      4.2.1基于分布式(,)門限簽名的資產映射方案

      現代密碼學體制的核心是密鑰的安全性決定密碼體制的安全性,密鑰一旦泄露,安全性也將不復存在,因此如何對密鑰進行安全保密的管理至關重要。以色列密碼學家Shamir[23]提出了一個基于Lagrange插值法的(,)秘密共享方案,方案中的密鑰被分成份并分配給個參與者,每個參與者都掌握一個密鑰份額,只有集齊至少個密鑰份額,才能夠將密鑰恢復?;赟hamir方案,實現了賬戶密鑰所有權的分散化管理,減少集中化風險與密鑰遺失后賬戶無法找回的風險,大大提高了賬戶的安全性。

      Shamir秘密共享方案雖然是一個完備的理想方案,但也存在一些問題:第一,需要存在一個可信的秘密分發(fā)中心,但現實場景中往往并不存在這樣的可信中心,并且可信中心帶有中心化風險;第二,在秘密分發(fā)階段和秘密重構階段,可能會存在不誠實的秘密分發(fā)者與參與者傳播無效的秘密份額;第三,在秘密重構的過程中可能會泄露完整的私鑰。針對上述問題,本文采用了基于橢圓曲線的分布式(,)門限簽名方案[24],該方案有如下優(yōu)點:

      1)橢圓曲線算法是目前區(qū)塊鏈技術采用的主流密碼學算法,可以兼容大部分區(qū)塊鏈系統(tǒng)。而且橢圓曲線算法與RSA(Rivest?Shamir?Adleman)、與DSA(Digital Signature Algorithm)等其他加密算法相比,具有安全性能更高、計算量更小、處理速度更快的優(yōu)點。

      2)不需要一個可信中心來做初始工作和分發(fā)秘密,更加適用于實際場景,并且避免了集中化風險。

      3)簽名參與者可以驗證其他參與者發(fā)送過來的消息是否正確有效。

      4)在任何階段都不會重構完整私鑰,避免了私鑰泄露的風險,保證了賬戶的安全可信。

      資產映射方案由資產映射與資產釋放兩個階段構成:資產映射階段是通過門限簽名算法計算出一個映射地址,然后將資產轉入該地址進行鎖定;資產釋放階段是通過門限簽名算法計算出門限簽名,然后去解鎖映射地址中的資產。具體實現如下:

      1)資產映射階段:

      步驟5 由群公鑰得到映射賬戶地址:=GenerateAddress(),由于不同區(qū)塊鏈生成地址的算法不盡相同,所以需要按照對應應用鏈提供的特定地址生成算法來為應用鏈計算合法的賬戶地址。例如比特幣和以太坊的私鑰都是由偽隨機數產生的256位二進制數,公鑰都是通過采用secp256k1曲線的橢圓曲線算法生成的,它們唯一的區(qū)別就在于公鑰推導地址的算法不同。獲得映射賬戶地址后,用戶將資產轉移到該地址,確認轉移成功后,在中繼聯(lián)盟鏈中為該用戶創(chuàng)建相應的資產。

      2)資產釋放階段:

      (,)門限簽名機制允許個參與者中的任何個成員執(zhí)行對消息的簽名,每個成員都可以獨立生成自己的簽名份額,當收集至少個簽名份額后,便可以構造出完整的簽名。至少個背書節(jié)點需要執(zhí)行以下步驟:

      若式(12)成立,則簽名份額有效。

      步驟7 群簽名生成后,可以用群公鑰去驗證群簽名是否有效:

      由于在執(zhí)行門限簽名算法的過程中涉及到隨機數操作,如果多個背書節(jié)點同時執(zhí)行一次門限任務,那么它們執(zhí)行完之后所得出的讀寫集結果會不一致,收集到不一致的讀寫集會導致交易驗證失敗。因此,在一次門限任務中涉及到隨機數的步驟只能單獨執(zhí)行,同時考慮到私鑰份額等數據的安全性,本文方案在執(zhí)行門限任務時,將其拆分成兩部分:涉及到隨機數操作與機密參數的為一部分,如構造隨機多項式與計算私鑰份額等;涉及公共參數的為另一部分,如計算群公鑰與群簽名等。針對前一部分,使用私有數據機制實現,將任務分別發(fā)送給每個背書節(jié)點單獨執(zhí)行,將執(zhí)行后得到的結果存放于節(jié)點本地的私有數據庫,并且設置了基于證書屬性的權限訪問控制,除了指定身份之外,沒有其他任何節(jié)點與用戶能夠訪問到私有數據庫中的秘密參數,從而保證了整個門限簽名過程的安全性;對于后一部分,只需將公共參數寫入公共賬本,使相應背書節(jié)點能夠獲取到即可。將資產映射與資產釋放的算法封裝為兩個接口,寫入智能合約,供簽名參與方調用,為了保護跨鏈交易中用戶的利益不受損害,調用門限簽名算法接口的操作有著嚴格的權限控制。

      4.2.2跨鏈事務狀態(tài)

      為了保證跨鏈事務的原子性與一致性,在每一筆跨鏈事務發(fā)起時,中繼聯(lián)盟鏈都會初始化一個事務狀態(tài)表,如表2所示。CCIP中的Txid字段就是表中的跨鏈事務ID,跨鏈事務ID后面加上遞增數字作為子事務ID。一個跨鏈事務通常由多個子事務組成,只有當所有子事務都成功完成時,跨鏈事務才會被認為已完成,并且設置了超時機制,若中間哪一步出錯,或者超時,則會采取相應的回滾操作,回滾一定次數后仍然失敗,則該跨鏈交易失敗。本文方案將一筆完整跨鏈交易中應用鏈完成的每一個操作作為一個子事務,應用鏈完成相應操作后都會將相關信息以CCIP格式發(fā)送給中繼聯(lián)盟鏈進行驗證,所以在具體實現中,將每一條由應用鏈發(fā)送來的CCIP消息作為子事務進行驗證。信息交互類型跨鏈互操作的實現也采用了事務狀態(tài)表的方式。

      表2 跨鏈事務狀態(tài)

      4.3 跨鏈業(yè)務實現

      下面介紹四種基本類型跨鏈交互的詳細實現過程。

      4.3.1資產交換類型

      對于資產交換類型的跨鏈事務,例如鏈A用戶Alice想用10 acoin(鏈A代幣)換取鏈B用戶Bob的20 bcoin(鏈B代幣),雙方在兩條鏈上都有賬戶,交易過程如下:

      1)Alice向跨鏈網關發(fā)送交易提案,跨鏈網關接收到之后,解析交易內容,檢查簽名,若提案有效,則按照協(xié)議規(guī)則,將交易提案構造為CCIP消息格式,發(fā)送給通道中指定的背書節(jié)點,執(zhí)行資產交換智能合約:

      2)每個背書節(jié)點分別調用資產映射接口,計算各自的私鑰與公鑰份額,并將公鑰份額聚合成群公鑰,生成兩個資產映射地址:

      4)跨鏈網關監(jiān)聽到兩條鏈的鎖定交易成功上鏈后,將這兩筆交易的交易原文和交易存在性證明提交給中繼聯(lián)盟鏈。

      5)中繼聯(lián)盟鏈對這兩筆鎖定交易驗證無誤后,創(chuàng)建等值的數字資產到Alice與Bob的合約賬戶地址中(用戶在中繼聯(lián)盟鏈中的賬戶,可存放資產與數據)。

      6)Alice通過資產交換智能合約向Bob發(fā)起交易請求,各個背書節(jié)點調用資產釋放接口,構建出完整的門限簽名,發(fā)送給Alice。

      4.3.2資產轉移類型

      對于資產轉移類型的跨鏈事務,例如鏈A用戶Alice想將10 acoin送給鏈B用戶Bob,假設acoin與bcoin匯率為1∶20,交易過程如下:

      1)與資產交換類似,Alice向跨鏈網關發(fā)送交易提案,每個背書節(jié)點分別調用資產映射接口,生成映射賬戶地址(式(16))。

      2)Alice發(fā)起交易將自己的10 acoin鎖定到映射賬戶地址中,跨鏈網關監(jiān)聽到鎖定交易成功上鏈后,將交易原文和交易存在性證明提交給中繼聯(lián)盟鏈進行驗證,驗證無誤后,創(chuàng)建等值的數字資產10 acoin′到Alice的合約賬戶中。

      3)Alice通過資產轉移智能合約發(fā)起對Bob的資產轉移交易,將自己合約賬戶內的10 acoin′按照匯率兌換為200 bcoin′轉入Bob的合約賬戶。

      4)資產轉移交易經過上鏈確認后,中繼聯(lián)盟鏈會構造一個交易提案,其中包括資產轉移交易的交易原文和交易存在性證明等信息,通過跨鏈網關發(fā)送給鏈B,鏈B接收到之后,驗證無誤后,會創(chuàng)建(或解凍)200 bcoin到Bob的賬戶。

      5)Bob收到200 bcoin的交易經鏈B確認后,跨鏈網關會監(jiān)聽到這筆交易,并將交易原文與交易存在性證明返回給中繼聯(lián)盟鏈驗證,驗證通過后,銷毀Bob合約賬戶中的200 bcoin′。

      轉移的資產可以原路返回(當然,Bob也可以將200 bcoin′用作他途),交易過程如下:

      1)與資產轉移流程中1)~5)相同,只不過將Alice換成Bob;

      4.3.3信息付費類型

      對于信息付費類型的跨鏈事務,例如鏈A用戶Alice想購買鏈B用戶Bob出售的信息資源,交易過程如下:

      1)與資產轉移的1)、2)相同,并且Bob將信息資源用Alice的公鑰加密后傳輸到其合約賬戶;

      2)Alice發(fā)起信息付費交易,將合約賬戶中的數字資產轉移到Bob的合約賬戶地址中,同時將Bob賬戶中的信息資源發(fā)送到Alice的賬戶中,這是一個原子性操作,只有轉賬操作與發(fā)送信息操作全部成功,這筆交易才會被確認有效;

      3)信息付費交易成功上鏈后,Alice便可在自己本地拉取到信息資源,并使用私鑰解密即可,而Bob在鏈B的賬戶中也會獲得相應資產。

      4.3.4信息交互類型

      對于信息交互類型的跨鏈事務,例如鏈A用戶Alice想將某些數據寫入鏈B,并讀取這個事件發(fā)生后的結果,交互過程如下:

      1)Alice發(fā)起一個交易提案,里面包含了對目標鏈的事務請求,經過跨鏈網關轉換后提交給中繼聯(lián)盟鏈網絡;

      2)中繼聯(lián)盟鏈收到并驗證后,構建交易指令發(fā)送給鏈B,并創(chuàng)建一個事務狀態(tài)表,用于記錄和追蹤事務的狀態(tài),待到數據成功寫入鏈B以及獲取到該事件發(fā)生后的結果,事務被標記完成;

      3)事務完成后,返回結果給Alice。

      5 實驗與結果分析

      本章首先做了三組實驗,對跨鏈方案的可行性、跨鏈系統(tǒng)的性能及出塊權分配方案做了測評,然后對整個跨鏈網絡的安全性進行了全面的分析。實驗環(huán)境所使用的服務器配置與Fabric網絡配置如表3所示。

      5.1 私有數據與通道數量對于性能的影響

      本節(jié)實驗用了一臺服務器搭建了5個Orderer節(jié)點、4個peer節(jié)點(2個組織,每個組織2個節(jié)點)的Fabric網絡進行測試,背書策略為AND('Org1.peer', 'Org2.peer')。圖4使用的測試合約是官方提供的彈珠案例,圖5用的是官方提供的basic案例。

      圖4說明了在通道內使用私有數據與不使用私有數據幾乎沒有性能上的差別。

      表3 服務器配置與fabric網絡配置

      圖4 使用與不使用私有數據的性能比較

      圖5 事務總量一定時通道數量對于性能的影響

      5.2 跨鏈智能合約模板性能測評

      本節(jié)測試共使用了7臺服務器,其中3臺服務器用于搭建中繼聯(lián)盟鏈,2臺作為跨鏈網關,另外2臺搭建了兩條應用鏈,分別是以太坊測試網絡與fabric聯(lián)盟鏈網絡,以模擬真實的跨鏈場景。中繼聯(lián)盟鏈共三個組織,一臺服務器部署一個組織,其中排序組織5個節(jié)點,以太坊組織與fabric組織各4個節(jié)點。測試了四條跨鏈合約的性能,實驗中不考慮應用鏈本身的交易確認時間,直接通過跨鏈網關中的SDK(Software Development Kit)插件向中繼聯(lián)盟鏈發(fā)送交易。實驗設定為:每組測試都以特定的交易發(fā)送速率向網絡發(fā)送持續(xù)1 min的交易,客戶端數量設為10,即10個客戶端同時發(fā)送交易。

      圖6展示了資產交換合約讀操作與寫操作在不同交易發(fā)送速率下的吞吐量與延遲,寫操作吞吐量起先隨著交易發(fā)送率的提高而增加,在發(fā)送率為1 000 TPS時達到最高,為960 TPS,隨后便略微下降。平均延遲時間起先隨著發(fā)送率的提高而降低,在發(fā)送率超過達到800 TPS之后,延時迅速增加,因為交易發(fā)送率高于一定程度后,會積壓未完成交易,發(fā)送率越高,積壓得就越多,導致交易處理的延時增加。讀操作吞吐量基本與發(fā)送率持平,最高保持在3 000 TPS左右,延時始終保持在0.1 s。資產轉移、信息付費與信息交互合約的性能與資產交換合約相差無幾,不再另做展示。

      圖6 資產交換合約性能測評

      門限簽名算法的測試比較特殊,計算過程中需要計算隨機數,而隨機數會使得每個背書節(jié)點執(zhí)行生成的讀寫集不一致,從而導致交易驗證失敗,所以門限過程中涉及隨機數的步驟需要單獨發(fā)送各個背書節(jié)點去執(zhí)行。為了方便測試,只在一個peer節(jié)點上部署了門限簽名算法合約。圖7測評了門限簽名算法的性能情況,因為涉及大量密碼學運算,所以相比四個業(yè)務合約模板,總體性能偏低,最高只有758 TPS,平均延遲時間也偏高。圖8展示了門限簽名算法合約容器的CPU平均利用率,利用率先隨著交易發(fā)送速率的提高而增加,在交易發(fā)送率達到400 TPS左右時,CPU利用率達到最高值,在1 900%左右,隨后,便開始持續(xù)輕微下降。每100%代表一個CPU核心,因為密碼學運算是CPU密集型操作,所以CPU的利用率相比業(yè)務合約要高得多,但是由于中繼聯(lián)盟鏈網絡事務處理瓶頸的存在,所以隨著交易發(fā)送速率的增加,CPU利用率并不會一直提高,反而會略微下降。

      5.3 出塊權分配

      出塊權分配方案的核心在于以更多的排序節(jié)點數量來競爭到出塊權,本節(jié)測試啟動了50個排序節(jié)點,分別按照1∶3∶6、2∶4∶4、3∶5∶2的比例分配給組織A、B、C,每個比例為一組實驗,共3組實驗,每組實驗都進行了50次選舉,實驗結果如表4所示,實驗數據說明了出塊權分配方案確實可行,排序節(jié)點的數量越多,競爭到出塊權的概率越大。從將領導者節(jié)點宕機到重新選舉出領導者的時間間隔穩(wěn)定在5 s左右。

      圖7 門限簽名算法性能測評

      圖8 門限簽名算法合約容器的CPU利用率

      表4 出塊權分配方案的實驗結果

      5.4 安全性分析

      1)數據的安全性與隱私性。首先不同通道之間數據隔離,互相獨立;其次在通道內通過私有數據保證不同的合作群體之間有自己的專屬隱私信道;再者,在智能合約中通過合約級、私有數據級、鍵級等三種不同層次的背書策略以及基于證書屬性的訪問控制可以實現更細粒度的權限控制。通過這三個層級,可以靈活地根據業(yè)務需求設定權限策略并有效地保證數據的隱私安全性。

      2)出塊權競爭方案的安全性。為了達到聯(lián)盟共治的目的,設計了出塊權競爭方案,哪個組織表現越好,競爭到出塊權的概率就越大。雖然raft是故障容錯算法(Crash Fault Tolerance, CFT),無法防止惡意類節(jié)點,但是若某個掌握領導者節(jié)點的組織惡意篡改區(qū)塊數據,peer節(jié)點會驗證區(qū)塊失敗,從而網絡會迅速檢測到惡意的領導者節(jié)點,停止其運作,注銷其證書,并對該組織施以懲罰。所以惡意組織利用出塊權作惡的風險可以排除。

      3)門限簽名算法執(zhí)行過程中的安全性。因為門限簽名算法中涉及到隨機值,不能多個背書節(jié)點同時執(zhí)行門限簽名算法,否則會導致提案執(zhí)行結果驗證失敗,所以涉及到計算隨機值的步驟需要單獨發(fā)送給各個背書節(jié)點去執(zhí)行。本文通過私有數據機制實現這點,每個背書節(jié)點單獨執(zhí)行特定步驟,隨機數與密鑰份額等重要數據存于私有數據庫中而不是公共賬本中,并設定只有特定身份才可訪問這類數據,確保數據不會外泄。橢圓曲線公開參數與公鑰份額等共享數據存于公共賬本中,合法身份皆可訪問。通過私有數據機制將完整的門限過程分割為不同步驟,既使得中繼聯(lián)盟鏈可以兼容分布式門限簽名算法,又保證了重要數據的隱私安全。

      4)跨鏈網絡的安全性。整個跨鏈網絡的安全性由三部分組成:應用鏈、中繼聯(lián)盟鏈與中間傳輸信道。應用鏈與中繼聯(lián)盟鏈部分由它們本身的安全機制保障,安全重點在于兩者之間的中間傳輸過程,應用鏈與中繼聯(lián)盟鏈的中間傳輸過程可分為三種:應用鏈與跨鏈網關之間、應用鏈與中繼聯(lián)盟鏈之間以及跨鏈網關與中繼聯(lián)盟鏈之間。前兩種中間傳輸過程因為應用鏈上的用戶發(fā)送提案需要身份信息(包括公鑰與數字簽名),而且跨鏈交易是一個保證原子性與一致性的多步驟流程,涉及應用鏈與中繼聯(lián)盟鏈的多輪驗證,所以只要作惡者沒有盜取到用戶的私鑰,就不可能冒用他人身份成功完成交易。跨鏈網關監(jiān)聽、獲取并提交給中繼聯(lián)盟鏈的應用鏈事件是已經上鏈確認的交易,是可信的。應用鏈可以自行驗證中繼聯(lián)盟鏈中發(fā)生的事件,排除作惡者中途篡改交易指令的風險。第三種中間傳輸過程的中繼聯(lián)盟鏈會給跨鏈網關頒發(fā)數字證書,包括身份證書、TLS傳輸加密證書與私鑰,網關通過合法證書才能連接到中繼聯(lián)盟鏈,而且每一筆跨鏈交易都要經由跨鏈網關的私鑰進行簽名后才能在網絡中傳輸,并且跨鏈網關是專屬于某個組織的,出了問題可以迅速排查到。綜上所述,中繼聯(lián)盟鏈與應用鏈之間的通信安全可以得到保障。

      5)跨鏈事務的ACID特性與安全性。本文通過跨鏈事務狀態(tài)表來追蹤一筆跨鏈交易的進展情況,只有當所有的跨鏈交易子事務都完成時,這筆交易才會在中繼聯(lián)盟鏈與應用鏈徹底上鏈成功,如果某個子事務出現問題,則會采取相應的回滾或取消交易操作,從而保證一致性與原子性。每筆跨鏈交易及其子事務都綁定在一個跨鏈事務狀態(tài)表中,由狀態(tài)表單獨管理,不同交易之間互不干涉,保證了隔離性。至于持久性,區(qū)塊鏈數據原本就是持久化的。通過分布式門限簽名算法將源鏈資產映射到中繼聯(lián)盟鏈中,只有參與業(yè)務的多個組織的節(jié)點共同背書才能操作映射賬戶,保證了跨鏈資產的安全性。

      6 結語

      本文提出了一種基于聯(lián)盟自治的區(qū)塊鏈跨鏈機制,通過構建一條由多方共治的中繼聯(lián)盟鏈以以鏈治鏈的方式運營整個跨鏈網絡。運用PKI證書體系、MSP權限策略、通道機制、私有數據機制、背書機制、通道分配策略、出塊權分配方案等技術和方案制定了應用鏈參與跨鏈交互的規(guī)則與方式,為應用鏈之間的互操作提供了一個安全可靠的技術平臺。使用分布式門限簽名技術與跨鏈事務狀態(tài)表保證了跨鏈事務的ACID特性與安全隱私性。最后通過實驗與分析證明了本文所提出的跨鏈系統(tǒng)具有良好的性能與高級別的安全性。本文方案支持多方跨鏈交互,但需要在雙方跨鏈的基礎上實現,效率有待提高,因此未來的工作將在本文方案的基礎上進一步研究安全高效的多方跨鏈模式。

      [1] NAKAMOTO S. Bitcoin: a peer?to?peer electronic cash system[EB/OL]. [2021-09-08].http://bitcoin.org/bitcoin.pdf.

      [2] 賀海武,延安,陳澤華. 基于區(qū)塊鏈的智能合約技術與應用綜述[J]. 計算機研究與發(fā)展, 2018, 55(11): 2452-2466.(HE H W, YAN A, CHEN Z H. Survey of smart contract technology and application based on blockchain[J]. Journal of Computer Research and Development, 2018, 55(11): 2452-2466.)

      [3] SUN Y, FAN L J, HONG X H. Technology development and application of blockchain: current status and challenges[J]. Strategic Study of Chinese Academy of Engineering, 2018, 20(2):27-32.

      [4] GORDON W J, CATALINI C. Blockchain technology for healthcare: facilitating the transition to patient?driven interoperability[J]. Computational and Structural Biotechnology Journal, 2018, 16: 224-230.

      [5] 何蒲,于戈,張巖峰,等. 區(qū)塊鏈技術與應用前瞻綜述[J]. 計算機科學, 2017, 44(4): 1-7, 15.(HE P, YU G, ZHANG Y F, et al. Survey on blockchain technology and its application prospect[J]. Computer Science, 2017, 44(4): 1-7, 15.)

      [6] 韓璇,袁勇,王飛躍. 區(qū)塊鏈安全問題:研究現狀與展望[J]. 自動化學報, 2019, 45(1): 206-225.(HAN X, YUAN Y, WANG F Y. Security problems on blockchain: the state of the art and future trends[J]. Acta Automatica Sinica, 2019, 45(1): 206-225.)

      [7] 袁勇,王飛躍. 區(qū)塊鏈技術發(fā)展現狀與展望[J]. 自動化學報, 2016, 42(4): 481-494.(YUAN Y, WANG F Y. Blockchain: the state of the art and future trends[J]. Acta Automatica Sinica, 2016, 42(4): 481-494.)

      [8] 喻輝,張宗洋,劉建偉. 比特幣區(qū)塊鏈擴容技術研究[J]. 計算機研究與發(fā)展, 2017, 54(10): 2390-2403.(YU H, ZHANG Z Y, LIU J W. Research on scaling technology of bitcoin blockchain[J]. Journal of Computer Research and Development, 2017, 54(10): 2390-2403.)

      [9] 張利華,王欣怡,胡方舟,等. 基于雙聯(lián)盟鏈的智能電網數據共享模型[J]. 計算機應用, 2021, 41(4): 963-969.(ZHANG L H, WANG X Y, HU F Z, et al. Data sharing model of smart grid based on double consortium blockchains[J]. Journal of Computer Applications, 2021, 41(4): 963-969.)

      [10] 周致成,李立新,李作輝. 基于區(qū)塊鏈技術的高效跨域認證方案[J]. 計算機應用, 2018, 38(2): 316-320, 326.(ZHOU Z C, LI L X, LI Z H. Efficient cross?domain authentication scheme based on blockchain technology[J]. Journal of Computer Applications, 2018, 38(2): 316-320. 326.)

      [11] DE VOS M, ILERI C U, POUWELSE J. XChange: a universal mechanism for asset exchange between permissioned blockchains[J]. World Wide Web, 2021, 24(5): 1691-1728.

      [12] 袁勇,王飛躍. 平行區(qū)塊鏈:概念、方法與內涵解析[J]. 自動化學報, 2017, 43(10): 1703-1712.(YUAN Y, WANG F Y. Parallel blockchain: concept, methods and issues[J]. Acta Automatica Sinica, 2017, 43(10): 1703-1712.)

      [13] HUGHES L, DWIVEDI Y K, MISRA S K, et al. Blockchain research, practice and policy: applications, benefits, limitations, emerging research themes and research agenda[J]. International Journal of Information Management, 2019, 49: 114-129.

      [14] 李芳,李卓然,趙赫. 區(qū)塊鏈跨鏈技術進展研究[J]. 軟件學報, 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.)

      [15] HARDJONO T, LIPTON A, PENTLAND A. Toward an interoperability architecture for blockchain autonomous systems[J]. IEEE Transactions on Engineering Management, 2020, 67(4): 1298-1309.

      [16] 劉海,李興華,雒彬,等. 基于區(qū)塊鏈的分布式匿名位置隱私保護方案[J]. 計算機學報, 2019, 42(5): 942-960.(LIU H, LI X H, LUO B, et al. Distributedanonymity location privacy protection scheme based on blockchain[J]. Chinese Journal of Computers, 2019, 42(5):942-960.)

      [17] ASGAONKAR A, KRISHNAMACHARI B. Solving the buyer and seller’s dilemma: a dual?deposit escrow smart contract for provably cheat?proof delivery and payment for a digital good without a trusted mediator[C]// Proceedings of the 2019 IEEE International Conference on Blockchain and Cryptocurrency. Piscataway: IEEE, 2009: 262-267.

      [18] DILLEY J, POELSTRA A, WILKINS J, et al. Strong federations: an interoperable blockchain solution to centralized third?party risks[EB/OL]. (2017-01-30)[2021-08-23].https://arxiv.org/pdf/1612.05491.pdf.

      [19] MILLER A, XIA Y, CROMAN K, et al. The honey badger of BFT protocols[C]// Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security. New York: ACM, 2016: 31-42.

      [20] 葉少杰,汪小益,徐才巢,等. BitXHub:基于側鏈中繼的異構區(qū)塊鏈互操作平臺[J]. 計算機科學, 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.)

      [21] HERLIHY M. Atomic cross?chain swaps[C]// Proceedings of the 2018 ACM Symposium on Principles of Distributed Computing. New York: ACM, 2018: 245-254.

      [22] ANDROULAKI E, BARGER A, BORTNIKOV V, et al. Hyperledger Fabric: a distributed operating system for permissioned blockchains[C]// Proceedings of the 13th EuroSys Conference. New York: ACM, 2018: No.30.

      [23] SHAMIR A. How to share a secret[J]. Communications of the ACM, 1979, 22(11): 612-613.

      [24] PEI Q Q, MA J F. ECC?based threshold digital signature scheme without a trusted party[C]// Proceedings of the 2008 International Conference on Computational Intelligence and Security. Piscataway: IEEE, 2008:288-292.

      [25] MIYAZAKI K, TAKARAGI K. A threshold digital signature scheme for a smart card based system[J]. IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences, 2001, E84-A(1):205-213.

      Federated?autonomy?based cross?chain scheme for blockchain

      ZHENG Jianhui1, LIN Feilong1*, CHEN Zhongyu1, HU Zhaolong1, TANG Changbing2

      (1,,321004,;2,,321004,)

      To deal with the phenomenon of "information and value islands" caused by the lack of interoperation among the increasingly emerging blockchain systems, a federated?autonomy?based cross?chain scheme was proposed. The elemental idea of this scheme is to form a relay alliance chain maintained by participated blockchain systems using blockchain philosophy, which is supposed to solve the data sharing, value circulation and business collaboration problems among different blockchain systems. Firstly, a relay mode based cross?chain structure was proposed to provide interoperation services for heterogeneous blockchain systems. Secondly, the detailed design of the relay alliance chain was presented as well as the rules for the participated blockchain systems and their users. Then, the basic types of cross?chain interactions were summarized, and a process for implementing cross?chain interoperability based on smart contracts were designed. Finally, through multiple experiments, the feasibility of the cross?chain scheme was validated, the performance of the cross?chain system was evaluated, and the security of the whole cross?chain network was analyzed. Simulation results and security analysis prove that the proposed channel allocation strategy and block?out right allocation scheme of the proposed scheme are practically feasible, the throughput of the proposed shceme can reach up to 758 TPS (Transactions Per Second) when asset transactions are involved, and up to 960 TPS when asset transactions are not involved; the proposed scheme has high?level security and coarse? and fine?grained privacy protection mechanism. The proposed federated?autonomy?based cross?chain scheme for blockchain can provide secure and efficient cross?chain services, which is suitable for most of the current cross?chain scenarios.

      blockchain; cross?chain interoperability; information and value island; federated autonomy; relay alliance chain

      This work is partially supported by Natural Science Foundation of Zhejiang Province (LY22F030006).

      ZHENG Jianhui, born in 1995, M. S. candidate. His research interests include blockchain.

      LIN Feilong, born in 1982, Ph. D., associate professor. His research interests include blockchain, industrial Internet of Things.

      CHEN Zhongyu, born in 1964, Ph. D., professor. His research interests include blockchain, software engineering.

      HU Zhaolong, born in 1988, Ph. D., associate professor. His research interests include blockchain, complex networks.

      TANG Changbing, born in 1981, Ph. D., associate professor. His research interests include blockchain, network design and optimization.

      TP393

      A

      1001-9081(2022)11-3444-14

      10.11772/j.issn.1001-9081.2021111922

      2021?11?13;

      2021?12?27;

      2021?12?28。

      浙江省自然科學基金資助項目(LY22F030006)。

      鄭建輝(1995—),男,浙江湖州人,碩士研究生,主要研究方向:區(qū)塊鏈;林飛龍(1982—),男,浙江永康人,副教授,博士,CCF會員,主要研究方向:區(qū)塊鏈、工業(yè)物聯(lián)網;陳中育(1964—),男,浙江浦江人,教授,博士,主要研究方向:區(qū)塊鏈、軟件工程;胡兆龍(1988—),男,江西南昌人,副教授,博士,主要研究方向:區(qū)塊鏈、復雜網絡;唐長兵(1981—),男,浙江蘭溪人,副教授,博士,主要研究方向:區(qū)塊鏈、網絡設計與優(yōu)化。

      猜你喜歡
      中繼網關合約
      基于改進RPS技術的IPSEC VPN網關設計
      面向5G的緩存輔助多天線中繼策略
      電信科學(2017年6期)2017-07-01 15:44:35
      中繼測控鏈路動態(tài)分析與計算方法研究
      航天器工程(2015年3期)2015-10-28 03:35:28
      LTE Small Cell網關及虛擬網關技術研究
      移動通信(2015年18期)2015-08-24 07:45:08
      應對氣候變化需要打通“網關”
      太陽能(2015年7期)2015-04-12 06:49:50
      Nakagami-m衰落下AF部分中繼選擇系統(tǒng)性能研究
      一種實時高效的伺服控制網關設計
      一種新型多協(xié)作中繼選擇協(xié)議研究
      合約必守,誰能例外!——對“情勢變更”制度不可寄于過高期望
      卓尼县| 凉山| 丰城市| 平泉县| 玉树县| 承德县| 隆昌县| 乐东| 苍南县| 理塘县| 台东市| 柯坪县| 天气| 皮山县| 赤峰市| 扎鲁特旗| 大港区| 罗田县| 航空| 夏邑县| 敦煌市| 池州市| 五峰| 鄂尔多斯市| 襄城县| 苏尼特左旗| 来安县| 佛教| 祁东县| 巨野县| 河间市| 长岭县| 澎湖县| 邯郸市| 利辛县| 长白| 施甸县| 黑水县| 栖霞市| 高清| 大理市|