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

?

區(qū)塊鏈跨鏈協(xié)議綜述

2022-10-16 05:50孟博王乙丙趙璨王德軍麻斌豪
計算機(jī)與生活 2022年10期
關(guān)鍵詞:互操作性調(diào)用合約

孟博,王乙丙,趙璨,王德軍,麻斌豪

中南民族大學(xué) 計算機(jī)科學(xué)學(xué)院,武漢430074

區(qū)塊鏈?zhǔn)且环N分布式賬本技術(shù),其具備過程可信和去中心化兩大特性,能夠在多利益主體參與的場景下以低成本的方式構(gòu)建信任,可以重塑社會信用體系。隨著區(qū)塊鏈技術(shù)的快速發(fā)展,區(qū)塊鏈技術(shù)應(yīng)用日益廣泛,已經(jīng)在金融、電子政務(wù)、車聯(lián)網(wǎng)、數(shù)字身份、版權(quán)保護(hù)等多個領(lǐng)域得到廣泛應(yīng)用。目前,區(qū)塊鏈加速構(gòu)建新一代的價值網(wǎng)絡(luò)和契約社會,其最大意義在于鏈接不同行業(yè),解決信任難題,實現(xiàn)數(shù)據(jù)和資產(chǎn)的可信流轉(zhuǎn),進(jìn)一步提高生產(chǎn)效率,從而激發(fā)經(jīng)濟(jì)增長動力。

區(qū)塊鏈技術(shù)發(fā)展至今,經(jīng)歷了以比特幣技術(shù)為代表的區(qū)塊鏈1.0 階段和以智能合約技術(shù)和聯(lián)盟鏈為代表的區(qū)塊鏈2.0 階段,目前區(qū)塊鏈進(jìn)入了以各行業(yè)的區(qū)塊鏈應(yīng)用融合為代表的區(qū)塊鏈3.0 階段。在區(qū)塊鏈1.0 階段中,區(qū)塊鏈技術(shù)圍繞數(shù)字資產(chǎn)的發(fā)行和交易進(jìn)行架構(gòu)設(shè)計,在金融領(lǐng)域初步應(yīng)用。在區(qū)塊鏈2.0 階段中,隨著智能合約技術(shù)的發(fā)展,區(qū)塊鏈在金融領(lǐng)域得到更加廣泛的應(yīng)用,也開始擴(kuò)展使用到其他行業(yè)。而在區(qū)塊鏈3.0 階段中,隨著區(qū)塊鏈技術(shù)的逐漸成熟,區(qū)塊鏈開始應(yīng)用到金融、經(jīng)濟(jì)、科技和政務(wù)等領(lǐng)域,面臨更加復(fù)雜的業(yè)務(wù)需求,開始產(chǎn)生跨異構(gòu)鏈進(jìn)行數(shù)據(jù)、資產(chǎn)和功能的互聯(lián)互通需求,并向跨鏈應(yīng)用發(fā)展。但是不同區(qū)塊鏈系統(tǒng)之間在互聯(lián)互通上的欠缺,極大限制和阻礙了區(qū)塊鏈技術(shù)的進(jìn)一步發(fā)展與應(yīng)用。

隨著跨鏈技術(shù)的發(fā)展,解決跨鏈難題的技術(shù)方案不斷涌現(xiàn),在區(qū)塊鏈跨鏈領(lǐng)域中諸多學(xué)者對跨鏈技術(shù)進(jìn)行整理總結(jié),分析主流跨鏈技術(shù)的特點和挑戰(zhàn)。其中,李芳等人從跨鏈技術(shù)的原理與實現(xiàn)思路出發(fā),分析跨鏈技術(shù)的安全風(fēng)險;徐卓嫣等人從跨鏈技術(shù)的主要挑戰(zhàn)出發(fā),對比主流跨鏈解決方案;路愛同等人從跨鏈技術(shù)難點出發(fā)對主流跨鏈技術(shù)進(jìn)行分析。以上學(xué)者著重關(guān)注跨鏈技術(shù),較少關(guān)注跨鏈協(xié)議。在區(qū)塊鏈跨鏈領(lǐng)域中,跨鏈技術(shù)提供了技術(shù)解決思路,而跨鏈協(xié)議則是具體的設(shè)計規(guī)范,設(shè)計實現(xiàn)跨鏈互操作的同時對安全性、可擴(kuò)展性、隱私性等方面進(jìn)行設(shè)計,為跨鏈應(yīng)用提供解決方案。因此跨鏈協(xié)議是實現(xiàn)區(qū)塊鏈跨鏈互操作和構(gòu)造跨鏈應(yīng)用的關(guān)鍵和基礎(chǔ)。隨著區(qū)塊鏈跨鏈領(lǐng)域向著跨鏈應(yīng)用方向不斷發(fā)展,有必要對跨鏈協(xié)議的最新研究成果進(jìn)行全面的總結(jié)與分析。

1 鏈聯(lián)網(wǎng)與跨鏈

1.1 鏈聯(lián)網(wǎng)定義

隨著區(qū)塊鏈技術(shù)的蓬勃發(fā)展,從公有鏈到聯(lián)盟鏈,從數(shù)字貨幣到產(chǎn)業(yè)應(yīng)用,區(qū)塊鏈應(yīng)用領(lǐng)域不斷擴(kuò)大,區(qū)塊鏈技術(shù)走向生產(chǎn)實踐,鏈與鏈之間的應(yīng)用與數(shù)據(jù)的互聯(lián)互通需求成為區(qū)塊鏈發(fā)展道路上迫切需要解決的難題。2018 年,Vo 等人首次提出鏈聯(lián)網(wǎng)的概念,并設(shè)想鏈聯(lián)網(wǎng)未來的發(fā)展方向。鏈聯(lián)網(wǎng)(Internet of blockchains,IoB)指同構(gòu)或異構(gòu)區(qū)塊鏈之間形成一個互相通信的去中心化網(wǎng)絡(luò),以促進(jìn)價值、數(shù)據(jù)和狀態(tài)轉(zhuǎn)換的跨鏈交易。從技術(shù)角度看,鏈聯(lián)網(wǎng)的實現(xiàn)涉及跨鏈技術(shù)、智能合約、區(qū)塊鏈預(yù)言機(jī)等技術(shù)。從應(yīng)用角度看,鏈聯(lián)網(wǎng)旨在實現(xiàn)不同鏈的價值、數(shù)據(jù)和功能互通,進(jìn)而實現(xiàn)跨鏈應(yīng)用,推動區(qū)塊鏈技術(shù)的進(jìn)一步發(fā)展。從網(wǎng)絡(luò)空間安全角度看,鏈聯(lián)網(wǎng)涉及去中心化區(qū)塊鏈網(wǎng)絡(luò)中的數(shù)據(jù)可信驗證、數(shù)據(jù)隱私保密等核心安全性要求。

1.2 跨鏈技術(shù)

目前,已有公證人機(jī)制(notary scheme)、哈希鎖定(hash-locking)、側(cè)鏈(sidechain)、中繼(relay)和分布式私鑰控制(distributed private key control)這五種主流跨鏈技術(shù),在不同程度上解決了跨鏈互操作問題,為實現(xiàn)跨鏈提供了技術(shù)方案。

公證人機(jī)制通過引入第三方來驗證交易信息是否一致、合法,無需對交易的細(xì)節(jié)進(jìn)行驗證。其優(yōu)點是實現(xiàn)原理簡單且無需復(fù)雜工作量證明,缺點是有中心化風(fēng)險。公證人機(jī)制主要包括三種類型:單簽公證人、多重簽名公證人、分布式簽名公證人。單簽公證人又稱中心化公證人機(jī)制,其通過單一的獨立節(jié)點或機(jī)構(gòu)充當(dāng)公證人角色。多重簽名公證人通過多個公證人進(jìn)行簽名的方式提高公證人機(jī)制的安全性。分布式簽名公證人采用多方計算(multi-party computation,MPC)實現(xiàn)安全性。

哈希鎖定機(jī)制又稱為哈希時間鎖定協(xié)議(hashedtimelock agreements,HTLA),是一種基于原子交換的跨鏈機(jī)制,其通過資產(chǎn)鎖定并設(shè)置相應(yīng)的時間和解鎖條件來實現(xiàn)資產(chǎn)交換,并實現(xiàn)原子性。優(yōu)點是安全性高,缺點是使用場景有限。哈希鎖定機(jī)制只支持資產(chǎn)或者信息交換,而不支持資產(chǎn)或者信息轉(zhuǎn)移。

側(cè)鏈又稱為錨定側(cè)鏈(pegged sidechains),是一種通過雙向掛鉤(two-way peg)實現(xiàn)在不同區(qū)塊鏈之間轉(zhuǎn)移資產(chǎn)或數(shù)據(jù)信息的跨鏈技術(shù)。其中,雙向掛鉤是側(cè)鏈機(jī)制實現(xiàn)的核心。側(cè)鏈的缺點在于網(wǎng)絡(luò)和資產(chǎn)的復(fù)雜度增加,新攻擊媒介的產(chǎn)生和中心化挖礦的風(fēng)險。

