【转载】(2/2)Cosmos 与 Polkadot 的五大区别
3
0

OpenSquare:本文由 Julian Koh 于2019年4月27日发布于medium,后由闵敏 & 阿剑于2019年6月17日翻译并发布。本次将作两篇连载于CoinAsk。


区别 4:共识算法

4.1 Polkadot 共识

Polkadot 中继链采用的是 GRANDPA 共识算法。这个算法能让中继链迅速确定来自所有平行链的区块,并且容纳大量验证者(1000 名以上)。简单来说,这是因为并非所有验证者都需要对每一个区块进行投票——他们可以只需为自己认为有效的某个区块投票,相当于这个区块之前的所有区块也都得到了认可。通过这种方式,GRANDPA 算法可以找出一组得票数最多的区块,并将这组区块确定了下来。该算法仍处于开发之中,尚不知实际会如何执行。

平行链可以采用不同的共识算法达成局部共识。Polkadot 提供一个软件开发工具包(Substrate),其中包括 GRANDPA、Rhododendron 和 Aurand 三种开箱即用的共识算法。今后可能会有更多算法被加入 Substrate ,皆可应用于 Polkadot 网络。

4.2 Cosmos 共识

在 Cosmos 网络中,每条链可以选用的共识算法有很多,只要是符合 ABCI 规范的共识算法即可。 ABCI 规范旨在实现跨链通信的标准化。目前只有 Tendermint 算法符合这个规范,还有另一些团队也在努力开发符合该规范的其他共识算法。从更抽象的层面上来看,Tendermint 算法的原理是让每位验证者都能互相通信,共同决定一个区块能否上链,这样就能实现单一区块层面上的确定性。该算法的速度很快,而且通过了 200 名验证者的压力测试,在 Game of Stakes(权益争夺赛)中的出块时间为 6 秒。Cosmos 团队也提供了一个软件开发工具包,里面包含了开箱即用的 Tendermint 算法。这篇文章很好地介绍了共识算法,以及 Tendermint 算法的功能。

Tendermint 算法最大的缺点是验证者之间的通信成本高很高。也就是说,虽然验证者人数在 200 左右的时候,算法的运行速度很快,一旦人数涨到了 2000 ,速度就会慢得多。另一方面需要权衡的是异步环境中的安全性。也就是说,在出现网络分区之时,不会出现两个不同的交易历史最终合并成一个(而另一个交易历史被抛弃)的情况,而是整个网络都将停止运行。这点非常重要,一旦一笔交易得到了“最终确认”,即使是在最差的网络环境下也不会被撤销。


我的个人观点是,基于共识算法来比较这两个项目没什么长远意义。这两个项目的构架未来都将接受不同的共识算法。如今的绝大多数应用不管使用的是 Tendermint 算法还是 Polkadot 的某个共识算法都可以良好运行。


区别 5:Substrate vs Cosmos SDK

Polkadot 和 Cosmos 都提供软件开发工具包,分别叫作 SubstrateCosmos SDK 。二者的目的都是为了便于开发者搭建自己的区块链,其中包括各种开箱即用的模块,例如治理模块(投票系统)、质押模块和认证模块等。这两个工具包最主要的区别在于,Cosmos SDK 仅支持 Go 语言,而 Substrate 支持任何可编译为 WASM (Web Assembly) 的语言,给予了开发者更多灵活性。

这两个工具包都是构建区块链的全新框架,未来几年还将新增更多功能。关于这两个工具包的深度剖析以及使用这两个工具包开发应用程序的详细体验需要另外写一篇文章了。如果你感兴趣的话,请在推特上给我*@*juliankoh 留言。


结论

虽然这篇文章篇幅很长,写的也很详细,但是依然有所疏漏。Cosmos 和 Polkadot 之间的不同点很难把握,可能还有很多细节我没有捕捉到。要全方位了解这两个项目绝非易事,毕竟项目文件随时都可能改动。这两个项目尚在起步阶段,未来一年将得到极大的发展——我在上文中提到的几个点可能很快就不成立了。


总而言之,我认为 Polkadot 相比 Cosmos 主要有以下几个优势:

1. 应用程序开发者不需要自己维护安全性

2. 共享安全性模型下的跨链通信更容易解决数据可用性问题

3. Substrate(在 WASM、更多共识算法和开箱即用模块方面)表现出很大的野心

4. 相比跨平行链的合约调用更侧重于不限类型的信息传递(这一用例目前尚不明确)

5. 1.0 版本的开发者似乎多一些


反过来,Cosmos 相比 Polkadot 主要有以下几个优势:

1. Cosmos 已经上线了,Polkadot 还没上线

2. Polkadot 的平行链参与流程限制性更强,而且成本更高

3. 更能满足特定项目(如币安)对自定义的需求

4. 平行链上验证人的恶意行为会波及整个网络。在 Cosmos 网络中,恶意行为只能破坏个别分区和资产

5.已经有很多项目在使用 Cosmos SDK 了

6. 重点关注如何降低资产转移的难度。目前已经有经过验证的用例。


感谢每一位不厌其烦为我答疑解惑的朋友,尤其是来自 Cosmos 团队的 Zaki ManianGautier Marin ,以及来自 Polkadot 团队的 Alistair Stewart 。NEAR Protocol (Alex Skidanov) 发布的 Whiteboard Series系列视频1很棒,对我理解这两个项目给予了很大帮助。Linda Xie 整理出来的关于 Polkadot 和 Cosmos 的链接帮助我缩小了文章的范围,让这篇文章更具有可读性。特别感谢Cheryl Yeoh 在我撰写本文的过程中为我提供的灵感和思路,并且对本文进行了审校。



0个评论
暂无回复
回复
Markdown
preview预览