跨鏈天王Cosmos、Polkadot的深層區別
区块链研习社
2019-05-27 06:10
本文约6895字,阅读全文需要约28分钟
Cosmos和Polkadot是跨鏈兩大天王級項目,備受矚目,但其本身俱有一定的理解難度,本文從五個角度對比Cosmos與Polkadot,為你詳解兩者本質區別,更好理解其特性。

二級標題

二級標題

為什麼要開發一個新的區塊鏈?

有兩個主要原因可以解釋為什麼人們更願意從頭開始開發特定應用的區塊鏈,而不是在現有的平台上將應用以智能合約的形式存在。

首先,現有智能合約平台可能無法提供你的應用程序所需的靈活性和可定制性。例如,如果你的應用程序需要自定義哈希函數,那麼將其寫在以太坊上會花費很多的gas,因為每次調用它時都需要在EVM(以太坊虛擬機)上執行該函數。

一個選擇是建議以太坊協議將這個哈希函數作為預編譯合約納入其中,但是除非這個函數也在許多其他應用程序中被廣泛使用,要不然這一提議可能不會被批准。從頭開始編寫自己的區塊鏈讓您可以自由靈活地設計區塊鏈的核心邏輯,來滿足您的應用的特定需求。

第二個原因是自治。在一個智能合約平台上開發應用程序會強迫您的應用程序遵守它的規則和管理。這可能包括影響用戶體驗的因素,比如出塊時間和gas價格,還有比如鍊上操作回滾這樣的狀態改變決策。

二級標題

二級標題

差異1:本地安全vs. 全局安全

圖片描述圖片描述

Polkadot網絡架構

Parachains是Polkadot網絡中的區塊鏈。這些鏈有自己的狀態機,自己的規則,以及自己的本地區塊生產者(collators)。每個parachain本質上都是一個獨立的狀態機,可以使用任何類型的特有功能,共識算法,交易成本結構等。

在Polkadot網絡中,所有的parachain都是中繼鏈(Relay Chain)這個母鏈的子鏈,它包含所有parachain組合的“全局狀態”的某種表示。

中繼鏈有自己的共識算法GRANDPA,由它來快速地確定parachain鏈上的區塊。通過這個模型,Polkadot中的parachain運行在“共享安全”模式下- 如果中繼鏈有1000個驗證者來提供高度的安全性,那麼任一個parachain只要連接到中繼鏈就能獲得強大的安全保障。這可以讓子鏈對其狀態機和本地規則擁有自治權,以及與數百個其他鏈共享的強大安全保障。

這個模型的缺點是,中繼鏈中的驗證者對任一條parachain鏈中的狀態更改都有最終決定權。例如,驗證者可以出於某種原因一直拒絕來自某條鏈的collator的出塊,並永久地阻止這條鏈的進展被包括在全局狀態中。

圖片描述

圖片描述

Cosmos網絡架構

在Cosmos網絡中,不再使用本地/全局模型來保障安全,每個區塊鏈都是獨立的並且可以自我保護。每個區塊鏈都運行自己的共識算法,並且每個區塊鏈的驗證者獨自負責區塊鏈的安全。

Cosmos網絡使用hub-and-zone模型來實現互操作性,其中zone(獨立區塊鏈)可以通過hub(也是獨立的區塊鏈)"發送代幣"到其它的zone。這個協議稱為IBC(鏈間通信),它是在鏈之間發送消息來表示代幣傳遞的協議。 IBC協議還在開發中,首先解決的是代幣傳遞,最終可以在區塊鏈之間傳遞任何類型的消息。

將這個模型與Polkadot相比較,這裡最大的差別是每個zone的狀態只由其驗證者來保障安全。如果zone想要具有強大的安全性,那麼它需要自行完成並招募自己的驗證者,這對於小的應用程序可能比較困難。不過,對於某些需要更多控制權的應用來說,這是一個強大的賣點。

二級標題

二級標題

差異2:治理與會員

Polkadot和Cosmos之間的第二個主要區別是關於治理和成員資格。在Polkadot網絡中,有一個單獨的中繼鍊和一些中繼鏈的驗證者能夠支持的parachain。目前的估計是,將有100個parachain,但這個數字以後可以減少或增加。

