Cosmos和Polkadot之间的5点差异

关于Cosmos和Polkadot之间的差异进行了大量讨论,两个项目侧重于区块链互操作性。如果您对这两个项目不熟悉,那么这个tweetstorm就是对这两个项目和资源的一个很好的高级解释。

虽然有很多帖子解释并强调两者之间的差异,但我相信今天大多数“Cosmos vs Polkadot”的帖子要么有偏见,要么缺乏细微差别。这篇博客文章试图对这两个项目进行更深入的讨论,从建筑权衡到哲学差异。

为什么要建立一个新的区块链?

有两个主要原因可以解释为什么人们更愿意从头开始构建特定于应用程序的区块链,而不是将应用程序编写为现有平台之一的智能合约。

首先,您想要构建的现有智能合约平台可能无法提供您的应用程序所需的灵活性和可定制性。例如,如果您的应用程序需要自定义散列函数,则将其写入以太坊会耗费大量气体,因为每次调用时都需要在EVM上执行该函数。一个选项是建议以太坊协议将散列函数包含为预编译合约,但除非此函数在许多其他应用程序中广泛使用,否则您的提议可能不会被批准。从头开始编写自己的区块链,您可以自由灵活地设计区块链的核心逻辑,以满足您的应用需求。

第二个原因是主权。在智能合约平台上构建应用程序会迫使您的应用程序遵守协议的规则和治理。这可能包括影响用户体验的因素,如阻塞时间和天然气定价,以及状态变化决策,如链回滚。

当然,独立的主权链放弃了与其他应用程序无缝通信的能力,因为它们位于具有独立状态机的独立区块链上。Cosmos和Polkadot试图通过Hub-and-Zone模型解决这个问题–Cosmos,带有Relay Chain / Parachain模型的Polkadot。

这篇文章将假设这两个项目的大致知识,并将重点梳理它们之间的差异。

差异#1:本地与全球安全

Cosmos和Polkadot在两种截然不同的安全模型下运行。简单地说,Polkadot的工作原理如下:

Polkadot网络架构

Parachains是Polkadot网络中的区块链。这些链有自己的状态机,它们自己的规则,以及它们自己的本地块生成器(collat​​ors)。每个parachain本质上是一个独立的状态机,可以使用任何类型的独特功能,一致性算法,交易成本结构等。在Polkadot网络中,所有的链条都是称为中继链的母链的子节点,其中包含所有链中组合的“全局状态”的一些表示。中继链有自己的共识算法,称为GRANDPA共识,可快速确定链中的块。通过这个模型,Polkadot中的parachains在“共享安全”模型下运行 – 如果中继链具有1000个验证器的高度安全性,通过简单地连接到中继链,任何parachain都将从这种强大的安全性中受益。这使得子链对其状态机和其他本地规则拥有主权,并且与数百个其他链共享强大的安全性。

这个模型的缺点是,中继链中的验证器对任何链中的状态变化都有最终决定权。例如,验证者可以出于某种原因, 不断拒绝来自特定链的集合体的块,并永久地阻止该链的进展被包括在全球状态中。Polkadot试图通过改组验证器来减少这种情况,以便他们验证随机链,降低特定验证器审查特定链的可能性。Polkadot还有另一类称为渔民的验证人,他们不断检查验证人员是否有恶意活动。

Cosmos Network的架构根本不同。

Cosmos网络架构

在Cosmos Network中,不是使用本地/全局模型来保证安全性,而是每个区块链都是独立的并且可以自我保护。每个区块链都有自己的共识,每个区块链的验证者负责单独保护区块链。该网络使用集线器和区域模型实现互操作性,其中区域(独立区块链)可以通过集线器(也是独立的区块链)路由“将令牌”“发送”到其他区域。该协议称为IBC(区块间通信),它是用于在链之间发送消息以表示令牌传输的协议。IBC协议是一项正在进行的工作,从令牌传输开始,最终在区块链之间传递任何类型的消息。

