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

?

區(qū)塊鏈跨鏈技術(shù)進(jìn)展研究*

2019-07-08 08:54李卓然
軟件學(xué)報 2019年6期
關(guān)鍵詞:比特區(qū)塊交易

李 芳, 李卓然, 趙 赫

(中國科學(xué)院 合肥物質(zhì)科學(xué)研究院,安徽 合肥 230031)

區(qū)塊鏈(blockchain)[1]是一種去中心化(decentralized)、無需信任(trustless)的分布式數(shù)據(jù)賬本,它通過密碼學(xué)方法讓網(wǎng)絡(luò)中的所有節(jié)點共同擁有、管理和監(jiān)督數(shù)據(jù),系統(tǒng)的運轉(zhuǎn)不接受任何單一節(jié)點的控制,從而具有不可偽造、不可篡改、可追溯等特點.區(qū)塊鏈通過技術(shù)構(gòu)造全新的信任體系,具有改變?nèi)祟惿鐣r值傳遞方式的潛力,并支持與行業(yè)應(yīng)用深度融合,引起信息技術(shù)、金融、保險等多個領(lǐng)域的廣泛關(guān)注.

以比特幣(Bitcoin,簡稱BTC)[1]白皮書發(fā)布作為區(qū)塊鏈技術(shù)發(fā)展的起始點,在近10年期間,世界各國出現(xiàn)了眾多區(qū)塊鏈項目,它們有些是基于比特幣代碼集成了一些局部優(yōu)化,有些是為適應(yīng)特定應(yīng)用場景而做出了功能改進(jìn),亦或為提升區(qū)塊鏈性能與開發(fā)友好性等提出了重大創(chuàng)新.比特幣設(shè)計中融合的非對稱加密、工作量證明(proof-of-work)、鏈?zhǔn)浇Y(jié)構(gòu)(chain)、時間戳(timestamps)、Merkle樹(Merkle Tree)等相關(guān)算法、協(xié)議、機(jī)制構(gòu)成了區(qū)塊鏈技術(shù)架構(gòu)的基礎(chǔ).但由于比特幣的初衷是實現(xiàn)一種基于點對點技術(shù)的電子現(xiàn)金系統(tǒng),并沒有過多地考慮區(qū)塊鏈在更廣泛范圍應(yīng)用時所需的圖靈完備、可擴(kuò)展性、安全性等要求,其區(qū)塊容量、區(qū)塊分叉、二次開發(fā)等也面臨一定的問題.人們意識到單個區(qū)塊鏈無法解決所有技術(shù)問題,也并不能覆蓋所有應(yīng)用場景,各類區(qū)塊鏈項目應(yīng)運而生.

通過在共識算法、區(qū)塊結(jié)構(gòu)、擴(kuò)展協(xié)議等方面的不斷創(chuàng)新,區(qū)塊鏈領(lǐng)域目前已形成多類項目共存的景象.以太坊(Ethereum,簡稱ETH)[2]致力于將區(qū)塊鏈拓展應(yīng)用于數(shù)字貨幣以外的領(lǐng)域,并為開發(fā)者提供一個能夠快速創(chuàng)建智能合約以及開發(fā)去中心化應(yīng)用的成熟開發(fā)平臺;瑞波(Ripple)[3]采用了一種新的共識算法,通過網(wǎng)絡(luò)中有限數(shù)量的可信任節(jié)點實現(xiàn)共識,以減少交易確認(rèn)時間;比特現(xiàn)金(bitcoin cash)[4]將區(qū)塊大小的限制提升至 8MB甚至更大容量的區(qū)塊,在一定程度上實現(xiàn)了鏈上擴(kuò)容;EOS[5]提出一種支持分布式應(yīng)用開發(fā)的區(qū)塊鏈底層平臺,并計劃采用并行鏈和委任權(quán)益證明(delegated proof of stake,簡稱DPOS)實現(xiàn)高系統(tǒng)性能;IOTA[6]和Byteball[7]等采用非線性鏈?zhǔn)浇Y(jié)構(gòu)的有向無環(huán)圖(directed acyclic graph,簡稱 DAG)[8]實現(xiàn)分布式賬本,提高系統(tǒng)的交易效率.據(jù)德勤于2017年11月出具的報告[9]顯示,Github上區(qū)塊鏈代碼項目總數(shù)約9萬個,并呈現(xiàn)逐年增加的趨勢,足見區(qū)塊鏈領(lǐng)域的創(chuàng)新發(fā)展態(tài)勢.

區(qū)塊鏈項目的蓬勃發(fā)展,不可避免地引出了一個問題:鏈與鏈之間如何實現(xiàn)互聯(lián)互通?鏈聯(lián)網(wǎng)(Internet of blockchains)能否成為繼互聯(lián)網(wǎng)、物聯(lián)網(wǎng)的下一個基礎(chǔ)網(wǎng)絡(luò)架構(gòu)?隨著區(qū)塊鏈項目數(shù)量越來越多,價值孤島現(xiàn)象也更加嚴(yán)重.區(qū)塊鏈資產(chǎn)是否能夠?qū)崿F(xiàn)無需第三方參與的原子交換(atomic swap)?基于跨鏈的區(qū)塊鏈下(offchain)擴(kuò)容技術(shù)方案存在哪些爭議?區(qū)塊鏈智能合約的應(yīng)用過程中,區(qū)塊鏈又如何與傳統(tǒng)互聯(lián)網(wǎng)系統(tǒng)實現(xiàn)可信任的數(shù)據(jù)交換?等等.上述問題引發(fā)了業(yè)界對跨鏈技術(shù)的探索實驗.

本課題組在國內(nèi)較早啟動了區(qū)塊鏈技術(shù)相關(guān)研究[10,11],并長期關(guān)注跨鏈技術(shù)研究,通過本文的系統(tǒng)性梳理,期望對跨鏈技術(shù)的創(chuàng)新發(fā)展提供參考.本文第1節(jié)對區(qū)塊鏈跨鏈存在的問題、需求以及技術(shù)難點進(jìn)行分析概述.第 2節(jié)介紹區(qū)塊鏈發(fā)展不同階段的跨鏈技術(shù)演進(jìn).第3節(jié)重點分析跨鏈技術(shù)設(shè)計與應(yīng)用將面對的安全性問題.最后,在第4節(jié)總結(jié)跨鏈技術(shù)的發(fā)展和研究趨勢.

1 區(qū)塊鏈的跨鏈需求及技術(shù)難點

區(qū)塊鏈技術(shù)自比特幣區(qū)塊鏈于2008年[1]誕生以來,已逐步發(fā)展出上千種區(qū)塊鏈項目.根據(jù)區(qū)塊鏈的應(yīng)用場景、節(jié)點準(zhǔn)入條件及去中心化程度,區(qū)塊鏈被分為公有鏈(public blockchain)、私有鏈(private blockchain)以及聯(lián)盟鏈(consortium blockchain)這3大類[12].其中,公有鏈具有高度去中心化特點,節(jié)點可自由加入或退出,并擁有讀取數(shù)據(jù)、競爭記賬權(quán)、實施交易等平等權(quán)限,以比特幣[1]、以太坊[2]等為代表;私有鏈由第三方控制系統(tǒng)的各項權(quán)限,節(jié)點的加入、數(shù)據(jù)的讀寫均有一定條件限制,如摩根大通的 Quorum[13]等;聯(lián)盟鏈由多個機(jī)構(gòu)或組織共同管理,各節(jié)點通常對應(yīng)不同的實體機(jī)構(gòu)或組織,通過準(zhǔn)入機(jī)制加入、退出網(wǎng)絡(luò),如Corda[14],Hyperledger[15]等.

