查看原文
其他

独家编译 | 区块链互操作性深度解读:Cosmos vs. Polkadot(下)

关注👉 加密谷Live 2021-04-10


区块链互操作性可能成为下一波创新浪潮,并将为分布式网络的扩张创造巨大的价值。

 

Cosmos和Polkadot  是创建区块链互操作网络的两个主要竞争者。本专题将分别探究两个项目的协议,网络设计,安全模型,以及技术堆栈等问题。

 

本文由加密谷独家编译,分为两期刊出,此为下篇。上篇详见:

《独家编译 | 区块链互操作性深度解读:Cosmos vs. Polkadot(上)》


Polkadot

 

The Polkadot Network是另一个拥有强大的技术团队,并致力于解决区块链互操作性的项目。 Polkadot由Parity开发,该团队用Rust语言编写并开发了Ethereum客户端。


The Polkadot Network

 

  • 技术设计和协议

共识:正如Cosmos所做的那样,Polkadot也将共识架构与状态应用程序分离。 据其白皮书所述,Polkadot的共识引擎实际上是受了Tendermint和HoneyBadgerBFT的启发。


上图为Polkadot技术堆栈的细分。 一个点对点的网络以共识作为外层,并通过WebAssembly解释器与区块链状态机连接。


然而,在此前流出的一个 YouTube视频中,Polkadot提到,他们计划在Aurand和Tendermint上使用混合共识机制,并将其用于PBFT中。 Aurand无需2/3的共识,便可允许随机选出的验证者(Validator)出块。这种混合设计允许更快的共识,但假如验证者存在恶意行为,部分区块则需被回滚。


上图为Tendermint PBFT和Aurand的混合设计。 Tendermint保证了该图中每5个区块的最终性,而其间的四个区块可以快速处理而无需2/3的共识。它比PBFT快,但也有一些制衡因素。坏的区块现今也可以被发布,这便需要去还原它们。

 

  • Polkadots互操作性

Cosmos和Polkadot的交互性策略也十分类似。Polkadot网络中有Relay Chain,它是中央连接器,其功能类似于Cosmos Hub。它有连接到Relay Chain的区块链,并命名为Parachains (平行链)。 Cosmos Zones和Parachains具有相同的用途。 Polkadot还将拥有连接活跃区块链的桥梁,类似于Cosmos的Peg Zones。

 

Parachains:Parachains和Cosmos Zones都使用Relay Chain来实现区块链的交互。但具体实施方式却大不相同。最大的区别在于他们如何连接链并实现安全共享。在Polkadot中,可以汇集和共享网络安全性。这意味着单独的链可以利用集体安全性,而无需从头开始获得吸引力和信任度。

 

这个方式是通过绑定Dots来创建新的Parachains,以及取消Dots绑定以去除无用的Parachains来完成的。Cosmos不要求绑定Atoms来创建另一条链,他们用治理来决定主要的Cosmos Hub是否应连接到Cosmos Zone。

 

Bridges:Bridge 和 Peg Zone 在各自网络中的作用相同。它们都可以连接到活跃的区块链网络,例如以太坊主网。Cosmos 和 Polkadot 都希望在启动时能快速连接到主网。

 

实现两条链之间的互操作性:如前所述,第一条与 Cosmos Hub 交互的链将是 Ethermint。很有可能,Polkadot 也会创建一条类似 Ethermint 的链。他们已从以太坊Parity客户中积累了丰富的经验,应该能够轻松应对。

 

Polkadot 网络:The Polkadot Network是基于 PoS 证明的区块链,其原生代币是“Dot”。Dot 可以提供治理,以博弈论机制激励代币持有者诚实行事。网络的中心枢纽是Relay Chain,其功能类似于 Cosmos Hub 在 Cosmos Network中的工作方式。

 

Polkadot 网络拥有四种主要股东:Validator (验证者),Nominator (提名者),Collator (校对人) 以及Fishermen (渔夫)。Polkadot 也会通过“slashing”来惩罚不良行为。

 

Polkadot 上的Validators和 Cosmos 中的Validators作用相同,Nominators和 Cosmos 中的Delegators类似。


下图来自 Polkadot 白皮书,显示了每个股东之间如何相互关联。