Polkadot網絡通過拍賣機制為成為parachain分配時間- 最高出價者能夠通過在PoS系統中鎖定DOT(Polkadot的原生加密貨幣)來保證一段固定時間內parachain的存在。另一方面,

另一方面,Cosmos 網絡沒有固定的成員規則- 任何人都可以建立一個hub或zone。圖片描述圖片描述

Hub讓多個鏈的連接更加高效

與成員資格密切相關的是兩個網絡的治理流程的不同。在Polkadot網絡中,治理決策由投票者持有的DOT數量決定。將有一個正式的鏈上投票機制,但還沒有最終確定。除了正常的權重投票,Polkadot還採用委員會作為被動利益相關者的代表。該委員會由一群人組成,開始時6個人,每兩週增加1人直到24人。

每個成員都經過投票同意選出來。儘管這個治理流程的具體細節還沒有最終確定,但其可能的結果是有多種方法來更改中繼鏈中的參數,例如出塊時間,出塊獎勵等,還有多種方法來改變parachain的成員資格。例如,Polkadot治理流程可能會改變所需的DOT數量或成為parachain的拍賣機制。

一個常見的誤解是,DOT持有者可以投票隨意踢出某些parachain,但實際上DOT持有者只能改變成為會員的過程。另一方面,

另一方面,Cosmos 網絡並沒有唯一的“治理”過程。每個hub和zone都有自己的治理流程,並且沒有適用於整個區塊鍊網絡的最高規則。二級標題

二級標題

差異3:鏈間通信

Polkadot和Cosmos之間的另一個不同是它們的鏈間通信協議的結構及其設計目標。Polkadot的目標是在並行鏈(parachains)之間傳遞任意消息。這意味著Parachain A可以調用Parachain B中的智能合約,可以在鏈之間發送代幣,或者進行其他類型的通信。

另一方面,Cosmos專注於不同鏈之間的資產轉移,這種協議更簡單。目前,這兩種通信協議都沒有完全確定,也都還沒有開發好。這方面的細節可以參考IBC(鏈間通信)和ICMP(parachain中的鏈間消息傳遞)。

鏈間通信的最大挑戰不是怎麼樣在一個鏈上表示另一個鏈上的數據,而是如何處理鏈上出現數據來自分叉並且又重新組織來將交易排除在外的情況。這是由於結構設計上Cosmos和Polkadot最不同的地方。

Polkadot使用兩種不同的機制來保護鏈間通信。首先,共享安全模式的存在使得交換消息更容易。共享安全的附帶結果是所有的並行鏈都有統一的安全級別,因此每個鏈可以彼此信任。

為了理解這一點,我們來用Ethereum(高安全性)和Verge(低安全性)的互操作來舉例。如果我們想在Verge上表示Ethereum,我們可以鎖定ETH並在Verge區塊鏈上挖一些ETH-XVG代幣。

不過,由於安全性較低,攻擊者可以對Verge鏈實施51%攻擊,並對以太坊區塊鏈發送雙花交易,這讓攻擊者可以取走比他實際擁有的更多的ETH。因此,在彼此發送消息時安全性高的鏈很難信任安全性低的鏈。當消息被傳送給到不同安全級別的多個不同鏈時,這就變得更加複雜。

理論上,統一的共享安全是一種保護鏈間通信的好方法。不過,為了實現這個目標,這個協議必須能夠經常並隨機地打亂分配給每個鏈的驗證者。這導致了經典的“數據可用性問題”,即每個驗證者必須不斷地下載分配給它的每個parachain的狀態。這是今天這一領域最困難的問題之一,目前還不清楚Polkadot能夠解決這個問題。

其次,Polkadot使用了Fishermen的概念,這些Fishermen是Polkadot網絡上的“賞金獵人”,他們觀察Parachains上的惡意行為。從某種意義上說,這是針對惡意行為的“第二道防線”。

在負責某個特定parachain的驗證者讓一個無效區塊不可逆轉的情況下,Fishermen可以向中繼鏈提交證據並有效地回滾Polkadot網絡的整個狀態以及其中的所有parachain。在鏈間通信階段,我們最擔心的是一個鏈重組,另一個照常運行,但是Polkadot確保,如果發現了無效的區塊,所有內容都會回滾。