中繼機(jī)制不完全依賴于可信第三方的驗證判斷,僅通過中間人收集不同鏈的數(shù)據(jù)狀態(tài)進(jìn)行自我驗證。在中繼機(jī)制中,平行鏈通過遵守協(xié)議規(guī)范與中繼鏈連接,當(dāng)平行鏈需要發(fā)起跨鏈操作時,平行鏈需要將跨鏈互操作的交易信息通過中繼鏈的驗證者審核后發(fā)布到中繼鏈上,由中繼鏈傳遞信息到目標(biāo)平行鏈上實現(xiàn)跨鏈互操作。

側(cè)鏈機(jī)制和中繼機(jī)制的優(yōu)點在于擴(kuò)展性、安全性有一定保證,且使用場景廣泛,而缺點是側(cè)鏈實現(xiàn)難度較大。側(cè)鏈機(jī)制和中繼機(jī)制的區(qū)別在于:中繼通過中間鏈的方式實現(xiàn)不同鏈之間數(shù)據(jù)狀態(tài)的驗證,而側(cè)鏈?zhǔn)峭ㄟ^雙向錨定實現(xiàn)性能拓展的解決方案。

分布式私鑰控制是使用分布式私鑰的生成與控制來實現(xiàn)將多種不同區(qū)塊鏈的數(shù)字資產(chǎn)映射到一條新的區(qū)塊鏈上,并在這條新的區(qū)塊鏈上實現(xiàn)不同鏈之間的數(shù)字資產(chǎn)交換。分布式私鑰控制技術(shù)基于分布式的密鑰分發(fā)機(jī)制,類似分布式簽名公證人,但其進(jìn)一步避免中心化風(fēng)險。分布式私鑰控制技術(shù)目前的使用場景有限,只應(yīng)用于數(shù)字資產(chǎn)領(lǐng)域。

對主流跨鏈技術(shù)的分析與比較如表1 所示。從對比結(jié)果看:在安全性方面,目前主流跨鏈技術(shù)的安全性有待進(jìn)一步加強;在應(yīng)用場景方面,哈希鎖定的應(yīng)用場景比較有限,僅僅支持實現(xiàn)資產(chǎn)的跨鏈交換??傊?,目前同一應(yīng)用場景下可采用多種跨鏈技術(shù),此時需要將跨鏈技術(shù)的原理與應(yīng)用背景結(jié)合,選擇最合適的跨鏈技術(shù)去解決實際應(yīng)用問題。

表1 跨鏈技術(shù)對比分析Table 1 Comparison and analysis between cross-chain technology

1.3 區(qū)塊鏈互操作性

一般來說,互操作性指不同系統(tǒng)和組織機(jī)構(gòu)之間協(xié)同工作的能力。在計算機(jī)科學(xué)領(lǐng)域,是指不同的計算機(jī)系統(tǒng)、網(wǎng)絡(luò)、操作系統(tǒng)和應(yīng)用程序一起工作并共享信息的能力。Wegner指出互操作性是不同語言、接口和執(zhí)行平臺的軟件組件之間的合作能力。Vernadat認(rèn)為企業(yè)系統(tǒng)之間的互操作性為衡量軟件、流程、系統(tǒng)、業(yè)務(wù)單元這些實體之間的互操作能力,關(guān)鍵是如何促進(jìn)這些實體的溝通、合作和協(xié)調(diào)。區(qū)塊鏈互操作性主要是指不同區(qū)塊鏈之間通過跨鏈技術(shù)手段實現(xiàn)互聯(lián)互通。

關(guān)于區(qū)塊鏈互操作性,不同學(xué)者進(jìn)行了總結(jié)歸納。Koens 等人概括將區(qū)塊鏈互操作性分為三類:第一類是區(qū)塊鏈系統(tǒng)與現(xiàn)存系統(tǒng)的互操作性;第二類是不同區(qū)塊鏈間的互操作性;第三類是單獨的區(qū)塊鏈上不同智能合約之間的互操作性。以上概括缺少對區(qū)塊鏈互操作性實際功能的關(guān)注。Buterin認(rèn)為區(qū)域鏈互操作性是兩個區(qū)塊鏈之間通過引入第三方,并在不改變原生鏈的情況下進(jìn)行跨鏈的資產(chǎn)轉(zhuǎn)移、支付或者信息交互的能力。Jin等提出區(qū)塊鏈互操作性是從一條區(qū)塊鏈到另一條區(qū)塊鏈的有效通信和直接信息交換的特性,同時保留了每個區(qū)塊鏈的本質(zhì),包括不可逆性和可追溯性。Abebe等將區(qū)塊鏈互操作性定義為不同分布式賬本之間的語義依賴,目的是傳輸或交換數(shù)據(jù)或價值,并保證有效性或可驗證性。對區(qū)塊鏈互操作性的觀點總結(jié)如表2所示。

表2 跨鏈互操作性概念對比Table 2 Concept comparison between cross-chain interoperability

根據(jù)對以上區(qū)塊鏈互操作性概念的分析和總結(jié),認(rèn)為區(qū)塊鏈互操作性,又稱跨鏈互操作性,主要表現(xiàn)為數(shù)據(jù)互通、價值互通與功能互通。數(shù)據(jù)互通關(guān)注不同區(qū)塊鏈之間的跨鏈數(shù)據(jù)訪問與跨鏈數(shù)據(jù)傳遞。價值互通關(guān)注不同區(qū)塊鏈之間的跨鏈資產(chǎn)互換與跨鏈資產(chǎn)轉(zhuǎn)移。功能互通旨在實現(xiàn)不同區(qū)塊鏈之間功能融合,如實現(xiàn)跨鏈調(diào)用智能合約。因此跨鏈協(xié)議主要包含跨鏈通信協(xié)議、跨鏈資產(chǎn)交易協(xié)議和跨鏈智能合約調(diào)用協(xié)議。跨鏈協(xié)議是實現(xiàn)鏈聯(lián)網(wǎng)和區(qū)塊鏈跨鏈互操作的關(guān)鍵和基礎(chǔ)。其中,跨鏈通信協(xié)議實現(xiàn)數(shù)據(jù)互通,跨鏈資產(chǎn)交易協(xié)議實現(xiàn)價值互通,跨鏈智能合約調(diào)用協(xié)議實現(xiàn)功能互通。區(qū)塊鏈互操作性如圖1。

圖1 區(qū)塊鏈互操作性Fig.1 Blockchain interoperability

2 跨鏈協(xié)議

跨鏈協(xié)議依托于跨鏈技術(shù),通過定義一系列通信數(shù)據(jù)格式、協(xié)議規(guī)范、共識協(xié)議等,實現(xiàn)區(qū)塊鏈跨鏈互操作。Zamyatin 等人定義跨鏈通信協(xié)議的有效性、原子性和及時性等概念,介紹基于跨鏈通信協(xié)議實現(xiàn)跨鏈通信。Belchior 等人定義跨鏈通信協(xié)議為實現(xiàn)同構(gòu)區(qū)塊鏈或異構(gòu)區(qū)塊鏈間的通信交互,并達(dá)成跨鏈?zhǔn)聞?wù)同步的過程。自基于哈希鎖定的原子交換技術(shù)應(yīng)用于區(qū)塊鏈實現(xiàn)跨鏈數(shù)字資產(chǎn)交換后,學(xué)術(shù)界開始基于原子交換、側(cè)鏈、中繼等跨鏈技術(shù)設(shè)計跨鏈資產(chǎn)交換協(xié)議以實現(xiàn)跨鏈資產(chǎn)互換。Schulte等人指出為解決鏈上數(shù)字資產(chǎn)只能在原鏈上使用的局限性問題,需設(shè)計跨鏈資產(chǎn)轉(zhuǎn)移協(xié)議,從而建立在不同區(qū)塊鏈上轉(zhuǎn)移數(shù)字資產(chǎn)的方法。其中,跨鏈資產(chǎn)交換協(xié)議和跨鏈資產(chǎn)轉(zhuǎn)移協(xié)議兩者對象都是鏈上的數(shù)字資產(chǎn),因此將兩者總結(jié)歸納為跨鏈資產(chǎn)交易協(xié)議。Nissl 等人提出跨鏈智能合約調(diào)用的概念,強調(diào)通過實現(xiàn)跨區(qū)塊鏈的智能合約調(diào)用,進(jìn)而實現(xiàn)跨區(qū)塊鏈的互操作性,引出跨鏈智能合約調(diào)用協(xié)議。綜合上述研究,可將跨鏈協(xié)議總結(jié)為跨鏈通信協(xié)議、跨鏈資產(chǎn)交易協(xié)議和跨鏈智能合約調(diào)用協(xié)議三類。具體而言,跨鏈通信協(xié)議通過跨鏈數(shù)據(jù)通信實現(xiàn)數(shù)據(jù)互通,跨鏈資產(chǎn)交易協(xié)議通過跨鏈資產(chǎn)交易實現(xiàn)價值互通??珂溨悄芎霞s調(diào)用協(xié)議通過跨鏈智能合約調(diào)用實現(xiàn)功能互通。

