在上圖中,我們假設每個小紅點代表一個叫做“ETM”的代幣,這個代幣是Ethermint區域內的原生貨幣。區域A、B和C里額度用戶希望在自己區域內的某些應用程序中使用ETM代幣,并且他們也信任Ethermint區域,因此他們會執行IBC消息,將ETM傳輸到這些區域?,F在,我們假設Ethermint驗證人串通并開始雙重支出、任意移動代幣等惡意行為。顯然,這將對網絡的其余部分產生影響,因為ETM代幣也存在于不同的區域。然而,唯一受此影響的人是在Ethermint或其他區域內持有ETM代幣的人。需要注意的是,Ethermint區域中的惡意驗證人不可能任意破壞除自身以外的其他區域,而這也是Cosmos架構的安全目的――確保惡意行為不會影響整個網絡。
相比之下,在Polkadot網絡里如果在中繼鏈(全局狀態)下發送無效狀態轉換、而且“漁民”也沒有發現這種情況,那么就會影響整個網絡內的所有區塊鏈。我們不能單純地假設每個平行鏈本質上是不同的區塊鏈,因為他們最終都會與網絡內的其他區塊鏈共享一個全局狀態。
04
差異#4:共識算法
Polkadot網絡中繼鏈使用的是GRANDPA團隊開發的共識算法,該算法允許中繼鏈快速完成處理來自全部平行鏈的許多區塊,而且還可以支持容納更多驗證人(超過1000個)。簡單來說,由于Polkadot網絡內并非每個驗證人都需要對每個區塊進行投票,導致驗證人其實可以對自己認為有效的單個最高區塊進行投票,而且這個算法可以把投票結果傳遞給該區塊的所有前繼區塊(ancestor)。在這種狀況下,Polkadot算法會找到獲得“絕對多數”投票的區塊集合?,F階段,GRANDPA仍處于開發階段,我們還不知道它在現實世界中的表現會如何。
平行鏈可以使用各種共識算法最終形成一個局部共識,Polkadot提供了一個軟件開發工具包(Substrate),它帶有3種開箱即用的共識算法:GRANDPA,Rhododendron和Aurand。當然,未來可能會有更多共識算法添加到Substrate中,并且支持在Polkadot網絡中使用。
另一方面,Cosmos網絡中的每個區塊鏈都可以使用任何共識算法,但這些共識算法必須符合一種被叫做ABCIspec的規范。創建這個規范的目的,是為了標準化區塊鏈之間的通信。目前,只有Tendermint算法符合此規范,但其他項目同樣可以創建符合此規范的其他共識算法。如果站在一個較高級別的角度來看,Tendermint算法的工作原理是讓每個驗證人相互通信,確定是否批準/拒絕單個區塊,從而在每個區塊級別上達成一致性的最終結果。該算法速度很快,并且在200個驗證人和6秒區塊時間的實時環境中進行了壓力測試。 Cosmos團隊也提供了一個軟件開發工具包,可以直接使用Tendermint算法。這里有一篇博文是對共識算法的一個很好的入門,你也可以通過這篇文章了解其他有用的Tendermint特性。
不過,Tendermint最大的缺點是驗證人之間的通信成本很高。這意味著當驗證人數量在200個左右的時候可以相當快地工作,但當驗證人數量達到2000之后就會慢得多。當然,魚和熊掌不可兼得,雖然處理速度會有所下降,但安全性可能會更好。這意味著在一個網絡分區中,如果把兩個不同的交易歷史合并成一個,并且其中另一個會被丟棄的話,會導致網絡暫停。這點非常重要,因為如果當你看到一筆“已完成”交易,意味著這筆交易永遠不會被撤銷,即便在最糟糕的網絡條件下也不會。
對此,筆者個人的看法是,現在比較這兩個網絡的共識算法似乎并不是特別有用,你需要等待更長時間才能看到他們之間的優劣,因為目前絕大多數應用程序無論使用Tendermint還是使用Polkadot的共識算法都應該可以正常工作。
05
差異#5:Substrate vs Cosmos 軟件開發包
Polkadot和Cosmos都提供了軟件開發工具包,一個叫“Substrate”,一個叫“Cosmos SDK”,它們都可以幫助開發人員更輕松地構建自己的區塊鏈。不僅如此,這兩個軟件開發工具包還包含了許多“開箱即用”的模塊,比如治理模塊(投票系統)、權益分配模塊(staking modules)、身份驗證模塊等。這兩個軟件開發工具包之間的主要區別在于Cosmos SDK支持Go,而Substrate支持任何編譯為WASM(Web Assembly)的語言,也為開發人員提供了更大的靈活性。
這兩個軟件開發工具包都可以構建全新的區塊鏈框架,而且會在未來幾年添加更多新功能。
此文由 中國比特幣官網 編輯,未經允許不得轉載?。?a href="http://www.huohuxiazai.com/">首頁 > 比特幣行情 » 誰是地表最強跨鏈項目?一文看懂Cosmos和Polkadot五大差異