區(qū)塊鏈互操作性可能是下一波創(chuàng)新浪潮,它在擴(kuò)展去中心化網(wǎng)絡(luò)方面創(chuàng)造巨大價(jià)值。
其中創(chuàng)建區(qū)塊鏈網(wǎng)絡(luò)的兩個(gè)頂級(jí)競(jìng)爭(zhēng)者分別是Cosmos網(wǎng)絡(luò)和Polkadot網(wǎng)絡(luò)。我們將對(duì)比探討兩者的協(xié)議、網(wǎng)絡(luò)設(shè)計(jì)、安全模型、技術(shù)堆棧等。
但首先,我們需要從更高層面來(lái)解釋區(qū)塊鏈互操作性意味著什么。
什么是區(qū)塊鏈互操作性?
區(qū)塊鏈互操作性非常復(fù)雜,因此讓我們嘗試用最簡(jiǎn)單的方法來(lái)解釋它。
區(qū)塊鏈互操作性意味著一個(gè)人可以發(fā)送以太,并通過(guò)區(qū)塊鏈協(xié)議自動(dòng)接收到比特幣,這一個(gè)過(guò)程無(wú)需交易平臺(tái)等第三方參與。這是一個(gè)簡(jiǎn)單的愿望,但尚未實(shí)現(xiàn)。
Polkadot 和 Cosmos 都在為區(qū)塊鏈構(gòu)建協(xié)議, 以實(shí)現(xiàn)安全、可靠地交互。這些協(xié)議允許新創(chuàng)建的區(qū)塊鏈之間能夠相互發(fā)送交易和消息。
為什么它很重要?
區(qū)塊鏈構(gòu)成的網(wǎng)絡(luò)能通過(guò)網(wǎng)絡(luò)效應(yīng)改善去中心化的互聯(lián)網(wǎng)。當(dāng)一切都連接在一起時(shí),它帶來(lái)了更多的資本、更好的用戶(hù)體驗(yàn)和更多的頭腦風(fēng)暴,從而改善網(wǎng)絡(luò)。
區(qū)塊鏈互操作性可以顯著提高區(qū)塊鏈的可擴(kuò)展性、速度和延展性。例如,如果你的區(qū)塊鏈上限交易數(shù)量為100TPS,則可以創(chuàng)建一個(gè)相同的區(qū)塊鏈,且能與前一區(qū)塊鏈互操作,這樣就可以達(dá)到200TPS。按照這種方法,你可以實(shí)現(xiàn)1000TPS。
它還允許私有鏈、公有鏈和聯(lián)盟鏈進(jìn)行連接。最終,區(qū)塊鏈甚至可以與SWIFT 等法幣銀行系統(tǒng)進(jìn)行互操作。
為什么要關(guān)注Cosmos和Polkadot?
從我的研究中,我發(fā)現(xiàn)它們是非常有希望的項(xiàng)目。他們都有強(qiáng)大的技術(shù)團(tuán)隊(duì),在去中心化社區(qū)擁有良好聲譽(yù),他們已經(jīng)在區(qū)塊鏈領(lǐng)域浸潤(rùn)多年,并且他們都從零開(kāi)始寫(xiě)了大量代碼。
它們用類(lèi)似的策略來(lái)解決區(qū)塊鏈互操作性,但在協(xié)議和設(shè)計(jì)方面存在差異。這些差異在安全性、隱私性、效率、靈活性和易用性之間有不同的權(quán)衡。
現(xiàn)在讓我們深入了解一下區(qū)塊鏈互操作性的未來(lái)是什么樣子!
Cosmos網(wǎng)絡(luò)
自2014年以來(lái),隨著 Tendermint 的發(fā)布,Cosmos團(tuán)隊(duì)一直致力于區(qū)塊鏈互操作性。Tendermint 是一個(gè)拜占庭容錯(cuò)(BFT)共識(shí)引擎,以及點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)八卦協(xié)議。
Cosmos——區(qū)塊鏈的互聯(lián)網(wǎng)
他們構(gòu)建的Cosmos網(wǎng)絡(luò),是建立在Tendermint 之上的區(qū)塊鏈。Tendermint 和 Cosmos 都在 InterChain 基金會(huì)之下。下面兩個(gè)簡(jiǎn)單的示意圖解釋了他們是如何設(shè)計(jì)網(wǎng)絡(luò)的。
(從更高層面看,其區(qū)塊鏈由三個(gè)主要組成部分構(gòu)成,即能相互交流的計(jì)算機(jī)節(jié)點(diǎn)網(wǎng)絡(luò)、允許節(jié)點(diǎn)就新區(qū)塊達(dá)成共識(shí)的協(xié)議、以及具有自己狀態(tài)的應(yīng)用層(如以太坊帳戶(hù),它存儲(chǔ)以太余額作為狀態(tài))。
(Tendermint 負(fù)責(zé)區(qū)塊鏈的網(wǎng)絡(luò)和共識(shí)層。這使得區(qū)塊鏈可以基于Tendermint創(chuàng)建有自己狀態(tài)的應(yīng)用程序。(藍(lán)狐筆記注:把網(wǎng)絡(luò)和共識(shí)層交給Tendermint,降低了開(kāi)發(fā)難度)。此圖顯示了通過(guò)ABCI 協(xié)議與 Tendermint 交互的 ABCI應(yīng)用程序,下一節(jié)將對(duì)此進(jìn)行說(shuō)明。)
技術(shù)設(shè)計(jì)和協(xié)議
1. Tendermint (共識(shí)和網(wǎng)絡(luò))
Tendermint 是一種實(shí)用拜占庭容錯(cuò)(PBFT) 狀態(tài)機(jī)。它要求一組已知的驗(yàn)證者就一個(gè)區(qū)塊達(dá)成共識(shí)。Cosmos網(wǎng)絡(luò)至少需要 2/3多數(shù)才能達(dá)成共識(shí)。如果不到1/3的驗(yàn)證者是拜占庭(藍(lán)狐筆記注:即惡意節(jié)點(diǎn)),網(wǎng)絡(luò)將永遠(yuǎn)不會(huì)分叉,因?yàn)轵?yàn)證者不能在相同的高度上提交沖突的區(qū)塊,這源于Tendermint 重視鏈的安全勝過(guò)鏈活性。
2. 應(yīng)用區(qū)塊鏈接口(ABCI)
ABCI 是一個(gè)接口,用于定義復(fù)本引擎(Tendermint) 和狀態(tài)機(jī) (區(qū)塊鏈) 之間的邊界。ABCI 是區(qū)塊鏈狀態(tài)更新的唯一途徑,只有Tendermint 才能獲得區(qū)塊鏈的狀態(tài)更改功能。這種設(shè)計(jì)是一個(gè)很好的安全策略,因?yàn)橹挥幸粋€(gè)入口能更改狀態(tài)。
下圖對(duì)Tendermint 堆棧進(jìn)行了細(xì)分, 顯示了節(jié)點(diǎn)在對(duì)等網(wǎng)絡(luò)中的連接方式, 以及每個(gè)節(jié)點(diǎn)的組件。
(這五個(gè)節(jié)點(diǎn)彼此創(chuàng)建點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)。每個(gè)節(jié)點(diǎn)都是一臺(tái)運(yùn)行Tendermint 核心的計(jì)算機(jī)。Tendermint 可以通過(guò) ABCI 協(xié)議連接到區(qū)塊鏈。左下角的輕型客戶(hù)端節(jié)點(diǎn)可以通過(guò) RPC 調(diào)用連接到任何 Tendermint 節(jié)點(diǎn)。)
Cosmos的互操作性
區(qū)塊鏈通信(IBC)
Cosmos網(wǎng)絡(luò)具有跨區(qū)塊鏈通信(IBC) 協(xié)議, 允許區(qū)塊鏈與其他區(qū)塊鏈互動(dòng)。區(qū)塊鏈網(wǎng)絡(luò)將通過(guò)IBC 進(jìn)行通信, 以Cosmos網(wǎng)絡(luò)為中心樞紐(hub)。區(qū)塊鏈通過(guò)一種樞紐和輻條模型(a hub and spoke model)被連接到Cosmos樞紐(Hub)。網(wǎng)絡(luò)的輻條(spoke)稱(chēng)為“區(qū)域(Zone)”,如下圖所示。
(Cosmos的Hub是連接Cosmos網(wǎng)絡(luò)上所有其他區(qū)塊鏈的主要區(qū)塊鏈。每個(gè)Zone(區(qū)域)都有自己的區(qū)塊鏈,它們共同創(chuàng)建了一個(gè)用于連接的樞紐和分支模型。)
IBC有一個(gè)更專(zhuān)業(yè)的技術(shù)用語(yǔ),即鏈中繼。鏈中繼允許區(qū)塊鏈讀取和驗(yàn)證其他區(qū)塊鏈中的事件。例如,鏈A 上的智能合約想知道鏈B上是否發(fā)生了某個(gè)事件。為此,鏈B上的智能合約需要取一個(gè)鏈A的區(qū)塊頭,并驗(yàn)證它是否已經(jīng)滿(mǎn)足共識(shí)并達(dá)到最終性。(藍(lán)狐筆記:區(qū)塊鏈最終性指交易已經(jīng)被寫(xiě)入?yún)^(qū)塊并添加到區(qū)塊鏈上,也就是不能被逆轉(zhuǎn)或篡改。)
從本質(zhì)上講,Cosmos正在建立一種網(wǎng)絡(luò),使創(chuàng)建新的區(qū)塊鏈變得很容易,并且這些新創(chuàng)建的區(qū)塊鏈從一開(kāi)始就能通過(guò)鏈中繼進(jìn)行互動(dòng)。每個(gè)區(qū)塊鏈都將在Tendermint 上運(yùn)行, 如下圖所示。
(Cosmos Hub與在Tendermint 上運(yùn)行的其他4個(gè)區(qū)塊鏈互動(dòng)。通過(guò)IBC 協(xié)議的設(shè)計(jì),它們可以很容易地讀取彼此的狀態(tài)并采取相應(yīng)的行動(dòng)。左上角的鏈?zhǔn)且粋€(gè)peg zone,在下一節(jié)中對(duì)此進(jìn)行了說(shuō)明。)
新的區(qū)塊鏈只要遵循IBC 協(xié)議,就能加入網(wǎng)絡(luò),且不論是公有鏈還是私有鏈,這條規(guī)則都適用。
Peg Zone(錨定區(qū)域)
Peg Zone將允許Cosmos網(wǎng)絡(luò)連接到已上線(xiàn)的區(qū)塊鏈網(wǎng)絡(luò),比如以太坊的主網(wǎng)。能夠連接到已上線(xiàn)的區(qū)塊鏈?zhǔn)菍?duì)任何區(qū)塊鏈互操作網(wǎng)絡(luò)的主要要求。Peg Zone很復(fù)雜,但讓我們嘗試用簡(jiǎn)單的語(yǔ)言來(lái)解釋它們是如何工作的。
首先,你必須有一個(gè)共享的安全模型,在這個(gè)模型中Cosmos Peg Zone的驗(yàn)證節(jié)點(diǎn)也需要運(yùn)行一個(gè)以太坊主網(wǎng)節(jié)點(diǎn),并由這個(gè)特殊的驗(yàn)證節(jié)點(diǎn)批準(zhǔn)兩個(gè)鏈之間的相互作用。這是一個(gè)復(fù)雜的基礎(chǔ)設(shè)施,為此你還需要信任負(fù)責(zé)運(yùn)行Peg Zone的團(tuán)隊(duì)。
資產(chǎn)的實(shí)際交易需要一個(gè)以太坊主網(wǎng)的智能合約鎖定以太,并同時(shí)在錨定區(qū)域創(chuàng)建代表“Cosmos-以太”的新代幣,這種新代幣可以通過(guò)IBC 在Cosmos網(wǎng)絡(luò)上使用。而在Cosmos這邊驗(yàn)證者將鎖定Cosmos本地代幣ATOM,然后將創(chuàng)建一個(gè)ERC-20版本的ATOM代幣,可以在以太主網(wǎng)中使用。這將允許Cosmos和以太坊主網(wǎng)間資產(chǎn)的完全互操作性。
實(shí)現(xiàn)兩鏈之間的互操作性
任何可互操作的網(wǎng)絡(luò)都需要至少兩個(gè)可以交換消息和進(jìn)行交易的區(qū)塊鏈。Ethermint將是第一個(gè)與Cosmos Hub互動(dòng)的區(qū)塊鏈。
Ethermint是Cosmos團(tuán)隊(duì)在Cosmos Hub主網(wǎng)上線(xiàn)后推出的一條區(qū)塊鏈。描述Ethermint的最簡(jiǎn)單的方式是:它就是Ethereum 區(qū)塊鏈,但其原有的PoW共識(shí)算法被Tendermint共識(shí)引擎取代。這使得基于以太坊虛擬機(jī)(EVM)的區(qū)塊鏈可以通過(guò)IBC 輕松地與Cosmos網(wǎng)絡(luò)進(jìn)行互動(dòng)。
Ethermint將在某個(gè)時(shí)間點(diǎn)對(duì)所有以太帳戶(hù)進(jìn)行“快照”,并使用該狀態(tài)創(chuàng)建一個(gè)新的Ethernint zone。這使得他們能夠以最小成本吸引現(xiàn)有的以太坊開(kāi)發(fā)者群體,并將為Ethermint使用者提供新的代幣和更快的交易速度。
首先選擇創(chuàng)建Ethermint,而不是通過(guò)Peg Zone連接到現(xiàn)有的以太坊主網(wǎng),是因?yàn)榍罢咴诩夹g(shù)上更容易搭建。然而,一個(gè)區(qū)塊鏈網(wǎng)絡(luò)必須有Peg Zone。比特幣和以太坊如此強(qiáng)大,忽視它們對(duì)Cosmos或Polkadot來(lái)說(shuō)都將是一個(gè)非常危險(xiǎn)的舉動(dòng)。
Cosmos Hub
Cosmos Hub是主要的區(qū)塊鏈,作為Cosmos網(wǎng)絡(luò)中所有區(qū)塊鏈的中心連接器。它是一個(gè)由 Tendermint 驅(qū)動(dòng)的多資產(chǎn)權(quán)益證明區(qū)塊鏈。Cosmos Hub的原生代幣是ATOM(藍(lán)狐筆記:中文社區(qū)形象地稱(chēng)為阿童木),ATOM用于區(qū)塊鏈的質(zhì)押(staking)和治理(governance)。該Hub以100名驗(yàn)證者啟動(dòng),后續(xù)每年將持續(xù)增加。
ATOM持有人可以是驗(yàn)證者,也可以是委托者。驗(yàn)證者設(shè)置一個(gè)完整的節(jié)點(diǎn),以維護(hù)網(wǎng)絡(luò)安全并處理交易。委托者根據(jù)他們個(gè)人對(duì)驗(yàn)證者的審查,將其代幣委托給值得信任且能夠運(yùn)行節(jié)點(diǎn)的驗(yàn)證者。
驗(yàn)證者通過(guò)質(zhì)押ATOM獲得額外的ATOM作為區(qū)塊獎(jiǎng)勵(lì)。驗(yàn)證者會(huì)在扣除少量代理費(fèi)用之后把這些獎(jiǎng)勵(lì)分發(fā)給委托者。
為了保持驗(yàn)證者的誠(chéng)實(shí),做出惡意行為或向區(qū)塊鏈發(fā)布錯(cuò)誤數(shù)據(jù)的驗(yàn)證者,會(huì)受到經(jīng)濟(jì)上的處罰——損失一部分他們的ATOM。這通常被稱(chēng)為“消減(slashing)”。這些博弈論層面的要求被用來(lái)激勵(lì)權(quán)益證明區(qū)塊鏈中的正確行為。
代幣還被用于治理。一個(gè)Atom 代表對(duì)網(wǎng)絡(luò)上任何建議的一票,比如軟件升級(jí)。Cosmos的治理協(xié)議相當(dāng)簡(jiǎn)單。委托者可以選擇自己投票,也可以將投票權(quán)給他們委托的驗(yàn)證者。驗(yàn)證者必須對(duì)每一項(xiàng)提案進(jìn)行表決,否則其代幣會(huì)被“消減”。
Cosmos上的開(kāi)發(fā)人員
開(kāi)發(fā)人員可以通過(guò)兩種方式在Cosmos網(wǎng)絡(luò)的基礎(chǔ)上進(jìn)行開(kāi)發(fā)。構(gòu)建使用IBC互動(dòng)的新區(qū)塊鏈,并在Cosmos zones中構(gòu)建智能合約。為此,他們開(kāi)發(fā)了Cosmos SDK,允許開(kāi)發(fā)人員輕松地在Cosmos網(wǎng)絡(luò)上構(gòu)建新的區(qū)塊鏈。
Cosmos SDK
Cosmos的“Cosmos SDK”允許開(kāi)發(fā)人員使用簡(jiǎn)單的模塊化方法在網(wǎng)絡(luò)上設(shè)計(jì)自己的區(qū)塊鏈。SDK也被用來(lái)構(gòu)建Cosmos Hub。
這將允許開(kāi)發(fā)人員能夠通過(guò)使用SDK選擇基本的區(qū)塊鏈應(yīng)用程序,添加治理或staking質(zhì)押等模塊,構(gòu)建自己的模塊,并輕松發(fā)布自己的區(qū)塊鏈,且這些定制的區(qū)塊鏈還能與其他區(qū)塊鏈互動(dòng)。這是一個(gè)令人興奮的機(jī)會(huì),因?yàn)樗鼘殚_(kāi)發(fā)人員提供一個(gè)能夠自由發(fā)揮的全新的去中心化平臺(tái),而不僅僅是使用以太坊發(fā)行代幣。
SDK 是用 Golang 編寫(xiě)的,并計(jì)劃在未來(lái)支持更多的語(yǔ)言。但在第一年,Cosmos網(wǎng)絡(luò)中的區(qū)塊鏈將只能使用Golang編寫(xiě)。
基于Cosmos構(gòu)建應(yīng)用
Ethermint將是第一個(gè)在Cosmos Network上構(gòu)建dApp的實(shí)現(xiàn)。由于它是基于EVM 的區(qū)塊鏈, 因此可以用Solidity編寫(xiě)合約。該網(wǎng)絡(luò)的交易速度也將提高,因?yàn)門(mén)endermint共識(shí)每秒能處理比以太坊的PoW更多的交易。
Polkadot
Polkadot 網(wǎng)絡(luò)是另一個(gè)項(xiàng)目, 它有強(qiáng)大的技術(shù)團(tuán)隊(duì)來(lái)處理區(qū)塊鏈互操作性問(wèn)題。Polkadot 是用Rust語(yǔ)言編寫(xiě),由Parity團(tuán)隊(duì)開(kāi)發(fā),該團(tuán)隊(duì)也開(kāi)發(fā)了以太坊客戶(hù)端。
Polkadot網(wǎng)絡(luò)
技術(shù)設(shè)計(jì)和協(xié)議
共識(shí)
和Cosmos團(tuán)隊(duì)一樣,他們也將共識(shí)架構(gòu)與狀態(tài)應(yīng)用進(jìn)行了分離。根據(jù)Polkadot的白皮書(shū),他們的共識(shí)引擎實(shí)際上是受Tendermint 和 HoneyBadgerBFT 的啟發(fā)誕生的。
Polkadot技術(shù)堆棧的詳解。具有共識(shí)作為外層的點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò),通過(guò)WebAssembly解釋器連接到區(qū)塊鏈狀態(tài)機(jī)。(藍(lán)狐筆記Cipher注:WebAssembly是一種可以直接部署在服務(wù)器端的解釋器,支持多種語(yǔ)言編譯,最直觀(guān)的影響是雖然Polkadot是使用Rust編寫(xiě),但是理論上Polkadot網(wǎng)絡(luò)中的智能合約可以使用任何編譯到WebAssembly中的語(yǔ)言編寫(xiě),比如C,C++等)
他們也提到,他們計(jì)劃使用Aurand 和Tendermint PBFT結(jié)合的混合共識(shí)機(jī)制。Aurand允許隨機(jī)選擇的驗(yàn)證者在不需要2/3共識(shí)的情況下直接產(chǎn)出一個(gè)區(qū)塊?;旌显O(shè)計(jì)允許更快的共識(shí),但它也帶來(lái)了一種可能性,即如果驗(yàn)證者出現(xiàn)惡意行為,某些區(qū)塊將不得不需要逆轉(zhuǎn)。
(Tendermint PBFT和Aurand的混合設(shè)計(jì)。Tendermint 保證該圖中每5個(gè)區(qū)塊的最終性,而中間的4個(gè)區(qū)塊則在不需要任何共識(shí)的情況下快速處理。它比PBFT 快,但付出的代價(jià)是可以發(fā)布錯(cuò)誤區(qū)塊,如果一旦出現(xiàn)這種情況,則需要逆轉(zhuǎn)。)
Polkadot互操作性
Cosmos和Polkadot的互操作性策略也是相似的。Polkadot 網(wǎng)絡(luò)有中繼鏈,它是中央連接器,其功能類(lèi)似于Cosmos樞紐(Hub)。它有連接到中繼鏈的區(qū)塊鏈,他們將其命名為平行鏈(Parachain)。Cosmos的Zone和平行鏈也有相同用途。
Polkadot還會(huì)有連接到已上線(xiàn)區(qū)塊鏈的橋(Bridge),這與Cosmos的錨定區(qū)域(Peg Zone)相似。
平行鏈(Parachains)
平行鏈和Cosmos Zone都使用鏈中繼來(lái)實(shí)現(xiàn)區(qū)塊鏈的互操作性。但它們的實(shí)施情況確實(shí)不同。最大的區(qū)別在于他們是如何連接鏈和共享安全。使用Polkadot,網(wǎng)絡(luò)安全是集中(pooled)和共享的。這意味著,單獨(dú)的鏈可以直接享受集體安全,而不必從零開(kāi)始構(gòu)建吸引力和信任。
這是通過(guò)將Polkadot原生代幣DOT綁定到新創(chuàng)建的平行鏈中,以及通過(guò)解綁DOT刪除無(wú)用的Parachain來(lái)實(shí)現(xiàn)的。Cosmos并不要求通過(guò)結(jié)合ATOM來(lái)創(chuàng)建另一個(gè)鏈,它們使用治理來(lái)決定Cosmos Hub是否應(yīng)該連接到某個(gè)Cosmos zone。
橋(Bridge)
Bridge和Peg Zone是同一事物的兩個(gè)名稱(chēng)。它們都允許連接到已上線(xiàn)的區(qū)塊鏈網(wǎng)絡(luò),如以太坊主網(wǎng)。預(yù)計(jì)Cosmos和Polkadot都希望在開(kāi)始時(shí)迅速與以太坊主網(wǎng)連接。
實(shí)現(xiàn)兩鏈之間的互操作性
如前所述,與Cosmos Hub互操作的第一條鏈將是Ethermint。Polkadot也會(huì)創(chuàng)造一個(gè),這對(duì)他們來(lái)說(shuō)應(yīng)該沒(méi)有太多困難,因?yàn)樗麄円呀?jīng)對(duì)以太坊的Parity客戶(hù)端有了很多的經(jīng)驗(yàn)。
Polkadot網(wǎng)絡(luò)
Polkadot 網(wǎng)絡(luò)是一個(gè)權(quán)益證明區(qū)塊鏈,原生代幣是DOT。DOT提供治理,以及激勵(lì)代幣持有人誠(chéng)實(shí)行事。網(wǎng)絡(luò)中心 hub是中繼鏈,其功能類(lèi)似于Cosmos網(wǎng)絡(luò)中的Cosmos Hub。Polkadot網(wǎng)絡(luò)中有驗(yàn)證者(Validator)、提名者(Nominator)、核對(duì)者(Collator)和漁民(Fishermen)四種權(quán)益持有者。Polkadot也有懲罰惡意行為的“消減”(slashing)。
Polkadot上的驗(yàn)證者與Cosmos中的驗(yàn)證者作用相同,Polkadot的提名者類(lèi)似于Cosmos中的委托者(Delegator)一樣。下面來(lái)自Polkadot 白皮書(shū)的示意圖顯示了權(quán)益持有者之間的相互作用。
(Polkadot網(wǎng)絡(luò)的四個(gè)權(quán)益持有者之間的互動(dòng))
驗(yàn)證者不會(huì)維護(hù)一個(gè)含有所有平行鏈的完全同步的數(shù)據(jù)庫(kù),因?yàn)閿?shù)據(jù)太多。因此,驗(yàn)證者將把存儲(chǔ)和驗(yàn)證新的平行鏈區(qū)塊的任務(wù)交給第三方,即核對(duì)者。核對(duì)者的主要功能是生成有效的平行鏈區(qū)塊,他們必須維護(hù)一個(gè)完整的節(jié)點(diǎn)。他們將對(duì)未密封區(qū)塊(unsealed block)執(zhí)行零知識(shí)證明(zkp),并將其提供給一個(gè)或多個(gè)負(fù)責(zé)向中繼鏈提議平行鏈區(qū)塊的驗(yàn)證者。核對(duì)者和驗(yàn)證者將獲得這些任務(wù)的交易費(fèi)用。
漁民就像獨(dú)立的賞金獵人,他們尋求大額的獎(jiǎng)勵(lì)。預(yù)計(jì)僅僅是它們的存在就會(huì)導(dǎo)致惡意行為很少發(fā)生,因?yàn)轵?yàn)證者和核對(duì)者知道他們會(huì)被抓住和消減(slash)。漁民將發(fā)送驗(yàn)證者或核對(duì)者的任何非法活動(dòng)的證據(jù)。
治理有幾個(gè)層次,最主要的一點(diǎn)是通過(guò)DOT代幣進(jìn)行網(wǎng)絡(luò)投票。另外,他們還計(jì)劃成立一個(gè)由12-24個(gè)賬戶(hù)組成的理事會(huì),對(duì)沒(méi)有得到權(quán)益持有方足夠關(guān)注的提案進(jìn)行投票,這是一個(gè)應(yīng)對(duì)低投票參與率的備份方案。他們還承諾添加自適應(yīng)仲裁偏差(藍(lán)狐筆記Cipher注:通常投票參與率的高低會(huì)導(dǎo)致投票結(jié)果有一定偏差,高投票率有正偏差,低投票率有負(fù)偏差,為了修正這一偏差,Polkadot選擇加入自適應(yīng)仲裁偏差機(jī)制,這意味著:投票參與率越高,需要通過(guò)該提案所需的得票率就越低。一種可行的(不一定是最終)正偏差修正方案為:如果同意數(shù)*√投票參與率》反對(duì)數(shù),則提案通過(guò))。他們也可能會(huì)嘗試增加不同投票機(jī)制,比如對(duì)長(zhǎng)期DOT代幣持有者或驗(yàn)證者,甚至是對(duì)網(wǎng)絡(luò)有長(zhǎng)期貢獻(xiàn)的dApp 團(tuán)隊(duì)提供一定的額外投票權(quán)重。但這些只是目前的想法。
主網(wǎng)上線(xiàn)的現(xiàn)狀
他們的第一個(gè)概念證明(Proof of Concept)已經(jīng)能夠驗(yàn)證區(qū)塊和就狀態(tài)轉(zhuǎn)換達(dá)成共識(shí)。它們已經(jīng)能夠通過(guò)測(cè)試網(wǎng)發(fā)送DOT。概念證明是用Rust 編寫(xiě)的,runtime是在WebAssembly上構(gòu)建的。
在Polkadot上開(kāi)發(fā)
Substrate
Substrate是一個(gè)技術(shù)堆棧,開(kāi)發(fā)人員能夠基于Substrate構(gòu)建區(qū)塊鏈。這和Cosmos所開(kāi)發(fā)的Cosmos SDK的非常相似。
Polkadot 網(wǎng)絡(luò)是建立在Substrate之上的, 就像Cosmos樞紐是建立在Cosmos SDK 之上一樣。你不必?fù)?dān)心共識(shí)或網(wǎng)絡(luò),只需要專(zhuān)注于區(qū)塊鏈應(yīng)用程序。
Substrate是用 Rust 編寫(xiě)的,但是狀態(tài)機(jī)的核心功能會(huì)將其編譯到WebAssembly中。它可以使用經(jīng)過(guò)編譯的Rust代碼在本地運(yùn)行,也可以通過(guò)WebAssembly 解釋器運(yùn)行。這可以在下圖中看到。
(如果本地客戶(hù)端節(jié)點(diǎn)是最新的,它可以本地運(yùn)行WebAssembly代碼,但如果不是,它將必須使用鏈上的WebAssembly解釋器,這將比本地運(yùn)行更慢。)
在Polkadot 上構(gòu)建 dApps
你可以在支持智能合約的平行鏈上構(gòu)建dApps。這與Cosmos相似,Polkadot 中繼鏈和Cosmos樞紐都不支持智能合約,但連接到它們的鏈可以支持。
Cosmos與Polkadot的比較
讓我們來(lái)看看每個(gè)網(wǎng)絡(luò)的主要組件,以及它們是如何堆疊起來(lái)的。這是最有趣的部分,你可以比較差異,自己決定哪個(gè)網(wǎng)絡(luò)可能會(huì)更成功!
共識(shí)協(xié)議
他們都使用Tendermint PBFT共識(shí),盡管Polkadot 承諾將使用結(jié)合Aurand的混合共識(shí)?;旌系姆椒▽⒓铀俟沧R(shí),但它可能會(huì)導(dǎo)致區(qū)塊逆轉(zhuǎn)。這兩種方法仍需在正式上線(xiàn)的區(qū)塊鏈網(wǎng)絡(luò)上進(jìn)行實(shí)地測(cè)試。這兩個(gè)協(xié)議都比以太坊或比特幣的工作證明協(xié)議快得多。
Polkadot 還在他們的網(wǎng)站上提到,他們計(jì)劃使用“積極BFT 權(quán)威證明”,但并不清楚這到底是什么意思。Web3 基金會(huì)最近指出,“polkadot被預(yù)設(shè)成完全開(kāi)放和公開(kāi),不需要任何特定的組織或可信的權(quán)威維護(hù)的區(qū)塊鏈網(wǎng)絡(luò)”。從白皮書(shū)中列出的Polkadot整體設(shè)計(jì)來(lái)看,結(jié)合DOT的權(quán)益證明顯然將是達(dá)成共識(shí)的主導(dǎo)因素。如果權(quán)威證明(proof-of-authority)被使用,可能會(huì)扮演次要角色。
代幣和權(quán)益證明設(shè)計(jì)
它們都有一個(gè)用于治理和質(zhì)押的代幣。兩者都有保護(hù)網(wǎng)絡(luò)的驗(yàn)證者,以及將代幣委托給驗(yàn)證者的委托者/提名者。Polkadot還增加了核對(duì)者(Collator)這一角色來(lái)幫助平行鏈,以及漁民(Fisherman)則密切關(guān)注任何惡意行為者。
兩者都能對(duì)惡意行為者進(jìn)行代幣消減的懲罰,消減參數(shù)很可能會(huì)在網(wǎng)絡(luò)啟動(dòng)時(shí)調(diào)整。Polkadot的權(quán)益證明設(shè)計(jì)更為先進(jìn),但這也使其更加復(fù)雜。
Cosmos的優(yōu)勢(shì)是,他們將率先上線(xiàn);他們簡(jiǎn)單的設(shè)計(jì)將使權(quán)益持有者更容易組織和創(chuàng)建一個(gè)穩(wěn)定的去中心化網(wǎng)絡(luò)。
Polkadot的優(yōu)勢(shì)是,四個(gè)權(quán)益持有方允許網(wǎng)絡(luò)更加去中心化?,F(xiàn)在我們很難挑出哪種策略會(huì)更好,但時(shí)間會(huì)給出答案。
治理
Cosmos在治理方面有一個(gè)相對(duì)簡(jiǎn)單的協(xié)議,因?yàn)樗换隍?yàn)證者、委托者和成文的憲法。
Polkadot 希望在治理方面做更多的工作,通過(guò)自適應(yīng)仲裁偏差,和一個(gè)驗(yàn)證者理事會(huì),他們對(duì)權(quán)益持有者投票率較低的提案進(jìn)行投票。
在目前已上線(xiàn)的區(qū)塊鏈中,權(quán)益證明治理基本上沒(méi)有得到足夠的測(cè)試,可以預(yù)期這兩個(gè)團(tuán)隊(duì)都會(huì)在一開(kāi)始就提出調(diào)整治理協(xié)議的提案。這兩種設(shè)計(jì)都足夠簡(jiǎn)單,從而能夠通過(guò)小的迭代實(shí)現(xiàn)改進(jìn),自然地朝著更強(qiáng)大的去中心化治理系統(tǒng)邁進(jìn)。最好是從簡(jiǎn)單開(kāi)始,然后逐步增加復(fù)雜性,而不是一開(kāi)始就強(qiáng)加一堆規(guī)則和法規(guī)。這兩個(gè)網(wǎng)絡(luò)的去中心化程度似乎足以防止少數(shù)驗(yàn)證者控制網(wǎng)絡(luò)。
安全
Polkadot 允許平行鏈和中繼鏈共享安全池,而Cosmos則需要它平臺(tái)上的區(qū)域(zone)自己負(fù)責(zé)保護(hù)自己的網(wǎng)絡(luò)。這意味著要開(kāi)啟一個(gè)新的平行鏈,你需要積累大量的DOT,并通過(guò)質(zhì)押這些代幣將你的平行鏈連接到Polkadot 網(wǎng)絡(luò)。因此,每個(gè) Parachain 的安全都植根于 DOT代幣本身,這將為整個(gè)網(wǎng)絡(luò)創(chuàng)建一個(gè)共享的安全模型。
Cosmos計(jì)劃允許區(qū)域(zone)管理自己的安全模型,即所謂的自主區(qū)域(zone)。Cosmos Hub將使用治理來(lái)決定允許哪些區(qū)域連接到它。其他Hub和Zone可以選擇自己的安全方法,這為網(wǎng)絡(luò)提供了很大的靈活性。
在任何情況下,只對(duì)你信任的另一個(gè)zone或Hub進(jìn)行IBC代幣傳輸。一個(gè)zone可能會(huì)計(jì)劃在未來(lái)進(jìn)行交易審查,因此你需要查看該zone的歷史,并確定它們是否真正去中心化和值得信賴(lài)。不過(guò),這對(duì)任何區(qū)塊鏈都適用,因?yàn)槟悴粫?huì)想用你的比特幣去交易另一個(gè)你從未聽(tīng)說(shuō)過(guò)的區(qū)塊鏈代幣。
請(qǐng)務(wù)必注意,在執(zhí)行IBC 傳輸時(shí),你必須信任與之交換代幣的zone以及任何中繼者。如果你在zone B收到源自zone A的代幣,且該代幣經(jīng)過(guò)Hub(Zone A-》Cosmos Hub-》Zone B),那你則需要信任所有三個(gè)區(qū)塊鏈(而不僅僅是Zone A)。
這和今天區(qū)塊鏈之間的代幣交易類(lèi)似,因?yàn)槟阈枰湃沃行幕灰姿?。你必須同時(shí)信任區(qū)塊鏈A 和 B,以及作為受信任第三方的中心化交易所。
由于Cosmos有自主的zone,連接的每一個(gè)zone都必須自己建立一個(gè)安全的去中心化網(wǎng)絡(luò)。因此,如果Cosmos Hub有5個(gè)完全可用的Zone,可能會(huì)有100個(gè)Cosmos Hub驗(yàn)證者,和5x100個(gè)Zone驗(yàn)證者。這是一個(gè)比Polkadot更去中心化的模式,如果有效,應(yīng)該運(yùn)作良好。
可以想象,100個(gè) Polkadot 驗(yàn)證者能夠確保中繼鏈和5個(gè)平行鏈的安全,而Cosmos網(wǎng)絡(luò)則需要100個(gè) Hub驗(yàn)證者和500個(gè)Zone驗(yàn)證者。這表明,Polkadots模型使創(chuàng)建新的平行鏈變得更加容易,但也意味著權(quán)力集中在DOT所有權(quán)中。Cosmos允許更去中心化的安全模式,但這會(huì)更難實(shí)施。
不過(guò),Cosmos表示,他們也計(jì)劃在上線(xiàn)后不久支持共享安全模式。一旦他們有了這個(gè),它就會(huì)給開(kāi)發(fā)者更多的靈活性,因?yàn)樵贑osmos上, 他們可以分享基于ATOM的安全性,或者創(chuàng)建自己的代幣和安全模型。他們?cè)谶@兩種模式中需要進(jìn)行的權(quán)衡是:自主zone通過(guò)治理被添加到網(wǎng)絡(luò)中,這就為惡意zone的連接提供了可能性,盡管這種情況可能性不大。
Polkadot 有一個(gè)獨(dú)特的功能是能夠在無(wú)需分叉(fork)的情況下進(jìn)行升級(jí)runtime。他們通過(guò)在鏈上存儲(chǔ)WebAssembly runtime來(lái)做到這一點(diǎn)。尚未更新其本地版本的客戶(hù)端的節(jié)點(diǎn)將被迫使用該runtime。這樣就無(wú)需通過(guò)驗(yàn)證者鏈下的協(xié)調(diào)來(lái)更新軟件,從而消除了鏈分叉的可能性,提高了安全性。
速度和可擴(kuò)展性
這兩種共識(shí)協(xié)議都允許1000TPS的交易。這取決于有多少節(jié)點(diǎn)以及參數(shù)值。每增加一個(gè)平行鏈或區(qū)域(Zone),網(wǎng)絡(luò)的TPS都將增加,兩個(gè)網(wǎng)絡(luò)都能很容易達(dá)到1000TPS。實(shí)際瓶頸將出現(xiàn)在它們的zone/平行鏈中運(yùn)行的狀態(tài)機(jī)應(yīng)用程序中。
互操作性
兩個(gè)網(wǎng)絡(luò)都使用中繼鏈連接到中心hub。它們都使用“錨定區(qū)域”/或“橋”來(lái)連接到以太坊主網(wǎng)。它們都將在各自的網(wǎng)絡(luò)上讓運(yùn)行EVM Zone或EVM平行鏈更簡(jiǎn)單。
開(kāi)發(fā)人員
Cosmos-sdk 和 Polkadots Substrate對(duì)于開(kāi)發(fā)平臺(tái)的想法是相同的。它們使開(kāi)發(fā)人員在網(wǎng)絡(luò)上創(chuàng)建自己的區(qū)塊鏈變得簡(jiǎn)單。這兩個(gè)團(tuán)隊(duì)都專(zhuān)注于對(duì)開(kāi)發(fā)者友好,并試圖打造一個(gè)新的開(kāi)發(fā)平臺(tái),就像以太用智能合約和代幣所實(shí)現(xiàn)的那樣。
在這兩個(gè)平臺(tái)上的開(kāi)發(fā)不同的地方是Polkadots致力于使用WebAssembly和Rust,而Cosmos致力于Golang。
Polkadot通過(guò)支持WebAssembly展望未來(lái)。WebAssembly得到了谷歌、蘋(píng)果、微軟和Mozilla的支持,在未來(lái)十年中, 它被廣泛使用的可能性很大。Rust 也一直在推動(dòng)成為被編譯到 WebAssembly 的主要語(yǔ)言之一。從5年的前景來(lái)看, Polkadot似乎做出了長(zhǎng)期吸引開(kāi)發(fā)者的正確舉措。
然而,正如我們?cè)谝蕴坏慕?jīng)歷上看到的,有時(shí)第一個(gè)進(jìn)入市場(chǎng)更重要。雖然有其他智能合約鏈允許用其他語(yǔ)言編寫(xiě)智能合約,但Ethereum 幾乎占了智能合約開(kāi)發(fā)的全部,因?yàn)樗鼈儑@Solidity 和EVM在早期就吸引了開(kāi)發(fā)者,并構(gòu)建了一個(gè)生態(tài)系統(tǒng)。
Cosmos將首先進(jìn)入市場(chǎng)。在Cosmos上開(kāi)發(fā)的主要方式將是通過(guò)Cosmos-SDK使用 Golang ,它們也有Lotion-JS,這是一個(gè)Javascript 實(shí)現(xiàn),可以創(chuàng)建基于Tendermint的區(qū)塊鏈。然而,Cosmos網(wǎng)站指出,Lotion-JS代碼尚未經(jīng)過(guò)安全審核,如果要確保價(jià)值安全,最好使用Cosmos-SDK。
目前Cosmos沒(méi)有支持WebAssembly的工作。然而,你可以打賭,也許在不久的某個(gè)時(shí)候,Golang將添加支持并能編譯到WebAssembly。他們已經(jīng)取得了良好的進(jìn)展。最后,與Rust 相比,Golang 也是一種更容易學(xué)的語(yǔ)言,在全球范圍內(nèi)也有更多的Golang 開(kāi)發(fā)人員。
總結(jié)
現(xiàn)在很難判斷哪個(gè)網(wǎng)絡(luò)會(huì)更成功。但可以肯定的是,吸引了更多的開(kāi)發(fā)者的一方,將會(huì)是增長(zhǎng)最快、占據(jù)市場(chǎng)最大份額的一方。
作為一名開(kāi)發(fā)者,如果你認(rèn)為Cosmos會(huì)更成功,你就會(huì)想開(kāi)始學(xué)習(xí)Golang,如果你相信Polkadot,你會(huì)想學(xué)習(xí)Rust。你還可以用編譯到WebAssembly的任何其他語(yǔ)言(如 C或C++) 編寫(xiě)平行鏈。
雖然一方最終會(huì)比另一方更大,但有趣的是,有可能出現(xiàn)兩者都存在且相互連通的情況。例如,如果這兩個(gè)網(wǎng)絡(luò)都在以太坊上創(chuàng)建Peg Zone/Bridge,則可以用ERC20 版本的DOT來(lái)交換ERC20版本的ATOM。這將導(dǎo)致這兩個(gè)網(wǎng)絡(luò)可互操作。這可能會(huì)創(chuàng)建一個(gè)巨大的交織在一起的區(qū)塊鏈網(wǎng)絡(luò),在這個(gè)網(wǎng)絡(luò)中,以太坊上的所有代幣、Polkadot的所有平行鏈和Cosmos的所有Zone都是可互操作的。這將允許以太坊Plasma鏈(Ethereum Plasma chains)也被連接進(jìn)來(lái)。
正如你所看到的,Polkadot 和 Cosmos 所創(chuàng)建的區(qū)塊鏈互操作網(wǎng)絡(luò)的網(wǎng)絡(luò)效應(yīng)是天文數(shù)字級(jí)別的。這非常值得我們花時(shí)間來(lái)跟蹤每個(gè)網(wǎng)絡(luò)的進(jìn)展,尋找這兩個(gè)網(wǎng)絡(luò)成功的根源。
評(píng)論
查看更多