區(qū)塊鏈的跨鏈技術(shù)是區(qū)塊鏈實現(xiàn)互聯(lián)互通(interoperability)、提升可擴(kuò)展性(scalability)的重要技術(shù)手段.在網(wǎng)絡(luò)形態(tài)上,區(qū)塊鏈不同于互聯(lián)網(wǎng),后者支持一張網(wǎng)接入全球的節(jié)點,前者則形成了多個相互隔絕的平行網(wǎng)絡(luò).除了公有鏈的廣泛共存,私有鏈和聯(lián)盟鏈則支持讓不同組織擁有各自的區(qū)塊鏈,甚至讓同一個組織內(nèi)部同時運行多個區(qū)塊鏈.全球區(qū)塊鏈的數(shù)量在不斷增多,而不同區(qū)塊鏈網(wǎng)絡(luò)的相互隔絕,導(dǎo)致鏈之間無法有效進(jìn)行數(shù)字資產(chǎn)轉(zhuǎn)移、跨鏈通信等操作.近年來,隨著區(qū)塊鏈應(yīng)用場景的不斷豐富和復(fù)雜化,越來越多的區(qū)塊鏈項目提出跨鏈的需求與解決方案,跨鏈技術(shù)逐步得到發(fā)展.

根據(jù)目前主流跨鏈技術(shù)的設(shè)計研發(fā),跨鏈的目的以及要解決的問題主要包括以下幾點.

(1) 不同區(qū)塊鏈之間的資產(chǎn)轉(zhuǎn)移.盡管第三方交易平臺能夠提供不同區(qū)塊鏈項目資產(chǎn)的轉(zhuǎn)移與交換,但第三方交易平臺的引入帶來了新的中心化節(jié)點,不可避免地存在資產(chǎn)安全性、可信任性等問題.跨鏈確保了是用技術(shù)而非機(jī)構(gòu)或人來提供安全、可靠、高效的鏈上資產(chǎn)轉(zhuǎn)移途徑;

(2) 實現(xiàn)區(qū)塊鏈資產(chǎn)的留置[16].類似于金融和法律領(lǐng)域的財產(chǎn)留置,區(qū)塊鏈資產(chǎn)能夠?qū)崿F(xiàn)鏈上鎖定凍結(jié),并設(shè)定某個區(qū)塊鏈上的資產(chǎn)鎖定條件、解鎖條件,還可以與其他鏈的特定事件/行為進(jìn)行關(guān)聯(lián);

(3) 讀取和驗證其他鏈的狀態(tài)或事件.自以太坊區(qū)塊鏈[2]問世以來,基于區(qū)塊鏈的智能合約[17]得到快速發(fā)展.在某個區(qū)塊鏈上部署的智能合約,觸發(fā)其執(zhí)行的條件可能需要依賴于其他鏈的信息和數(shù)據(jù),跨鏈數(shù)據(jù)訪問在該應(yīng)用場景中具有關(guān)鍵作用;

(4) 提升區(qū)塊鏈交易處理能力.區(qū)塊鏈的可擴(kuò)展性三難題基本法則[18]表明,區(qū)塊鏈只能兼顧去中心性、可擴(kuò)展性和安全性中的兩項.區(qū)塊鏈的吞吐量和可擴(kuò)展性一直被認(rèn)為是重要的瓶頸,盡管諸如 EOS[5]等區(qū)塊鏈項目聲稱其 TPS(每秒處理事務(wù)數(shù))可達(dá)百萬量級,但均以設(shè)立少量驗證節(jié)點為前提,降低了系統(tǒng)的去中心化特性.跨鏈通信是提供更高擴(kuò)展性的技術(shù)路線之一.

區(qū)塊鏈應(yīng)用場景的不斷拓展以及區(qū)塊鏈互聯(lián)互通的潛在需求,促進(jìn)了跨鏈技術(shù)的持續(xù)創(chuàng)新和進(jìn)步.根據(jù)跨鏈技術(shù)的演進(jìn)和實現(xiàn)方式,以太坊的創(chuàng)始人 Buterin曾經(jīng)總結(jié)了 3類跨鏈技術(shù)[16]——公證人機(jī)制(notary schemes)、側(cè)鏈/中繼(sidechains/relays)、哈希鎖定(Hash-locking).

(1) 公證人機(jī)制.通過選舉一個或多個組織作為公證人,對鏈A的事件進(jìn)行自動或請求式監(jiān)聽,并在指定事件發(fā)生后,在鏈B執(zhí)行相應(yīng)動作,實現(xiàn)對事件的響應(yīng).公證人群體通過特定的共識算法,對事件是否發(fā)生達(dá)成共識.公證人機(jī)制又分為中心化公證人機(jī)制(centralized notary schemes)和多重簽名公證人機(jī)制(multisig notary schemes),區(qū)別在于后者利用密碼學(xué)技術(shù),在每次交易驗證時從公證人群體中隨機(jī)選出一部分公證人,共同完成簽名的簽發(fā),從而降低對公證人可靠性的依賴程度;

(2) 側(cè)鏈/中繼.側(cè)鏈/中繼以輕客戶端驗證技術(shù)為基礎(chǔ),即:在鏈B上執(zhí)行類似區(qū)塊鏈輕客戶端功能的智能合約,通過驗證鏈A的加密哈希樹(cryptographic hash tree)以及區(qū)塊頭(block header)來驗證鏈A的某項特定交易、事件或狀態(tài)信息是否發(fā)生;

(3) 哈希鎖定.通過在兩條鏈上運行特定的智能合約,實現(xiàn)跨鏈交易與信息交互.用戶A生成隨機(jī)數(shù)s,并計算出該隨機(jī)數(shù)的哈希值h=hash(s)發(fā)送給用戶B;A和B通過智能合約先后鎖定各自的資產(chǎn);如果B在X時間內(nèi)收到正確的s,智能合約自動執(zhí)行將B的資產(chǎn)將轉(zhuǎn)移給A,否則退回給B;如果A在2X時間內(nèi)收到隨機(jī)數(shù)s,A的資產(chǎn)將自動轉(zhuǎn)移給B,否則退回給A.

跨鏈可以分為區(qū)塊鏈內(nèi)部各個子鏈/主鏈之間以及不同區(qū)塊鏈系統(tǒng)之間的互操作.從更廣義的概念層面,跨鏈進(jìn)一步涉及區(qū)塊鏈與傳統(tǒng)系統(tǒng)和協(xié)議的交互.目前,跨鏈技術(shù)尚未實現(xiàn)廣泛應(yīng)用,表明了跨鏈面臨的問題復(fù)雜性.鑒于大多數(shù)區(qū)塊鏈系統(tǒng)在誕生之初就缺乏互操作特性,跨鏈技術(shù)在設(shè)計與實現(xiàn)時需要重點解決如何適配各類區(qū)塊鏈,并確保跨鏈操作的高效率和高安全性.

2 跨鏈關(guān)鍵技術(shù)