Cosmos對鏈間通信採用了完全不同的方法。不過,

不過,

不過,圖片描述圖片描述

在多個zone中都使用代幣的Cosmos網絡

比方說,這些小紅點表示一種ETM代幣(Ethermint zone的原生貨幣)。 zone A,B和C中的用戶想將ETM用於這些zone內的一些應用程序,並且他們信任Ethermint zone,所以他們發送IBC消息來將ETM傳遞到這些zone。現在假設Ethermint驗證者共謀、發起雙花交易,隨意動用代幣等等。

這將對網絡的其餘部分產生影響,因為ETM代幣也存在於不同的zone。不過,唯一將受此影響的是在Ethermint或其他zone內持有ETM代幣的人。 Ethermint中的惡意驗證者不可能隨意破壞除自身以外的其他zone。這是Cosmos設計的目的-二級標題

二級標題

差異4:共識算法

Polkadot 中繼鏈使用一個由GRANDPA團隊開發的共識算法。這個算法可以讓中繼鏈快速地確定所有並行鏈的許多區塊的最終狀態,並且還可以接受大量的驗證者(超過1000個)。

簡單來將,這是因為並非所有驗證者都需要對每個區塊進行投票- 相反,驗證者可以對他們認為有效的、高度最高的區塊進行投票,並且這個算法可以將該投票傳遞給那個區塊的所有祖先。

通過這個過程,共識算法找到票數最多的區塊集合併認定它是最終有效的。 GRANDPA還處在開發階段,我們不知道它實際運行的情況將會怎麼樣。

另一方面,

另一方面,Cosmos網絡中的每個區塊鏈都可以使用任一種符合稱為ABCI規範的共識算法。這個規範的創建是為了讓鏈間的通信標準化。目前,只有Tendermint算法符合這個規範,但現在還有其他的一些嘗試。

從高一些的層面來看,Tendermint算法的工作原理是讓每個驗證者彼此討論來同意/拒絕某個區塊,從而在每個區塊層面上確定其不可逆。這個算法速度很快,並且在“Game of Stakes"項目的具有200個驗證者和6秒出塊時間的實時環境中進行了壓力測試。

Cosmos團隊還提供了一個軟件開發工具包,其中的Tendermint算法可以即裝即用。 Tendermint最大的缺點是驗證者之間很高的通信費用。這意味著儘管它可以用不到200個驗證者相當快速地工作,但使用2000個驗證者則會慢得多。不過,這裡的權衡是通過異步方式你獲得了安全。

二級標題

二級標題

差異5:Substrate vs Cosmos SDK

結論

結論

結論

雖然這篇文章非常長、內容詳盡,但仍然沒有面面俱到。 Cosmos和Polkadot之間的差別不太好理解,並且有許多我可能漏掉的內容。很難全面了解這兩個項目,有時候它們的開發文檔每天都在變化。

這兩個項目仍處於開始階段,並將在明年開足馬力- 我提出的一些問題可能很快就不再存在。

總之,我開始相信Polkadot優於Cosmos的優勢如下:

1.應用程序開發人員不需要自己構建自己的安全機制

2.如果他們可以解決數據可用性,那麼共享安全下的鏈間消息傳遞就更加容易

3.他們似乎對Substrate的期望非常高(WASM,更多的即裝即用的共識算法和模塊)

相反,

相反,

相反,與Polkadot相比,Cosmos的優勢如下:

1.Cosmos在正式運行。 Polkadot還沒有。

2.Polkadot的parachain會員資格是有限制的、並且可能成本非常高

3.對特定項目(例如,Binance) 有更多的定制性

4.parachain鏈的惡意驗證者可能會導致整個網絡的腐敗。 Cosmos將腐敗只限制在zone和相應的資產內

作者:

作者:

-END-

作者:Julian Koh

譯者簡介:Chuan,區塊鏈研習社特約作者。

原文鏈接:原文鏈接:

原文鏈接:https://medium.com/@juliankoh/5-differences-between-cosmos-polkadot-67f09535594b

区块链研习社
作者文库