将此模型与Polkadot进行比较,这里最大的区别是每个区域的状态由其验证器及其验证器单独保护。如果区域想要具有强大的安全性,则需要引导并招募自己的验证器,这对于较小的应用程序可能是困难的。然而,对于某些需要更多控制的应用来说,这是一个强大的卖点。例如,Binance通过将自己的节点作为币安链的验证器作为起点来引导他们的DEX。通过这种方式,他们可以在测试DEX并推出新功能时完全控制链条。在我看来,很难想象币安链会放弃对哪些交易进入哪个区块的主权,如果建立在以太坊或Polkadot上,他们将不得不这样做。出于同样的原因,

差异#2:治理与会员

Polkadot和Cosmos之间的第二个主要区别在于治理和成员资格。在Polkadot网络中,有一个单独的中继链和一些子链,验证链的验证器可以支持这些链。在目前的估计是,将有parachains 100个插槽,但这个数字可以缩小或将来成长。Polkadot网络通过拍卖机制分配成为分支的时段 – 最高出价者能够通过在利益证明系统中锁定DOT(Polkadot的本地加密货币)来确保一段固定时间的parachain时隙。这意味着要成为Polkadot网络中的一个副链,你需要购买大量的DOT并锁定它们,只要你想继续作为parachain。

另一方面,Cosmos Network没有固定的会员规则 – 任何人都可以建立一个集线器或区域。枢纽本身就是主权区块链,旨在连接一堆其他区块链。两个例子是最近由Tendermint团队推出的Cosmos Hub,以及Iris Hub,一个计划连接主要在中国和亚洲其他地区运营的区块链的枢纽。这种集线器和区域模型使链间通信更加高效,因为每个区块链不需要连接到每个其他区块链,只需要连接到集线器。

集线器可以更有效地连接多个链

与成员资格密切相关的是两个网络的治理流程的差异。在Polkadot网络中,治理决策取决于选民的DOT数量。将有一个正式的链式投票机制,但尚未最终确定,最新的更新在这里。除了定期的利益加权投票,Polkadot还使用理事会的想法来代表被动利益相关者。该委员会是一群人,从6人开始,每两周增加一人,直到24人。每个成员都通过批准投票选出。虽然此治理流程的具体细节尚未最终确定,但其含义是有更改中继链中参数的方法,例如出块时间,块奖励等,以及更改链接成员规则的方法。例如,Polkadot治理流程可能会改变所需的DOT数量或拍卖机制成为副链。一个常见的误解是,DOT持有人可以投票随意揪出来parachains,但在现实中DOT持有人只能改变进程成员。这意味着保税的链条在整个租赁期间保持联系。

另一方面,Cosmos网络没有单一的“治理”过程。每个中心和区域都有自己的治理流程,并且没有适用于整个区块链网络的中央规则集。当人们谈论“Cosmos的治理”时,他们所指的是由Tendermint团队发起的区块链Cosmos Hub的治理。Cosmos中心有一套规则,允许任何人发送文本提案,并允许Atom持有者对其进行投票,其投票权由他们拥有的Atom数加权。这是一个提案的示例。要了解有关治理过程错综复杂的更多信息,Chorus One的这篇博客文章是关于Cosmos Hub治理的一本很好的入门读物。

差异#3:区块链间通信

Polkadot和Cosmos之间的另一个区别是它们的区块链间通信协议的体系结构及其设计目标。Polkadot的目标是在parachains之间传递任意消息。这意味着Parachain A可以在Parachain B中调用智能合约,可以在链之间传输令牌,或任何其他类型的通信。另一方面,Cosmos专注于链之间的资产转移,这是一种更简单的协议。目前,这两种通信协议都没有明确规定,尚未构建。关于这两个规范的更多细节可以在这里找到:IBC(区块链间通信)和ICMP(链间链间消息传递)。

区块链间通信的最大挑战不是如何在一个链上表示另一个链上的数据,而是如何处理数据源自分支的链并重新组织以排除事务的情况。由于建筑设计,这是Cosmos和Polkadot最不同的地方。

