深入淺出,陸羽跨鏈協(xié)議解析
如今的區(qū)塊鏈領(lǐng)域,不同的區(qū)塊鏈方案之間有著各自獨(dú)立的生態(tài),各自實(shí)踐著不同的“治理”形態(tài)。一方面,上層區(qū)塊鏈應(yīng)用只能依賴于某個(gè)特定區(qū)塊鏈技術(shù)而構(gòu)建,形成“技術(shù)孤島”;另一方面,異構(gòu)的區(qū)塊鏈技術(shù)方案間數(shù)據(jù)無法互信,形成“數(shù)據(jù)孤島”。“技術(shù)孤島”和“數(shù)據(jù)孤島”使得業(yè)內(nèi)各方難以合力形成更大的生態(tài)。?
基于上述痛點(diǎn),陸羽跨鏈協(xié)議被提出,致力于建立各區(qū)塊鏈在“應(yīng)用”、“鏈上”乃至“鏈間”互相調(diào)用的通用方法,實(shí)現(xiàn)對(duì)不同區(qū)塊鏈的通用接入與高效互通,使業(yè)內(nèi)的各方力量相互融合,形成規(guī)模效應(yīng),促進(jìn)領(lǐng)域發(fā)展。
? 書同文,打破“技術(shù)”的壁壘
歷史上文字不同的時(shí)期,一篇文書往往需要翻譯成多種文字,既耗費(fèi)人力,又阻礙信息的傳播。在“書同文”之后,各地文化相互融合,社會(huì)不斷繁榮。

(圖片來源于網(wǎng)絡(luò))
目前在區(qū)塊鏈領(lǐng)域,不同的鏈提供不同的接入方式。各種鏈在“應(yīng)用”與“鏈上”的調(diào)用接口上未達(dá)成共識(shí),使得基于同一“技術(shù)”的應(yīng)用組件難以在不同的區(qū)塊鏈間遷移復(fù)用,也導(dǎo)致上層應(yīng)用實(shí)現(xiàn)各異、體系復(fù)雜、版本繁多,建設(shè)成本高且難以維護(hù)。如圖,同樣是調(diào)用HelloWorld合約,F(xiàn)ISCO BCOS和Fabric的寫法完全不同。

因此,各區(qū)塊鏈需要達(dá)成一個(gè)類似“書同文”的共識(shí),構(gòu)建通用的區(qū)塊鏈調(diào)用接口。在應(yīng)用開發(fā)時(shí),只需要面向協(xié)議“書寫”一套代碼,便可兼容不同的區(qū)塊鏈,做到“一次開發(fā),多鏈適配”。應(yīng)用只有面向協(xié)議編程,擺脫對(duì)區(qū)塊鏈方案的依賴,才能彼此共享“技術(shù)”資源,構(gòu)建更大的生態(tài)。例如,用戶可以復(fù)用同一套存證框架開發(fā)適用于不同區(qū)塊鏈的存證應(yīng)用,減少重復(fù)開發(fā)的成本。

陸羽跨鏈協(xié)議在“應(yīng)用”與“鏈上”提出“統(tǒng)一調(diào)用接口”,將各種區(qū)塊鏈的調(diào)用協(xié)議進(jìn)行統(tǒng)一抽象,向應(yīng)用層提供統(tǒng)一的調(diào)用接口和參數(shù)定義。用戶在用陸羽跨鏈協(xié)議提供的 SDK開發(fā)跨鏈應(yīng)用時(shí),只需面向協(xié)議編程,不再受限于底層的鏈類型,實(shí)現(xiàn)“一次開發(fā),多鏈適配”。如下圖,為基于陸羽跨鏈協(xié)議SDK開發(fā)的代碼示例。

??車同軌,構(gòu)建“數(shù)據(jù)”的橋梁
車轍是古代馬車的車輪在道路上壓出的兩條路槽,寬度匹配的話,能讓車輪與道路的摩擦力達(dá)到最小,是馬車能在路上高效運(yùn)行的關(guān)鍵?!败囃墶奔词菍⒏鲊能囕唽挾冉y(tǒng)一,提高物流運(yùn)輸效率。

(圖片來源于網(wǎng)絡(luò))
目前區(qū)塊鏈領(lǐng)域,“數(shù)據(jù)”在異構(gòu)的鏈間流動(dòng)也同樣存在較大阻礙。由于數(shù)據(jù)結(jié)構(gòu)和執(zhí)行邏輯的不同,數(shù)據(jù)在不同鏈上的流動(dòng)時(shí),就像車輪行駛在不匹配的車轍上一樣,因不匹配而困難重重。一方面,異構(gòu)鏈間無法識(shí)別對(duì)方的數(shù)據(jù)結(jié)構(gòu),使得數(shù)據(jù)無法互通,另一方面,異構(gòu)鏈由于執(zhí)行邏輯不同更無法驗(yàn)證對(duì)方消息的正確性,使得數(shù)據(jù)無法互信。圖中是FISCO BCOS和Fabric的兩筆含義相同的交易二進(jìn)制,僅從數(shù)據(jù)量大小就可看出完全不同。

因此,各區(qū)塊鏈也需要一個(gè)類似“車同軌”的方案,在異構(gòu)區(qū)塊鏈間建立起一個(gè)通用的“數(shù)據(jù)”橋梁,實(shí)現(xiàn)數(shù)據(jù)的互通與互信。如果能在多條區(qū)塊鏈間實(shí)現(xiàn)數(shù)據(jù)的互通互信,將會(huì)產(chǎn)生更豐富的應(yīng)用場景。例如,通過將分別持有版權(quán)、協(xié)議、財(cái)產(chǎn)和交易數(shù)據(jù)的區(qū)塊鏈連接在一起,構(gòu)建一個(gè)司法存證跨鏈網(wǎng)絡(luò),將可實(shí)現(xiàn)多條鏈的聯(lián)合舉證,為仲裁提供有力證據(jù)。