區(qū)塊鏈技術(shù)自誕生以來一直具有較強(qiáng)的金融色彩,在早期的絕大部分時間里,比特幣長期占有全球區(qū)塊鏈項目總市值 80%以上的市場份額,處于一枝獨秀的狀態(tài).隨著區(qū)塊鏈技術(shù)逐漸進(jìn)入更廣泛的學(xué)術(shù)界和產(chǎn)業(yè)界視野,越來越多的人才參與到區(qū)塊鏈行業(yè)的創(chuàng)新研發(fā).2017年5月17日,比特幣市值占比首次低于50%[19];2017年8月14日,以太坊交易量首次超過比特幣[20].公有鏈、私有鏈、聯(lián)盟鏈的數(shù)量不斷增多,區(qū)塊鏈的應(yīng)用場景愈加豐富,行業(yè)對跨鏈的需求也更加明顯.本文以2017年5月為分界線,分為比特幣區(qū)塊鏈時代與后比特幣區(qū)塊鏈時代兩個時期,對跨鏈技術(shù)的發(fā)展情況分別進(jìn)行介紹.

2.1 比特幣區(qū)塊鏈時代的跨鏈技術(shù)

2013年5月,Nolan在BitcoinTalk論壇提出了原子轉(zhuǎn)移(atomic transfers)思路[21],構(gòu)成了實現(xiàn)原子式跨鏈數(shù)字資產(chǎn)交易的最初基礎(chǔ)技術(shù)方案.原子轉(zhuǎn)移也稱原子交換(atomic swap),其概念類似于傳統(tǒng)證券結(jié)算系統(tǒng)的貨銀對付(delivery versus payment,簡稱DVP)或外匯交易系統(tǒng)的交易同步交收(payment versus payment,簡稱PvP),在區(qū)塊鏈領(lǐng)域,即指雙方交易同時發(fā)生或同時不發(fā)生,二者不可分割.該方案通過讓交易雙方分別在比特幣區(qū)塊鏈和其他數(shù)字貨幣區(qū)塊鏈上設(shè)定合約腳本,并利用是否獲知某個哈希值的原像(preimage)作為合約觸發(fā)條件.該原像由交易一方在交易之前隨機(jī)產(chǎn)生,并結(jié)合方案設(shè)計的一系列合約鎖定、解鎖流程,實現(xiàn)跨鏈交易的原子性.Nolan的技術(shù)方案經(jīng)過改進(jìn)升級后被稱為哈希鎖定,并成為跨鏈的一種主要技術(shù)手段.在用于 BTC鏈下交易擴(kuò)容方案的閃電網(wǎng)絡(luò)(lightning network)中也運用了類似的哈希時間鎖定合約(Hashed timelock contract,簡稱HTLC).

側(cè)鏈則是首個產(chǎn)生較大影響力的跨鏈技術(shù).比特幣核心開發(fā)者加入的Blockstream公司在2014年10月發(fā)布的白皮書中提出了楔入式側(cè)鏈(pegged sidechains)[22]的概念,其目的是實現(xiàn)不同區(qū)塊鏈資產(chǎn)的跨鏈轉(zhuǎn)移,以及可以在不影響主鏈的情況下,實施更多的技術(shù)創(chuàng)新與金融創(chuàng)新.雙向楔入(two-way peg)作為側(cè)鏈的核心技術(shù)基礎(chǔ),定義為不同鏈資產(chǎn)的等值轉(zhuǎn)換機(jī)制,并分為對稱式雙向楔入與非對稱式雙向楔入.2016年12月,Blockstream公司進(jìn)一步提出強(qiáng)聯(lián)邦側(cè)鏈(sidechains with strong federations)的概念[23],在資產(chǎn)交換中引入由多方控制的多重簽名地址,以減少延遲并提升互操作性.

業(yè)界在探索區(qū)塊鏈間的跨鏈同時,針對BTC本身的擴(kuò)容問題發(fā)展出鏈下交易技術(shù).Poon于2015年2月發(fā)布了閃電網(wǎng)絡(luò)(lightning network)白皮書[24],該技術(shù)是通過設(shè)計一種新的支付渠道網(wǎng)絡(luò)實現(xiàn)可擴(kuò)展的連鎖即時支付.閃電網(wǎng)絡(luò)利用鏈下支付提高交易處理效率,可以被認(rèn)為是區(qū)塊鏈內(nèi)部的跨鏈操作.隨著閃電網(wǎng)絡(luò)的實現(xiàn)及升級,2017年11月,閃電網(wǎng)絡(luò)在鏈下首次實現(xiàn)了測試網(wǎng)中BTC和LTC的跨鏈原子交易.

Ripple公司在2015年11月發(fā)布的Interledger白皮書[25]中提出了一種用于不同支付網(wǎng)絡(luò)或賬本系統(tǒng)交互的協(xié)議,并計劃覆蓋至區(qū)塊鏈賬本及各類傳統(tǒng)支付系統(tǒng).Interledger通過連接者(connector)傳遞跨系統(tǒng)的交易,在最終接收者收到資金前,傳遞線路上各個支持 Interledger協(xié)議的系統(tǒng)會對各環(huán)節(jié)發(fā)送者的資金進(jìn)行托管鎖定.Interledger協(xié)議的交易托管與執(zhí)行分為兩種方式,其中,原子模式是由參與者選出一組公證人來協(xié)調(diào)交易;通用模式無需公證人,通過參與者給予激勵以及反向執(zhí)行指令來確保安全支付.Interledger最初作為公證人機(jī)制的跨鏈代表,在協(xié)議發(fā)展過程中,也開始逐步融入哈希鎖定的理念.

2016年5月,美國區(qū)塊鏈軟件技術(shù)公司ConsenSys設(shè)計了BTCRelay[26],實現(xiàn)了以太坊對比特幣區(qū)塊鏈數(shù)據(jù)的跨鏈訪問.BTCRelay實質(zhì)是在以太坊網(wǎng)絡(luò)上實現(xiàn)的一個智能合約,通過不斷接收網(wǎng)絡(luò)中各個Relayer節(jié)點推送的 BTC區(qū)塊頭,實現(xiàn) BTC區(qū)塊頭在智能合約里的存儲和實時更新.由于 BTC區(qū)塊鏈的交易信息主要以Merkle tree的形式存儲在區(qū)塊頭中,在不依賴第三方中介的情況下,BTCRelay以一種去中心化的方式實現(xiàn)了以太坊智能合約對BTC區(qū)塊鏈的數(shù)據(jù)訪問.盡管BTCRelay的原理和實現(xiàn)并不是非常復(fù)雜,但該系統(tǒng)使得用戶能夠創(chuàng)建各種觸發(fā)條件依賴于 BTC區(qū)塊鏈?zhǔn)录蛐畔⒌囊蕴恢悄芎霞s,提高了智能合約的可用性.不過,BTCRelay僅支持ETH和BTC之間的跨鏈,而且并不能讓BTC同時也能讀取ETH區(qū)塊鏈的信息,在這種跨鏈方式下,通信是單向的,具有一定局限性.