2.1 跨鏈通信協(xié)議

跨鏈通信協(xié)議通過傳輸、讀取和驗證其他鏈或鏈外的狀態(tài)或事件,實現(xiàn)數(shù)據(jù)的傳遞與訪問。當(dāng)前主要的跨鏈通信協(xié)議有IBC(interblockchain communication protocol)、MBCCP(multi-blockchain consociation and communication protocol)、XCMP(cross-chain message passing)和IBTP(interblockchain transfer protocol)。

IBC 協(xié)議由Goes 提出,應(yīng)用于Cosmos 平臺,是一種端到端、面向連接、有狀態(tài)的協(xié)議,具備消息驗證、多路復(fù)用、超時處理等功能。IBC 協(xié)議實現(xiàn)基于中繼的跨鏈通信,由客戶端、連接、通道、中繼器組成。客戶端負(fù)責(zé)驗證跨鏈交易的輕客戶端,確保執(zhí)行交易的有效性和合法性。連接是基于輕客戶端建立握手連接,通過發(fā)送和接收特定數(shù)據(jù)包的形式判斷連接是否成功。通道基于應(yīng)用層實現(xiàn)數(shù)據(jù)包傳輸,實現(xiàn)跨鏈交易的有序性,并確保數(shù)據(jù)包只發(fā)送一次,通過一個連接與多個通道匹配的方式來提供多路復(fù)用功能。中繼器負(fù)責(zé)在運行IBC 協(xié)議的多個分布式賬本系統(tǒng)之間傳遞數(shù)據(jù)。在安全性方面,應(yīng)用共識算法的最終性(finality)來防止雙花。Tendermint和PBFT(practical Byzantine fault tolerance)類共識算法滿足Cosmos的最終性要求,而PoW(proof of work)、PoS(proof of stake)、DPoS(delegated proof of stake)類的概率共識算法提供概率最終性,需要應(yīng)用層選擇安全閾值。

MBCCP 協(xié)議由She 等人提出,應(yīng)用于跨鏈通道匹配模型。該協(xié)議原理如圖2 所示。MBCCP 協(xié)議通過在不同區(qū)塊鏈間創(chuàng)建對等節(jié)點匹配通道實現(xiàn)可信跨鏈信息傳輸,應(yīng)用PM 共識機(jī)制實現(xiàn)參與鏈的節(jié)點管理和匹配問題。其跨鏈通信過程如下:首先由錨定中繼鏈錨定參與鏈的主節(jié)點并創(chuàng)建相應(yīng)的映射節(jié)點,同步原鏈的相關(guān)信息并提交給order 節(jié)點。然后order 節(jié)點選取參與鏈上的節(jié)點,并將節(jié)點信息廣播給所有order 節(jié)點,當(dāng)某個節(jié)點收取到(3+1)/4 個相同信息時達(dá)成共識并向其他所有節(jié)點廣播,從而將該共識信息記錄入?yún)^(qū)塊鏈。order 節(jié)點將選取的節(jié)點通過映射節(jié)點廣播給所有參與鏈上的節(jié)點。最后PM 共識機(jī)制完成,觸發(fā)智能合約創(chuàng)建對等節(jié)點匹配通道,并將通過PM 共識機(jī)制選取的節(jié)點加入到通道中,通過該通道完成跨鏈數(shù)據(jù)交換。

圖2 MBCCP 協(xié)議Fig.2 MBCCP protocol

XCMP 協(xié)議由Burdges 等人提出,應(yīng)用于Polkadot 平臺,實現(xiàn)平行鏈之間的信息傳輸。XCMP允許雙向通信的消息傳遞通道在平行鏈間傳遞數(shù)據(jù)。XCMP 協(xié)議具備快速、有序性、可驗證性、一致性、可用性和安全性。在有序性方面,通過輸入/輸出驗證可確??珂溳敵龅南⒈3终_的順序。在可驗證性方面,應(yīng)用中繼鏈狀態(tài)來驗證消息的來源與處理。中繼鏈狀態(tài)用平行鏈塊頭信息為平行鏈之間的區(qū)塊提供了時間同步,進(jìn)而在中繼鏈中對發(fā)送的消息進(jìn)行驗證。在一致性方面,即使發(fā)生了鏈重組,接收到的消息也不會改變。在可用性方面,通過可用于重構(gòu)消息的糾刪碼實現(xiàn)。在安全性方面,應(yīng)用中繼鏈實現(xiàn)共享安全性,另外基于SPREE(shared protected runtime execution enclaves)確保消息傳遞的正確性和可用性。

IBTP 協(xié)議由Wang 等人提出,應(yīng)用于BitXHub平臺。IBTP 協(xié)議以中繼鏈作為跨鏈交易的合法性驗證和交易路由平臺,支持無狀態(tài)的跨鏈消息轉(zhuǎn)發(fā),應(yīng)用跨鏈網(wǎng)關(guān)實現(xiàn)多層級的跨鏈消息路由,構(gòu)建高可擴(kuò)展的、兼容性良好的區(qū)塊鏈價值網(wǎng)絡(luò)。IBTP 協(xié)議通過數(shù)據(jù)包進(jìn)行消息傳遞,規(guī)定了跨鏈消息的主要數(shù)據(jù)字段,旨在提供統(tǒng)一的跨鏈交易傳輸、路由和驗證格式,保證跨鏈交易的有序性和跨鏈數(shù)據(jù)的可信驗證,通過特殊序列化規(guī)則、DH(Diffie-Hellman)秘鑰協(xié)商、隱私交易三種方法保護(hù)數(shù)據(jù)隱私。

此外,Wu 等人提出一種公平且有效的周期性委員會輪換協(xié)議,結(jié)合公證人機(jī)制和中繼機(jī)制,提出中繼委員會機(jī)制,實現(xiàn)跨異構(gòu)區(qū)塊鏈的數(shù)據(jù)訪問機(jī)制。Luo 等人基于三階段事務(wù)提交協(xié)議提出支持原子性和一致性的跨鏈通信協(xié)議,規(guī)定路由消息的格式與消息傳輸流程,并設(shè)計了執(zhí)行失敗時的回滾操作和重傳協(xié)議??挡┖热嗽贚uo 等人工作基礎(chǔ)上,提出適用于智能服務(wù)交易的跨鏈通信服務(wù)協(xié)議,在滿足三階段事務(wù)提交協(xié)議的基礎(chǔ)上支持原子性和一致性。

對典型跨鏈通信協(xié)議的跨鏈技術(shù)、可驗證性、安全性、隱私性、可擴(kuò)展性、跨鏈類型和局限性對比分析如表3 所示。關(guān)于可驗證性,大部分跨鏈通信協(xié)議基于現(xiàn)有的公證人機(jī)制或默克爾證明的SPV(simplified payment verification)驗證機(jī)制實現(xiàn)數(shù)據(jù)驗證,在一定程度上確保數(shù)據(jù)的真實性。關(guān)于安全性,現(xiàn)有跨鏈通信協(xié)議通過設(shè)計基于三階段提交協(xié)議的分布式事務(wù)機(jī)制、基于交易日志的崩潰恢復(fù)機(jī)制、交易超時重傳機(jī)制等確保跨鏈交易的安全性,但是未考慮到數(shù)據(jù)通信過程中對數(shù)據(jù)安全性的保護(hù),比如如何確保數(shù)據(jù)的保密性。關(guān)于隱私性,現(xiàn)有的大部分跨鏈通信協(xié)議未考慮到數(shù)據(jù)通信過程中的隱私性,缺少對用戶數(shù)據(jù)和交易數(shù)據(jù)的隱私保護(hù)。關(guān)于可擴(kuò)展性,基于中繼的跨鏈通信協(xié)議盡管可擴(kuò)展性較高,但是依然存在部分跨鏈通信協(xié)議實現(xiàn)跨異構(gòu)鏈通信的難度較大。

表3 跨鏈通信協(xié)議對比分析Table 3 Comparison and analysis between cross-chain communication protocols

2.2 跨鏈資產(chǎn)交易協(xié)議