Polkadot使用两种不同的机制来保护链间通信。首先,拥有共享安全性可以更轻松地交易所消息。共享安全性的副产品是所有链中具有统一的安全级别,因此每个链可以相互信任。为了理解这一点,让我们使用获得Ethereum(高安全性)和Verge(低安全性)进行互操作的示例。如果我们想在Verge上代表Ethereum,我们可以锁定ETH并在Verge区块链上注入一些ETH-XVG令牌。但是,由于安全性较低,攻击者可以51%攻击Verge链并向以太坊区块链发送双倍花费,允许攻击者撤回比他实际拥有的更多的ETH。因此,高安全性链在发送彼此消息时很难信任低安全性链。

理论上,拥有统一的共享安全性是确保链间通信的一种很好的方法。但是,为了实现这一点,协议必须能够经常随机地对分配给每个链的验证器进行混洗。这导致了经典的“数据可用性问题”,即每个验证器必须不断下载分配给它的每个副链的状态。这是当今空间中最困难的问题之一,目前还不清楚Polkadot能够解决它。

其次,Polkadot使用了渔民的概念,这些渔民是Polkadot网络上的“赏金猎人”,他们观察Parachains的恶意活动。从某种意义上说,这是针对恶意活动的“第二道防线”。如果特定链的验证器最终确定了无效区块,渔民可以向中继链提交证据并有效地回滚Polkadot网络的整个状态以及其中的所有链路。在链间通信期间,我们最担心的是一个链重组,另一个正常进行,但是如果发现了无效块,Polkadot会确保所有内容都回滚。

Cosmos采用完全不同的方法来进行链间通信。由于每个区块链都有自己的验证器,因此完全有可能存在带有串联验证器的“邪恶”区域。这意味着当一个区域想要与另一个区域通信时,区域A需要信任区域B中的Cosmos Hub(用于路由)和验证器。理论上,它听起来效率低,因为区域A中的人员必须查找验证器区域B在他们决定向它发送消息之前,但我相信在实践中它不会那么糟糕。“著名”验证器,如Polychain Labs或Zaki Manian的iqlusion将可能验证许多不同的区块链,并随着时间的推移建立一个“良好的验证者”的声誉。这意味着当区域A看到区域B由Polychain Labs和iqlusion验证时,他们可能决定信任它。

然而,即使人们信任一个链条,它仍然可能被恶意行为者超越并导致问题。让我们使用这个例子,这个例子取自本次演讲:

具有多个区域中的令牌的Cosmos网络

让我们说小红点代表一个称为ETM的标记,它是Ethermint区域的本机货币。区域A,B和C中的用户希望将ETM用于这些区域内的某些应用程序,并且他们信任Ethermint区域,因此他们会执行IBC消息,将ETM传输到这些区域。现在假设Ethermint验证器串通并开始双重支出,任意移动硬币,等等。这将对网络的其余部分产生影响,因为ETM令牌也存在于不同的区域。但是,唯一的受此影响的人是在Ethermint或其他区域内持有ETM令牌的人。Ethermint中的邪恶验证者不可能任意破坏除自身以外的其他区域。这是Cosmos架构的目的 – 确保恶意活动不会影响整个网络。

相反,如果在中继链(全球状态)上发生无效状态转换并且渔民没有接收到,则这可能会影响Polkadot网络中的每个链。我们不能假设parachains是明显不同的对象,因为它们最终仍然与网络的其余部分共享一个全局状态。

差异#4:共识算法

Polkadot Relay Chain使用由GRANDPA团队发明的一致性算法。该算法允许中继链快速完成所有链中的许多块,并且还可以容纳大量验证器(超过1000)。简单来说,这是因为并非所有验证器都需要对每个块进行投票 – 相反,验证器可以对他们认为有效的单个最高块进行投票,并且该算法可以将投票传递给该块的所有祖先。通过这个,算法找到具有绝对多数投票并考虑最终的块的集合。GRANDPA仍处于开发阶段,我们不知道它在现实世界中的表现如何。

该链中可以使用各种一致的算法来达成局部共识。Polkadot提供了一个软件开发工具包(Substrate),它带有3种开箱即用的共识算法:GRANDPA,Rhododendron和Aurand。可能会有更多算法添加到Substrate中,并且可以在Polkadot网络中使用。

