為進一步促進區(qū)塊鏈產(chǎn)業(yè)發(fā)展,增強業(yè)內(nèi)技術(shù)研究和落地經(jīng)驗的交流溝通,可信區(qū)塊鏈推進計劃正式開啟對外征文活動,為廣大業(yè)內(nèi)專家提供一個展現(xiàn)自我、共商共進的高端平臺。投稿詳情請看文末征文鏈接。
“互聯(lián)網(wǎng)是信息自由流通的網(wǎng)絡(luò),區(qū)塊鏈則是價值自由流通的網(wǎng)絡(luò)”,這是對區(qū)塊鏈的一個美好愿景,就目前來說,區(qū)塊鏈還無法做到高效互通,還不是自由流通的網(wǎng)絡(luò)。
類比上世紀60年代以局域網(wǎng)形式存在的計算機網(wǎng)絡(luò),無法與局域網(wǎng)范圍外的計算機互聯(lián),直到1969年美國高等研究計劃局(ARPA)投入使用擁有四個節(jié)點的阿帕網(wǎng)絡(luò)(ARPAnet),計算機之間第一次具備了同構(gòu)環(huán)境下的聯(lián)網(wǎng)能力。
時間推進到80年代TCP/IP協(xié)議的誕生,使得異構(gòu)的網(wǎng)絡(luò)之間可以彼此互聯(lián),加速了互聯(lián)網(wǎng)的爆發(fā)。回到區(qū)塊鏈,伴隨技術(shù)的不斷發(fā)展,涌現(xiàn)出大量項目,但大多屬于高度異構(gòu)狀態(tài),且在發(fā)展早期,更多聚焦在自身的技術(shù)創(chuàng)新與生態(tài)建設(shè),網(wǎng)絡(luò)逐漸被擁有特定利益的子群體隔離。
同時區(qū)塊鏈作為一個大型異步的分布式網(wǎng)絡(luò),很難設(shè)計出一個“大一統(tǒng)”的鏈,各項目方會在不同技術(shù)層面做取舍,在特定場景下,如安全性、隱私性、效率等提供自身優(yōu)勢,最終導(dǎo)致應(yīng)用層很難在單鏈上價值最大化。
因此,在當前多鏈并存的情況下,區(qū)塊鏈的互操作性由于可以帶來價值自由流動,促進鏈間協(xié)同工作,將會變得重要且充滿意義,是區(qū)塊鏈向著網(wǎng)絡(luò)效應(yīng)規(guī)模化發(fā)展的強力推手。
那么區(qū)塊鏈互操作性到底是什么呢?我們可以做名詞拆解,首先說說互操作性,電氣與電子工程師協(xié)會(IEEE)對其做出了如下定義:
兩個或多個系統(tǒng)或組成部分之間交換信息以及對所已經(jīng)交換的信息加以使用的能力
加上區(qū)塊鏈作為限定后,美國國家標準技術(shù)研究所(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.
簡單來說,區(qū)塊鏈互操作性是不同鏈間可以執(zhí)行原子性交易,交易涉及的數(shù)據(jù)可以被訪問、驗證以及使用。相關(guān)定義與闡述雖然并未統(tǒng)一,但大多聚焦在不同鏈間的互操作性,因此業(yè)內(nèi)存在另一個更加通俗易懂,被廣泛引用的名詞 --- 跨鏈。
那么區(qū)塊鏈互操作性等于跨鏈嗎?筆者認為是前者包含后者的關(guān)系,若關(guān)注在不同鏈之間交換信息,可以叫做跨鏈,跨鏈可以按照交換信息的種類拆分為加密資產(chǎn)互操作與狀態(tài)事件互操作;若將范圍擴大,區(qū)塊鏈鏈上世界與鏈外現(xiàn)實世界之間同樣存在交換信息的需求,由于區(qū)塊鏈本身是封閉的,確定性的,自洽的系統(tǒng),完全與現(xiàn)實世界隔離,因此鏈上鏈下的互操作同樣重要。結(jié)合鏈間與鏈上鏈下的互聯(lián)互通,最終區(qū)塊鏈網(wǎng)絡(luò)可以支撐應(yīng)用層系統(tǒng)互操作功能,有利于加大網(wǎng)絡(luò)效應(yīng)。
有關(guān)區(qū)塊鏈互操作性的技術(shù)實現(xiàn),以太坊創(chuàng)始人Vitalik Buterin 曾在鏈互操作性研究報告中提及三種主要方法,即哈希鎖定、公證人機制、中繼。有關(guān)中繼可以更細的拆分為側(cè)鏈與中繼鏈。
哈希鎖定應(yīng)用在雙鏈間加密資產(chǎn)互操作,利用哈希鎖和時間鎖保障跨鏈交易的原子性,即只有滿足一定時間條件和哈希條件交易才能夠完成,大體實現(xiàn)流程如下圖:
假設(shè)鏈A中的Alice與鏈B中的Bob進行加密資產(chǎn)互換,交易成功完成需要六個步驟:
1. Alice隨機生成密鑰s,并針對密鑰計算出哈希值h;
2. Alice將哈希值h發(fā)送給鏈B上的智能合約;
3. Alice在鏈A上鎖定交易的資產(chǎn),同時設(shè)定鎖定時間Y,以及設(shè)置提供密鑰s即可獲得鎖定資產(chǎn)的邏輯;
4. Bob向鏈B智能合約鎖定交易資產(chǎn),同時設(shè)定鎖定時間X (X 《 Y),設(shè)置提供密鑰s即可獲得鎖定資產(chǎn)的邏輯;
5. Alice在鎖定時間X內(nèi)向鏈B合約發(fā)送密鑰s,合約判定hash(s) == h,即解鎖Bob資產(chǎn)給Alice,同時Bob獲取密鑰s;
6. Bob在鎖定時間Y內(nèi)向鏈A發(fā)送獲得的密鑰s,解鎖Alice資產(chǎn),雙方完成跨鏈資產(chǎn)互換操作。
若Alice未在Bob設(shè)置的超時時間X內(nèi)發(fā)送密鑰s至鏈B智能合約,則Bob可以恢復(fù)之前鎖定的資產(chǎn);若Bob未在超時時間Y內(nèi)發(fā)送密鑰s至鏈A合約,則Alice可以恢復(fù)之前鎖定的資產(chǎn)。
公證人機制是由一個或一組受信任的節(jié)點組織作為公證人,監(jiān)聽鏈間的跨鏈交易,針對收集的跨鏈交易進行有效性驗證,交易雙方依賴公證人來實現(xiàn)鏈間的互操作。依據(jù)公證人的構(gòu)成以及簽名方式,具體可以分為三類實現(xiàn):
單簽名公證人機制,公證人由單一指定的節(jié)點充當,用中心化的方式作為信用保障,將信任技術(shù)轉(zhuǎn)換至傳統(tǒng)的信用中介。
多重簽名公證人機制,多個公證人節(jié)點在各自賬本簽名,當達成一定比例或數(shù)量的共識后,跨鏈交易才能被驗證通過。
分布式簽名公證人機制,采用多方計算的分布式簽名,系統(tǒng)將唯一的密鑰拆分為密鑰碎片發(fā)送給每個公證人節(jié)點,當一定比例的公證人節(jié)點共同簽名確認后,跨鏈交易才能通過驗證。
側(cè)鏈是能夠不依賴第三方,可以驗證來自另一條鏈數(shù)據(jù)的區(qū)塊鏈,一般通過雙向錨定(two-way peg)機制,可以實現(xiàn)將數(shù)字資產(chǎn)在主鏈中鎖定,同時將等價的數(shù)字資產(chǎn)在側(cè)鏈中釋放,同樣當?shù)葍r的數(shù)字資產(chǎn)在側(cè)鏈中被鎖定時,主鏈的數(shù)字資產(chǎn)也可以被釋放。一般的方案是配合簡單支付驗證(SPV,Simplified Payment Verification)實現(xiàn)去中心化的雙向錨定,SPV是一種通過少量數(shù)據(jù)就可以驗證交易存在于某個特定區(qū)塊的方法,可確保跨鏈交易的有效性。
中繼鏈本質(zhì)上可以看做公證人機制和側(cè)鏈的融合與擴展。簡單來說,當側(cè)鏈連接多個主鏈,作為一個中樞傳導(dǎo)多主鏈間的跨鏈交易時,即可直觀的當做中繼鏈,因而中繼鏈一般會承擔起驗證參與互通鏈信息的工作,從而確保兩條鏈間安全的跨鏈交易,從這個角度看,中繼鏈也是一種去中心化的公證人機制,結(jié)合側(cè)鏈的連接方案,完成跨鏈交易在接入兩端的驗證與轉(zhuǎn)移。
上面針對區(qū)塊鏈互操作性的常見技術(shù)進行了簡單介紹。總結(jié)來說,哈希鎖定與配合SPV方案的側(cè)鏈技術(shù)可以做到信任最小化,即僅依賴參與鏈的自身安全性,公證人機制需要尋找大多數(shù)可信的節(jié)點組織,而一般的中繼鏈技術(shù)則依賴大多數(shù)誠實的驗證人;有關(guān)跨鏈消息傳遞類型,哈希鎖定相對局限,僅支持加密資產(chǎn)在雙鏈間的互換,其余三種技術(shù)則不做限定。
通過對比技術(shù)實現(xiàn),可以看到區(qū)塊鏈互操作性從早期聚焦在解決雙鏈資產(chǎn)互通的場景,提出了如哈希鎖定、公證人機制、側(cè)鏈等技術(shù),隨著時間的向前推進與技術(shù)的不斷鋪墊,場景逐漸從雙鏈資產(chǎn)互通到多鏈間全狀態(tài)的自由流通,同時中繼鏈這一融合公證人機制與側(cè)鏈的技術(shù)逐漸在新型區(qū)塊鏈互操作性平臺中顯現(xiàn)影響力。
下面單獨說說聯(lián)盟鏈的互操作性,大家都知道,當前區(qū)塊鏈的發(fā)展范式分為公有鏈和聯(lián)盟鏈兩條路徑,兩者擁有不同的“價值觀”,互操作性存在不同意義。前者由于承載了加密資產(chǎn),且無準入門檻,主張去中心化,互操作可以實現(xiàn)資產(chǎn)自由流通;后者存在準入門檻,主要承載著聯(lián)盟間經(jīng)過共識的數(shù)據(jù),因此,聯(lián)盟鏈互操作性將會與各組織間的數(shù)據(jù)狀態(tài)協(xié)同有關(guān)。
但當前的區(qū)塊鏈互操作性更多聚焦在公有鏈,對于聯(lián)盟鏈互操作性的公開研究與關(guān)注相對較少,總結(jié)原因,大體包括如下三點:
1. 不同聯(lián)盟鏈的技術(shù)架構(gòu)差異較大,各個社區(qū)間的交流互動不多,很難做到核心技術(shù)的上層統(tǒng)一;
2. 聯(lián)盟鏈是許可區(qū)塊鏈,若兩個獨立的許可鏈間產(chǎn)生跨鏈交易,則會為雙方系統(tǒng)引入安全風險,即如何保證外鏈請求的交易安全性,如何防范跨鏈交易攻擊,以及如何驗證另一個封閉的鏈上交易狀態(tài)的有效性,這些問題均需要聯(lián)盟間在互操作性前達成共識或有雙方依賴的第三方組織作為中介,溝通與技術(shù)上存在門檻;
3. 聯(lián)盟鏈間若需要進行跨鏈協(xié)同,可組成一個聯(lián)盟后選擇統(tǒng)一的聯(lián)盟鏈架構(gòu)。由于存在折中方案,當前聯(lián)盟鏈間的互操作性并非剛需。
當然,隨著聯(lián)盟鏈承載的應(yīng)用不斷豐富,聯(lián)盟鏈互操作性同樣會帶來網(wǎng)絡(luò)效應(yīng),將有利于打通聯(lián)盟間數(shù)據(jù)孤島,重要性不容忽視。而當下的難點不僅停留在技術(shù)層面,更多的是缺少上層的協(xié)作力量作為推手,導(dǎo)致當前技術(shù)的發(fā)展與研究相對緩慢。
總之,區(qū)塊鏈互操作性的發(fā)展經(jīng)歷著各個技術(shù)間不斷融合擴展,聚焦場景由簡到難,理論與實踐協(xié)同邁進,我們能夠看到區(qū)塊鏈的網(wǎng)絡(luò)效應(yīng)正在顯現(xiàn)。但仍需要技術(shù)上針對相關(guān)組件趨同化設(shè)計,如各鏈提供跨鏈消息的輸入輸出口徑,構(gòu)建統(tǒng)一消息格式,設(shè)計并統(tǒng)一高效可驗證的數(shù)據(jù)結(jié)構(gòu)等;提高應(yīng)用層交互的用戶體驗,當互操作性打破“一鏈一幣”后,將對應(yīng)用層的多鏈狀態(tài)管理提出要求;增進鏈上與鏈下現(xiàn)實世界互操作性的認知,互操作性并不等于跨鏈。最后筆者認為,從業(yè)者的持續(xù)研究,將會加速技術(shù)的不斷突破,帶來應(yīng)用的不斷迭代與創(chuàng)新,區(qū)塊鏈網(wǎng)絡(luò)效應(yīng)的規(guī)模化未來可期。
評論
查看更多