2016年6月,Kwon提出了一種支持各種區(qū)塊鏈接入與互操作的網(wǎng)絡(luò)架構(gòu)Cosmos[27].基于建立區(qū)塊鏈的互聯(lián)網(wǎng)構(gòu)想,Cosmos網(wǎng)絡(luò)設(shè)計為由樞紐(hub)和分區(qū)(zones)組成,其中,分區(qū)由 Tendermint[28]經(jīng)典拜占庭容錯共識算法引擎支持運行,可接入不同區(qū)塊鏈,并支持分區(qū)數(shù)量的擴(kuò)展.分區(qū)載入?yún)^(qū)塊鏈后,各分區(qū)之間通信必須經(jīng)由樞紐,并且遵照鏈間通信技術(shù)規(guī)范(inter blockchain communication protocol,簡稱IBC)[27].Cosmos架構(gòu)的關(guān)鍵在于Tendermint共識引擎和IBC協(xié)議:Tendermint是2014年Castro和Liskov基于實用拜占庭容錯(PBFT)[29]算法提出的權(quán)益證明PoS(proof-of-stake)[30]共識算法改編版,通過驗證者(validator)對交易區(qū)塊進(jìn)行多輪投票達(dá)到共識;IBC協(xié)議則定義了區(qū)塊鏈注冊、數(shù)據(jù)包格式、交易類型、數(shù)據(jù)包交付確認(rèn)流程等內(nèi)容.

2016年11月,Wood在Polkadot白皮書[31]中介紹了一種異構(gòu)的多鏈架構(gòu),支持不同共識系統(tǒng)去中心化、去信任(trustless)地進(jìn)行交互操作、訪問.Polkadot通過解耦共識機(jī)制和狀態(tài)轉(zhuǎn)移機(jī)制兩種組件來解決伸縮性問題,并將容納的不同區(qū)塊鏈定義為平行鏈.Polkadot的參與方包括收集者(collator)、漁夫(fisherman)、提名者(nominator)和驗證者(validator)這4種角色,分別承擔(dān)運行平行鏈全節(jié)點、舉報及證明非法行為、擁有權(quán)益并委托資產(chǎn)、區(qū)塊封裝等工作.在跨鏈通信方面,Polkadot采用中繼鏈的方式轉(zhuǎn)發(fā)各平行鏈的交易,同時,平行鏈的區(qū)塊頭也會被包含進(jìn)中繼鏈的區(qū)塊中,以避免雙花的發(fā)生.通過設(shè)計參與方角色、激勵模型,Polkadot成為可自發(fā)擴(kuò)展、兼容已有區(qū)塊鏈的異構(gòu)多鏈網(wǎng)絡(luò).

以太坊的鏈上擴(kuò)容分片技術(shù)Sharding[18]也備受關(guān)注.2016年11月發(fā)布的Sharding技術(shù)文檔中,計劃在以太坊轉(zhuǎn)為權(quán)益證明(proof of stake,簡稱POS)后,以太坊區(qū)塊鏈升級為由主鏈(main chain)和分片鏈(shard chain)構(gòu)成的網(wǎng)絡(luò)結(jié)構(gòu).方案中,以太坊將首先形成約100個分片鏈,賬戶和交易信息均存儲在分片鏈上,每個分片鏈再與主鏈進(jìn)行通信連接.分片鏈主要處理交易以及存儲賬戶與合約的狀態(tài),并支持跨分片鏈的消息交互;主鏈主要是維護(hù)驗證節(jié)點的狀態(tài)以及跟蹤分片鏈區(qū)塊狀態(tài).通過分片技術(shù)實現(xiàn)交易的并行確認(rèn),將直接提高以太坊的交易吞吐量.

除了以上介紹的幾種跨鏈技術(shù)以外,RootStock[32]在比特幣區(qū)塊鏈上構(gòu)建智能合約系統(tǒng),作為比特幣區(qū)塊鏈的側(cè)鏈實現(xiàn)功能增強(qiáng);Elements[33]通過雙向錨定,提供與BTC的互轉(zhuǎn)以及智能合約、私密交易證據(jù)分離等功能;Lisk[34]構(gòu)建的分布式應(yīng)用開發(fā)平臺為每個應(yīng)用提供一個單獨的 Lisk側(cè)鏈;Factom[35]通過整合比特幣和以太坊區(qū)塊鏈,提供不可變更的數(shù)據(jù)存證功能;Corda[36]通過交易雙方選擇出的共同公證人作為交叉驗證人,對交易數(shù)據(jù)進(jìn)行驗證.

2.2 后比特幣區(qū)塊鏈時代的跨鏈技術(shù)

以太坊創(chuàng)始人Buterin與閃電網(wǎng)絡(luò)發(fā)明人Poon于2017年8月11日提出了Plasma[37]區(qū)塊鏈擴(kuò)展設(shè)計模式.Plasma設(shè)計了一種區(qū)塊鏈樹形框架,將主鏈作為樹根、不同區(qū)塊鏈作為主鏈的獨立樹形分支,并通過構(gòu)建智能合約激勵執(zhí)行與強(qiáng)制執(zhí)行框架,實現(xiàn)區(qū)塊鏈的擴(kuò)容計算.Plasma包括激勵層、樹形鏈組織結(jié)構(gòu)、MapReduce計算框架、依賴于根鏈的共識機(jī)制和bitmap-UTXO結(jié)構(gòu)這5個組件,協(xié)作實現(xiàn)合約持續(xù)計算、創(chuàng)建狀態(tài)轉(zhuǎn)移的欺詐證明、網(wǎng)絡(luò)形態(tài)組織等功能.通過借鑒大數(shù)據(jù)并行計算模型 MapReduce以及構(gòu)建持續(xù)運作機(jī)制,Plasma預(yù)期可使區(qū)塊鏈擴(kuò)容至支持每秒10億量級的狀態(tài)更新.

2018年1月,Vitalik在Plasma基礎(chǔ)上提出了最小可行的Plasma實現(xiàn)(minimal viable plasma,簡稱MVP).MVP[38]在處罰欺詐、子鏈依賴以及處理無效交易等方面進(jìn)行了限定.2018年3月,Vitalik又提出修改版Plasma Cash[39],在Plasma基礎(chǔ)上進(jìn)行了以下變更:區(qū)塊鏈資產(chǎn)基本單位無法分割及合并;交易不再按照txindex順序存儲于 Merkle樹中,而是存儲在稀疏簡單的 Merkle樹或 Patricia樹中.Plasma的跨鏈框架得到業(yè)界廣泛關(guān)注,如OmiseGO[40]計劃使用 Plasma支持可擴(kuò)展的去中心化交易與支付平臺、Lucidity[41]利用 Plasma構(gòu)建數(shù)字廣告區(qū)塊鏈協(xié)議等.

盡管以太坊因其開發(fā)友好性以及智能合約的高應(yīng)用性,開發(fā)者與用戶數(shù)量、市場份額均不斷提升,但仍面臨區(qū)塊鏈擴(kuò)展性問題,并曾因承載一款引發(fā)流行的 CryptoKitties區(qū)塊鏈游戲[42]出現(xiàn)交易嚴(yán)重阻塞[43].在此背景下,2017年11月,Loom項目[44]基于以太坊構(gòu)建了一套支持開發(fā)、運行大型去中心化應(yīng)用DApp的基礎(chǔ)設(shè)施平臺,并計劃采用Plasma與以太坊實現(xiàn)資產(chǎn)轉(zhuǎn)移,在保障資產(chǎn)安全的同時提升系統(tǒng)吞吐量.Loom為開發(fā)者提供了可快速構(gòu)建區(qū)塊鏈的SDK,并讓開發(fā)的分布式應(yīng)用DApp都單獨運行在以太坊的不同側(cè)鏈上,稱為DAppChain.該設(shè)計的特點在于每條DAppChain均可以由開發(fā)者根據(jù)需求采用不同的共識規(guī)則,具有一定的靈活性.