跨鏈資產(chǎn)互操作包含跨鏈資產(chǎn)轉(zhuǎn)移和跨鏈資產(chǎn)交換??珂溬Y產(chǎn)交換(cross-chain asset swap)又名原子交換(atomic swap),是具備原子性和一致性的跨鏈交易,本質(zhì)上是資產(chǎn)在各自區(qū)塊鏈上的流動。如Alice 和Bob 在以太坊和比特幣上都有賬戶,Alice 想用20 個以太幣換取Bob 的1 個比特幣,Alice 需要先將自己賬戶的20 個以太幣轉(zhuǎn)賬給Bob 在以太坊上的賬戶,Bob 在收到付款后,將自己在比特幣賬戶上的1個比特幣轉(zhuǎn)給Alice 在比特幣上的賬戶??珂溬Y產(chǎn)轉(zhuǎn)移(cross-chain asset transfers)支持不同鏈之間的資產(chǎn)轉(zhuǎn)移且支持原子性和去中心化一致性,其本質(zhì)上是資產(chǎn)在一個區(qū)塊鏈上的凍結(jié)(銷毀)和在另一個區(qū)塊鏈上的解凍(創(chuàng)建)。如Alice 與Bob 分別在比特幣和以太坊上擁有賬戶,Alice 想將自己的1 個比特幣轉(zhuǎn)移給Bob,Alice 需要先將她的比特幣轉(zhuǎn)移到一個特殊的地址進(jìn)行凍結(jié),然后在以太坊中發(fā)行(或解凍)20 個以太幣給Bob 的賬戶(假設(shè)以太坊和比特幣之間的匯率為20)。Herlihy 等人將跨鏈資產(chǎn)交換和跨鏈資產(chǎn)轉(zhuǎn)移共同構(gòu)成的跨鏈資產(chǎn)互操作總結(jié)為一種計算抽象,其反映標(biāo)準(zhǔn)商業(yè)實踐活動中的商業(yè)互動,執(zhí)行復(fù)雜的分布式狀態(tài)變化??珂溬Y產(chǎn)交換協(xié)議和跨鏈資產(chǎn)轉(zhuǎn)移協(xié)議兩者都具備原子性和一致性,其區(qū)別在于單次資產(chǎn)操作的方向性不同,跨鏈資產(chǎn)交換的單次操作具備雙向性,即資產(chǎn)能從每一方轉(zhuǎn)移到另一方,而跨鏈資產(chǎn)轉(zhuǎn)移的單次操作具備單向性,即資產(chǎn)只能從一方轉(zhuǎn)移到另一方。

跨鏈資產(chǎn)交換分為中心化的和去中心化的跨鏈資產(chǎn)交換。中心化的跨鏈資產(chǎn)交換有Coinbase、Binance 等,交易費用較高,交易活動缺乏公開的可核查性,容易導(dǎo)致虛假交易量和受到黑客的攻擊。去中心化的跨鏈資產(chǎn)交換支持不同類型的數(shù)字資產(chǎn)的交換。目前去中心化的跨鏈資產(chǎn)交換是跨鏈資產(chǎn)交換協(xié)議的主流研究方向?;诠fi定技術(shù)、側(cè)鏈機(jī)制、中繼機(jī)制等主流跨鏈技術(shù),出現(xiàn)了XCLAIM、NCASP(novel hash-time-lock-contract based cross-chain token swap mechanism)、ACWN(atomic cross chain commitment witness network)、3PP(three-phase protocol)、Relay Swap等實現(xiàn)去中心化跨鏈資產(chǎn)交換的跨鏈資產(chǎn)交換協(xié)議。

XCLAIM 協(xié)議由Zamyatin 等人提出,通過發(fā)行資產(chǎn)代幣的方式在現(xiàn)有區(qū)塊鏈上實現(xiàn)跨鏈資產(chǎn)交易。XCLAIM 協(xié)議由支持區(qū)塊鏈、發(fā)行區(qū)塊鏈、保險庫和智能合約組成。其中,支持區(qū)塊鏈?zhǔn)乾F(xiàn)有區(qū)塊鏈,比如比特幣等。發(fā)行區(qū)塊鏈?zhǔn)腔谥С謪^(qū)塊鏈發(fā)行資產(chǎn)代幣的區(qū)塊鏈,比如以太坊等。保險庫是一個不可信的第三方中介,負(fù)責(zé)完成資產(chǎn)的鎖定與贖回。智能合約負(fù)責(zé)對資產(chǎn)進(jìn)行鎖定和釋放操作的驗證。XCLAIM 協(xié)議流程如圖3 所示。XCLAIM 協(xié)議由發(fā)布階段、轉(zhuǎn)移/交換階段和贖回三個階段組成。在發(fā)布階段中,用戶將發(fā)行區(qū)塊鏈上的資產(chǎn)與保險庫鎖定,然后基于智能合約驗證鎖定并在發(fā)行區(qū)塊鏈上發(fā)布資產(chǎn)代幣。在轉(zhuǎn)移/交換階段中,發(fā)送方和接收方在發(fā)行區(qū)塊鏈上基于智能合約實現(xiàn)資產(chǎn)鎖定,進(jìn)而實現(xiàn)具備原子性的資產(chǎn)代幣的轉(zhuǎn)移與交換。在贖回階段中,用戶用支持區(qū)塊鏈上的資產(chǎn)代幣贖回發(fā)行區(qū)塊鏈上對應(yīng)的資產(chǎn)。

圖3 XCLAIM 協(xié)議Fig.3 XCLAIM protocol

NCASP 協(xié)議由劉峰等人提出,基于中間賬戶進(jìn)行資產(chǎn)托管和轉(zhuǎn)移的方式改進(jìn)哈希時間鎖,使得在原有跨鏈交易速率不變的同時,保證了交易的安全性。引入賬戶體系并融合智能合約技術(shù),實現(xiàn)了在以太坊和Fabric 聯(lián)盟鏈網(wǎng)絡(luò)之間的安全無縫資產(chǎn)交換,無需第三方區(qū)塊鏈介入即可實現(xiàn)高效安全的跨鏈資產(chǎn)交換,保證跨鏈資產(chǎn)交換的原子性、公平性和透明性。

ACWN由Zakhary 等人提出,基于去中心化的公證人網(wǎng)絡(luò),通過側(cè)鏈上的智能合約對跨鏈資產(chǎn)交換的交易狀態(tài)進(jìn)行控制,實現(xiàn)去中心化原子跨鏈交換,確保實現(xiàn)原子交換的原子性和最終承諾性。公證人網(wǎng)絡(luò)本質(zhì)上相當(dāng)于已有區(qū)塊鏈的側(cè)鏈。ACWN本質(zhì)上依然采用了原子交換技術(shù),因此也存在和原子交換技術(shù)一樣的通信通道攻擊問題,另外由于公證人網(wǎng)絡(luò)側(cè)鏈,提高了協(xié)議的復(fù)雜性,降低了性能。

3PP 協(xié)議由Shadab 等人提出,支持通用多方跨鏈資產(chǎn)交易。3PP 協(xié)議用端到端屬性確保協(xié)議的一致性,實現(xiàn)發(fā)送方轉(zhuǎn)移資金的同時接收方接收資金。3PP 協(xié)議支持多方跨鏈資產(chǎn)交易的轉(zhuǎn)換,將原始的多方跨鏈交易轉(zhuǎn)換為雙方跨鏈交易,利用哈希鎖定機(jī)制在雙方之間發(fā)起資產(chǎn)交換。

Relay Swap 協(xié)議由Lys 等人提出,基于區(qū)塊鏈適配器提出中繼交換思路,實現(xiàn)去中心化原子跨鏈,移除ACWN 方法中使用的公證人網(wǎng)絡(luò)側(cè)鏈,進(jìn)一步改進(jìn)基于哈希鎖定機(jī)制的原子交換技術(shù)。

此外,Tian 等人實現(xiàn)一種去中心化的資產(chǎn)交易協(xié)議,實現(xiàn)不同類型資產(chǎn)之間的交換,并基于智能合約實現(xiàn)多對用戶并行處理跨鏈資產(chǎn)互換的方式,提高了跨鏈資產(chǎn)交換的性能。張詩童等人提出一種多方跨鏈協(xié)議,基于哈希鎖定實現(xiàn)多方多鏈資產(chǎn)轉(zhuǎn)移結(jié)算,但缺乏對資產(chǎn)互換過程中安全性的關(guān)注。Cao 等人基于零知識證明和哈希鎖定技術(shù)提出一種資產(chǎn)互換匿名方案,實現(xiàn)交易雙方之間匿名交換智能合約地址,實現(xiàn)對跨鏈資產(chǎn)交易過程中雙方交易隱私的保護(hù)。

對以上跨鏈資產(chǎn)交換協(xié)議從跨鏈技術(shù)、安全性、原子性、隱私性、可擴(kuò)展性、跨鏈類型及局限性進(jìn)行對比分析,見表4。

表4 跨鏈資產(chǎn)互換協(xié)議對比分析Table 4 Comparison and analysis between cross-chain asset swap protocols

跨鏈資產(chǎn)轉(zhuǎn)移協(xié)議主要有DeXTT(deterministic cross-blockchain token transfers)協(xié)議、ILP(Interledger protocol)協(xié)議、Zendoo 協(xié)議、SuSy 協(xié)議、AUGP(atomic unidirectional gateway protocol)協(xié)議等。

