收藏(0)

“Cosmos和Polkadot是跨链两大天王级项目,备受瞩目,但其本身具有一定的理解难度,本文从五个角度对比Cosmos与Polkadot,为你详解两者本质区别,更好理解其特性。

关于Cosmos和Polkadot之间的差异一直有很多讨论,这两个项目侧重于跨链。如果你不熟悉这两个项目,那么这个推特风暴非常好地对它们进行了解释,并提供了学习它们的一些资源。

尽管有很多文章解释并强调两者之间的差异,但是我相信今天大多数“Cosmos vs. Polkadot”的文章要么存有偏见,要么缺乏细微差别。这篇文章试图对这两个项目进行更深入的讨论,从设计上的权衡到方法上的差异。

为什么要开发一个新的区块链?

有两个主要原因可以解释为什么人们更愿意从头开始开发特定应用的区块链,而不是在现有的平台上将应用以智能合约的形式存在。

首先,现有智能合约平台可能无法提供你的应用程序所需的灵活性和可定制性。例如,如果你的应用程序需要自定义哈希函数,那么将其写在以太坊上会花费很多的gas,因为每次调用它时都需要在EVM(以太坊虚拟机)上执行该函数。

一个选择是建议以太坊协议将这个哈希函数作为预编译合约纳入其中,但是除非这个函数也在许多其他应用程序中被广泛使用,要不然这一提议可能不会被批准。从头开始编写自己的区块链让您可以自由灵活地设计区块链的核心逻辑,来满足您的应用的特定需求。

第二个原因是自治。在一个智能合约平台上开发应用程序会强迫您的应用程序遵守它的规则和管理。这可能包括影响用户体验的因素,比如出块时间和gas价格,还有比如链上操作回滚这样的状态改变决策。

当然,独立、自治的区块链放弃了与其他应用程序无缝通信的能力,因为它们存在于具有不同状态机的单独的区块链上。 Cosmos和Polkadot试图解决这个问题;前者使用Hub-and-Zone模型,后者采用Relay Chain / Parachain模型。

这篇文章将介绍这两个项目的大致知识,并将重点弄清楚它们之间的差异。

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

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

Polkadot网络架构

Parachains是Polkadot网络中的区块链。这些链有自己的状态机,自己的规则,以及自己的本地区块生产者(collators)。每个parachain本质上都是一个独立的状态机,可以使用任何类型的特有功能,共识算法,交易成本结构等。

在Polkadot网络中,所有的parachain都是中继链(Relay Chain)这个母链的子链,它包含所有parachain组合的“全局状态”的某种表示。

中继链有自己的共识算法GRANDPA,由它来快速地确定parachain链上的区块。通过这个模型,Polkadot中的parachain运行在“共享安全”模式下 – 如果中继链有1000个验证者来提供高度的安全性,那么任一个parachain只要连接到中继链就能获得强大的安全保障。这可以让子链对其状态机和本地规则拥有自治权,以及与数百个其他链共享的强大安全保障。

这个模型的缺点是,中继链中的验证者对任一条parachain链中的状态更改都有最终决定权。例如,验证者可以出于某种原因一直拒绝来自某条链的collator的出块,并永久地阻止这条链的进展被包括在全局状态中。

Polkadot试图通过打乱验证者来减少这种情况的发生,以便于他们验证随机的parachain,这降低了特定的验证者审查特定的链的可能性。 Polkadot还有另一类称为Fishermen的验证者,他们不断检查验证者是否有恶意行为。

Cosmos Network的设计完全不一样。

Cosmos网络架构

在Cosmos网络中,不再使用本地/全局模型来保障安全,每个区块链都是独立的并且可以自我保护。每个区块链都运行自己的共识算法,并且每个区块链的验证者独自负责区块链的安全。

Cosmos网络使用hub-and-zone模型来实现互操作性,其中zone(独立区块链)可以通过hub(也是独立的区块链)”发送代币”到其它的zone。这个协议称为IBC(链间通信),它是在链之间发送消息来表示代币传递的协议。 IBC协议还在开发中,首先解决的是代币传递,最终可以在区块链之间传递任何类型的消息。

将这个模型与Polkadot相比较,这里最大的差别是每个zone的状态只由其验证者来保障安全。如果zone想要具有强大的安全性,那么它需要自行完成并招募自己的验证者,这对于小的应用程序可能比较困难。不过,对于某些需要更多控制权的应用来说,这是一个强大的卖点。

例如,Binance通过将自己的节点作为Binance Chain的验证者作为起点来自行建立他们的DEX。通过这种方式,他们可以在测试DEX并推出新功能时对这个链有完全的控制权。

在我看来,很难想象Binance Chain会放弃对哪些交易进入哪个区块的自治权,如果选择在以太坊或Polkadot上开发,他们就将不得不这样做。同样,我相信这样做的公司会不少,比如Telegram,Facebook,Kakao。

仅一条评论

请输入你的评论!
请在这里输入您的名字