2017年8月,Aion項目[45]定義了一種多層次的區(qū)塊鏈網(wǎng)絡(luò)結(jié)構(gòu),為不同區(qū)塊鏈系統(tǒng)的接入提供通信協(xié)議和標(biāo)準(zhǔn).在 Aion網(wǎng)絡(luò)中,定義了“橋梁”實現(xiàn)區(qū)塊鏈之間的連接和通信,橋梁也有自己獨特的驗證者網(wǎng)絡(luò).Aion通過采用基于輕量級BFT[46]的算法達(dá)成共識,并具有注冊、競爭、交易獎勵分配等功能.Aion規(guī)定了包括發(fā)起網(wǎng)絡(luò)、目的網(wǎng)絡(luò)、路由信息、路由費用、Merkle證明等在內(nèi)的跨鏈交易格式,還設(shè)計了Aion虛擬機(jī)(AVM)提供對區(qū)塊連邏輯的抽象以及提供運行應(yīng)用程序的環(huán)境.

2017年8月29日,Eykholt等人在Rchain白皮書中[47]設(shè)計提出了一種并行的區(qū)塊鏈多鏈網(wǎng)絡(luò),期望實現(xiàn)具有高擴(kuò)展性的企業(yè)級區(qū)塊鏈平臺.Rchain采用RhoVM虛擬機(jī)作為智能合約并發(fā)執(zhí)行引擎,并通過定義命名空間(namespace),使 RhoVM 每個實例可以在命名空間中的獨立區(qū)塊鏈上并發(fā)執(zhí)行智能合約.Rchain的每個命名空間相互獨立并可相互通信,實現(xiàn)多鏈網(wǎng)絡(luò)結(jié)構(gòu).

2017年 11月,Block Collider項目[48]構(gòu)建了基于多個不同區(qū)塊鏈的分布式賬本.在區(qū)塊生成上,Block Collider的區(qū)塊由所接入的各個區(qū)塊鏈的區(qū)塊頭組合而成,并基于中本聰共識設(shè)計了一種Proof of Distance的共識算法來提高計算效率.通過對不同區(qū)塊鏈的集成,Block Collider可提供跨鏈交易、跨鏈智能合約、交易加速等特性.Block Collider發(fā)布時計劃首先支持BTC,ETH等6種區(qū)塊鏈的接入,并預(yù)留了擴(kuò)展性,其他區(qū)塊鏈的項目將通過投票的形式確定是否接入.

2017年11月24日,Nano[49]技術(shù)白皮書介紹了一種基于區(qū)塊晶格(block-lattice)結(jié)構(gòu)的加密貨幣,其特色在于每個賬戶都有自己的區(qū)塊鏈(賬戶鏈)來記錄本賬戶的交易與余額歷史,從而構(gòu)成多鏈網(wǎng)絡(luò)結(jié)構(gòu).Nano的技術(shù)架構(gòu)可認(rèn)為是區(qū)塊鏈的內(nèi)部跨鏈,賬戶鏈之間通過收發(fā)交易以及異步確認(rèn)形成網(wǎng)狀區(qū)塊晶格形態(tài).與傳統(tǒng)區(qū)塊鏈采用線性增長的區(qū)塊鏈?zhǔn)浇Y(jié)構(gòu)不同,Nano實現(xiàn)了交易的異步更新,具有較小的數(shù)據(jù)庫賬本容量以及較高的交易吞吐量.

Zcash(ZEC)團(tuán)隊開發(fā)出 XCAT(交叉鏈原子交易)工具[50],實現(xiàn)了 ZEC和 BTC之間的跨鏈原子交易;Bancor[51]基于智能合約構(gòu)建了一套跨鏈的去中心化流動性(liquidity)網(wǎng)絡(luò),實現(xiàn)沒有對手方的區(qū)塊鏈資產(chǎn)的自動估值和兌換;OneLedger[52]提供一套企業(yè)系統(tǒng)與區(qū)塊鏈系統(tǒng)聯(lián)通的解決方案,通過側(cè)鏈接入各類私有鏈、聯(lián)盟鏈和公有鏈,并通過中間協(xié)議層與企業(yè)級系統(tǒng)通信.

2.3 跨鏈技術(shù)的總結(jié)

總體而言,跨鏈技術(shù)還處于發(fā)展過程中,部分跨鏈技術(shù)目前僅公布了技術(shù)思路構(gòu)想,并正在研發(fā)或在區(qū)塊鏈測試網(wǎng)中開展局部實驗階段,還沒有完全實現(xiàn)方案中所列出的各項功能指標(biāo)和技術(shù)特性,因此對跨鏈技術(shù)的安全性、效率、性能、資源消耗等方面開展橫向評估較困難.從公開的白皮書或技術(shù)報告來看,上述跨鏈技術(shù)有些為基礎(chǔ)協(xié)議型,有些為開發(fā)設(shè)計模式,有些是某區(qū)塊鏈的側(cè)鏈,或僅用于有限個區(qū)塊鏈之間互聯(lián)等,各跨鏈技術(shù)不適于通過同一維度進(jìn)行分類.表 1匯總了各跨鏈技術(shù)的提出時間,并從該跨鏈技術(shù)是“基于 BTC區(qū)塊鏈/ETH 區(qū)塊鏈/自有鏈”、跨鏈機(jī)制“公證人機(jī)制/側(cè)鏈(中繼)/哈希鎖定/通信協(xié)議簇”、跨鏈范圍“系統(tǒng)內(nèi)部跨鏈/系統(tǒng)間跨鏈”這3個維度對跨鏈技術(shù)進(jìn)行總結(jié).

基于BTC區(qū)塊鏈?zhǔn)侵冈摽珂溂夹g(shù)在BTC基礎(chǔ)上提出或開發(fā)(如pegged sidechains)、或?qū)儆贐TC區(qū)塊鏈的側(cè)鏈(如rootstock,elements)、或是BTC區(qū)塊鏈特性的一部分(如lightning network);基于ETH區(qū)塊鏈與之類似;自有鏈指該跨鏈技術(shù)基于或?qū)儆诜荁TC/ETH的其他區(qū)塊鏈.基于BTC區(qū)塊鏈和ETH區(qū)塊鏈的跨鏈項目數(shù)量相當(dāng),表明公有鏈中這二者具有更廣泛的應(yīng)用基礎(chǔ)以及更迫切的跨鏈需求.以自有鏈形式構(gòu)建的跨鏈項目,主要以構(gòu)建具有跨鏈特性的區(qū)塊鏈作為項目特色,并致力于尋求實現(xiàn)通用的、標(biāo)準(zhǔn)化的區(qū)塊鏈接入模型.