DeXTT協(xié)議由Borkowski 等人提出,通過claim-first transactions 和deterministic witnesses 確保了資產(chǎn)余額的最終確定性。首先,發(fā)送者將資產(chǎn)轉(zhuǎn)移信息提供給接受者,資產(chǎn)轉(zhuǎn)移信息包括發(fā)送方、接收方、發(fā)送數(shù)量和有效期等。然后,接受者給一個區(qū)塊鏈發(fā)起Claim 交易,記錄資產(chǎn)轉(zhuǎn)移信息。當(dāng)公證人候選者們觀察到Claim 交易發(fā)起后,向所有區(qū)塊鏈發(fā)起無序的Contest交易。Contest交易向所有區(qū)塊鏈廣播經(jīng)過公證人候選者簽名后的資產(chǎn)轉(zhuǎn)移信息,于是每條區(qū)塊鏈中將保存所有公證人競爭者的名單和資產(chǎn)轉(zhuǎn)移信息。當(dāng)有效期結(jié)束后,接受者發(fā)起Finalize交易,最后完成轉(zhuǎn)賬交易,并確定性地將獎勵分配給在Contest交易中獲勝的公證人。

ILP 協(xié)議,又名Interledger 協(xié)議,由Ripple 公司提出,類似HTTP 協(xié)議。Interledger 協(xié)議中資產(chǎn)轉(zhuǎn)移是從發(fā)送方到接收方的一系列托管傳輸,利用連接者(connector)連接跨鏈交易的發(fā)送者和接收者,在最終接受者收到資金前,協(xié)議對各方的資金進(jìn)行托管鎖定。該協(xié)議包括原子模式和通用模式這兩種模式。在原子模式下,轉(zhuǎn)賬由參與者選擇的一個特別公證人小組進(jìn)行協(xié)調(diào)。在通用模式下,沒有外部協(xié)調(diào),而是通過有限的執(zhí)行窗口、參與者激勵和“反向”執(zhí)行順序使得各方之間能夠安全支付,而無需共享對任何系統(tǒng)或機(jī)構(gòu)的信任。

Zendoo 協(xié)議由Garoffolo 等人提出,基于側(cè)鏈和zk-SNARK 零知識協(xié)議來構(gòu)造去中心化和可驗證的跨鏈資產(chǎn)轉(zhuǎn)移協(xié)議,實現(xiàn)資產(chǎn)在主鏈和側(cè)鏈之間的雙向轉(zhuǎn)移操作。Zendoo 的跨鏈轉(zhuǎn)移協(xié)議將主鏈與從主鏈派生的所有側(cè)鏈連接起來,允許將貨幣發(fā)送到側(cè)鏈并以安全可靠的方式接收它們,且是一個雙向協(xié)議,定義了正向轉(zhuǎn)移(forward transfer,F(xiàn)T)和反向轉(zhuǎn)移(backward transfer,BT)兩個基本操作。zk-SNARK 允許在不泄露某些信息的情況下證明擁有這些信息,Zendoo 中基于zk-SNARK 為主鏈實現(xiàn)有效轉(zhuǎn)移驗證。

SuSy 協(xié)議由Pupyshev 等人提出,基于Gravity協(xié)議和智能合約實現(xiàn)異構(gòu)跨鏈資產(chǎn)轉(zhuǎn)移。其中,Gravity 協(xié)議是一種去中心化預(yù)言機(jī)協(xié)議,用于搭建去中心化的預(yù)言機(jī)系統(tǒng)。SuSy 協(xié)議在源鏈和目標(biāo)鏈上部署智能合約,與資產(chǎn)轉(zhuǎn)移的發(fā)送者和接收者交互,并基于Gravity 協(xié)議的預(yù)言機(jī)網(wǎng)絡(luò)在源鏈和目標(biāo)鏈中建立中繼,實現(xiàn)對資產(chǎn)轉(zhuǎn)移的驗證。SuSy 協(xié)議的跨鏈資產(chǎn)轉(zhuǎn)移高度依賴預(yù)言機(jī)網(wǎng)絡(luò)的安全性,若預(yù)言機(jī)網(wǎng)絡(luò)遭受嚴(yán)重攻擊,則SuSy 協(xié)議的安全性將無法保障。

此外,Hardjono 提出AUGP 協(xié)議,基于區(qū)塊鏈網(wǎng)關(guān)建立安全的通信通道實現(xiàn)具備原子性和一致性的單向跨鏈資產(chǎn)轉(zhuǎn)移。其中,區(qū)塊鏈網(wǎng)關(guān)指區(qū)塊鏈中的一個節(jié)點,擁有對區(qū)塊鏈賬本的數(shù)據(jù)讀寫權(quán)限,可能參與區(qū)塊鏈的共識機(jī)制,在跨鏈過程中定義跨鏈通信格式,實現(xiàn)跨鏈資產(chǎn)轉(zhuǎn)移后的賬本一致性。該協(xié)議基于網(wǎng)關(guān)標(biāo)識公鑰私鑰對的身份密鑰機(jī)制,在跨鏈資產(chǎn)轉(zhuǎn)移過程中實現(xiàn)對網(wǎng)關(guān)身份的驗證。另外,該協(xié)議基于網(wǎng)關(guān)對區(qū)塊鏈賬本的數(shù)據(jù)讀寫權(quán)限實現(xiàn)對跨鏈資產(chǎn)轉(zhuǎn)移過程中的資產(chǎn)驗證和狀態(tài)驗證。Sigwart 等人提出Sigwart 協(xié)議,定義用于實現(xiàn)去中心化、安全的異構(gòu)跨鏈資產(chǎn)轉(zhuǎn)移協(xié)議的協(xié)議規(guī)范。該協(xié)議基于智能合約技術(shù)實現(xiàn)資產(chǎn)轉(zhuǎn)移聲明,并通過激勵機(jī)制實現(xiàn)資產(chǎn)轉(zhuǎn)移的最終確認(rèn)。Pillai 等人提出Burn-to-Claim 協(xié)議,實現(xiàn)去中心化的跨鏈資產(chǎn)轉(zhuǎn)移。該協(xié)議基于哈希鎖和時間鎖對資產(chǎn)轉(zhuǎn)移條件進(jìn)行驗證,從而確保資產(chǎn)的安全性,提出跨鏈資產(chǎn)轉(zhuǎn)移交易應(yīng)由exit 交易和entry 交易組成。其中,exit交易在源鏈中鎖定資產(chǎn),并在源鏈中充當(dāng)資產(chǎn)轉(zhuǎn)移證明,entry 交易負(fù)責(zé)在目標(biāo)鏈上驗證轉(zhuǎn)移證明的有效性,以便在目標(biāo)鏈中重新創(chuàng)建資產(chǎn)。

對以上跨鏈資產(chǎn)轉(zhuǎn)移協(xié)議從跨鏈技術(shù)、安全性、原子性、隱私性、可擴(kuò)展性、跨鏈類型及局限性這些方面進(jìn)行對比分析,具體結(jié)果見表5。

表5 跨鏈資產(chǎn)轉(zhuǎn)移協(xié)議對比分析Table 5 Comparison and analysis between cross-chain asset transfer protocols

2.3 跨鏈智能合約調(diào)用協(xié)議

跨鏈智能合約(cross-chain contracts)主要目的是對原鏈交易進(jìn)行確認(rèn)和交易,與跨鏈資產(chǎn)轉(zhuǎn)移非常類似。此外,跨鏈智能合約還支持跨區(qū)塊鏈調(diào)用智能合約。借助跨鏈智能合約,能實現(xiàn)區(qū)塊鏈資產(chǎn)留置。資產(chǎn)留置是一種區(qū)塊鏈鎖定資產(chǎn)的能力,鎖定鏈上的資產(chǎn),并使鎖定條件取決于鏈上的活動。在跨鏈智能合約調(diào)用過程中,解決異構(gòu)區(qū)塊鏈智能合約接口不一致問題,統(tǒng)一智能合約的運行時環(huán)境和編程語言是實現(xiàn)跨鏈智能合約調(diào)用的兩大難點。目前,為實現(xiàn)跨鏈智能合約調(diào)用,學(xué)術(shù)界相繼提出Move協(xié)議、UIP(universal inter-blockchain protocol)、SCIP(smart contract invocation protocol)、GPACT(general purpose atomic crosschain transactions)等跨鏈智能合約調(diào)用協(xié)議。

Markus 等人首先引入跨鏈智能合約的概念,提出跨鏈智能合約調(diào)用框架,實現(xiàn)了數(shù)據(jù)的跨鏈傳輸并允許智能合約跨鏈調(diào)用??珂溨悄芎霞s調(diào)用框架原理如圖4 所示。跨鏈智能合約調(diào)用框架由調(diào)用者、被調(diào)用者、中間人、驗證者、分發(fā)合約、調(diào)用合約六部分組成。其中,調(diào)用者是指在源鏈上的調(diào)用實體,被調(diào)用者是指在目標(biāo)鏈上被調(diào)用的賬戶,中間人是指在源鏈和目標(biāo)鏈之間傳遞信息的第三方??珂溨悄芎霞s調(diào)用框架中實現(xiàn)了分發(fā)合約和調(diào)用合約。分發(fā)合約負(fù)責(zé)注冊跨鏈智能合約調(diào)用,保存跨鏈相關(guān)參數(shù),存放代幣以支付交易數(shù)據(jù)和獎勵。調(diào)用合約負(fù)責(zé)轉(zhuǎn)發(fā)交易,進(jìn)而調(diào)用執(zhí)行智能合約,并將執(zhí)行結(jié)果返回。驗證者用來驗證中間人傳遞的信息。