The Polkadot Network中 四类股东间的交互 

 

验证者不会维护所有 Parachain 上完全同步的数据库,因为存储的数据量过于庞大。因此,验证者将把存储和验证新的Parachain区块的任务交给第三方——我们称之为 “Collator (校对人)”。


Collators的主要任务是生成有效的 Parachain 区块,维护一个完整的节点。他们需要对一个未密封块做零知识证明,并将其提供给一个或多个负责向Relay Chain提出Parachain块的验证者。 Collators和Validators将从这些任务中收取一定的交易费。


Fishermen会像独立的赏金猎人一样,寻求大笔的奖励。因为他们的存在,不良行为的发生频次可能降低。因为Validators和Collators都知道,一旦他们作恶就会被Fishermen抓到并被惩罚。


Fishermen会在 Polkadot 网络上发送Collators或Validators的任何非法活动证据 。

治理分为几个层次,主要是在网络上通过 Dot 投票。Polkadot 团队还计划设立一个 12-24 个账户组成的理事会,对没有得到股权利益人重视的提案进行投票 。这是一个对低选民投票率提案的备用解决方案。他们承诺增加Adaptive Quorum Biasing,开放了增加不同投票的指标,例如为长期持有者或Validators,甚至是长期为网络做出贡献的dApp团队提供更多权重。当然,这些在现阶段只是想法。

 

Polkadot 团队的第一个proof of concept (概念验证) 已经能够验证区块,并实现状态转换。并能够通过一个测试网发送Dots。


PoC是用Rust编写的,运行时间是在WebAssembly上创建的。


他们计划将在 2019 年 第三季度发布主网,并且不断声明他们正在努力实现这一目标。

 

  • Polkadot上的开发构建

Substrate:Substrate 是一个用于构建区块链的技术堆栈,与 Cosmos中Cosmos SDK 的作用类似。Polkadot 网络建立在 Substrate 之上,就像 Cosmos Hub建立在 Cosmos SDK 之上。你不必担心共识或网络,只需关注区块链应用程序本身。

 

Substrate 是用 Rust 编写的,但是状态机的核心功能将会被编译成 WebAssembly。它可以使用编译的Rust代码或通过WebAssembly解释器本机运行。详见下图。



只要客户机节点是最新的,就可以本地运行WebAssembly代码;但如果不是,则必须使用链上WebAssembly解释器,这将更慢。


在 Polkadot 上创建 dApp:你可以在支持智能合约的 Parachain 上构建 dApp。这也类似于 Cosmos,因为,Polkadot 的 Relay Chain 和 Cosmos Hub 都不支持智能合约,但它们的连接链可以。


比较 Cosmos 和 Polkadot


在对两个网络的技术层面进行详尽分析后,现在,让我们来看看它们的主要组件,以及相互之间如何竞争。这是本文最有价值的部分,你可以比较差异,并自行判断哪个网络未来可能更成功!

 

  • 共识协议

Cosmos 和Polkadot都使用 Tendermint 进行 PBFT 共识,尽管 Polkadot 承诺将与 Aurand 使用混合共识协议。混合的方式加速了共识的形成,但它也导致了区块回滚的可能。这两种方案仍需要在活跃的区块链网络上经受检验测试。当然,两种共识协议都比以太坊和BTC网络的 PoW 共识要快得多。


Polkadot 在官网上提到,将使用 “Optimistic BFT Proof of Authority ”( 积极的 BFT 权威证明),但目前尚不清楚它们的确切含义。

 

Web3 基金会最近表示,“Polkadot 被设定为完全开放和公开的,无需任何特定的组织或可信的权威来维护”。从 Polkadot 白皮书中提出的总体设计来看,显然,Dot 的 PoS 将成为达成共识的主要因素。即便最终使用了PoA,它也只可能是个次要角色。

 

  • 代币和 PoS 设计

它们都有用于治理和抵押的代币。两个网络都有Validators保护其安全,然后是将代币绑定到Validator的Delegators / Nominators。


Polkadot在网络中加入了Collators来帮助Parachains,而Fisherman则会密切监视任何不良行为的作恶者。