陸羽跨鏈協(xié)議在“鏈間”提出“統(tǒng)一接入接口”,將區(qū)塊鏈與協(xié)議的適配接入進(jìn)行了統(tǒng)一定義?;诖私涌诳蚣荛_發(fā)插件,不同的鏈有不同的實(shí)現(xiàn),并實(shí)現(xiàn)了各鏈的數(shù)據(jù)結(jié)構(gòu)與協(xié)議所定義的通用數(shù)據(jù)結(jié)構(gòu)之間的相互轉(zhuǎn)換。“通用的交易結(jié)構(gòu)”在插件中被編碼成可被鏈接收的交易二進(jìn)制,并在交易上鏈后,將鏈返回的交易回執(zhí)轉(zhuǎn)換成“通用的回執(zhí)結(jié)構(gòu)”。各種鏈的數(shù)據(jù)基于通用的數(shù)據(jù)結(jié)構(gòu)相互轉(zhuǎn)換,實(shí)現(xiàn)了鏈間的數(shù)據(jù)互通。同時(shí),協(xié)議支持在插件內(nèi)根據(jù)鏈自身的執(zhí)行邏輯定制相應(yīng)的交易驗(yàn)證方法。只要在發(fā)起方配置接收方的鏈插件,即可對(duì)接收方區(qū)塊鏈上的交易進(jìn)行正確性驗(yàn)證,實(shí)現(xiàn)連接數(shù)據(jù)互信。
??承上啟下,抽象表達(dá)
對(duì)上層應(yīng)用有了“書同文”的“統(tǒng)一調(diào)用接口”,對(duì)下層區(qū)塊鏈有了“車同軌”的“統(tǒng)一接入接口”,承上啟下之間,陸羽跨鏈協(xié)議的“抽象層”進(jìn)而顯現(xiàn)。
“抽象層”位于兩個(gè)接口之間,是貫穿整個(gè)協(xié)議的核心。該層抽取了各種區(qū)塊鏈上共有的定義,對(duì)對(duì)象和數(shù)據(jù)結(jié)構(gòu)進(jìn)行了通用描述。對(duì)象抽象包括賬戶、鏈和合約(鏈碼)的抽象,數(shù)據(jù)抽象則為區(qū)塊、交易和回執(zhí)的抽象。而賬戶抽象延伸開來又包括各種簽名算法的提煉。抽象使得面向協(xié)議編程的用戶可采用統(tǒng)一的定義進(jìn)行開發(fā)--無論是應(yīng)用還是鏈插件?!敖y(tǒng)一抽象”是貫穿整個(gè)協(xié)議的核心,以此延伸而來的陸羽跨鏈協(xié)議生態(tài),均建立在該抽象協(xié)議之上。

??開源合作,共建未來
陸羽跨鏈協(xié)議采用“開源”的方式歡迎各方參與共建。開發(fā)者可直接使用已有的代碼部署自己的系統(tǒng),也可以基于現(xiàn)有的代碼進(jìn)行進(jìn)一步的開發(fā),更可以提出建設(shè)性的意見對(duì)方案進(jìn)行迭代與更新。我們希望在對(duì)方案不斷完善的同時(shí),能吸引更多的開發(fā)者加入到陸羽開源生態(tài)圈中,以此形成良性的循環(huán),進(jìn)一步助推陸羽跨鏈協(xié)議持續(xù)發(fā)展。
在鏈接入上,開源生態(tài)圈中,基于陸羽跨鏈協(xié)議已實(shí)現(xiàn)了Brochain、FISCO BCOS、CITA和Hyperledger Fabric的跨鏈互通。未來,開發(fā)者將基于該協(xié)議實(shí)現(xiàn)更多類型鏈的跨鏈互通。

在應(yīng)用開發(fā)上,開源生態(tài)圈提供了調(diào)用跨鏈網(wǎng)絡(luò)的SDK,開發(fā)者可基于SDK開發(fā)各種跨鏈應(yīng)用。開發(fā)過程是“面向協(xié)議編程”,不再受限于區(qū)塊鏈底層的技術(shù)細(xì)節(jié),可實(shí)現(xiàn)“一次開發(fā),多鏈適配”。未來,隨著越來越多的跨鏈應(yīng)用組件被開發(fā)并開源,開發(fā)者將能夠直接復(fù)用已有的組件進(jìn)行開發(fā),而無需為每條鏈重新定制開發(fā)一套邏輯完全相同代碼。同時(shí),隨著越來越多的鏈完成適配,已開發(fā)的應(yīng)用也就可以在更多的鏈上運(yùn)行。

未來,隨著區(qū)塊鏈領(lǐng)域的發(fā)展,必然面臨更復(fù)雜的場景,“技術(shù)孤島”和“數(shù)據(jù)孤島”問題亦有可能更加嚴(yán)峻。陸羽跨鏈協(xié)議將在促進(jìn)技術(shù)融合,加速數(shù)據(jù)互通方面發(fā)揮重要作用,以在應(yīng)用上形成更大的生態(tài),在鏈間構(gòu)建數(shù)據(jù)橋梁,將各方力量相互融合,讓區(qū)塊鏈領(lǐng)域走向更廣闊的天地。

