為進一步促進區塊鏈產業發展,增強業內技術研究和落地經驗的交流溝通,可信區塊鏈推進計劃正式開啟對外征文活動,為廣大業內專家提供一個展現自我、共商共進的高端平臺。投稿詳情請看文末征文鏈接。
“互聯網是信息自由流通的網絡,區塊鏈則是價值自由流通的網絡”,這是對區塊鏈的一個美好愿景,就目前來說,區塊鏈還無法做到高效互通,還不是自由流通的網絡。
類比上世紀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. 聯盟鏈間若需要進行跨鏈協同,可組成一個聯盟后選擇統一的聯盟鏈架構。由于存在折中方案,當前聯盟鏈間的互操作性并非剛需。
當然,隨著聯盟鏈承載的應用不斷豐富,聯盟鏈互操作性同樣會帶來網絡效應,將有利于打通聯盟間數據孤島,重要性不容忽視。而當下的難點不僅停留在技術層面,更多的是缺少上層的協作力量作為推手,導致當前技術的發展與研究相對緩慢。
總之,區塊鏈互操作性的發展經歷著各個技術間不斷融合擴展,聚焦場景由簡到難,理論與實踐協同邁進,我們能夠看到區塊鏈的網絡效應正在顯現。但仍需要技術上針對相關組件趨同化設計,如各鏈提供跨鏈消息的輸入輸出口徑,構建統一消息格式,設計并統一高效可驗證的數據結構等;提高應用層交互的用戶體驗,當互操作性打破“一鏈一幣”后,將對應用層的多鏈狀態管理提出要求;增進鏈上與鏈下現實世界互操作性的認知,互操作性并不等于跨鏈。最后筆者認為,從業者的持續研究,將會加速技術的不斷突破,帶來應用的不斷迭代與創新,區塊鏈網絡效應的規模化未來可期。
評論
查看更多