圖4 跨鏈智能合約調(diào)用框架Fig.4 Framework for cross-chain smart contract invocations

Move 協(xié)議由Fynn 等人提出,能夠?qū)ο蠛椭悄芎霞s從源區(qū)塊鏈移動到目標(biāo)區(qū)塊鏈上。Move協(xié)議實現(xiàn)Hyperledger Burrow 和以太坊之間的鏈間通信,實現(xiàn)了不同區(qū)塊鏈之間數(shù)據(jù)和資產(chǎn)的轉(zhuǎn)移。Move協(xié)議將智能合約的移動操作分為Move1 和Move2 兩個事務(wù)。在Move1 事務(wù)中,智能合約的狀態(tài)(數(shù)據(jù)或資產(chǎn))在源鏈中被鎖定,然后不會再被修改,但是事務(wù)依然可以讀取被鎖定的智能合約中的內(nèi)容。另外用L存儲智能合約要轉(zhuǎn)移去的目標(biāo)鏈。在Move2事務(wù)中,客戶端2 實現(xiàn)驗證目標(biāo)鏈的正確性、驗證區(qū)塊鏈的默克爾根和驗證是否被鎖定三大證明功能。在客戶端2 通過上述三大證明之后,由Move2 事務(wù)在目標(biāo)鏈上重新創(chuàng)建智能合約的狀態(tài)。

UIP 協(xié)議由Liu 等人提出,應(yīng)用于HyperService平臺。UIP 協(xié)議是一種區(qū)塊鏈通用的互操作性協(xié)議,定義了跨鏈操作中各方實體要執(zhí)行的動作,采用網(wǎng)絡(luò)狀態(tài)區(qū)塊鏈(network status blockchain,NSB)和保險智能合約(insurance smart contract,ISC)兩大創(chuàng)新設(shè)計。NSB 是HyperService 設(shè)計的區(qū)塊鏈,其提供對DApp 執(zhí)行狀態(tài)的客觀和統(tǒng)一的視圖。NSB 實現(xiàn)行動證明(proofs of actions,PoAs),支持DApp客戶端和VESes 通過構(gòu)建證明的方式來證明它們參與的跨鏈行為。ISC 是運行在NSB 上的智能合約,負(fù)責(zé)保證跨鏈操作正確執(zhí)行,以NSB 構(gòu)建的事務(wù)狀態(tài)證明作為輸入,從而判斷DApp 執(zhí)行的正確性與非法性,同時使用上述的行動證明來確定異常情況下的責(zé)任方。

SCIP 協(xié)議由Falazi 等人提出,基于網(wǎng)關(guān)的方式為異構(gòu)區(qū)塊鏈提供一個同構(gòu)接口,統(tǒng)一不同區(qū)塊鏈智能合約的交互。SCIP 網(wǎng)關(guān)結(jié)構(gòu)分為SCIP 端口、區(qū)塊鏈訪問核心層、適配器模塊三部分。SCIP 端口實現(xiàn)了一個JSON-RPC 服務(wù)器提供調(diào)用、訂閱、取消訂閱、查詢這四種方法,允許智能合約客戶端調(diào)用和監(jiān)視異構(gòu)區(qū)塊鏈系統(tǒng)的智能合約,從而實現(xiàn)智能合約交互。區(qū)塊鏈訪問核心層提供了處理請求和發(fā)送回調(diào)的邏輯。適配器模塊是可插拔的適配器模塊,由一個特定區(qū)塊鏈的協(xié)議客戶端執(zhí)行特定于某個區(qū)塊鏈的操作,比如如何處理調(diào)用智能合約,如何編碼/解碼參數(shù),如何監(jiān)控和查詢事件等。

GPACT 協(xié)議由Robinson 等人提出,基于BLS閾值簽名(BLS threshold signatures)、協(xié)調(diào)合約(coordination contracts)、動態(tài)代碼分析和簽名嵌套事務(wù)、合約鎖定的原子跨鏈交易技術(shù)實現(xiàn)跨鏈智能合約調(diào)用,在區(qū)塊鏈間的應(yīng)用層和合約層提供具備原子性和一致性的跨鏈合約調(diào)用功能。其中,原子跨鏈交易技術(shù)是區(qū)塊鏈layer1 技術(shù),需要更改以太網(wǎng)客戶端軟件,不適用于以太網(wǎng)客戶端軟件無法修改的應(yīng)用。上述研究只針對以太坊平臺,如何將上述研究提出的原子跨鏈技術(shù)和GPACT 協(xié)議用于非以太網(wǎng)區(qū)塊鏈系統(tǒng),進(jìn)而實現(xiàn)異構(gòu)區(qū)塊鏈跨鏈?zhǔn)且豁椫卮筇魬?zhàn)。

目前在跨鏈智能合約方面的研究主要關(guān)注跨鏈智能合約調(diào)用的實現(xiàn),對以上跨鏈智能合約調(diào)用協(xié)議從安全性、隱私性、可擴(kuò)展性、原子性、跨鏈類型和局限性這些方面進(jìn)行對比分析,見表6。

表6 跨鏈智能合約調(diào)用協(xié)議對比分析Table 6 Comparison and analysis between cross-chain smart contract call protocols

3 跨鏈協(xié)議關(guān)鍵設(shè)計原則

綜前所述,跨鏈協(xié)議主要包含跨鏈通信協(xié)議、跨鏈資產(chǎn)交易協(xié)議和跨鏈智能合約調(diào)用協(xié)議。三者共同構(gòu)成區(qū)塊鏈跨鏈互操作領(lǐng)域的協(xié)議規(guī)范。通過對跨鏈協(xié)議的設(shè)計原則,即可擴(kuò)展性、安全性和隱私性進(jìn)行詳細(xì)闡述,進(jìn)一步明確跨鏈協(xié)議的技術(shù)要求與設(shè)計規(guī)范。

3.1 安全性

在跨鏈互操作過程中,跨鏈協(xié)議的安全性是一個值得關(guān)注的問題??珂渽f(xié)議中需要對涉及到的數(shù)據(jù)對象、資產(chǎn)對象進(jìn)行保護(hù),確保在跨鏈過程中安全、可靠、可信地實現(xiàn)數(shù)據(jù)或資產(chǎn)的鏈間轉(zhuǎn)移或鏈間互換。為設(shè)計安全性高的跨鏈協(xié)議,需要滿足以下設(shè)計原則:

(1)資產(chǎn)保護(hù)機(jī)制。資產(chǎn)保護(hù)機(jī)制重點關(guān)注跨鏈資產(chǎn)轉(zhuǎn)移和跨鏈資產(chǎn)互換過程中對資產(chǎn)的保護(hù),比如對雙花攻擊(double-spend attack)、競爭條件攻擊(race condition attack)、跨鏈重放攻擊(cross-chain replay attacks)等安全問題的處理。在跨鏈資產(chǎn)轉(zhuǎn)移中的資產(chǎn)安全問題關(guān)鍵在于如何防止偽造資產(chǎn)轉(zhuǎn)移并且資產(chǎn)轉(zhuǎn)移只能發(fā)生一次。另外在跨鏈資產(chǎn)互換中的資產(chǎn)安全問題關(guān)鍵在于某條鏈發(fā)生重構(gòu)的情況下,是否能夠依然保持兩條鏈的資產(chǎn)總量不變。Pang通過改進(jìn)PoS(proof of stack)共識提出MPoS(multi-token proof of stake)共識,用于中繼跨鏈中的資產(chǎn)安全性。Hardjono 等人為實現(xiàn)安全的資產(chǎn)交換,基于現(xiàn)有的公鑰證書體系提出一種面向虛擬資產(chǎn)和虛擬資產(chǎn)服務(wù)提供商的公鑰管理方案,實現(xiàn)密鑰的安全交換和個人隱私信息的保護(hù)。

(2)超時處理機(jī)制。跨鏈協(xié)議在執(zhí)行跨鏈交易時,在遇到超時的交易時應(yīng)當(dāng)進(jìn)行適當(dāng)?shù)奶幚恚瑥亩苊饨灰资∮绊懣珂渽f(xié)議的后續(xù)過程。因此,跨鏈協(xié)議應(yīng)設(shè)置超時處理機(jī)制,當(dāng)所進(jìn)行的跨鏈交易中的操作未在限定時間內(nèi)響應(yīng)時,應(yīng)視為操作失敗,回滾已經(jīng)執(zhí)行的操作,將交易狀態(tài)恢復(fù)到之前的狀態(tài)中。

