淺談區塊鏈互操作性

買賣虛擬貨幣

“網際網路是資訊自由流通的網路,區塊鏈則是價值自由流通的網路”,這是對區塊鏈的一個美好願景,就目前來說,區塊鏈還無法做到高效互通,還不是自由流通的網路。

類比上世紀60年代以區域網形式存在的計算機網路,無法與區域網範圍外的計算機互聯,直到1969年美國高等研究計劃局(ARPA)投入使用擁有四個節點的阿帕網路(ARPAnet),計算機之間第一次具備了同構環境下的聯網能力。

時間推進到80年代TCP/IP協議的誕生,使得異構的網路之間可以彼此互聯,加速了網際網路的爆發。回到區塊鏈,伴隨技術的不斷髮展,湧現出大量專案,但大多屬於高度異構狀態,且在發展早期,更多聚焦在自身的技術創新與生態建設,網路逐漸被擁有特定利益的子群體隔離。

同時區塊鏈作為一個大型非同步的分散式網路,很難設計出一個“大一統”的鏈,各專案方會在不同技術層面做取捨,在特定場景下,如安全性、隱私性、效率等提供自身優勢,最終導致應用層很難在單鏈上價值最大化。

因此,在當前多鏈並存的情況下,區塊鏈的互操作性由於可以帶來價值自由流動,促進鏈間協同工作,將會變得重要且充滿意義,是區塊鏈向著網路效應規模化發展的強力推手。

那麼區塊鏈互操作性到底是什麼呢?我們可以做名詞拆解,首先說說互操作性,電氣與電子工程師協會(IEEE)對其做出瞭如下定義:

兩個或多個系統或組成部分之間交換資訊以及對所已經交換的資訊加以使用的能力

加上區塊鏈作為限定後,美國國家標準技術研究所(NIST)曾作過如下解釋:

An interoperable blockchain architecture is a composition of distinguishable blockchain systems, each representing a unique distributed data ledger, where atomic transaction execution may span multiple heterogeneous blockchain systems, and where data recorded in one blockchain are reachable, verifiable, and referenceable by another possibly foreign transaction in a semantically compatible manner.

簡單來說,區塊鏈互操作性是不同鏈間可以執行原子性交易,交易涉及的資料可以被訪問、驗證以及使用。相關定義與闡述雖然並未統一,但大多聚焦在不同鏈間的互操作性,因此業記憶體在另一個更加通俗易懂,被廣泛引用的名詞 --- 跨鏈

那麼區塊鏈互操作性等於跨鏈嗎?筆者認為是前者包含後者的關係,若關注在不同鏈之間交換資訊,可以叫做跨鏈,跨鏈可以按照交換資訊的種類拆分為加密資產互操作與狀態事件互操作;若將範圍擴大,區塊鏈鏈上世界與鏈外現實世界之間同樣存在交換資訊的需求,由於區塊鏈本身是封閉的,確定性的,自洽的系統,完全與現實世界隔離,因此鏈上鍊下的互操作同樣重要。結合鏈間與鏈上鍊下的互聯互通,最終區塊鏈網路可以支撐應用層系統互操作功能,有利於加大網路效應。

有關區塊鏈互操作性的技術實現,以太坊創始人Vitalik Buterin 曾在鏈互操作性研究報告中提及三種主要方法,即雜湊鎖定、公證人機制、中繼。有關中繼可以更細的拆分為側鏈與中繼鏈。

雜湊鎖定應用在雙鏈間加密資產互操作,利用雜湊鎖和時間鎖保障跨鏈交易的原子性,即只有滿足一定時間條件和雜湊條件交易才能夠完成,大體實現流程如下圖:

假設鏈A中的Alice與鏈B中的Bob進行加密資產互換,交易成功完成需要六個步驟:

1. Alice隨機生成金鑰s,並針對金鑰計算出雜湊值h;

2. Alice將雜湊值h傳送給鏈B上的智慧合約;

3. Alice在鏈A上鎖定交易的資產,同時設定鎖定時間Y,以及設定提供金鑰s即可獲得鎖定資產的邏輯;

4. Bob向鏈B智慧合約鎖定交易資產,同時設定鎖定時間X (X < Y),設定提供金鑰s即可獲得鎖定資產的邏輯;

5. Alice在鎖定時間X內向鏈B合約傳送金鑰s,合約判定hash(s) == h,即解鎖Bob資產給Alice,同時Bob獲取金鑰s;

6. Bob在鎖定時間Y內向鏈A傳送獲得的金鑰s,解鎖Alice資產,雙方完成跨鏈資產互換操作。

若Alice未在Bob設定的超時時間X內傳送金鑰s至鏈B智慧合約,則Bob可以恢復之前鎖定的資產;若Bob未在超時時間Y內傳送金鑰s至鏈A合約,則Alice可以恢復之前鎖定的資產。

公證人機制是由一個或一組受信任的節點組織作為公證人,監聽鏈間的跨鏈交易,針對收集的跨鏈交易進行有效性驗證,交易雙方依賴公證人來實現鏈間的互操作。依據公證人的構成以及簽名方式,具體可以分為三類實現:

單簽名公證人機制,公證人由單一指定的節點充當,用中心化的方式作為信用保障,將信任技術轉換至傳統的信用中介。