公證人機(jī)制/側(cè)鏈(中繼)/哈希鎖定根據(jù)Vitalik Buterin的分類定義[16];通信協(xié)議簇指該跨鏈技術(shù)主要通過規(guī)定一系列通信數(shù)據(jù)格式與協(xié)議規(guī)范等實現(xiàn)區(qū)塊鏈接入.基于公證人機(jī)制的項目中,Interledger早期版本以公證人機(jī)制為主實現(xiàn)不同類型賬本的連接;Corda的特色在于提供更安全的公證人選擇(交易參與方共同指定)和操作模式(運行共識機(jī)制).基于側(cè)鏈(中繼)的項目占比較高,其中,Pegged Sidechains是側(cè)鏈最初的技術(shù)原型,提出了雙向楔入的概念;RootStock,Elements基于BTC側(cè)鏈提供增強(qiáng)式智能合約功能;BTCRelay與Loom均為基于ETH區(qū)塊鏈的側(cè)鏈,前者提供跨BTC與ETH的資產(chǎn)交換及智能合約應(yīng)用,后者側(cè)重構(gòu)建基于ETH的分布式應(yīng)用 DApp開發(fā)部署環(huán)境;Lisk則是通過搭建自有鏈提供 DApp開發(fā)平臺;Plasma及其變種 Minimal Viable Plasma,Plasma Cash設(shè)計了集成主鏈與側(cè)鏈的樹形分層網(wǎng)絡(luò)框架;Polkadot和 Cosmos則分別設(shè)計了 Relay chain-Bridges-Parachains結(jié)構(gòu)和 Hub-Zone結(jié)構(gòu)的跨鏈網(wǎng)絡(luò)基礎(chǔ)平臺.基于哈希鎖定機(jī)制的項目中,Nolan’s atomic transfers為哈希鎖定的技術(shù)原型;Zcash XCAT已成功演示了ZEC和BTC的跨鏈交易;Lightning Network致力于成為BTC主流鏈下擴(kuò)容方案,上線版本已運行上千個主網(wǎng)節(jié)點和上萬個通道,驗證了技術(shù)的可行性.通信協(xié)議簇類跨鏈技術(shù)由于以定義系統(tǒng)結(jié)構(gòu)、通信協(xié)議、數(shù)據(jù)格式、工作流程等各類標(biāo)準(zhǔn)規(guī)范為主,未來能否成為主流的跨鏈方案,主要取決于區(qū)塊鏈產(chǎn)業(yè)界各方對該協(xié)議規(guī)范的接受度以及在協(xié)議實現(xiàn)層面能夠獲得多大范圍的支持.

Table 1 Summary of cross-chain technology表1 跨鏈技術(shù)匯總表

系統(tǒng)內(nèi)部跨鏈指跨鏈技術(shù)支持在區(qū)塊鏈系統(tǒng)內(nèi)部的子鏈(如nano區(qū)塊鏈內(nèi)部的賬戶鏈、ETH區(qū)塊鏈內(nèi)部的sharding鏈、rchain中在不同命名空間運行的獨立區(qū)塊鏈)跨鏈;系統(tǒng)間跨鏈指支持不同區(qū)塊鏈項目之間的跨鏈(如BTCRelay實現(xiàn)ETH與BTC的跨鏈、cosmos原則上支持所有符合cosmos協(xié)議的區(qū)塊鏈互聯(lián)等).跨鏈作用范圍目前以區(qū)塊鏈內(nèi)部以及不同區(qū)塊鏈之間為主,提供區(qū)塊鏈與傳統(tǒng)系統(tǒng)或協(xié)議之間交互的跨鏈項目較少(interledger支持分布式和傳統(tǒng)中心化賬本互聯(lián)).

跨鏈技術(shù)在不同時期也呈現(xiàn)出各自的特點.比特幣區(qū)塊鏈時代期間,主要提出了跨鏈的幾種技術(shù)原型,并重點針對BTC區(qū)塊鏈容量限制及交易手續(xù)費高等問題,發(fā)展出閃電網(wǎng)絡(luò)、Pegged Sidechains等項目或技術(shù);后比特幣區(qū)塊鏈時代時期,側(cè)重于面向更多種應(yīng)用場景,例如實現(xiàn)鏈上資產(chǎn)互換(去中心化交易所)、增強(qiáng)區(qū)塊鏈系統(tǒng)的互操作性和可升級性、提供小型區(qū)塊鏈系統(tǒng)(包括私有鏈、聯(lián)盟鏈)的安全保障和價值傳遞等,探索具有更強(qiáng)擴(kuò)展性的通用跨鏈技術(shù).

3 跨鏈安全性分析

跨鏈技術(shù)的重要性已被業(yè)界認(rèn)可,盡管近幾年跨鏈技術(shù)得到較迅速的發(fā)展,但目前,現(xiàn)有的跨鏈技術(shù)還沒有得到大規(guī)模應(yīng)用.跨鏈的重要應(yīng)用之一原子交換尚局限在個別區(qū)塊鏈資產(chǎn)之間,或處于在測試鏈上試用的階段,如BTC與LTC[53]、LTC與DCR[54]、ZEC與BTC[55]等的原子交換實驗;區(qū)塊鏈資產(chǎn)的跨類別交易仍以中心化形態(tài)為主,去中心化交易平臺 Bitshares,EtherDelta等承載的交易量相對占比極低,小于總區(qū)塊鏈資產(chǎn)交易量的千分之一[56];支持跨鏈數(shù)據(jù)通信的各類跨鏈協(xié)議大部分處于研發(fā)狀態(tài),暫未獲得廣泛的認(rèn)可和共識.跨鏈技術(shù)面臨的問題在于:一方面,區(qū)塊鏈技術(shù)本身日新月異的發(fā)展速度,使得區(qū)塊鏈種類、技術(shù)復(fù)雜性、應(yīng)用場景多樣性都在不斷提升,造成對跨鏈技術(shù)的更新迭代提出更高的要求;另一方面,由于區(qū)塊鏈的某些固有特性,跨鏈技術(shù)目前還存在一些安全性層面的難點有待攻克.從來源與影響因素方面分析,跨鏈技術(shù)的安全性可以包括以下兩個類別.

(1) 跨鏈的技術(shù)原理與實現(xiàn)機(jī)制本身存在的安全性缺陷.伴隨著區(qū)塊鏈技術(shù)的快速發(fā)展,跨鏈技術(shù)仍處于演進(jìn)過程中,在設(shè)計與實現(xiàn)上還存在信任依賴、惡意交易等安全性問題;

(2) 區(qū)塊鏈系統(tǒng)的結(jié)構(gòu)及特點對跨鏈安全性造成的影響.由于區(qū)塊鏈的分布式賬本架構(gòu)與傳統(tǒng)軟件系統(tǒng)具有顯著差異,相比于一般信息系統(tǒng)之間的互聯(lián)互通,現(xiàn)有各類跨鏈技術(shù)還將面臨一些共性的安全性挑戰(zhàn).

以下分析總結(jié)了12種主要的跨鏈安全性問題(其中,1~3項屬于第1類別,4~12項屬于第2類別),以期為相關(guān)領(lǐng)域?qū)W者研究現(xiàn)有跨鏈技術(shù)以及設(shè)計新的跨鏈技術(shù)提供一些參考.

(1) 公證人信任問題.公證人機(jī)制由于引入了第三方機(jī)構(gòu)或組織,盡管有成熟的選舉策略,但價值轉(zhuǎn)移或信息交換主要依賴于公證人的誠實性,因此中心化程度較高.公證人多重簽名通過隨機(jī)選擇在一定程度上增強(qiáng)了安全性,但并未完全消除相關(guān)依賴,仍然存在共謀風(fēng)險.基于公證人機(jī)制的一些跨鏈項目也在尋求與其他技術(shù)的結(jié)合,如公證人機(jī)制的代表——Interledger項目,在其最新協(xié)議中融合了哈希鎖定機(jī)制,以提供更完備的安全保障;

(2) 側(cè)鏈/中繼的安全性問題.由于側(cè)鏈/中繼機(jī)制主要通過讀取區(qū)塊頭來實現(xiàn)對事件或支付的驗證,無法像主鏈全節(jié)點獲知網(wǎng)絡(luò)上所有交易的全貌,因此難以實現(xiàn)交易的全面驗證,如追溯所有歷史交易的UTXO(unspent transaction output)數(shù)據(jù)、判斷是否存在雙重支付等.側(cè)鏈/中繼機(jī)制依賴于礦工的誠實性,在鏈?zhǔn)?chain fail)或51%攻擊情況下,將導(dǎo)致跨鏈系統(tǒng)無法正常工作;