(3)可信性。在跨鏈場景中,各自獨立的區(qū)塊鏈網(wǎng)絡(luò)需要相互獲取對方鏈上的數(shù)據(jù),由于它們并沒有參與對方區(qū)塊鏈的共識流程,如何保證獲得的數(shù)據(jù)可信是一個技術(shù)難度。因此需要引入額外的可信證明對跨鏈交易的合法性和有效性進(jìn)行驗證,從而實現(xiàn)跨鏈協(xié)議的可信性。目前公證人機(jī)制、SPV 驗證是常用的跨鏈交易驗證方式。

(4)可審計性??珂渽f(xié)議中的跨鏈交易中有著不同的跨鏈行為,其在跨鏈過程中會對數(shù)據(jù)信息、資產(chǎn)信息進(jìn)行修改。而惡意的跨鏈行為會造成數(shù)據(jù)、資產(chǎn)的損失,因此跨鏈協(xié)議需要提供對跨鏈行為的記錄,從而實現(xiàn)跨鏈行為的可審計、可追溯。Belchior 等人設(shè)計了具備原子性、一致性、可持久性和隔離性的區(qū)塊鏈互操作性中間件,用于兩方跨鏈資產(chǎn)交易,提供可審計日志功能。雷志偉等人提出基于雙鏈并行模式實現(xiàn)監(jiān)管鏈,從而實現(xiàn)跨鏈的可審計性。

(5)崩潰恢復(fù)機(jī)制。在區(qū)塊鏈跨鏈互操作過程中,網(wǎng)絡(luò)的可用性會影響跨鏈成功與否,因此當(dāng)遇到網(wǎng)絡(luò)崩潰時跨鏈協(xié)議應(yīng)有崩潰恢復(fù)機(jī)制對崩潰的狀態(tài)進(jìn)行修復(fù)。

(6)數(shù)據(jù)一致性。在區(qū)塊鏈跨鏈互操作過程中,數(shù)據(jù)一致性指在跨鏈協(xié)議執(zhí)行跨鏈交易時如何保證不同區(qū)塊鏈上的數(shù)據(jù)能夠達(dá)成一致??珂渽f(xié)議為保證跨鏈交易中各自鏈上交易執(zhí)行后的數(shù)據(jù)一致性,需要對事務(wù)進(jìn)行管理,比如跨鏈資產(chǎn)交易協(xié)議中讓所有參與交易的區(qū)塊鏈對資產(chǎn)的操作同時成功或者同時失敗。在跨鏈協(xié)議的設(shè)計過程中,借鑒傳統(tǒng)分布式事務(wù)提出的兩階段提交協(xié)議(two phase commit,2PC)和三階段提交協(xié)議(three phase commit,3PC),這兩種分布式一致性算法對跨鏈協(xié)議的數(shù)據(jù)一致性機(jī)制進(jìn)行設(shè)計,實現(xiàn)分布式事務(wù),以確保不同鏈上的數(shù)據(jù)正確被修改并被記錄入?yún)^(qū)塊中,跨鏈交易完成后不同區(qū)塊鏈之間達(dá)成數(shù)據(jù)一致。

3.2 可擴(kuò)展性

區(qū)塊鏈的可擴(kuò)展性問題指的是由于區(qū)塊大小限制、共識時間長、每秒交易數(shù)(TPS)限制等問題造成的區(qū)塊鏈交易性能低下以及區(qū)塊鏈存儲空間急劇加大。目前,區(qū)塊鏈可擴(kuò)展性的瓶頸包括性能擴(kuò)展和功能擴(kuò)展兩方面,在性能擴(kuò)展上主要關(guān)注于如何提升區(qū)塊鏈的性能效率,在功能擴(kuò)展上主要關(guān)注擴(kuò)展區(qū)塊鏈的功能進(jìn)而增強區(qū)塊鏈服務(wù)能力。區(qū)塊鏈系統(tǒng)的可擴(kuò)展性的不足在一定程度上影響了建立在區(qū)塊鏈之上的服務(wù)的可擴(kuò)展性,因此區(qū)塊鏈跨鏈協(xié)議在設(shè)計上需要考慮可擴(kuò)展性的需求。為了設(shè)計具備可擴(kuò)展性的區(qū)塊鏈跨鏈協(xié)議,需要滿足以下設(shè)計原則:

(1)應(yīng)用場景多元化。實際應(yīng)用業(yè)務(wù)中存在跨部門、跨業(yè)務(wù)、跨架構(gòu)、跨行業(yè)的跨鏈需求,為此跨鏈協(xié)議的設(shè)計需要考慮到應(yīng)用場景多元化的問題,通過對跨鏈交互模型的抽象設(shè)計,提煉出關(guān)鍵的跨鏈參數(shù),以應(yīng)對復(fù)雜多變的跨鏈場景,從而提高系統(tǒng)的可擴(kuò)展性。如鄭建輝等人將跨鏈場景抽象為資產(chǎn)交換、資產(chǎn)轉(zhuǎn)移、信息付費和信息交互四類,針對這四種跨鏈交互場景分別設(shè)計智能合約模板,從而提高可擴(kuò)展性。

(2)松耦合架構(gòu)。在跨鏈協(xié)議的設(shè)計中,應(yīng)降低跨鏈協(xié)議與區(qū)塊鏈平臺的耦合度,擴(kuò)大跨鏈協(xié)議的應(yīng)用范圍,從而提高可擴(kuò)展性。類似互聯(lián)網(wǎng)通信協(xié)議中的端到端原則,在跨鏈交易的轉(zhuǎn)移過程中跨鏈協(xié)議無需關(guān)心內(nèi)部的架構(gòu)設(shè)計,對被移動的資產(chǎn)或數(shù)據(jù)的價值不可知,從而允許跨鏈協(xié)議的設(shè)計更加高效、快速和可靠。當(dāng)跨鏈協(xié)議中的跨鏈通道或者錨定節(jié)點受損時,區(qū)塊鏈不會受到影響,依然可以正常運行。

(3)并行架構(gòu)。基于側(cè)鏈或中繼的跨鏈協(xié)議在設(shè)計跨鏈架構(gòu)時均采取了并行架構(gòu)設(shè)計,通過并行的方式擴(kuò)展了區(qū)塊鏈的交易性能與存儲空間,如Cosmos 中的中心鏈(hub)與平行鏈(zone),Polkadot中的中繼鏈(relay-chain)和平行鏈(parachains)。戴波等人將區(qū)塊鏈節(jié)點進(jìn)行多角色劃分,通過主鏈和子鏈的并行架構(gòu)進(jìn)一步提高可擴(kuò)展性。

(4)鏈下通道??珂渽f(xié)議的鏈下通道設(shè)計包括微支付通道和鏈下存儲通道兩種方式,如比特幣系統(tǒng)中的閃電網(wǎng)絡(luò)、以太坊系統(tǒng)中的雷電網(wǎng)絡(luò)技術(shù)和基于IPFS(interplanetary file system)和Swarm 的鏈下存儲,兩者均可通過鏈下通道的方式可以將支付或存儲轉(zhuǎn)移到鏈下,在支付和存儲上增強跨鏈協(xié)議的性能,進(jìn)一步提高跨鏈協(xié)議的可擴(kuò)展性。

3.3 隱私性

歐盟通用數(shù)據(jù)保護(hù)條例(general data protection regulation,GDPR)要求涉及安全和隱私數(shù)據(jù)的系統(tǒng)支持不同級別的機(jī)密性、安全性和隱私性保證。而區(qū)塊鏈中的隱私分為身份隱私和交易隱私兩類。身份隱私代表用戶身份信息與區(qū)塊鏈地址之間的隱私關(guān)聯(lián)關(guān)系。交易隱私指在區(qū)塊鏈中存儲的交易記錄及其背后隱藏的信息,比如比特幣區(qū)塊鏈中記錄了用戶之間的轉(zhuǎn)賬記錄。目前,較少跨鏈協(xié)議考慮到對身份隱私和交易隱私的保護(hù)。比如當(dāng)前大部分跨鏈交易的候選方案未提供交易隱私保護(hù)機(jī)制,交易雙方的身份以及交易信息均是公開的。而在區(qū)塊鏈跨鏈互操作過程中,對用戶的身份隱私與交易隱私進(jìn)行保護(hù)是不可或缺的,為設(shè)計具備隱私性的跨鏈協(xié)議,需要滿足以下設(shè)計原則:

(1)交易信息隱藏機(jī)制??珂渽f(xié)議在進(jìn)行跨鏈交易時需要對關(guān)鍵的交易信息進(jìn)行隱藏處理,通過零知識證明、混幣機(jī)制、代理重加密、同態(tài)加密、環(huán)簽名等密碼學(xué)技術(shù)加密區(qū)塊鏈賬本中記錄的交易信息,保證賬本正確性的可驗證,從而防止攻擊方獲得完整的交易信息,增強跨鏈交易的匿名性。Stone基于零知識證明和Merkle 樹實現(xiàn)交易驗證,從而保護(hù)交易隱私。

