什么是區(qū)塊鏈互操作性
掃描二維碼
隨時(shí)隨地手機(jī)看文章
2019 年是 Cosmos 生態(tài)起步的年份。隨著 Cosmos Hub 和 IRISnet 在 2019 年上半年上線,「跨鏈」成為該年度熱門概念之一。不過,無論是 Cosmos 最重要、也最值得期待的組件「跨鏈通訊協(xié)議 IBC」,還是另外一個(gè)巨型跨鏈項(xiàng)目 Polkadot,真正的交付期都在 2020 年——真正的「跨鏈」相關(guān)核心技術(shù)的發(fā)展,應(yīng)該看向 2020 年。
鏈聞向讀者介紹由總部位于紐約的加密資產(chǎn)研究機(jī)構(gòu) Digital Asset Research 撰寫的關(guān)于「區(qū)塊鏈互操作性」的專題研究報(bào)告,幫助讀者更好理解「跨鏈」這個(gè)復(fù)雜的技術(shù)領(lǐng)域,迎接 2020 年的到來。
隨著 Cosmos 在 2019 年上半年上線,以及市場(chǎng)對(duì)計(jì)劃在 2020 年上線的 Polkadot 的密切關(guān)注,「跨鏈」或者「區(qū)塊鏈互操作性」是一個(gè)熱門的領(lǐng)域。區(qū)塊鏈互操作性現(xiàn)在是一個(gè)討論挺多,但是同時(shí)又有些令人費(fèi)解、有點(diǎn)神秘的話題。簡(jiǎn)單來說,「互操作性」源于一個(gè)簡(jiǎn)單的前提,那就是開發(fā)出共兩個(gè)區(qū)塊鏈交換信息的方式。時(shí)至今日,這個(gè)領(lǐng)域的技術(shù)非常復(fù)雜。
為了說清楚區(qū)塊鏈互操作性,我們撰寫了本篇文章,目的是對(duì)通過中介網(wǎng)絡(luò)實(shí)現(xiàn)互操作性的主要方法做一個(gè)概述。這篇文章探討「互操作性」和「可組合性」在以太坊、Cosmos、Polkadot?(波卡鏈)等場(chǎng)景中的區(qū)別,以及為什么這種區(qū)別無疑會(huì)改變?nèi)藗儗?duì)價(jià)值創(chuàng)造的看法。
盡管關(guān)于「區(qū)塊鏈互操作性」的術(shù)語已在不同上下文中都有所使用,但我們只是將其定義為「交換信息的能力」,特別是當(dāng)它涉及到從一個(gè)加密貨幣網(wǎng)絡(luò)到另一個(gè)加密貨幣網(wǎng)絡(luò)的各類資產(chǎn)的所有權(quán)時(shí)。
根據(jù)定義,所有區(qū)塊鏈共享一個(gè)公共的數(shù)據(jù)結(jié)構(gòu)來組織和達(dá)成所有權(quán)變更的共識(shí)。即使區(qū)塊鏈的實(shí)現(xiàn)方式千差萬別,比如比特幣和以太坊就各有不同,但都會(huì)使用 Merkle 樹將事務(wù)按時(shí)間間隔(即區(qū)塊),以類似的方式鏈接起來,當(dāng)這些區(qū)塊鏈接在一起時(shí),就形成了完整的事務(wù)歷史——區(qū)塊鏈。盡管在過去五年里,「區(qū)塊鏈」這個(gè)詞已經(jīng)變成了一個(gè)語義上的噩夢(mèng),但它的詞源和技術(shù)本質(zhì)仍然與比特幣、以太坊和大多數(shù)介乎二者之間的加密貨幣網(wǎng)絡(luò)相同。
然而,盡管有這些相似之處,以太坊智能合約并沒有可靠的機(jī)制來驗(yàn)證比特幣事務(wù)是否得到充分確認(rèn),反之亦然。因此,我們今天存在大量的區(qū)塊鏈網(wǎng)絡(luò),盡管基礎(chǔ)上說,它們擁有相同的共識(shí)體系,但是由于缺乏用于傳輸這些證明的健壯的傳輸層,它們被孤立了起來。這一認(rèn)識(shí)催生出后來被稱為區(qū)塊鏈互操作性的解決方案的發(fā)展,特別是在過去三年中,其復(fù)雜性級(jí)別各不相同。
如今,區(qū)塊鏈互操作性這個(gè)術(shù)語被用來描述一套同時(shí)進(jìn)行、但又完全不同的技術(shù);從去中心化交易所到聯(lián)合側(cè)鏈?(federated sidechains),再到像 Cosmos 和 Polkadot 這樣的中介網(wǎng)絡(luò)。這導(dǎo)致了人們對(duì)什么是區(qū)塊鏈互操作性,以及如何實(shí)現(xiàn)互操作性,理解起來非常含混不清。
2017 年底出現(xiàn)了數(shù)十個(gè)項(xiàng)目,它們利用了這個(gè)術(shù)語的復(fù)雜性,推出了與在不同加密貨幣網(wǎng)絡(luò)之間橋接信息壓根無關(guān)的解決方案和代幣,這令局面更加混亂。
在 DAR,我們推出了「互操作性中介指數(shù)」(Interoperability Intermediary Index, DII)?希望更好地追蹤跨鏈類項(xiàng)目代幣的表現(xiàn),比較這類投資主題標(biāo)的的估值情況。該指數(shù)顯示,在 2017 年的投機(jī)泡沫之后,互操作性解決方案的代幣,包括 ICX、AION、WAN 和 ATOM 的價(jià)格大幅下降:
藍(lán)色為智能合約平臺(tái)指數(shù),紅色為互操作性中介指數(shù)
除了幾乎所有「互操作性中介指數(shù)」成分代幣都面臨一些自身的問題之外,我們也將這種走勢(shì)下滑歸結(jié)于幾個(gè)原因:互操作性作為一個(gè)主題,其復(fù)雜性與日俱增;這種技術(shù)缺乏相關(guān)用例;以及在 2018 年熊市期間對(duì)代幣化解決方案的懷疑不斷增加。
盡管代幣化互操作性解決方案的價(jià)格表現(xiàn)令人失望,這降低了主流對(duì)該技術(shù)的整體興趣,但隨著行業(yè)的成熟,我們?nèi)詴?huì)繼續(xù)將互操作性視為重要的發(fā)展方向。關(guān)于跨鏈的投資主題的核心是:當(dāng)不同的資產(chǎn)和應(yīng)用程序被視為一個(gè)整體向前發(fā)展時(shí),通過加密貨幣網(wǎng)絡(luò)交換信息和資產(chǎn)的能力,將使市場(chǎng)的力量可以更有效地發(fā)揮作用。
盡管加密貨幣市場(chǎng)通常是集成的,但是大多數(shù)去中心化應(yīng)用程序缺乏有意義的用途,再加上難以理解的技術(shù)被人無休止的炒作,這最終會(huì)對(duì)市場(chǎng)效率造成障礙。我們相信,不斷增強(qiáng)的連通性,尤其是比特幣和以太坊之間的連通性,可以增加有用的應(yīng)用程序的使用量,讓「霧件」(Vaporware,指由開發(fā)者在產(chǎn)品開發(fā)期間或者之前公布消息,而因此可能不會(huì)發(fā)布的產(chǎn)品,多數(shù)是指某些軟件)更容易被發(fā)現(xiàn)。本質(zhì)上,互操作性可以作為項(xiàng)目成功與否的催化劑,我們將其視為值得追求的自由市場(chǎng)的基元。
我們認(rèn)為,以下潛在的好處促使開發(fā)人員和研究人員開始探索區(qū)塊鏈互操作性:
市場(chǎng)效率
上文已經(jīng)描述關(guān)于 DApp 的「無形之手」。用戶和開發(fā)人員能夠跨區(qū)塊鏈選擇特定的應(yīng)用程序,并讓市場(chǎng)效率挑戰(zhàn)所有已部署應(yīng)用程序的產(chǎn)品市場(chǎng)適應(yīng)性。
可伸縮性
互操作性使得價(jià)值的傳遞能夠跨多個(gè)網(wǎng)絡(luò)并行化,而不是使用一個(gè)單一的區(qū)塊鏈來處理和存儲(chǔ)單個(gè)線程上的所有事務(wù)。智能合約的計(jì)算也可以并行化,從而增加某些應(yīng)用程序的潛在功能。
功能專業(yè)化
將服務(wù)、去中心化應(yīng)用程序或金融產(chǎn)品的功能外包,或交給到高度專業(yè)化的網(wǎng)絡(luò)的能力。
跨鏈預(yù)言機(jī)和身份體系
跨區(qū)塊鏈驗(yàn)證事件和身份的能力,以及一個(gè)區(qū)塊鏈中的事件觸發(fā)位于不同區(qū)塊鏈中的合約執(zhí)行的能力。
資產(chǎn)留置
一個(gè)區(qū)塊鏈中的合約在另一個(gè)鏈中保證或擔(dān)保余額的能力。這些余額之后可以被合約用作金融衍生品、杠桿產(chǎn)品、破產(chǎn)收回、留置權(quán)以及任何可能需要抵押或保證金的用例的抵押品。
Generalized Mining 與治理
互操作性可以使一個(gè)網(wǎng)絡(luò)的利益相關(guān)者參與不同網(wǎng)絡(luò)的事務(wù)驗(yàn)證和治理。類似地,它使利益相關(guān)者能夠作為權(quán)益池進(jìn)行操作,并在利用該機(jī)制的網(wǎng)絡(luò)上戰(zhàn)略性地部署其權(quán)益。
實(shí)現(xiàn)區(qū)塊鏈互操作性的多種方法
雖然區(qū)塊鏈互操作性似乎是這個(gè)行業(yè)所能提供的最尖端的「元」主題之一,但這個(gè)概念本身和比特幣差不多是前后腳問世的。
事實(shí)上,在并行運(yùn)行的多個(gè)區(qū)塊鏈之間橋接信息的想法(即側(cè)鏈的概念)可以追溯到 2010 年,當(dāng)時(shí)提出了?BitDNS,即基于比特幣的域名服務(wù)(該數(shù)據(jù)庫(kù)將人類可讀的 URL 轉(zhuǎn)換為數(shù)字 IP 地址)。盡管 BitDNS 從未在比特幣中實(shí)現(xiàn)過,但它開啟了區(qū)塊鏈互操作性的初步討論,并在接下來的幾年中催生了側(cè)鏈的潛在用例。
如今,在引入側(cè)鏈概念九年之后,促進(jìn)區(qū)塊鏈互操作性的可用實(shí)現(xiàn)仍然處于起步階段。從我們的角度來看,目前的區(qū)塊鏈互操作性可以分為四個(gè)大類:
分別為:側(cè)鏈 /Relayer、鏈下原子互換、鏈上原子互換、網(wǎng)絡(luò)間互操作性
雖然上面圖中描述的四種非常通用的方法都有各自的特點(diǎn),但是最終的目標(biāo)是相同的:從一個(gè)區(qū)塊鏈鏈中獲取資產(chǎn) / 信息,驗(yàn)證它的存在和一些先決條件(例如時(shí)間鎖),然后在另一個(gè)鏈中「合成地」重構(gòu)它。
如果你以前讀過關(guān)于區(qū)塊鏈互操作性的內(nèi)容,那么你可能已經(jīng)看到過原子?(atomic)?這個(gè)詞的使用,比如原子交換。在區(qū)塊鏈互操作性的上下文中,這個(gè)術(shù)語要么被用來描述資產(chǎn)交換(例如 swap)的所有底層操作將確定會(huì)成功執(zhí)行,要么則說的是根本沒有發(fā)生任何操作。在沒有第三方的情況下,原子性是必需的,因?yàn)槿绻粨Q的一方失敗而另一方成功,則其中一方將受到不對(duì)等的損害。
無需信任和非托管系統(tǒng)尤其難以開發(fā),因?yàn)樗鼈冃枰O(shè)計(jì)一個(gè)單一的系統(tǒng)來滿足完全不同的區(qū)塊鏈,比如比特幣和以太坊。這意味著必須對(duì)具體的數(shù)據(jù)結(jié)構(gòu)、數(shù)字簽名和共識(shí)最終性進(jìn)行翻譯和概括,而這并非易事。這導(dǎo)致了幾個(gè)互操作性中介體的創(chuàng)建,它們解決這個(gè)問題的方法是建立一個(gè)代幣化的獨(dú)立區(qū)塊鏈,擁有自己的共識(shí)引擎和智能合約功能,從而橋接跨區(qū)塊鏈的資產(chǎn)流。
為了更好地理解通過中介實(shí)現(xiàn)互操作性,可以考慮以下假設(shè)場(chǎng)景:Alice 將部分儲(chǔ)蓄以比特幣的形式存儲(chǔ),希望從運(yùn)行在以太坊網(wǎng)絡(luò)之上的銀行那里獲得貸款。為了評(píng)估這筆貸款的風(fēng)險(xiǎn),銀行需要審計(jì) Alice 的財(cái)務(wù)記錄,并持有抵押品,以防她沒能按期償付。通過一個(gè)互操作中介體,銀行在比特幣上創(chuàng)建了一個(gè)智能合約(多重簽名),在貸款期間可有效鎖定 Alice 的抵押品。在中介體的幫助下,該合約可用編程方式將抵押品返還給 Alice,或者在她未能及時(shí)償付的情況下將抵押品轉(zhuǎn)移到銀行。通過這種方式,Alice 可以選擇用哪個(gè)網(wǎng)絡(luò)存儲(chǔ)她的抵押品,但仍然可以從其他網(wǎng)絡(luò)提供的服務(wù)中獲益。
在 2016 年那會(huì)兒,人們認(rèn)為使用中介體來中繼跨鏈通信,可以簡(jiǎn)化許多阻礙完全互操作區(qū)塊鏈的摩擦。由于不同的網(wǎng)絡(luò)需要不同的確認(rèn)時(shí)間(對(duì)于有技術(shù)上有點(diǎn)悟性的人來說,這就是經(jīng)濟(jì)最終性閾值),所以人們認(rèn)為,中介體的存在可以使加密貨幣網(wǎng)絡(luò)之間的信息流動(dòng)更簡(jiǎn)單,而且在重整?(reorgs)?或共識(shí)失敗的情況下可能更安全。
盡管從更高階的角度來看這一點(diǎn)沒錯(cuò),但是在過去的幾年來,事實(shí)證明,添加的中介層在構(gòu)建和保護(hù)方面極具挑戰(zhàn)性。
可組合性 vs. 互操作性
隨著互操作性中介體發(fā)展成為成熟的智能合約平臺(tái),它們開始在共識(shí)引擎、虛擬機(jī)和網(wǎng)絡(luò)協(xié)議中面臨與以太坊等項(xiàng)目同樣的實(shí)現(xiàn)挑戰(zhàn)。
由于互操作性中介層和智能合約平臺(tái)之間的界限隨著實(shí)現(xiàn)問題的出現(xiàn)而變得模糊,因此必須對(duì)「互操作性」和「可組合性」做出明確的區(qū)分,才能有效評(píng)估當(dāng)前連接區(qū)塊鏈的方法。雖然這些術(shù)語經(jīng)??梢曰Q使用,但總結(jié)一下它們之間的差異無疑會(huì)改變?nèi)藗儗?duì)價(jià)值創(chuàng)造的看法,特別是在以太坊、Cosmos 和 Polkadot 等智能合約網(wǎng)絡(luò)環(huán)境下。
簡(jiǎn)單來說,「可組合性」(composability)是在單一環(huán)境中、根據(jù)特定需求定義(和更改)應(yīng)用程序的能力。例如,在云計(jì)算中,可組合性是 IT 基礎(chǔ)設(shè)施的一種流行方法,因?yàn)樗沟瞄_發(fā)人員能在其應(yīng)用程序發(fā)展時(shí)選擇和擴(kuò)展云服務(wù)。通過 AWS 這樣的平臺(tái),系統(tǒng)管理員不需要本地獲取、配置和維護(hù)專門的硬件來支持其業(yè)務(wù)。
相反,系統(tǒng)管理員可以選擇計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)工具和身份解決方案作為獨(dú)立的、模塊化的服務(wù),并根據(jù)需要在相同的環(huán)境中更改它們。可組合性是智能合約平臺(tái)的關(guān)鍵,因?yàn)樗鼈冊(cè)噲D向 DApp 開發(fā)人員模仿這些類似的好處。另一方面,「互操作性」(interoperability)則類似于系統(tǒng)在不同環(huán)境(如 AWS 和 Azure,或比特幣和以太坊)之間獲取服務(wù)和交換信息的能力。
為了更好地了解這種差異,讓我們更仔細(xì)地觀察一下以太坊上的可組合性。
以太坊通過一個(gè)用于圖靈完備計(jì)算的單一驗(yàn)證環(huán)境——以太坊虛擬機(jī)?(EVM)?來追求可組合性。通過這種做法,以太坊 DApp 至少在理論上能夠利用網(wǎng)絡(luò)中現(xiàn)有的服務(wù),并且像 AWS 一樣,將特定的功能,例如穩(wěn)定幣支付、身份解決方案、協(xié)議治理解決方案或去中心化存儲(chǔ),統(tǒng)統(tǒng)外包出去。
雖然可以將其視為一種互操作性類型,但它僅限于單一環(huán)境,與橋接外生環(huán)境或加密貨幣網(wǎng)絡(luò)無關(guān)。因此,在這種情況下使用「互操作性」這個(gè)說法可能會(huì)產(chǎn)生嚴(yán)重的誤導(dǎo),因?yàn)樗c該術(shù)語的詞源相抵觸。相反,用「使用可組合性」來描述更合適,因?yàn)樗枋隽讼嗤h(huán)境中的可互操作應(yīng)用程序之間的交互。
當(dāng)然,單一系統(tǒng)中的服務(wù)專門化是有益的,因?yàn)檫@使得開發(fā)人員能專注于其應(yīng)用程序的核心價(jià)值主張,而不必從頭開始構(gòu)建其 DApp 的所有組件。假設(shè)有個(gè)叫 dUber?(去中心化優(yōu)步)的拼車應(yīng)用。通過像以太坊這樣的平臺(tái),dUber 的開發(fā)人員可以使用現(xiàn)有的網(wǎng)絡(luò)解決方案來外包位置服務(wù)、身份管理、支付技術(shù)和公司治理。
雖然這聽起來很好,但在實(shí)踐中很難執(zhí)行。除了能夠擴(kuò)展應(yīng)用程序這一明顯的挑戰(zhàn)之外,以太坊上可組合性的最大障礙之一在于實(shí)用代幣模型的興起,該模型要求在取得 DApp 原生代幣所有權(quán)的情況下,才能獲得它的服務(wù)。雖然某些應(yīng)用程序可能需要相應(yīng)的代幣來進(jìn)行治理或發(fā)揮準(zhǔn)股權(quán)的作用,但將其簡(jiǎn)單地用作看門人無疑會(huì)破壞以太坊上的可組合性。與能夠通過 ETH 支付各種專門服務(wù)的費(fèi)用不同,應(yīng)用程序、它的開發(fā)人員或用戶將不得不處理額外的摩擦。
這恢復(fù)了對(duì)去中心化交易所?(DEX)?的需求,以促進(jìn)對(duì)特定代幣的程序化訪問,最終加劇了區(qū)塊鏈互操作性的噩夢(mèng)。盡管有數(shù)十個(gè)項(xiàng)目在探索去中心化交易所業(yè)務(wù),但絕大多數(shù)仍面臨著根本性的挑戰(zhàn),比如如何降低搶先交易和合謀欺詐的風(fēng)險(xiǎn)。即使未來的 DEX 將有望解決這些問題,但在使用專門服務(wù)之前獲取代幣流動(dòng)性的挑戰(zhàn)仍然存在。因此,需要獲得某種特定的資產(chǎn)才能通過應(yīng)用程序獲得專業(yè)化的現(xiàn)狀,對(duì)以太坊的可組合性產(chǎn)生了負(fù)面影響。
以太坊修改過的路線圖 ETH2.0 旨在緩解其中的一些摩擦,因?yàn)樗淖罱K目標(biāo)是支持可組合的體系結(jié)構(gòu),每個(gè)特定服務(wù)或 DApp 都可以擁有自己的獨(dú)立區(qū)塊鏈或分片。區(qū)塊鏈分片是以太坊實(shí)現(xiàn)可伸縮性的主要方法,因?yàn)樗鼘⒕W(wǎng)絡(luò)劃分為許多獨(dú)立的分片,從而支持并行計(jì)算。如果成功實(shí)現(xiàn),分片可以提高以太坊上的可伸縮性和可組合性。
在這個(gè)新的路線圖中,信標(biāo)鏈將信息轉(zhuǎn)發(fā)到特定的分片,這些分片可能代表獨(dú)立的 DApp 和 / 或?qū)iT的加密資產(chǎn)。這可能會(huì)減少實(shí)用代幣所需要的高度功能性、程序化和流動(dòng)性的去中心化交易所的需求,因?yàn)殒i定在信標(biāo)鏈中的資產(chǎn)可以在專門的分片中以合成資產(chǎn)的形式創(chuàng)建出來。不過,以太坊的底層至少還需要幾年時(shí)間才能部署這些技術(shù)。
Polkadot:一個(gè)可組合性的解決方案
Gavin Wood?是以太坊的主要實(shí)現(xiàn)者,也是 Polkadot 的創(chuàng)始人,他是最早將去中心化應(yīng)用程序高度可組合性的框架概念完整地提出來的研究人員之一。Gavin Wood 在 2016 年的 Polkadot 白皮書中引入了一個(gè)相對(duì)簡(jiǎn)單的架構(gòu),試圖規(guī)避以太坊在圍繞分片、超級(jí)立方體模型(hypercubes)?和 Casper 的研究變得越來越復(fù)雜時(shí)所面臨的實(shí)現(xiàn)挑戰(zhàn)。作為一名活躍的以太坊開發(fā)人員,Gavin Wood 多年來在實(shí)現(xiàn)以太坊的重新設(shè)計(jì)和更改方面擁有第一手的經(jīng)驗(yàn)。
他的解決方案是通過允許相同區(qū)塊鏈的多個(gè)「迭代」(即平行鏈的方案),在彼此之間實(shí)現(xiàn)互操作,將 Polkadot 開發(fā)為可選方案,從而最大化可組合性。
自從引入 Polkadot 以來,我們一直密切關(guān)注著 Polkadot 和以太坊這兩個(gè)項(xiàng)目路線圖的演變,并且饒有興味地觀察到,隨著時(shí)間的推移,尤其是在以太坊修改了路線圖之后,Polkadot 和以太坊的總體架構(gòu)是如何逐漸趨同的。
就像 Polkadot 的中繼鏈一樣,以太坊的信標(biāo)鏈將充當(dāng)一個(gè)樞紐,將多個(gè)分片或平行鏈連接在一起。這兩個(gè)樞紐還負(fù)責(zé)驗(yàn)證事務(wù)、中繼消息,并作為隨機(jī)預(yù)言機(jī)在權(quán)益證明下選擇區(qū)塊驗(yàn)證器。而 Polkadot 似乎也從以太網(wǎng)那里借用了許多理念。2018 年 11 月,Polkadot 發(fā)布了其旗艦共識(shí)引擎 GRANDPA 的詳細(xì)信息,當(dāng)中很多內(nèi)容體現(xiàn)了以太坊在 Casper 項(xiàng)目上的主要成果。
有了分片、中繼樞紐和基于 Casper 的共識(shí),Polkadot 和以太坊的理想版本無疑是類似的。然而,盡管存在這些架構(gòu)上的相似之處,Polkadot 還是從頭開始構(gòu)建,以促進(jìn)其可組合性。而要在以太坊現(xiàn)有的應(yīng)用程序和代幣化服務(wù)生態(tài)系統(tǒng)上實(shí)現(xiàn)可組合性,這將需要大量的工程和協(xié)調(diào)工作。
為了最大化可組合性,Polkadot 創(chuàng)建了?Substrate,這是一個(gè)用于創(chuàng)建與 Polkadot 兼容的平行鏈的框架。通過這個(gè)框架,不必從頭構(gòu)建所有的網(wǎng)絡(luò)和共識(shí)代碼,類似于 ERC20 代幣可以利用以太坊現(xiàn)有的網(wǎng)絡(luò)基礎(chǔ)設(shè)施,而不必構(gòu)建自己的基礎(chǔ)層一樣。不同之處在于,Substrate 已經(jīng)實(shí)現(xiàn)了大部分功能,所以在上面搭建的感覺就像每個(gè) ERC 代幣都有自己獨(dú)立的網(wǎng)絡(luò),具有獨(dú)特的功能和驗(yàn)證器集。
互操作性和可組合性之間的區(qū)別在這里尤其重要,因?yàn)榕c普遍的看法相反,Polkadot 并不是為橋接不同的加密貨幣網(wǎng)絡(luò)(如比特幣和以太坊)而設(shè)計(jì)的。相反,該團(tuán)隊(duì)致力于使基于 Substrate 的鏈完全可組合,但只能在它們之間互操作。
盡管他們確實(shí)計(jì)劃建立一套橋接合約,能夠?qū)?Polkadot 連接到其他網(wǎng)絡(luò),但不可否認(rèn)的是,他們的主要焦點(diǎn)放在 Substrate 上。因此,Polkadot 將需要開發(fā)人員有機(jī)地遷移到該平臺(tái),并開始在該平臺(tái)上構(gòu)建應(yīng)用程序;這是以太坊花了三年時(shí)間才實(shí)現(xiàn)的。
盡管像 Aragon 這樣的數(shù)據(jù)服務(wù)提供商曾考慮在 Polkadot 上建立二級(jí)網(wǎng)絡(luò)(最終,Aragon 選擇了 Cosmos 生態(tài)),但達(dá)到與以太坊相稱的采用率和價(jià)值積累,很可能需要很長(zhǎng)時(shí)間。
從長(zhǎng)遠(yuǎn)來看,Polkadot 對(duì)可組合性的關(guān)注可能會(huì)令其獲得回報(bào),但該項(xiàng)目在中短期吸引開發(fā)人員時(shí),可能很難捍衛(wèi)其估值,考慮到其 ICO 資金在 Parity 多重簽名出現(xiàn)漏洞后仍然處在鎖定狀態(tài),情況更是如此。盡管如此,追蹤 Polkadot 的研究進(jìn)展還是很有趣的。
Cosmos:一個(gè)互操作性的解決方案
Cosmos 在互操作性和可組合性方面采取了更務(wù)實(shí)的方法,它的堆?;谝惶赚F(xiàn)有的技術(shù)。雖然整個(gè)項(xiàng)目仍很復(fù)雜,但它的基礎(chǔ)是基于運(yùn)行在?Tendermint?上的以太坊虛擬機(jī)?(EVM)?的互聯(lián)實(shí)例,即一個(gè) pBFT 共識(shí)引擎。共識(shí)設(shè)計(jì)是通過中介機(jī)實(shí)現(xiàn)互操作性的最重要元素之一,Cosmos 團(tuán)隊(duì)從 2014 年起就開始在 Tendermint 上工作。
盡管以太坊和 Cosmos 在關(guān)鍵實(shí)現(xiàn)上存在差異,比如不同的數(shù)據(jù)結(jié)構(gòu)、序列化格式和數(shù)字簽名算法,鑒于 EVM 作為業(yè)界最主要的虛擬機(jī)的地位,Cosmos 選擇使用 EVM 能帶來更好的互操作性,并有利于支持基礎(chǔ)設(shè)施。
Tendermint 和 EVM 的簡(jiǎn)單結(jié)合,也使 Cosmos 能夠利用現(xiàn)有的以太坊開發(fā)工具和開源應(yīng)用的生態(tài)系統(tǒng),但仍然可以通過分片來改善其可組合性、互操作性和可伸縮性。
Cosmos 軟件開發(fā)工具包?(SDK)?相當(dāng)于 Polkadot 上的 Substrate 框架。與 Substrate 一樣,Cosmos SDK 的目的是通過將共識(shí)和網(wǎng)絡(luò)代碼標(biāo)準(zhǔn)化,促進(jìn)連接到 Cosmos 樞紐的各網(wǎng)絡(luò)的可組合性。SDK 被設(shè)計(jì)為服務(wù)于一個(gè)生態(tài)系統(tǒng),在這個(gè)生態(tài)系統(tǒng)中,各種開源模塊(如隱私插件或用戶身份解決方案)可以根據(jù)需要添加到應(yīng)用程序中。該系統(tǒng)的一個(gè)必不可少的組成部分是一個(gè)應(yīng)用程序安全模型,用于描述應(yīng)用程序的各個(gè)模塊安全權(quán)限。
這種權(quán)限是通過對(duì)象功能?(ocaps)?實(shí)現(xiàn)的。簡(jiǎn)單來說 ocaps 可以以編程方式防止惡意或有缺陷的模塊更改特定狀態(tài),比如準(zhǔn)備金余額或合約所有權(quán)。
我們發(fā)現(xiàn),這種實(shí)現(xiàn)可組合性和應(yīng)用程序安全性的方法非常有趣,因?yàn)樵谶^去幾年里,以太坊上高度復(fù)雜的智能合約所具有的不可預(yù)測(cè)性,引發(fā)了大量攻擊。然而,opcaps 并不是萬能的,因?yàn)殚_發(fā)人員仍然需要適當(dāng)?shù)囟x模塊之間的交互。
除了可組合性之外,Cosmos 還概述了其網(wǎng)絡(luò)將如何處理 Cosmos Hub 和外生網(wǎng)絡(luò)之間的互操作性。他們?yōu)榻鉀Q互操作性問題提出的方案包括在 Cosmos Hub 和以太坊等外生網(wǎng)絡(luò)之間引入額外的中介區(qū)塊鏈,即 Peg Zone?(鏈聞注:亦被翻譯為「掛鉤分區(qū)」)。作為中介體,Peg Zone 可以為工作證明區(qū)塊鏈提供經(jīng)濟(jì)最終性(即區(qū)塊的不可逆性)的概率保證。
例如,當(dāng)一個(gè)事務(wù)被包含在以太坊區(qū)塊中以期橋接到 Cosmos 時(shí),Peg Zone 在確認(rèn)有效之前,會(huì)應(yīng)用 100 個(gè)區(qū)塊確認(rèn)作為最終性閾值。這種最終性檢查點(diǎn)降低了在區(qū)塊鏈重組或 51% 攻擊事件中 peg 鏈上事務(wù)被恢復(fù)的概率。這種中介體的一個(gè)明顯好處在于,它簡(jiǎn)化了對(duì)交叉鏈資產(chǎn)的托管。所有 Cosmos 用戶通過一個(gè)集中的多重簽名智能合約錢包共享余額,從而促進(jìn)了流動(dòng)性的流入和流出。
其他項(xiàng)目,包括 Polkadot,也嘗試了類似的架構(gòu)。最近,Loom 網(wǎng)絡(luò)利用了基于以太坊的側(cè)鏈 Plasma,為以太坊用戶提供類似的中介??紤]到通過中介實(shí)現(xiàn)互操作性被證明是件極具挑戰(zhàn)性的任務(wù),我們期望這種「Peggy」的分層結(jié)構(gòu)能夠成為通過中介體實(shí)現(xiàn)跨鏈互操作性的藍(lán)圖。
Peggy:通過中介體實(shí)現(xiàn)互操作性的藍(lán)圖
外部的區(qū)塊鏈和 Peg Zone 將通過兩種主要協(xié)議連接到 Cosmos 樞紐,分別是「區(qū)塊鏈間通訊協(xié)議,或跨鏈通訊協(xié)議」?(Inter-Blockchain Communication, IBC)?和「應(yīng)用程序區(qū)塊鏈接口」(ApplicaTIon Blockchain Interface, ABCI)?協(xié)議。IBC 協(xié)議本質(zhì)上是一個(gè)消息傳遞系統(tǒng),追蹤所有連接區(qū)域的狀態(tài)或總余額。由于任何通信都需要驗(yàn)證,Cosmos?(尤其是 Tendermint)的另一個(gè)重要方面是 ABCI 協(xié)議,它作為一個(gè)網(wǎng)絡(luò)套接協(xié)議運(yùn)行,將 Tendermint 共識(shí)引擎與平臺(tái)上的各種應(yīng)用程序連接起來,通過這個(gè)接口,可以讓應(yīng)用層和底線的共識(shí)層及網(wǎng)絡(luò)層進(jìn)行通信對(duì)話。
在 Peggy 的情況下,IBC 控制用戶資金在以太坊之間的流入和流出,而 ABCI 處理關(guān)于這些交易有效性的共識(shí)。可以通過這個(gè)示例了解該機(jī)制:Alice 在 Cosmos 中的 Ethermint Zone?(鏈聞注,即以太坊的一條代理鏈,通過它可以實(shí)現(xiàn)以太坊與 Cosmos 鏈的連接)有資金,并且希望向以太坊發(fā)送代幣。通過 IBC,Alice 可以將這些資金從她所在的 Zone 轉(zhuǎn)到 Peggy 的 Peg Zone。與以太坊的橢圓曲線數(shù)字簽名算法?(ECDSA)?不同,Cosmos 中的簽名是使用愛德華曲線數(shù)字簽名算法?(EdDSA)?來完成的,因此 ABCI 會(huì)將簽名翻譯成以太坊可以理解和驗(yàn)證的語言。
Peggy 還依賴于中繼器網(wǎng)絡(luò),由中繼器將成批的交易和隨附的翻譯簽名發(fā)送到充當(dāng)保管人的以太坊智能合約。一旦發(fā)布,Cosmos 用戶就可以在以太坊網(wǎng)絡(luò)中進(jìn)行交易。
見證人?(Witnesses)?是在以太坊上運(yùn)行完整節(jié)點(diǎn)的 Cosmos 用戶,他們負(fù)責(zé)將以太坊中發(fā)生的狀態(tài)變化通知 Peggy。每隔 100 個(gè)區(qū)塊生成間隔,就會(huì)有目擊者證明一系列被發(fā)送回 Peggy 的以太坊事務(wù)已經(jīng)終結(jié)。通過中繼器和目擊者,Cosmos 可以提供以太坊的完全雙向性。
我們懷疑這種通用模式能否在通過中介的互操作性領(lǐng)域得到發(fā)展,像 Peggy 這類解決方案的全面部署仍然需要時(shí)間。在這一點(diǎn)上,Cosmos 的 IBC 協(xié)議仍然需要改進(jìn),根據(jù)我們對(duì) Peggy 代碼庫(kù)的了解,至少還要一年才能實(shí)現(xiàn)雙向性。盡管如此,Cosmos 已經(jīng)接近于發(fā)布一個(gè)基于 Peggy、從以太坊到 Cosmos 的單向橋梁,觀察人們?nèi)绾问褂盟瑧?yīng)該會(huì)很有意思。