何 帥,黃襄念,陳曉亮
(西華大學計算機與軟件工程學院,四川 成都 610039)
比特幣系統(tǒng)的成功穩(wěn)定運行使得其底層區(qū)塊鏈技術受到了廣泛的研究與拓展。區(qū)塊鏈技術也成為繼物聯網、大數據、云計算之后的又一項顛覆性前沿技術[1]。區(qū)塊鏈技術涉及到了密碼學、計算機科學、博弈論、數學等多個學科領域,是點對點網絡、加密算法、共識機制、智能合約、分布式數據存儲等多種技術的集成式創(chuàng)新[2],具有去中心化、不可篡改、可追溯、不可偽造的技術特點,實現了在開放式P2P 網絡中不依賴可信第三方的數字支付系統(tǒng),正構造著全新的信任體系,有望實現信息互聯向價值互聯的轉變,具有改變人類社會價值傳遞方式的潛力,支持與各行業(yè)應用深度融合,引起了金融、航運物流、電子政務等多個領域的廣泛關注[2 ? 3]。
區(qū)塊鏈技術從誕生至今,歷經了區(qū)塊鏈1.0 的比特幣時代和以聯盟鏈為代表的區(qū)塊鏈2.0 時代。經過近幾年來區(qū)塊鏈技術的深入創(chuàng)新發(fā)展以及區(qū)塊鏈項目的不斷落地,區(qū)塊鏈技術過渡到了以EOS 為代表的區(qū)塊鏈3.0 時代[4]。區(qū)塊鏈是在比特幣的基礎架構之上不斷革新拓展而來,目前根據節(jié)點的準入機制與去中心化程度可將區(qū)塊鏈分為公有鏈、聯盟鏈和私有鏈[5]。比特幣在設計過程中并未充分考慮在更廣泛范圍應用時所需的圖靈完備、安全性、可擴展性等需求,使得單個區(qū)塊鏈很難解決所有技術問題,也不能廣泛應用于其他實際場景,因此,催生了適用于不同行業(yè)范圍的區(qū)塊鏈項目[5 ? 6]。例如Linux 基金會在2015 年發(fā)起了Hyperledger 開源項目,旨在推動區(qū)塊鏈的跨行業(yè)應用,其子項目Fabric 經過多年的創(chuàng)新與發(fā)展更是受到了眾多企業(yè)級公司的青睞,已經成為了聯盟鏈項目開發(fā)的主流框架。在區(qū)塊鏈項目呈現出百花齊放的態(tài)勢的同時,隨之而來的區(qū)塊鏈互通性問題便成為了搭建區(qū)塊鏈價值網絡的技術瓶頸和核心問題[7]。
目前,各種區(qū)塊鏈項目都是根據不同的實際應用場景和設計理念,采用不同的技術框架開發(fā)出的異構區(qū)塊鏈,這使得大量區(qū)塊鏈項目成為了一個個孤立的價值體系。隨著區(qū)塊鏈技術在供應鏈金融、供應鏈溯源等場景的深入應用,場景之間融合的需求越來越大,跨鏈之間的價值流通、應用協同需求日益顯現。如何實現區(qū)塊鏈之間的互聯互通,建立一種高效、安全、通用性強的跨鏈技術體系,滿足鏈與鏈之間的安全高效數據共享與業(yè)務協同成為了當前區(qū)塊鏈研究的重中之重[8]。跨鏈技術將是推動區(qū)塊鏈產業(yè)大范圍快速落地運用的強力助推劑,更是區(qū)塊鏈3.0 時代的核心與關鍵技術。
隨著區(qū)塊鏈網絡的迅猛發(fā)展,各種區(qū)塊鏈項目之間的融合需求日益增長,區(qū)塊鏈技術對跨鏈交互的訴求越來越突出。區(qū)塊鏈技術在交易處理能力和可擴展性方面始終限制著區(qū)塊鏈大范圍的落地應用。如何突破底層公鏈性能和功能瓶頸,實現高吞吐量和跨鏈互操作為一體的區(qū)塊鏈系統(tǒng)成為了當前區(qū)塊鏈領域研究的重點。在性能方面,區(qū)塊鏈從單鏈逐漸發(fā)展為多鏈融合,通過對傳統(tǒng)的工作量證明[9](proof of work,PoW)共識機制的改進和優(yōu)化,在比特幣和以太坊的基礎架構上衍生出了以實用拜占庭容錯[10](practical byzantine fault toleran,PBFT)和委任權益證明[11](delegated proof of stake,DPoS)共識算法為核心的聯盟鏈和公鏈網絡,實現了TPS(服務器每秒處理的事務數)從個位數躍升到萬級別的重大突破,但是在一定程度上弱化了區(qū)塊鏈“去中心化”的核心設計理念;因此,在實際場景運用中區(qū)塊鏈網絡亟須在保證更好的去中心化前提下,實現更高的交易性能[12]。在功能方面,隨著區(qū)塊鏈技術深入研究與拓新、智能合約開發(fā)平臺的逐漸豐富與優(yōu)化完善,以及數字經濟的快速發(fā)展,各種企業(yè)級商業(yè)區(qū)塊鏈項目的落地實施使得大量紛繁復雜的垂直公鏈形成了眾多獨立的基礎設施和業(yè)務體系[13]。為了實現不同行業(yè)區(qū)塊鏈項目的有機融合,達到區(qū)塊鏈間的互聯互通,進而實現業(yè)務與價值的鏈間流轉的目的,區(qū)塊鏈對跨鏈交互技術有了實際的迫切需求,因此,跨鏈技術隨之產生。
跨鏈技術從比特幣誕生之初就被初步的研究,經歷了從單鏈擴張到中繼等跨鏈平臺的多鏈協同時期[14]。在區(qū)塊鏈技術發(fā)展早期階段,區(qū)塊鏈技術都是基于單鏈的形式發(fā)展,但由于單鏈的性能優(yōu)化和技術升級存在較大難度,不能滿足實際應用需求;因此,大量基于單鏈擴張被研究,并逐漸過渡到了多鏈協同發(fā)展階段[15]。2012 年瑞波實驗室提出了InterLedger[16]協議,解決了區(qū)塊鏈跨系統(tǒng)之間的協同問題;2013 年Herlihy 提出了原子交換的理念,指出在構成一筆完整跨鏈交易的子交易中只存在2 種情況,即成功和徹底失敗[17];2014 年BlockSream 提出了側鏈機制,通過利用雙向錨定實現了加密資產在主鏈與側鏈之間的轉移,并在此基礎上提出了強聯邦側鏈,這不僅提升了互操作性,還有效地縮減了主鏈與側鏈之間的時延;2015 年比特幣閃電網絡利用哈希時間鎖定機制,實現了比特幣鏈下快速交易,提升了比特幣系統(tǒng)的交易效率;2016 年BTC-Relay 利用中繼跨鏈實現了比特幣和以太坊之間的單向跨鏈通信;2017 年,在Cosmos[16]和Polkadot[17]跨鏈項目中提出了搭建跨鏈基礎平臺的方案,以實現兼容所有區(qū)塊鏈應用的目的;2018 年Wanchain 創(chuàng)世塊降臨[18],其在以太坊的所有機制之上引入跨鏈的交易機制,實現了鏈上資產的匿名性及隱私保護的功能;同年7 月,Plasma 更新升級[19],在原有的基礎之上簡化了其功能設計,使得更新后的Plasma 更加容易、費用更低;2019 年Cosmos 上線,并利用Cosmos-SDK 重構區(qū)塊鏈生態(tài)系統(tǒng),通過Cosmos Hub[18 ? 19]將Cosmos Networks 上的所有區(qū)塊鏈連接起來共同創(chuàng)建了一個用于連接的中心核輪輻模型;同年,趣鏈跨鏈技術平臺BixXHub 和微眾銀行跨鏈平臺WeCross 開源,大力促進了著手打造國產自主的跨鏈技術平臺的發(fā)展,專注于異構聯盟鏈間的賬本互操作,解決了跨鏈中的交易捕獲、傳輸及驗證的核心難題[19];2020 年Polkadot 正式上線[20],其提供的互操作性和跨鏈通信實現了用戶能夠在鏈之間傳遞信息,打開了區(qū)塊鏈創(chuàng)新服務的大門。
跨鏈技術從產生、發(fā)展到實際應用的過程中,在解決區(qū)塊鏈互操作性、交易性和可擴展性方面都取得了一定的突破。目前,研究者正圍繞著命名協議、身份認證與通信協議、跨鏈事務一致性等方面進行廣泛的探索與研究。跨鏈技術發(fā)展歷程如圖1 所示。
圖 1 區(qū)塊鏈跨鏈技術發(fā)展過程
跨鏈,顧名思義,就是通過某些特定的技術手段,能讓價值跨過鏈與鏈之間的障礙進行直接交互,從而實現不同區(qū)塊鏈之間的資產流通和價值轉移。跨鏈的實現原理和現實生活中貨幣兌換的原理是一致的,即通過既定的合法合規(guī)的準則達到不同區(qū)塊鏈間的資產轉移的目的。從商業(yè)應用的角度來看,跨鏈技術就相當于一個可信第三方交易所,不同的用戶均可通過該交易所進行跨鏈交易,并且在跨鏈過程中并不會改變任意區(qū)塊鏈上的價值總額,只是完成了不同區(qū)塊鏈用戶之間的價值兌換??珂溂夹g相對于傳統(tǒng)的TCP/IP 傳輸協議而言,有效地解決了賬本之間在同步數據的過程中容易造成價值丟失和雙重支付的問題。因此,跨鏈不僅實現了信息的傳輸,還保證了在價值守恒的前提下,實現價值在不同區(qū)塊鏈之間的流動[20]??偠灾?,跨鏈技術是鏈接區(qū)塊鏈的橋梁和樞紐,是實現價值互聯的關鍵,是區(qū)塊鏈向外拓展并打破區(qū)塊鏈形成價值孤島的有利手段。
跨鏈交互根據所跨越的區(qū)塊鏈底層技術平臺的不同可以分為同構鏈跨鏈和異構鏈跨鏈。同構鏈之間的網絡拓撲、安全機制、共識算法、區(qū)塊生成驗證邏輯都是一致的,因此同構鏈之間的跨鏈交互相對簡單[19 ? 21]。然而,在實際應用場景中,更多的研究是異構鏈之間跨鏈交互。異構鏈之間的共識機制、網絡拓撲存在較大差異,使得異構鏈的跨鏈交互相對復雜。例如聯盟鏈Fabric 采用傳統(tǒng)確定性共識算法,而比特幣使用工作量證明(PoW)共識算法,導致了區(qū)塊的確定性保證機制和組成形式產生了巨大差異,無法直接設計跨鏈交互機制而需要第三方服務輔助跨鏈交互,從而大大增加了異構鏈跨鏈交互的難度[22]。當前,不論是同構鏈跨鏈還是異構鏈跨鏈,要解決的最基礎的問題還是鏈間資產的轉移和資產的兌換[23]。在遵守跨鏈交易的原子性前提下,資產轉移是指將原鏈上的資產進行鎖定的同時在接受資產轉移的目標鏈上重新鑄造等值等量的資產,從而實現鏈之間的資產轉移并實時更新各鏈上資產總量因轉移而發(fā)生的變化[24];資產兌換是指在保證每條鏈上資產總量不變的情況下,同時變更交互鏈之間對鏈上資產的所有權,從而達到區(qū)塊鏈間資產兌換的目的。目前,在異構鏈中跨鏈方式主要分為區(qū)塊監(jiān)聽、不直接交互和第三方協作交互,其整體跨鏈架構如圖2 所示。
圖 2 區(qū)塊鏈整體跨鏈架構圖
隨著大量區(qū)塊鏈項目落地實施,為了促進區(qū)塊鏈項目跨行業(yè)聯合發(fā)展,解決區(qū)塊鏈底層架構不同互通難、數據結構不同互認難、接口協議不同互聯難、安全機制不同互信難、業(yè)務模式不同互訪難等問題,跨鏈逐漸成為了當前區(qū)塊鏈技術的重點攻關方向。由于跨鏈技術研究起點相對較晚,目前區(qū)塊鏈的跨鏈技術研究仍處于萌芽階段,正面臨著各大風險挑戰(zhàn),跨鏈技術的創(chuàng)新研發(fā)也面臨著各種各樣的技術難點,主要體現在以下幾個方面。
1)跨鏈事務管理問題??珂溂夹g在實現鏈間資產轉移和兌換的過程中必須避免“雙花”問題,即實現交易只能同時成功或同時失敗,保證鏈間交易雙方的賬本信息同步更新且保持跨鏈事務的一致性。在一次跨鏈交易過程中往往包含多個子交易,這些子交易構成了一個事務,而不同的子交易通常獨立并行地運行在不同的區(qū)塊鏈系統(tǒng)中,跨鏈事務管理就必須保證在成功進行完一次交易后,其子交易也能夠成功執(zhí)行,如果某一子交易執(zhí)行失敗,則能夠回滾撤銷前面的子交易。因此,跨鏈事務管理在實現跨鏈交易的過程中要保證交易的原子性,這也是跨鏈技術必須要解決的技術難點。
2)跨鏈交易驗證問題。跨鏈交易驗證主要包括2 方面:一是確認交易執(zhí)行完成并成功寫入區(qū)塊鏈賬本;二是跨鏈交易雙方在跨鏈交易過程中能夠彼此驗證交易的合法性和有效性。然而,在區(qū)塊鏈系統(tǒng)中,為了確保信息的絕對可靠,大部分區(qū)塊鏈系統(tǒng)是一個確定的、封閉的系統(tǒng)環(huán)境,這使得鏈內外的數據交互變得十分的困難,從而增加了驗證另一條鏈中交易合法性和有效性的難度。目前“區(qū)塊頭+SPV”模式是常見的跨鏈交易驗證機制[25]。
3)跨鏈交易性能問題。區(qū)塊鏈的交易處理能力與可擴展性一直是區(qū)塊鏈技術突破的重要方向。區(qū)塊鏈系統(tǒng)在達成共識的過程中存在去中心化、安全性和可擴展性的不可能三角問題,使得區(qū)塊鏈只能兼顧其中的2 項[26]。盡管當前某些區(qū)塊鏈項目能夠達到數百萬量級的TPS,但都只有在少量驗證節(jié)點的前提下才能實現,同時還降低了系統(tǒng)去中心化的特性。隨著跨鏈交易規(guī)模的不斷擴大,跨鏈交易對并發(fā)執(zhí)行速度的性能需求越來越高,使得跨鏈交易并發(fā)性和可擴展性成為了跨鏈技術亟待解決的技術難點。
4)鎖定資產管理問題。鎖定資產管理能夠實現鏈上資產鎖定凍結,同時設定區(qū)塊鏈上資產鎖定和解鎖的條件,能夠有效地管理交易賬戶,確保鎖定資產的私密性以及交易的安全性,也避免了交易過程中“雙花”問題的出現。目前,鎖定資產管理主要有智能合約模式、單一托管人模式以及聯盟鏈托管模式。由于其應用場景和使用范圍都有一定的局限性,因此跨鏈技術在鎖定資產管理方面還有待進一步突破創(chuàng)新[23,26]。
5)多鏈協議適配問題??珂溂夹g是實現區(qū)塊鏈技術達到真正的商業(yè)應用級別的助推劑。區(qū)塊鏈網絡要達到像互聯網一樣的互聯平臺,必須依靠跨鏈技術形成互聯互通、多鏈互存的生態(tài)系統(tǒng)。目前,實現多鏈互聯互通主要從主動兼容和被動兼容2 個方向進行突破來解決多鏈協議適配問題。主動兼容是在已有的異構區(qū)塊鏈系統(tǒng)基礎之上,研發(fā)底層跨鏈機制,即從區(qū)塊鏈的實際應用中開發(fā)適用于不同場景的跨鏈技術,進而實現跨場景的資產流通和價值轉移。被動兼容是從底層平臺入手,先搭建好跨鏈平臺,在此基礎上再進行區(qū)塊鏈系統(tǒng)的開發(fā),同時還可以提供接口接入更多的區(qū)塊鏈系統(tǒng),共享跨鏈平臺的系統(tǒng)便利。
6)跨鏈安全保障問題??珂湹陌踩詥栴}是決定跨鏈網絡能否正常運行的關鍵。區(qū)塊鏈系統(tǒng)之間進行跨鏈交互時,如何確保雙方系統(tǒng)的安全性是跨鏈技術研究一大難題。目前主要從適度隔離、檢測安全事件2 個方面進行考慮。適當隔離主要是為了避免當一條鏈受到攻擊時影響整個跨鏈系統(tǒng)的運行,盡量保持鏈之間的獨立性;檢測安全事件是通過具有檢測惡意攻擊能力的第三方節(jié)點來處理跨鏈事務,使得跨鏈系統(tǒng)具有類似防火墻的功能。跨鏈安全保障問題將是跨鏈技術不斷重視的一個技術研究點,也是跨鏈技術的防護盾,值得進一步深入研究并不斷完善。
在業(yè)務形式日益復雜的商業(yè)應用場景下,鏈與鏈之間缺乏統(tǒng)一的互聯互通機制,這將極大地限制區(qū)塊鏈技術的發(fā)展空間。要實現真正的價值區(qū)塊鏈網絡,就必須將同構或異構的區(qū)塊鏈網絡連接起來。針對區(qū)塊鏈之間的數據傳輸、交易訪問等技術難點,目前已有公證人機制(notray scheme)、側鏈/中繼(side chain/relay)、哈希鎖定(Hash-locking)、分布式私鑰控制(distributed private key control)、公證人+側鏈混合機制(notary scheme+sidechains mixing technology)等[24,26]核心技術在不同程度上解決了區(qū)塊鏈跨鏈交互問題,實現了不同鏈之間資產自由流通。
公證人機制是一種相對容易實現的跨鏈機制。和傳統(tǒng)的交易所工作模式類似,公證人機制是通過引入可信的第三方進行跨鏈消息的驗證和轉發(fā)。當在不同的區(qū)塊鏈系統(tǒng)中進行資產兌換和轉移時,選舉一個或者多個組織作為公證人來自動或者請求式監(jiān)聽不同鏈上的事件,并通過特定共識算法對事件是否發(fā)生達成共識,最后及時做出響應[27]。目前,公證人機制根據實現過程中簽名方式的差異又分為單簽名公證人機制、多重簽名公證人機制和分布式簽名公證人機制。
3.1.1 單簽名公證人
單簽名公證人又稱為中心化公證人,是公證人機制中最簡單的跨鏈模式。其實質是指定單一的獨立節(jié)點或者機構充當公證人,該公證人在跨鏈交互過程中承擔了數據收集、驗證、交易確認的任務,并充當了沖突仲裁者的角色,進而實現了用可信第三方來替代技術上的信譽保障[28]。單簽名公證人模式具有兼容性強、處理速度快的特性,但適用范圍比較單一,大多數用于跨鏈資產兌換?;趩魏灻C人模式的以太坊網絡和比特幣網絡之間的資產交換過程如圖3 所示。
圖 3 單簽公證人跨鏈資產交換流程圖
1)用戶A 將自己錢包地址里的ETH 轉入交易所地址賬戶中。
2)用戶A 向交易所提出價值兌換的請求:1BTC兌換5ETH。
3)用戶B 將自己錢包地址里的BTC 轉入交易所地址賬戶中。
4)用戶B 向交易所提出價值兌換的請求:5ETH兌換1BTC。
5)交易所作為可信第三方撮合交易雙方達成共識。
6)交易所將用戶A 轉入的ETH 轉移到用戶B 的錢包地址中。
7)同時交易所將用戶B 轉入的BTC 轉移到用戶A 的錢包地址中。
3.1.2 多重簽名公證人
多重簽名公證人機制是在進行交易驗證時從公證人群體中隨機地選出一部分公證人,然后利用密碼學技術來共同完成簽名,降低了對公證人可靠性的依賴程度。在多重簽名公證人模式中,公證人通常是一群獨立節(jié)點或者機構組成的聯盟,每一個節(jié)點都擁有一個密鑰,只有當一定比例的公證人在各自的賬本上共同簽名達成共識時,跨鏈交易才能被確認[26 ? 28]。相對于單簽名公證人機制,多重簽名公證人弱化了中心化風險,具有更高的安全性,當部分節(jié)點受到惡意攻擊時不會影響整個跨鏈系統(tǒng)的運行。其實現過程如圖4 所示。
圖 4 多重簽名公證人流程圖
3.1.3 分布式多重簽名公證人
分布式簽名公證人機制是在多重簽名公證人機制上不斷優(yōu)化的具有更高安全性和可靠性的公證人跨鏈模式。相對于多重簽名公證人機制而言,分布式簽名公證人機制采用了多方計算MPC(multiparty computation)的核心思想來確保密鑰的隱私性和安全性[28 ? 29]。分布式簽名公證人模式的實現過程是將基于密碼學生成的唯一密鑰拆分成多個碎片,并將處理后的碎片隨機分發(fā)給抽取的公證人,即使所有公證人將碎片拼湊在一起也無法得出密鑰,只有當允許的一定比例的公證人共同完成簽名后才可拼湊出完整的密鑰,從而實現更加去中心化的跨鏈交互[29]。其實現過程如圖5 所示。
圖 5 分布式多重簽名公證人流程圖
在公證人跨鏈模式中,Ripple 提出的Interledger協議[30](ILP)是最典型的公證人機制技術。ILP 不需要尋求任何形式的共識,它提供了一個稱之為“連接者”的頂層加密托管系統(tǒng)。在這個中介機構的幫助下,不同區(qū)塊鏈系統(tǒng)之間可以通過第三方“驗證器”或“連接器”互相自由地傳輸數字資產[30 ? 31]。
側鏈/中繼(sidechains/relays)是一種能夠自行檢驗交易數據且具有可擴展性的跨鏈技術。側鏈和中繼并沒有嚴格的區(qū)分,從形式上看,側鏈著重于表達鏈間的主從關系,中繼是實現跨鏈的技術或方案。側鏈是相對于主鏈而言的,主鏈不知道側鏈的存在,但側鏈知道主鏈的存在,當主鏈上需要處理較多的事務或者出現性能瓶頸時,可以將主鏈上的資產轉移到側鏈上處理,進而減輕主鏈上的壓力,達到擴展主鏈功能和性能的目的。側鏈實現的核心原理是雙向掛鉤技術。雙向掛鉤技術目前可以通過單一托管模式、聯盟模式、SPV 模式、驅動鏈模式和混合模式來實現。中繼是從各主鏈抽象分離出來的一個跨鏈操作層,提供了統(tǒng)一的語言,僅通過中間人收集2 條鏈之間的數據狀態(tài)進行自我驗證,可減少鏈路之間通信的安全隱患,適用于鏈接2 個異構或同構區(qū)塊鏈[31]。由于中繼跨鏈模式需要等待信息上鏈,因此其效率較低。
側鏈和中繼都是最常用的跨鏈模式,在實現過程中均需要采集原鏈上的信息,但兩者在從屬關系、執(zhí)行過程、安全性方面也存在較大差異。在從屬關系上,側鏈從屬于主鏈,主要側重于優(yōu)化區(qū)塊鏈的可擴展性;中繼沒有從屬關系,著重于跨鏈數據的傳輸。從執(zhí)行過程看,由于側鏈處理交易過程中需要同步所有的區(qū)塊頭,因此側鏈的速度比中繼慢[29,31]。在安全性方面,側鏈和主鏈的安全性機制是獨立的,由于側鏈的安全性是建立在基于激勵機制進行交易一致性驗證的基礎之上的,所以主鏈的安全性并不能在側鏈上起作用;中繼完全是由主鏈自行驗證,因此具有更高的安全性能[32]。
側鏈/中繼跨鏈模式可以在鏈中創(chuàng)建智能合約,該智能合約將發(fā)起鏈的區(qū)塊頭為輸入,使用發(fā)起鏈內的標準檢驗方式來檢驗區(qū)塊鏈是否滿足共識算法規(guī)范要求。側鏈/中繼以輕客戶端驗證技術為基礎,即在跨鏈交互的過程中,在一條鏈上執(zhí)行類似區(qū)塊鏈輕客戶端功能的智能合約,通過另一條鏈的加密哈希樹以及區(qū)塊頭來驗證鏈間的某項特定交易、事件或狀態(tài)信息是否發(fā)生[31 ? 32]。以太坊能做為比特幣的側鏈,并采用中繼進行跨鏈交互,其實現過程如圖6 所示。
圖 6 側鏈/中繼跨鏈交互流程圖
哈希鎖定全稱為哈希時間鎖定合約(Hash timelock contract),是在無需可信公證人的情況下,通過哈希鎖和時間鎖共同完成鏈間資產兌換的一種跨鏈技術方案。在實現過程中,發(fā)起者首先隨機選取秘密值作為哈希解密密鑰,然后將秘密值進行哈希計算并將得到的哈希值作為哈希上鎖的公鑰發(fā)送給響應者;發(fā)起者和響應者將各自數字資產通過哈希值鎖定在智能合約中,同時設置各自的時間鎖(通常發(fā)起者的時間鎖大于響應者的時間鎖),如果在規(guī)定時間內雙方都提供了秘密值,則合約中鎖定的資產將兌換成功,否則,只要有任何一方不能在規(guī)定的時間內提供秘密值(哈希解密密鑰),則合約中鎖定的資產將被對方收回。哈希鎖定的原子互換協議保證了同一條鏈中的資產總量保持不變,但哈希鎖定的使用范圍比較局限,通常只能用于跨鏈的資產兌換,并不能實現資產的跨鏈轉移。最典型應用是利用哈希鎖定實現ETH 到BTC 的原子交換,其實現過程如圖7 所示。
圖 7 哈希鎖定跨鏈交互流程圖
1)A 鏈產生隨機數S,同時計算出對應的哈希值h,并將h通過網絡傳遞給B 鏈。
2)在A 鏈上設置時間鎖,并通過哈希值h將BTC 鎖定在A 鏈的智能合約中。
3)B 鏈設置時間鎖,同時使用從A 鏈傳遞過來的h將ETH 鎖定在B 鏈的智能合約中。
4)A 鏈在時間T2范圍內向B 鏈提供S(解鎖秘密值),B 鏈將鎖定的ETH 轉移到A 鏈,同時獲得S,超時則跨鏈失敗,雙方取回智能合約中的資產。
5)B 鏈在時間T1范圍內向A 鏈提供S(解鎖秘密值),A 鏈將鎖定的BTC 轉移到B 鏈,超時則跨鏈失敗,雙方取回智能合約中的資產。
6)任何一條鏈未在對方時間鎖規(guī)定的時間范圍內提供S均會導致整個跨鏈資產兌換失敗。
分布式私鑰控制(distributed private key control),顧名思義,就是采用分布式節(jié)點來控制區(qū)塊鏈系統(tǒng)中各種資產的私鑰,將數字資產的使用權和所有權進行分離,使得對鏈上資產的控制權能安全地轉移到非中心化系統(tǒng)中,同時將原鏈上的資產映射到跨鏈中,實現不同區(qū)塊鏈系統(tǒng)間的資產流通和價值轉移[33]。分布式私鑰控制的實現過程是利用一個基于區(qū)塊鏈協議的內置資產模板,根據跨鏈交易信息部署新的智能合約來創(chuàng)建出新的加密貨幣資產[26,33]。當一種已注冊資產由原有鏈轉移到跨鏈上時,跨鏈節(jié)點會為用戶在已有合約中發(fā)放相應等值代幣,確保了原有鏈資產在跨鏈上仍然可以相互交易流通。分布式私鑰控制在Fusion 區(qū)塊鏈項目中得到了應用,其資產鎖定(Lock-in)過程如圖8 所示。首先需要將密鑰分片并生成分布式密鑰,然后通過Fusion 節(jié)點來驗證轉入原鏈上指定賬戶的資產,從而達到分布式管理控制權的目的[34]。具體步驟如下。
1)用戶首先向Fusion 發(fā)出鎖定資產的請求。
2)Fusion 根據用戶請求生成分布式密鑰和鎖定(Lock-in)資產的地址。
3)Fusion 將生成的Lock-in 地址發(fā)送給用戶,用戶便可將資產轉入地址中。
4)Fusion 鎖定地址和對應的密鑰并更新驗證用戶的資產。
圖 8 Fusion 中Lock-in 過程示意圖
在已有的4 種主流跨鏈技術基礎之上,研究者將具有實現簡單、容易操作、雙向跨鏈等優(yōu)點的公證人機制和具有獨立性、快速高效特性的側鏈相結合,提出了公證人+側鏈混合技術(notary scheme+sidechains mixing technology)來提高跨鏈交互性能,并在實際場景中得到了應用。公證人+側鏈混合技術充分發(fā)揮了2 種機制的優(yōu)勢,通過側鏈技術提高區(qū)塊鏈系統(tǒng)間高效通信的效率,利用公證人機制實現資產跨鏈,進而支持跨鏈資產交互、跨鏈合約以及資產抵押,實現了由分布式節(jié)點做公眾,避免了中心化的控制,是鏈與鏈之間互操作最簡單的方法。其在提高跨鏈交互效率的同時,區(qū)塊鏈之間使用共同信任的分布式節(jié)點充當公證人完成資產交換,實現跨鏈交互。目前,Ether Universe 是世界首個采用公證人機制+側鏈混合技術實現基于第3 代區(qū)塊鏈平臺EOS.IO 構建的跨鏈服務平臺,是一套完全創(chuàng)新的跨鏈交互技術解決方案[35]。
目前,雖然已有的5 種主流的跨鏈機制在不同程度上解決了跨鏈存在的各種問題,在某些技術瓶頸上也取得了一定的性能提升,但由于它們的實現原理和針對的應用場景不同;因此,現有的跨鏈技術都存在較大的局限性。為更加全面直觀地了解5 種主流跨鏈之間的差異,本文從互操作性、信任模型、交易處理、多幣種智能合約、技術安全與性能等方面進行了分析及比較,如表1 所示。
從對比結果來看:在互操作性方面,哈希鎖定是一種交叉依賴關系,相對于其他幾種跨鏈模型存在明顯的不足;在信任模型方面,公證人機制需要多處可信第三方作為公證人,容易造成中心化,而其他幾種跨鏈模型不存在這方面問題;在跨鏈交易處理方面,哈希鎖定的局限性比較大,大多數情況下能支持跨鏈資產抵押,但不支持跨鏈資產轉移,也不直接支持跨鏈原語操作,而其他幾種跨鏈模式都能較好地支持跨鏈交易的相關操作;在多幣種智能合約方面,只有分布式私鑰控制技術能夠得到有效的支持,其他幾種跨鏈模式都還有待優(yōu)化完善;在技術安全與性能方面,公證人模式、側鏈/中繼模式的安全性都比較低,交易速度也還有待提升,公證人+側鏈混合模型在安全性和交易速度方面都較好,但實現難度較高??傊?,目前還沒有一套完整的適用于任何場景的跨鏈標準和體系,在不同的應用背景下,需要全方位的考慮跨鏈技術本身的條件和存在的問題,選擇合適的跨鏈模型解決相應的實際問題。
跨鏈技術研究取得的成果,已經在跨鏈體系結構、跨鏈數據協同、跨鏈資產流通等方面開展了相關的實踐應用,并在分布式交易、數字金融創(chuàng)新等領域取得了一定的進展。眾享比特使用Ripple 提出的跨鏈價值傳輸的技術協議InterLedger Protocol,實現了跨鏈資產轉移[36];Plasma 設計的區(qū)塊鏈樹形框架通過了智能合約激勵執(zhí)行與強制執(zhí)行[37];MIT 的 Thomas 等提出的一套跨鏈設計理念在Tradecoin 中進行了實踐[37];ConsenSys 提出的BTC Relay,使用側鏈技術實現了區(qū)塊鏈間資產流通[38];Cosmos 建立Tendermint 開發(fā)框架,推出了Cosmos Hub[39];Polkadot 使用中繼鏈建立了一個可伸縮的異構多鏈系統(tǒng)[40]。
表 1 跨鏈機制性能對比分析
國內對跨鏈技術的研究與應用也投入了大量的人力、物力,提出了廣泛先進的科研平臺。華中科技大學的金海教授提出了一種支持多鏈互操作的分層架構[41];上海軟件中心提出一種跨鏈公證人評價模型,對收集到的公證人節(jié)點信息進行信用計算,保證跨鏈系統(tǒng)的安全穩(wěn)定,同時聯合復旦大學、同濟大學、萬向區(qū)塊鏈等研發(fā)了區(qū)塊鏈跨鏈操作系統(tǒng)ChainOSX[42];微眾銀行自研的跨鏈平臺WeCross,滿足同構區(qū)塊鏈平行擴展后的可信數據交換需求[43];趣鏈科技構建了支持同構及異構區(qū)塊鏈間交易的跨鏈技術示范平臺BitXHub[44]??傊?,跨鏈技術正迎來研究熱潮,跨鏈技術的實際運用將呈現井噴式增長。部分典型跨鏈研究機構的項目成果及應用情況如表2 所示。
表 2 跨鏈部分研究成果及應用情況
目前,在5 種主流的跨鏈機制基礎上,針對不同的區(qū)塊鏈平臺研發(fā)出了大量的跨鏈前沿技術,并在一定程度上解決了區(qū)塊鏈系統(tǒng)內部和系統(tǒng)間的跨鏈問題,極大地促進了區(qū)塊鏈技術的應用發(fā)展。根據區(qū)塊鏈平臺的差別,跨鏈技術主要可以分為基于BTC 區(qū)塊鏈的跨鏈技術、基于ETH 區(qū)塊鏈的跨鏈技術以及自有鏈跨鏈技術。
基于BTC 區(qū)塊鏈的跨鏈技術是指在BTC 基礎上通過開發(fā)屬于BTC 區(qū)塊鏈的側鏈等方法來解決BTC 區(qū)塊鏈容量限制及交易手續(xù)費高的問題,例如Pegged Sidechains 與閃電網絡等技術[45]?;贓TH 區(qū)塊鏈的跨鏈技術是指在ETH 基礎上,為了解決ETH 區(qū)塊鏈的可擴展性不足、性能低下、資源不隔離等問題研發(fā)的一系列跨鏈技術,例如Plasma Cashh 和Loom 等[46]。自有鏈跨鏈技術是針對整個區(qū)塊鏈生態(tài),著力于構建具有跨鏈特性的區(qū)塊鏈項目,并致力于尋求現實通用的、標準化的區(qū)塊鏈接入模型[47]。
隨著區(qū)塊鏈技術在各個行業(yè)領域的應用與創(chuàng)新,跨鏈技術作為連接不同區(qū)塊鏈的樞紐,已經得到了業(yè)界廣泛的認可。根據跨鏈技術的作用范圍(系統(tǒng)內部/系統(tǒng)間)、跨鏈機制類型(公證人/側鏈(中繼)/哈希鎖定/通信協議族)以及區(qū)塊鏈平臺(基于BTC/ETH/自有鏈),本文對當前已有的跨鏈技術或項目進行了總結,如表3 所示。從現有技術來看:跨鏈技術主要針對不同區(qū)塊鏈系統(tǒng)間的跨鏈交互展開;在公鏈中,基于BTC 和ETH 區(qū)塊鏈的跨鏈項目數相當,表明這二者在公鏈中對跨鏈具有廣泛的應用基礎和更迫切的需求[48],同時,自有鏈類型的跨鏈技術也在不斷創(chuàng)新發(fā)展。力求研發(fā)一套通用的、完整的、標準的跨鏈體系,是區(qū)塊鏈跨鏈技術未來需要不斷突破的方向和發(fā)展趨勢。
跨鏈技術是針對區(qū)塊鏈跨鏈交互需求而提出的,因此跨鏈技術的健壯性必將與區(qū)塊鏈在實際應用中所面臨的各種安全性問題息息相關,跨鏈技術的發(fā)展也將與區(qū)塊鏈技術的應用模式密不可分。區(qū)塊鏈技術多樣性的發(fā)展將會對跨鏈技術提出更高的要求,然而目前支持跨鏈數據通信的各類跨鏈協議大部分處于研發(fā)狀態(tài),暫未獲得廣泛的認可和共識。因此,對區(qū)塊鏈常見的安全性問題進行分析,有利于完善跨鏈技術在安全性方面存在的漏洞。
表 3 跨鏈技術匯總
1)阻塞超時。區(qū)塊鏈系統(tǒng)間在進行跨鏈交易的過程中,為了確保交易的原子性以及避免孤塊問題,通常會設置交易的延遲時間以促使交互數據能夠在區(qū)塊鏈上得到有效的確認。由于當前區(qū)塊鏈系統(tǒng)的TPS 較小,交易速度慢,并發(fā)處理事務的能力低,因此區(qū)塊鏈網絡常常出現阻塞和超時的問題。例如在比特幣系統(tǒng)中,如果多次交易阻塞超過幾小時甚至數天未被確認,將會引起大面積跨鏈交易超時阻塞的風險。
2)日蝕攻擊。區(qū)塊鏈在實現過程中為達到去中心化的目的,需要以高效的共識機制和P2P 網絡為基礎,但由于當前TCP 協議的局限性,P2P 網絡單個節(jié)點連接到其他節(jié)點的數量非常有限;因此,攻擊者可以通過囤積和霸占受害者點對點連接的間隙,進而屏蔽受害者所有的輸入和輸出節(jié)點,從而阻止最新的區(qū)塊鏈信息進入日蝕節(jié)點,最終達到隔離節(jié)點的目的。
3)長距離攻擊。長距離攻擊往往出現在基于權益證明(PoS)共識機制的區(qū)塊鏈網絡中。在基于工作量證明(PoW)共識機制的比特幣系統(tǒng)中,長距離攻擊是指要想具有篡改賬本的能力,攻擊者至少必須要控制51%的算力,在P2P 網絡中難以實現,然而由于PoS 缺乏對算力的約束,惡意節(jié)點能夠導致原始區(qū)塊鏈出現重組;因此,賬本被篡改的風險將大大提升。目前可以通過設立確定性檢查點來預防此類攻擊。
4)競爭條件攻擊。原子交換類的跨鏈系統(tǒng)通常對交易確認的先后性存在差異,即參與交易的任何一方均有可能被先確認,從而導致競爭條件攻擊。例如交易雙方希望通過跨鏈系統(tǒng)提供的智能合約實現BTC 和ETH 之間的兌換,發(fā)起方和接收方分別將BTC 和等值的ETH 發(fā)送到合約指定的地址中,這時接收方可以再向智能合約指定的地址中轉入與發(fā)起方相同的BTC,如果接收方的交易先被確認,那么接收方就能取回自己轉入合約地址中的ETH,同時得到發(fā)起方轉入合約地址的BTC,而發(fā)起方一無所獲,從而達到競爭條件攻擊的目的。
5)跨鏈重放攻擊。區(qū)塊鏈網絡中的節(jié)點在爭奪記賬權的時候容易出現硬分叉,導致區(qū)塊鏈發(fā)生永久性分歧并產生2 條或多條交易歷史、交易地址、交易格式、密鑰算法以及余額完全相同的鏈,使得一條鏈上的交易有可能被惡意傳送到其他鏈上重新廣播而得到確認[49]。比較典型的重放攻擊是在以太坊硬分叉中出現ETH 和ETC 2 條鏈,導致交易者從交易所提取ETH 幣時有可能得到同等數量的ETC 幣,從而造成資產的損失。
此外,區(qū)塊鏈系統(tǒng)在共識機制方面還存在幣齡累計攻擊、預計算攻擊、女巫攻擊;在分布式網絡中還存在竊聽攻擊、分割攻擊、雙重支付攻擊;在加密簽名機制方面還存在窮舉攻擊、碰撞攻擊、長度擴展攻擊、后門攻擊、量子攻擊;針對區(qū)塊鏈數據還有惡意信息攻擊、資源濫用攻擊等[50]。總之,區(qū)塊鏈所面臨的安全性問題在跨鏈系統(tǒng)中將變得更加復雜。因此,在跨鏈系統(tǒng)的設計過程中需要引入保護機制,同時全方位充分了解區(qū)塊鏈技術亟待解決的安全性問題,才能促使跨鏈技術向著更加健全的方向發(fā)展。
跨鏈技術已經成為實現鏈聯網和構建價值網絡高速公路的核心關鍵技術,是推動區(qū)塊鏈產業(yè)跨場景融合發(fā)展的科技引擎。隨著區(qū)塊鏈技術的持續(xù)探索,未來必將形成多鏈互連共生的區(qū)塊鏈生態(tài)圈,區(qū)塊鏈的多樣性也必將導致對跨鏈技術更迭的要求不斷提高,對跨鏈的需求也必定不再局限于交易。在未來,隨著區(qū)塊鏈技術的應用不斷普及,著力研發(fā)類似于互聯網中標準化的數據接口通信技術,構建鏈連網,實現各種區(qū)塊鏈間的跨鏈交互是跨鏈技術的發(fā)展趨勢。
當前各類區(qū)塊鏈系統(tǒng)最大的問題就是缺乏互操作性,因此跨鏈技術要著力解決如何適配各類區(qū)塊鏈,并確保跨鏈操作的高效率性和高安全性??珂溂夹g實現難度較大,目前仍處于初步探索的階段,還尚未形成統(tǒng)一的跨鏈標準和穩(wěn)定的跨鏈體系。在未來的發(fā)展過程中必然還會遇到各種挑戰(zhàn),要實現真正的價值互聯,讓區(qū)塊鏈系統(tǒng)能夠像現在的操作系統(tǒng)對互聯網TCP/IP 協議的支持一樣得到大范圍落地應用,還有大量的問題亟待解決。例如跨鏈網絡之間的安全性問題和連接健壯性問題、跨鏈網絡之間惡意行為的預警和制止問題、跨鏈網絡激勵制度的優(yōu)化問題、跨鏈交易中目的鏈的死循環(huán)問題、母鏈分叉問題等[49 ? 50],都是跨鏈技術在發(fā)展過程中不得不面臨的挑戰(zhàn)。
近幾年來,區(qū)塊鏈技術的熱度居高不下,世界多個國家已經將區(qū)塊鏈上升至國家戰(zhàn)略層高度,爭先搶占區(qū)塊鏈創(chuàng)新發(fā)展制高點。在當前區(qū)塊鏈應用場景需求日益激增和政府大力扶持的情況下,我國已將區(qū)塊鏈作為國家新基建信息基礎設施的重要組成部分。跨鏈技術也必將伴隨著區(qū)塊鏈技術的深入探索得到不斷創(chuàng)新與發(fā)展。當下,跨鏈技術正迎來新一輪的研究熱潮,在未來必將圍繞跨鏈體系結構的多鏈協議互通性、跨鏈數據傳遞驗證的安全可信性、跨鏈交易及合約執(zhí)行的一致性、跨鏈系統(tǒng)接入及治理的高效性等方面展開廣泛而深入的研究與探索,將一步步突破新一代互聯、可信和高效的技術瓶頸,支持跨場景、跨地域的應用,實現跨區(qū)塊鏈互通和協同,塑造更具前景和活力的商業(yè)模式,開啟萬鏈互聯的時代。