(2)網(wǎng)絡(luò)數(shù)據(jù)混淆處理。為了預(yù)防攻擊者利用網(wǎng)絡(luò)拓?fù)鋪慝@取用戶的身份隱私信息,跨鏈協(xié)議需對網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行混淆處理,比如使用基于洋蔥路由和大蒜路由的混淆網(wǎng)絡(luò)對系統(tǒng)進(jìn)行加固,從而保護(hù)區(qū)塊鏈系統(tǒng)中的用戶IP 地址的隱私安全。

(3)數(shù)據(jù)訪問控制。在跨鏈過程中為保護(hù)區(qū)塊鏈上的數(shù)據(jù)安全,任何供區(qū)塊鏈外部實體訪問的數(shù)據(jù)信息都必須在經(jīng)過授權(quán)后通過特定的接口才能被訪問?;谥髁魃矸菡J(rèn)證協(xié)議、加密校驗、零知識證明、屬性基加密等方式實現(xiàn)數(shù)據(jù)訪問控制策略,從而確保區(qū)塊鏈的數(shù)據(jù)隱私。Fabric 的通道機(jī)制實現(xiàn)不同場景下的數(shù)據(jù)訪問控制,并且實現(xiàn)業(yè)務(wù)數(shù)據(jù)隔離,通過限制消息的傳播范圍保護(hù)了用戶隱私。如Wang等人基于跨鏈技術(shù)解決醫(yī)療信息孤島問題,并通過對訪問權(quán)限的控制保護(hù)病人的就醫(yī)隱私信息。

對以上三點跨鏈協(xié)議關(guān)鍵設(shè)計原則進(jìn)行分析,相關(guān)內(nèi)容總結(jié)如表7。

表7 跨鏈協(xié)議關(guān)鍵設(shè)計原則總結(jié)Table 7 Summary of key design principles of cross-chain protocols

4 研究展望

對跨鏈協(xié)議的研究是構(gòu)建區(qū)塊鏈跨鏈應(yīng)用生態(tài)的必經(jīng)之路,其中的研究重點是跨鏈協(xié)議的安全性、可擴(kuò)展性和隱私性。針對當(dāng)前跨鏈協(xié)議研究的不足,未來的研究方向主要包括以下五方面:

(1)跨鏈協(xié)議的統(tǒng)一標(biāo)準(zhǔn)。區(qū)塊鏈互操作標(biāo)準(zhǔn),又稱區(qū)塊鏈跨鏈標(biāo)準(zhǔn),是基于跨鏈實現(xiàn)區(qū)塊鏈互操作性的標(biāo)準(zhǔn)規(guī)范,旨在創(chuàng)建所有區(qū)塊鏈通用的標(biāo)準(zhǔn)化事務(wù)格式和語法。IEEE、ITU、ISU、中國區(qū)塊鏈技術(shù)和產(chǎn)業(yè)發(fā)展論壇等國內(nèi)外相關(guān)專業(yè)機(jī)構(gòu)提出了若干跨鏈標(biāo)準(zhǔn)。但目前的跨鏈協(xié)議沒有遵守統(tǒng)一的跨鏈標(biāo)準(zhǔn),無法形成統(tǒng)一的跨鏈體系。因此為了構(gòu)建可用性強、擴(kuò)展性強、安全性高、隱私性好、高性能、高效率的區(qū)塊鏈鏈聯(lián)網(wǎng)生態(tài)系統(tǒng),促進(jìn)數(shù)字經(jīng)濟(jì)新型基礎(chǔ)設(shè)施建設(shè),在未來的跨鏈協(xié)議研究中應(yīng)重視對跨鏈協(xié)議統(tǒng)一標(biāo)準(zhǔn)的研究。

(2)跨鏈協(xié)議的安全性??珂溚ㄐ呕ゲ僮鲄f(xié)議如何驗證通信傳輸數(shù)據(jù)的正確性,如何確??珂溚ㄐ胚^程中的數(shù)據(jù)安全性,采取何種同步手段來保持?jǐn)?shù)據(jù)一致性是未來研究關(guān)注的重點方向??珂溬Y產(chǎn)交易互操作協(xié)議如何實現(xiàn)資產(chǎn)安全性并確保交易的原子性也是未來研究關(guān)注的重點方向。

(3)跨鏈協(xié)議的性能與應(yīng)用。目前跨鏈協(xié)議的性能存在一定瓶頸,在實際應(yīng)用場景中的應(yīng)用能力有待加強。因此,提升跨鏈協(xié)議的性能與應(yīng)用能力將是今后研究的一個重要方向。

(4)跨鏈協(xié)議的隱私性??珂渽f(xié)議的隱私性涉及交易隱私和用戶隱私,而當(dāng)前跨鏈協(xié)議側(cè)重于對安全性、可擴(kuò)展性的分析研究,缺少對隱私性的關(guān)注,未來對跨鏈協(xié)議的研究應(yīng)該考慮到隱私性方面的設(shè)計。

(5)跨鏈行為審計與故障處理機(jī)制。在跨鏈協(xié)議的實現(xiàn)過程中,應(yīng)實現(xiàn)對跨鏈行為的審計,對各方的惡意行為進(jìn)行檢測與處理,最終加強并優(yōu)化激勵機(jī)制以激勵各方遵守協(xié)議。另外跨鏈互操作協(xié)議如何處理跨鏈過程的網(wǎng)絡(luò)故障,如何恢復(fù)發(fā)生故障后的交易信息也是有待解決的難題。

(6)跨鏈智能合約應(yīng)用。智能合約有增強區(qū)塊鏈互操作性的潛力,但目前尚未重視智能合約在區(qū)塊鏈互操作性領(lǐng)域的作用,跨鏈智能合約調(diào)用協(xié)議的研究近幾年剛剛興起。在未來設(shè)計跨鏈協(xié)議的過程中,需要針對跨鏈智能合約調(diào)用協(xié)議,研究如何通過跨鏈智能合約調(diào)用實現(xiàn)跨鏈?zhǔn)聞?wù)處理和跨鏈查詢處理,結(jié)合不同區(qū)塊鏈的功能,實現(xiàn)跨組織、跨業(yè)務(wù)的功能互通,進(jìn)而構(gòu)建區(qū)塊鏈跨鏈應(yīng)用。

5 結(jié)束語

隨著區(qū)塊鏈技術(shù)的發(fā)展,區(qū)塊鏈跨鏈互操作需求不斷增長,實現(xiàn)區(qū)塊鏈的鏈間互操作性必將是區(qū)塊鏈未來發(fā)展的必經(jīng)之路。區(qū)塊鏈跨鏈互操作的最終目的在于構(gòu)建鏈聯(lián)網(wǎng),即構(gòu)建跨鏈應(yīng)用,從而實現(xiàn)各個區(qū)塊鏈的互聯(lián)互通。實現(xiàn)不同區(qū)塊鏈之間的數(shù)據(jù)互通、價值互通和功能互通將破除異構(gòu)區(qū)塊鏈之間的聯(lián)通壁壘,從根本上解決區(qū)塊鏈的可擴(kuò)展性問題,擴(kuò)展區(qū)塊鏈的應(yīng)用范圍。因此,為實現(xiàn)區(qū)塊鏈跨鏈互操作,構(gòu)建跨鏈協(xié)議將是區(qū)塊鏈的重點研究方向。本文總結(jié)和分析了區(qū)塊鏈互操作性的定義以及跨鏈技術(shù)和跨鏈架構(gòu),并對跨鏈通信協(xié)議、跨鏈資產(chǎn)交易協(xié)議、跨鏈智能合約調(diào)用協(xié)議的研究現(xiàn)狀進(jìn)行總結(jié)分析,最后指出跨鏈協(xié)議的關(guān)鍵設(shè)計原則和未來研究方向。

猜你喜歡
互操作性調(diào)用合約
系統(tǒng)虛擬化環(huán)境下客戶機(jī)系統(tǒng)調(diào)用信息捕獲與分析①
韓軍武器系統(tǒng)互操作性現(xiàn)狀及未來發(fā)展
有人/無人機(jī)協(xié)同互操作性研究
信息系統(tǒng)互操作性評估技術(shù)研究
基于屬性數(shù)據(jù)的系統(tǒng)調(diào)用過濾方法
利用RFC技術(shù)實現(xiàn)SAP系統(tǒng)接口通信
C++語言中函數(shù)參數(shù)傳遞方式剖析
博爱县| 平顶山市| 宁安市| 施甸县| 灵武市| 锡林郭勒盟| 永修县| 新源县| 鄄城县| 右玉县| 龙口市| 和政县| 海安县| 南阳市| 自贡市| 道真| 漠河县| 延寿县| 闽清县| 沈丘县| 慈利县| 延川县| 桐梓县| 得荣县| 沅陵县| 常州市| 综艺| 安乡县| 山阴县| 宜宾县| 伊通| 荆州市| 新干县| 澎湖县| 江西省| 丹江口市| 屏东市| 文水县| 西丰县| 竹山县| 义马市|