另一方面,Cosmos网络中的每个区块链都可以使用任何符合某种规范(称为ABCI规范)的一致性算法。创建此规范是为了标准化链之间的通信。目前,只有Tendermint算法符合此规范,但还有其他努力可以创建符合此规范的其他一致性算法。在高级别,Tendermint算法的工作原理是让每个验证器相互通信以批准/拒绝任何单个块,从而在每个块级别上创建最终结果。该算法是快速和已经结合200个验证和6-第二块倍真实环境中的压力测试木桩的游戏。Cosmos团队还提供了一个软件开发工具包,其Tendermint算法可以直接使用。这篇博文是对共识算法的一个很好的入门,以及使其有用的Tendermint的特性。

Tendermint最大的缺点是验证器之间的通信开销很高。这意味着虽然它可以使用~200个验证器相当快地工作,但使用2000验证器会慢得多。然而,这里的权衡是你在异步中获得安全感。这意味着在网络分区中,而不是具有最终合并的2个不同的事务历史(并且在该过程中将丢弃1个历史),网络将停止。这很重要,因为如果您看到“已完成”的事务,即使在最糟糕的网络条件下也不会被撤销。

我个人对此的看法是,在两个项目的基础上比较它们使用的一致性算法从长远来看并不是特别有用。这两个项目都在创建架构,允许将来使用许多不同的共识算法。今天的绝大多数应用程序无论使用Tendermint还是使用Polkadot的一致性算法都应该可以正常工作。

差异#5:Substrate vs Cosmos SDK

Polkadot和Cosmos都提供了一个软件开发工具包,分别称为Substrate和Cosmos SDK。它们旨在使开发人员能够轻松开始构建自己的链,并包含各种开箱即用的模块,例如治理模块(投票系统),标注模块,身份验证模块等。两者之间的主要区别在于Cosmos SDK支持Go,而Substrate支持任何编译为WASM(Web Assembly)的语言,为开发人员提供了更大的灵活性。

它们都是构建区块链的新框架,并将在未来几年内添加更多功能。深入研究两者并检查使用SDK构建应用程序的确切开发人员体验本身就是另一篇博客文章。如果你想看到,请在Twitter @juliankoh上写信给我。

结论

虽然这篇文章非常冗长和详尽,但仍然没有详尽无遗。Cosmos和Polkadot之间的差异很难掌握,并且有许多细微差别我可能已经错过了。很难全面了解这两个项目,有时候文档每天都在变化。这两个项目仍处于起步阶段,并将在明年大幅发展 – 我提出的一些问题可能很快就会解散。总之,我开始相信Polkadot对Cosmos的最大优势如下:

  1. 应用程序开发人员无需引导自己的安全性
  2. 如果他们可以解决数据可用性,则共享安全性下的链间消息传递更容易
  3. 他们似乎对Substrate更加雄心勃勃(WASM,开箱即用的更多共识算法和模块)
  4. 专注于跨越项链合约调用的任意消息传递。(今天还不确定用例)
  5. 似乎有更多的开发人员构建1.0版本

相反,Cosmos与Polkadot相比的优势如下:

  1. Cosmos是活的。Polkadot不是。
  2. Polkadot有一个限制性的,可能是昂贵的parachain会员流程
  3. 对于特定项目更具可定制性(例如,Binance)
  4. 链条的邪恶验证者可能会在整个网络中传播腐败。Cosmos仅将腐败限制在区域和相应的资产内
  5. 许多项目已经使用过Cosmos SDK
  6. 专注于资产转移更简单,更容易正确。今天经过验证的用例。

感谢所有回答我无穷无尽问题的人,特别是来自Cosmos的Zaki Manian和Gautier Marin以及来自Polkadot的Alistair Stewart。来自NEAR协议的惊人白板系列(Alex Skidanov)帮助我理解了这两个项目。这些链接被策划的琳达·谢约Polkadot与Cosmos还帮我缩小我的博客文章的范围,因此将保持可读。特别感谢Cheryl Yeoh的头脑风暴,校对,并帮助提出撰写这篇文章的想法。

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

提示:投资有风险,入市需谨慎,本资讯不作为投资理财建议。请理性投资,切实提高风险防范意识;如有发现的违法犯罪线索,可积极向有关部门举报反映。
你可能还喜欢