两个项目都会对作恶者加以惩罚,并且在网络发布时可能会对相应的惩罚指标进行调整和测试。 Polkadots的PoS设计更先进,但这也使它更加复杂。


Cosmos 的优势在于他们将首先发布主网,他们相对简单的设计也使股东们更容易组织和创建稳定的分散式网络。Polkadot 的优势在于四类股东允许网络更加分散。因此很难事先界定哪种策略会更好地运作,但时间会证明。

 

  • 治理

Cosmos 在治理方面的协议并不复杂,因为它仅基于验证者,投票人和成文宪法。


Polkadot 在治理方面更加完备,通过增加自适应仲裁偏差,以及一个由验证者组成的理事会,对没有得到股东重视的提案进行投票。


活跃区块链中的 PoS 治理在很大程度上未经测试。我们可以期望两个团队在一开始就提出调整治理协议的提案。


此外,这两种设计都很简洁,通过小规模的迭代和改进,可以自然地发展成更强大的分散治理系统。最好的方式是由简入繁,而不是在一开始就强加一堆规则和制度。


网络也需要足够去分散化,以防止一些恶意的验证者控制整个网络。希望这将使他们能避免像EOS 主网推出时,由于21个区块生产商的低门槛导致被指责过于集中。

 

  • 安全性

Polkadot允许Parachains和Relay Chain之间共享池安全,而Cosmos则将其交给Zones来保护自己的网络。这意味着,为了开始一个新的Parachain,你需要累积大量的Dots,并质押这些代币以便将Parachain连接到 Polkadot 网络。每个Parachain的安全性都植根于Dots本身,这也为整个网络创建了一个共享的安全模型。


Cosmos计划允许Zones管理自己的安全模型,即所谓的Sovereign Zone (主权区域) 。这意味着,Cosmos Hub将使用治理来决定允许哪些Zones可以连接到它。其他Hub和Zone都可以选择自己的安全方法,这为网络提供了很大的灵活性。


在任何情况下,只与你信任的另一个区域或集线器进行IBC代币转移。Zone可能会秘密计划在未来审查交易,因此你需要查看区域的历史记录并确定它们是否真正分散,且值得信赖。但是,任何区块链都是如此,因为你不希望将BTC换成另一个你从未听说过的区块链代币。


值得注意的是,在进行IBC转移时,你必须信任与你交换代币的Zone以及转发器。 如果你在Zone B上收到来自Zone A但通过Hub的代币(Zone A -> Cosmos HUB -> Zone B),则你需要信任所有三个区块链(而不仅是 Zone A)。


如今在区块链之间交易代币时会做类似的事,因为你需要信任用于交易数字资产的中心化交易所。同时,你必须信任区块链A和B,以及作为受信任的第三方的集中交换。


通过Cosmos的Sovereign Zones,每个连接的区域都必须自己创建一个安全的分散网络。因此,如果Cosmos Hub有5个完全可用的Zones,则可能有100个Cosmos Validators和5 * 100个Zone Validators。这是一个比Polkadot更分散的模型,如果它有效,它应该运作良好。


可以想象,100个Polkadot Validators可以保护Relay Chain和5条 Parachain,而Cosmos Network则需要100个Hub Validators和500个Zone Validators。这表明,在Polkadots模型中可以更容易地创建新的Parachains,但这也同时意味着权利会集中在Dot所有权上。 而Cosmos则允许更分散的安全模型,但实施起来也会更困难。


但是,Cosmos表示他们还计划在发布后不久支持共享安全模型。一旦他们实现这个计划,将会给开发人员提供了更大的灵活性。因为在Cosmos上,他们可以共享根植于Atoms的安全性,或者创建自己的代币和安全体系。这两种模式的权衡在于,通过治理将Sovereign Zones添加到网络中,这为恶意的Zone连接提供了可能性,尽管这种情况很少发生。


Polkadot的一个独特功能是无需分叉即可升级运行。 他们通过在链上实际存储WebAssembly运行来实现这一点。 未更新其本地版本客户端的节点将被在运行过程中强制使用。这消解了验证者更新软件脱链的需求,也通过消除分裂的可能性提高了安全性能。

 

  • 速度和可扩展性