(3) 哈希鎖定的安全性問題.根據(jù)哈希鎖定的設(shè)計原理,其技術(shù)安全性主要與資金鎖定機(jī)制以及鎖定時間超時相關(guān).例如,基于哈希鎖定的閃電網(wǎng)絡(luò)在系統(tǒng)設(shè)計時就預(yù)見到如下安全風(fēng)險[24]:惡意參與者創(chuàng)建大量交易通道并讓所有通道同時超時,導(dǎo)致垃圾交易信息在網(wǎng)絡(luò)中廣播并造成阻塞,從而影響正常交易;交易通道開啟階段必須保證定量的資金處于鎖定狀態(tài),即用戶需要采用“熱錢包”保持較長時間連接到區(qū)塊鏈網(wǎng)絡(luò)以便能簽名交易,而非“冷錢包”或離線存儲等更安全的方式,因而將增加黑客盜取用戶私鑰的風(fēng)險;交易一方如果發(fā)生數(shù)據(jù)丟失或者沒有在正確的時間內(nèi)廣播交易,將可能存在被另一方盜取資金的風(fēng)險;

(4) 孤塊(orphan block)問題.在采用工作量證明(PoW)[1]為共識算法的區(qū)塊鏈網(wǎng)絡(luò)中,不同礦工可能在相近時間內(nèi)挖出了兩個或多個區(qū)塊,它們均符合區(qū)塊鏈基礎(chǔ)協(xié)議且工作量足夠,因此都屬于合法區(qū)塊.但由于網(wǎng)絡(luò)傳輸?shù)葐栴},網(wǎng)絡(luò)中的各個節(jié)點可能會以不同的順序接受這些區(qū)塊,并在最早接收的區(qū)塊基礎(chǔ)上繼續(xù)計算下一個區(qū)塊.最終,這些區(qū)塊中只有一個存在于最長鏈中,其他區(qū)塊則被丟棄成為孤塊.因此,當(dāng)跨鏈網(wǎng)絡(luò)讀取所接入?yún)^(qū)塊鏈的最新區(qū)塊信息后,會出現(xiàn)包含相關(guān)交易數(shù)據(jù)的區(qū)塊先被確認(rèn)有效,隨后又成為孤塊的情況,從而導(dǎo)致跨鏈網(wǎng)絡(luò)實際傳遞了錯誤的區(qū)塊信息(該區(qū)塊內(nèi)的交易和相關(guān)數(shù)據(jù)均已被原始區(qū)塊鏈丟棄);

(5) 長距離攻擊(long range attack).在采用權(quán)益證明(PoS)[30]共識算法的區(qū)塊鏈網(wǎng)絡(luò)中,惡意的節(jié)點可能會預(yù)先計算出大量區(qū)塊再一次性放出,導(dǎo)致對應(yīng)的原始區(qū)塊鏈出現(xiàn)重組(block reorganization).基于替換前的區(qū)塊完成的跨鏈交易將均被撤銷,跨鏈網(wǎng)絡(luò)中的交易因此會被雙花(double-spend),智能合約則可能出現(xiàn)滿足觸發(fā)條件并執(zhí)行結(jié)束,但隨后觸發(fā)條件被回滾的情況.應(yīng)對此類攻擊較好的方法之一是設(shè)立確定性檢查點[57];

(6) 阻塞超時問題.某些跨鏈技術(shù)通過設(shè)置延遲時間以確??珂溄灰谆蚪换?shù)據(jù)得到區(qū)塊鏈的確認(rèn),這在一定程度上可以避免孤塊和長距離攻擊問題.鑒于區(qū)塊鏈目前有限的交易處理速度,垃圾交易(spam transactions)或短期內(nèi)過多的交易數(shù)量會導(dǎo)致區(qū)塊鏈網(wǎng)絡(luò)阻塞.在當(dāng)前影響力最大的公有鏈系統(tǒng)比特幣和以太坊中,均出現(xiàn)過多次交易阻塞超過數(shù)小時甚至幾天未被確認(rèn)的情況.跨鏈形成的鏈聯(lián)網(wǎng),可能會因為跨鏈網(wǎng)絡(luò)一側(cè)的區(qū)塊鏈阻塞而導(dǎo)致跨鏈交易超時且無法及時取消,甚至存在大面積跨鏈交互阻塞的風(fēng)險;

(7) 競爭條件攻擊(race condition attack).在原子交換類的跨鏈系統(tǒng)中,尤其容易遭受此類攻擊[16].舉例來說,A,B雙方通過跨鏈系統(tǒng)提供的智能合約,嘗試交換A的1個BTC和B的10個ETH資產(chǎn).A發(fā)送1個 BTC給合約規(guī)定的地址,B此時也發(fā)送同樣數(shù)量的 BTC到相同地址,并且試圖取回自己的 10個ETH.這兩筆交易均有一定概率被先確認(rèn),從而導(dǎo)致B同時得到A的BTC并取回自己的ETH而A一無所獲的情況;

(8) 日蝕攻擊(eclipse attack).區(qū)塊鏈以及跨鏈網(wǎng)絡(luò)均是以P2P網(wǎng)絡(luò)為基礎(chǔ),由于P2P網(wǎng)絡(luò)單個節(jié)點連接至其他節(jié)點數(shù)量受TCP連接限制,攻擊者通過控制足夠多的地址,可以屏蔽受害節(jié)點的所有輸入和輸出節(jié)點,從而使受害節(jié)點無法獲得真實的網(wǎng)絡(luò)信息.相較于節(jié)點全球分散、數(shù)量龐大的大型公有鏈區(qū)塊鏈網(wǎng)絡(luò),組成跨鏈網(wǎng)絡(luò)的節(jié)點數(shù)相對更少,更易遭受類似的日蝕攻擊;

(9) 區(qū)塊腫脹(block bloat)問題.通過存儲跨鏈交易相關(guān)區(qū)塊鏈的區(qū)塊頭實現(xiàn)數(shù)據(jù)訪問是跨鏈技術(shù)的一種主流做法,由于區(qū)塊鏈交易記錄的不斷累積,截至本文撰寫時(2018年 10月),比特幣區(qū)塊鏈大小已達(dá)220GB,以太坊區(qū)塊鏈為108GB(fast sync模式),并在繼續(xù)快速增長中.盡管區(qū)塊頭的容量占比較低,但跨鏈接入的區(qū)塊鏈越多,需要存儲的容量也會相應(yīng)增多,使得跨鏈也會面臨相同的區(qū)塊膨脹問題;

(10) 失效蔓延問題.跨鏈形成的鏈聯(lián)網(wǎng)結(jié)構(gòu)中,如果其中一部分區(qū)塊鏈因共識失敗或 51%攻擊[1]成功等,使這些區(qū)塊鏈被惡意勢力掌控或完全無法正常運轉(zhuǎn),鏈聯(lián)網(wǎng)中錯綜復(fù)雜的跨鏈通信則會因為部分死鏈導(dǎo)致連鎖式的交互失敗,從而使跨鏈?zhǔn)г阪溌?lián)網(wǎng)中大面積蔓延.2018年以來,有BTG,Verge等多種區(qū)塊鏈遭受了51%攻擊[58],造成重大的區(qū)塊鏈資產(chǎn)雙花問題,如跨鏈系統(tǒng)連接了這類區(qū)塊鏈網(wǎng)絡(luò)且未采取相應(yīng)的安全防護(hù)措施,可能導(dǎo)致與它們相聯(lián)的其他區(qū)塊鏈網(wǎng)絡(luò)受到影響,并造成經(jīng)濟(jì)損失等后果;

