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