两种共识协议的处理速度都可达每秒1000 TPS。这取决于网络中有多少节点和参数设置。对于增加的每个 Parachain 和 Zone,它将增加可处理的交易量,轻松达到两个网络每秒1000 TPS。 真正的瓶颈在于每个 Zone 和 Parachain 中运行的状态机程序。

 

  • 互操作性

两个网络都通过chain-relays来连接到一个中央枢纽。它们都通过 Peg Zone/Bridges 连接到以太坊主网,并且他们都希望能快速的建立这种连接。另外,它们都可以快速、便捷地在各自网络上运行 EVM Zone/EVM Parachain。在主网稳定后,Cosmos将推出 Ethermint,后续Polkadot 可能也有类似的计划。

 

  • 开发人员

Cosmos SDK 和 Polkadot Substrate 都是为了开发平台而设计的。它们使开发人员可以轻松地在网络上创建自己的区块链。两方团队都致力于构建开发者友好型的新型开发平台,就像以太坊用智能合约和代币一样。


两个平台上在开发上不同的是:Polkadots使用WebAssembly和Rust的语言,而Cosmos则使用的Golang语言。


Polkadot通过支持WebAssembly而展望未来。 WebAssembly得到了Google、Apple、Microsoft 和 Mozilla的支持,很有可能在未来十年内得到广泛应用。


Rust也一直在努力成为编译WebAssembly的主要语言之一。 在未来5年中,似乎Polkadot更加能长期吸引开发商。


然而,正如我们在以太坊看到的那样,有时,率先进入市场更为重要。尽管还有其他区块链允许用不同语言编写智能合约,但以太网几乎涵盖了所有的智能合约活动。他们建立了一个围绕Solidity和EVM的生态系统,很早便博得了开发商的眼球。


Cosmos将率先推向市场。在Cosmos上开发的主要方式是通过 Cosmos SDK 中的Golang 语言,以及 Lotion-JS,一个可在Tendermint 上创建新链的 Javascript 工具。然而,该网站声明Lotion-JS代码未经过安全审核,如果您想保证价值,则必须使用Cosmos-SDK。


目前而言,Cosmos 并没有支持 WebAssembly 的工作。但是你很快就可以期待,Golang将增加对编译成WebAssembly的支持。他们已经取得了良好的进展。

 

最后,与Rust相比,Golang是一种相对简单易学的语言,有更多Golang开发人员遍布全球。

 

  • 主网启动

Cosmos 主网已经启动。但他们表示,在主网稳定前,他们将锁定交易,直到所有人都确信网络可以安全运行时才会开放回滚。


Polkadot将于2019年第三季度推出,因此,Cosmos拥有一年左右的先机。但凡事总有两面性,Polkadot 也有机会从 Cosmos 的错误中吸取教训。


总结


现在很难说哪个网络会更成功。 但可以肯定地说,无论哪一个方吸引更多的开发者,该网络将是增长最快并占据市场最大份额的开发者。

 

作为开发人员,如果你认为Cosmos会更成功,你可以开始学习Golang了。如果你相信Polkadot,你就去学习Rust和WebAssembly吧。 你还可以使用编译为WebAssembly的任何其他语言编写parachain,例如C或C ++。

 

虽然 Cosmos 和 Polkadot 最终只有一个赢家,但值得注意的是,它们可能处在一个同时存在又相互联系的世界。例如,如果两个网络都在以太坊主网上创建 Peg Zone/Bridges,那么你可以使用Dots的ERC20副本来交换Atoms的ERC20副本。这就允许实现两个网络的安全交互。这可能会创建一个巨大的可交换区块链网络。其中,以太坊,所有Parachains和Zones的代币都是可互操作的,也将允许以太坊Plasma 链连接。


如你所见,Polkadot和Cosmos创建互操作区块链的网络效应都是极其庞大的。因此,这两个项目都值得我们关注,最后祝愿两者取得成功。


- END -


Dave Kajpust  作者

DUANNI YI  翻译

Sonny Sun  编辑

       Roy   排版








内容仅供参考,不作为投资建议,风险自担!

版权所有,未经允许,严禁转载

商务合作,请联系 微信:Claire-CVL



    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存