(11) 跨鏈重放攻擊(cross-chain replay attacks).區(qū)塊鏈網(wǎng)絡(luò)發(fā)生硬分叉(hard fork)后,由于原始鏈和分叉鏈的交易地址、交易格式、密鑰算法等均可能完全相同,其中一條鏈上的交易被惡意傳送到另外一條或多條鏈重新廣播,該交易也可能得到確認(rèn),即重放攻擊(replay attacks).硬分叉是區(qū)塊鏈中并不少見,一般出現(xiàn)在區(qū)塊鏈系統(tǒng)升級、共識失敗,或開發(fā)人員將代碼進(jìn)行一定程度修改后另行啟動新的區(qū)塊鏈系統(tǒng).跨鏈重放攻擊會導(dǎo)致跨鏈交易在分叉的區(qū)塊鏈同時成立,造成用戶區(qū)塊鏈資產(chǎn)的損失;

(12) 升級兼容性問題.大多數(shù)區(qū)塊鏈項目在上線后均會通過持續(xù)升級更新特性,特別是大版本升級時會影響一些關(guān)鍵特性,如區(qū)塊大小、共識算法切換、新增功能等.當(dāng)跨鏈接入眾多區(qū)塊鏈時,各鏈版本升級后對跨鏈協(xié)議、跨鏈機(jī)制的兼容,以及跨鏈如何應(yīng)對與自適應(yīng),都是需要關(guān)注的問題.

綜上,當(dāng)多個區(qū)塊鏈系統(tǒng)通過跨鏈系統(tǒng)相互連接后,系統(tǒng)的整體復(fù)雜度將大幅增加,特別是跨鏈系統(tǒng)所對接的多條區(qū)塊鏈,在設(shè)計之初一般并未考慮跨鏈應(yīng)用的場景,并缺乏對應(yīng)的保護(hù)機(jī)制,由此引入的安全性問題需要跨鏈系統(tǒng)的設(shè)計者謹(jǐn)慎分析和應(yīng)對.

4 總結(jié)與展望

跨鏈技術(shù)被認(rèn)為是區(qū)塊鏈領(lǐng)域發(fā)展的圣杯[59],是實現(xiàn)鏈聯(lián)網(wǎng)的核心關(guān)鍵技術(shù).本文對目前主流的跨鏈技術(shù)進(jìn)行了系統(tǒng)性的介紹和對比.由于區(qū)塊鏈領(lǐng)域的發(fā)展日新月異,一些新的跨鏈技術(shù)也在不斷涌現(xiàn).現(xiàn)有的跨鏈技術(shù)從形態(tài)上來看,有些是在已有區(qū)塊鏈項目基礎(chǔ)上的改進(jìn),實現(xiàn)有限的數(shù)據(jù)互聯(lián);有些是提出了一套通信協(xié)議,實現(xiàn)區(qū)塊鏈間的通信;有些是提出了新的系統(tǒng)架構(gòu)和運行模式,支持不同區(qū)塊鏈的接入.總的來看,跨鏈技術(shù)仍處于初期發(fā)展過程中,跨鏈的推廣應(yīng)用需要達(dá)成更廣泛的共識.

基于區(qū)塊鏈的分布式賬本技術(shù)通過區(qū)塊封裝、共識算法、時間戳等機(jī)制,提供了去中心化、不可篡改、無需信任等優(yōu)秀特性,并結(jié)合行業(yè)需求逐步開展了各類應(yīng)用開發(fā)[60];同時,系統(tǒng)容量、資源消耗、運行效率等技術(shù)指標(biāo)也在不斷提升[61,62],為實現(xiàn)無處不在的價值流通與交換提供了可能.跨鏈?zhǔn)菍崿F(xiàn)無界價值互聯(lián)的關(guān)鍵,其技術(shù)突破將有助于推動跨鏈資產(chǎn)轉(zhuǎn)移/抵押、跨鏈數(shù)據(jù)共享、中心化資產(chǎn)交易平臺、分布式應(yīng)用DApp的跨平臺開發(fā)/部署/配置、跨鏈智能合約應(yīng)用、垂直行業(yè)私有鏈價值交互等應(yīng)用領(lǐng)域的發(fā)展.開放的公有鏈與訪問受限的私有鏈、聯(lián)盟鏈之間,區(qū)塊鏈與傳統(tǒng)軟件系統(tǒng)之間,也存在價值拓展和交換的應(yīng)用需求,未來跨鏈技術(shù)有可能演變?yōu)橹胃鼜V泛應(yīng)用的網(wǎng)絡(luò)基礎(chǔ)設(shè)施.

跨鏈的初衷在于構(gòu)建鏈聯(lián)網(wǎng)、實現(xiàn)各個區(qū)塊鏈的無縫互聯(lián),但基于區(qū)塊鏈的本質(zhì)特性以及面對愈加豐富的應(yīng)用形態(tài)時,未來也可能并不會統(tǒng)一成一種通用的跨鏈技術(shù)來滿足各類需求.可以預(yù)見:隨著跨鏈技術(shù)研究的深入和應(yīng)用的普及,將發(fā)展出類似當(dāng)前互聯(lián)網(wǎng)中標(biāo)準(zhǔn)化的數(shù)據(jù)接口通訊技術(shù),各種不同的區(qū)塊鏈系統(tǒng)將盡可能地提供出多種標(biāo)準(zhǔn)跨鏈通信接口,并抽象出典型的互操作服務(wù)供其他系統(tǒng)調(diào)用.在區(qū)塊鏈系統(tǒng)的內(nèi)部,不同的分片、子鏈,或支鏈之間,也將通過系統(tǒng)內(nèi)部高速跨鏈機(jī)制實現(xiàn)局部信息與全局信息之間的同步與更新.除了各類線性鏈?zhǔn)絽^(qū)塊結(jié)構(gòu),業(yè)界還發(fā)展出有向無環(huán)圖(directed acyclic graph,簡稱DAG)[6-8]、哈希圖(Hashgraph)[63]等結(jié)構(gòu)的分布式賬本系統(tǒng),跨鏈技術(shù)面臨的場景更加復(fù)雜.跨鏈技術(shù)最終能否形成鏈聯(lián)網(wǎng)的TCP/IP協(xié)議、實現(xiàn)全球區(qū)塊鏈的廣泛互聯(lián),亦或成為多種跨鏈技術(shù)長期共存、實現(xiàn)不同層次的數(shù)據(jù)連接,將與區(qū)塊鏈自身的技術(shù)形態(tài)、應(yīng)用模式發(fā)展密切相關(guān),也有待跨鏈技術(shù)研究者持續(xù)探索實踐.

猜你喜歡
比特區(qū)塊交易
《紅樓夢》的數(shù)字化述評——兼及區(qū)塊鏈的啟示
區(qū)塊鏈助跑財資管理
一場區(qū)塊鏈引發(fā)的全民狂歡
區(qū)塊鏈助力企業(yè)創(chuàng)新
比特幣還能投資嗎
比特幣分裂
比特幣一年漲135%重回5530元
大宗交易榜中榜
大宗交易榜中榜
大宗交易