多重簽名公證人機制,多個公證人節點在各自賬本簽名,當達成一定比例或數量的共識後,跨鏈交易才能被驗證透過。

分散式簽名公證人機制,採用多方計算的分散式簽名,系統將唯一的金鑰拆分為金鑰碎片傳送給每個公證人節點,當一定比例的公證人節點共同簽名確認後,跨鏈交易才能透過驗證。

側鏈是能夠不依賴第三方,可以驗證來自另一條鏈資料的區塊鏈,一般透過雙向錨定(two-way peg)機制,可以實現將數字資產在主鏈中鎖定,同時將等價的數字資產在側鏈中釋放,同樣當等價的數字資產在側鏈中被鎖定時,主鏈的數字資產也可以被釋放。一般的方案是配合簡單支付驗證(SPV,Simplified Payment Verification)實現去中心化的雙向錨定,SPV是一種透過少量資料就可以驗證交易存在於某個特定區塊的方法,可確保跨鏈交易的有效性。

中繼鏈本質上可以看做公證人機制和側鏈的融合與擴充套件。簡單來說,當側鏈連線多個主鏈,作為一箇中樞傳導多主鏈間的跨鏈交易時,即可直觀的當做中繼鏈,因而中繼鏈一般會承擔起驗證參與互通鏈資訊的工作,從而確保兩條鏈間安全的跨鏈交易,從這個角度看,中繼鏈也是一種去中心化的公證人機制,結合側鏈的連線方案,完成跨鏈交易在接入兩端的驗證與轉移。

上面針對區塊鏈互操作性的常見技術進行了簡單介紹。總結來說,雜湊鎖定與配合SPV方案的側鏈技術可以做到信任最小化,即僅依賴參與鏈的自身安全性,公證人機制需要尋找大多數可信的節點組織,而一般的中繼鏈技術則依賴大多數誠實的驗證人;有關跨鏈訊息傳遞型別,雜湊鎖定相對侷限,僅支援加密資產在雙鏈間的互換,其餘三種技術則不做限定。

透過對比技術實現,可以看到區塊鏈互操作性從早期聚焦在解決雙鏈資產互通的場景,提出瞭如雜湊鎖定、公證人機制、側鏈等技術,隨著時間的向前推進與技術的不斷鋪墊,場景逐漸從雙鏈資產互通到多鏈間全狀態的自由流通,同時中繼鏈這一融合公證人機制與側鏈的技術逐漸在新型區塊鏈互操作性平臺中顯現影響力。

下面單獨說說聯盟鏈的互操作性,大家都知道,當前區塊鏈的發展正規化分為公有鏈和聯盟鏈兩條路徑,兩者擁有不同的“價值觀”,互操作性存在不同意義。前者由於承載了加密資產,且無准入門檻,主張去中心化,互操作可以實現資產自由流通;後者存在准入門檻,主要承載著聯盟間經過共識的資料,因此,聯盟鏈互操作性將會與各組織間的資料狀態協同有關。

但當前的區塊鏈互操作性更多聚焦在公有鏈,對於聯盟鏈互操作性的公開研究與關注相對較少,總結原因,大體包括如下三點:

1. 不同聯盟鏈的技術架構差異較大,各個社羣間的交流互動不多,很難做到核心技術的上層統一;

2. 聯盟鏈是許可區塊鏈,若兩個獨立的許可鏈間產生跨鏈交易,則會為雙方系統引入安全風險,即如何保證外鏈請求的交易安全性,如何防範跨鏈交易攻擊,以及如何驗證另一個封閉的鏈上交易狀態的有效性,這些問題均需要聯盟間在互操作性前達成共識或有雙方依賴的第三方組織作為中介,溝通與技術上存在門檻;

3. 聯盟鏈間若需要進行跨鏈協同,可組成一個聯盟後選擇統一的聯盟鏈架構。由於存在折中方案,當前聯盟鏈間的互操作性並非剛需。

當然,隨著聯盟鏈承載的應用不斷豐富,聯盟鏈互操作性同樣會帶來網路效應,將有利於打通聯盟間資料孤島,重要性不容忽視。而當下的難點不僅停留在技術層面,更多的是缺少上層的協作力量作為推手,導致當前技術的發展與研究相對緩慢。

總之,區塊鏈互操作性的發展經歷著各個技術間不斷融合擴充套件,聚焦場景由簡到難,理論與實踐協同邁進,我們能夠看到區塊鏈的網路效應正在顯現。但仍需要技術上針對相關元件趨同化設計,如各鏈提供跨鏈訊息的輸入輸出口徑,構建統一訊息格式,設計並統一高效可驗證的資料結構等;提高應用層互動的使用者體驗,當互操作性打破“一鏈一幣”後,將對應用層的多鏈狀態管理提出要求;增進鏈上與鏈下現實世界互操作性的認知,互操作性並不等於跨鏈。最後筆者認為,從業者的持續研究,將會加速技術的不斷突破,帶來應用的不斷迭代與創新,區塊鏈網路效應的規模化未來可期。

劉虹男,中國信通院雲端計算與大資料研究所工程師。主要研究為區塊鏈技術與相關測試標準。

宣告:本文僅代表作者個人觀點,不代表作者所在機構和Tesra無量節點的觀點,轉載此文出於傳遞更多資訊之目的,內容僅供讀者參考。若存在侵權行為,請聯絡我們刪除。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;