当前位置:首页 > 区块链新闻 > 正文

深度 | 区块链互操作性深度解读:Cosmos vs. Polkadot(上)

来源: 互联网时间:2019-04-13 14:00:03

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

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

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

什么是区块链互操作性?

区块链互操作性十分复杂,所以让我们尝试用最简单直白的方式来解释它。

区块链互操作性将发送以太网,并通过区块链协议接收 BTC,期间无需第三方(如交易所)的介入。这是一个简单的愿望,但目前尚未实现。

Polkadot 和 Cosmos 都在为区块链建立协议,以实现安全可靠的交互。这些协议允许新区块链的创建,并能够彼此之间发送交易和传递消息。

区块链具备网络效应。当一切都连接起来时,它会带来更多的资金、更好的用户体验,以及更多的打破常规的方法来完善网络。

区块链互操作性能够显著地提高区块链的可扩展性和速度。 例如,你有一条区块链的上限为100 TPS,则可以创建第二条相同的区块链,以达到200 TPS,并可与其他区块链交互、交易。 这样你就可以轻松的实现1000 TPS。

同时,它还允许私有链,公有链和联盟链的连接。 最终,区块链甚至可以与 SWIFT 等法定银行系统进行互操作。

为什么要关注 Polkadot 和 Cosmos?

Polkadot 和 Cosmos 是区块链互操作领域最具有前景的项目。它们都拥有强大的技术团队,在分散网络社区中享有良好的声誉,有着多年的从业经验,并从零开始,编写了大量的区块链代码。

图片来源:Cosmos Network Website 和 Polkadot Network Website

在解决区块链互操作性上,他们策略相似,但在协议和设计方面存在细微差别。 这些差异在安全性、隐私性、效率、灵活性和易用性之间进行权衡。

现在,让我们深入研究区块链互操作性的未来是怎样的。

The Cosmo Network

自2014年 Tendermint 发布以来,Cosmos 团队一直致力于区块链互操作性研发。Tendermint 是一个拜占庭容错共识引擎,以及点对点网络 gossiping 协议。

图片来源:Cosmos Network Website

Cosmos 团队正在构建 The Cosmos Network,这是一条基于 Tendermint 的区块链。 有必要指出,Tendermint 和 Cosmos 都属于 InterChain 基金会。

下面两张图将简单解释他们如何设计网络。

区块链由三个主要组成部分构成:相互通信的计算机节点网络、允许节点就新块达成一致的共识协议,以及具有自身状态的应用层(如以太坊账号, 以储存 Ether 为状态。)

Tendermint 负责区块链的网络和共识层。 这允许区块链在 Tendermint 之上创建属于自己状态的应用程序。ABCI-application (应用程序)通过 ABCI 协议与 Tendermint 进行交互。

  • 技术设计和协议
Tendermint(共识和网络):Tendermint 是一种实用的拜占庭容错(PBFT)状态机。 它需要一组已知的验证者(Validators)同意,在区块上达成共识。The Cosmo Network 要求至少2/3的人达成共识。 假设不到1/3的 Validators 是“拜占庭式的“,则网络永远不会分叉。因为 Validators 不能在相同的高度提交冲突块。这源于 Tendermint 倾向于安全性而不是活跃度的事实。

应用区块链接口(ABCI):ABCI 是定义复制引擎(Tendermint)和状态机(区块链)之间边界的接口。 ABCI是区块链状态更新的唯一方式,只有 Tendermint 可以访问区块链的状态更改功能。 这种设计是一种很棒的安全策略,因为改变状态只有一个接入口。

下图展现了 Tendermint 的堆栈,展现了节点在点对点网络中连接,以及每个节点的组件。

五个节点组成了一个点对点的网络。 每个节点都是一台运行 Tendermint Core 的计算机。 Tendermint 可以通过 ABCI 协议连接到区块链。左下角的 Light Client 节点可以通过 RPC 调用连接到任何 Tendermint 节点。

  • Cosmos 的互操作性
区际链通信(IBC):Cosmos Network 具有 Inter Blockchain Communication(IBC) 协议,它允许区块链与其他区块链交互。以 Cosmos 网络作为中心枢纽,区块链网络通过IBC进行通信。区块链通过 Spoke (分支) 模型连接到 Cosmos Hub。 网络中的分支又称为 Zones,如下图所示。

Cosmos Hub 是主要的区块链,它将连接所有建立在 Cosmos 网络之上的其他区块链。 每个 Zone 都是自己的区块链,它们共同创建了一个用于连接的枢纽和分支模型。

IBC 的技术术语是”Chain Relay” 。Chain Relay 允许区块链读取和验证其他区块链中的事件。 例如,链A上的智能合约想知道链B上所发生的事情。为此,链B上的智能合约需要用链A的区块头,并验证它是否已达成共识并达到最终性。

从本质上讲,Cosmos 正在构建一个网络系统,其中可以很容易地创建新的区块链,并且从一开始创建就可以通过 Chain Relay 进行交互。 每条区块链都将在 Tendermint 上运行,如下图所示。

Cosmos Hub 与其他4条在 Tendermint 之上运行区块链的进行交互。他们可以很轻松通过 IBC 协议读取并对彼此进行操作。只要新的区块链遵循 IBC 协议,它就能够加入网络,包括公有链和私有链。

Peg Zones:Peg Zones 允许 The Cosmos Network 连接到活跃区块链网络,例如以太坊主网。能够连接到活跃区块链是任何区块链可交互网络的主要要求。Peg Zones 很复杂,但我们试着用简单的术语解释它们的工作原理。

首先,你必须具有共享的安全模型,其中 Cosmos Peg Zone 的验证者也在运行以太坊主网节点。这个特殊的 Validator 会批准两条链之间的交互。想要建立这个复杂的基础架构,你还需要信任运行 Peg Zone 的团队。

实际的资产交换需要太坊主网智能合约才能锁定 Ether,这将在 Peg Zone 中创建可以代表 “Cosmos-Ether” 的新代币。Cosmos-Ether 可以通过 IBC 在 Cosmos 网络中传递。从 Cosmos 来看,Validator 会锁定 Atoms,同时 Atom 会在以太坊主网中创建可发送的 ERC-20 Atom token。这将给予 Cosmos 和以太坊主网之间资产的完全互操作性。

实现两条链之间的互操作性:任何可交互的网络都需要至少两条可以交换讯息和交易的区块链。Ethermint 是 Cosmos 提出的第一个可与 Cosmos Hub 交互的解决方案。

Ethermint 是 Cosmos 团队计划在 Cosmos Hub 主网发布后,于2018年第四季度推出的区块链。简单来说,Ethermint 是以太坊区块链,它利用 Tendermint 共识引擎取代了 PoW 算法。这便允许基于以太坊虚拟机的区块链轻松地通过 IBC 与 Cosmos 网络进行交互。

Ethermint 设计的精妙之处在于团队计划的 “hard spoon”。他们将在某个时间点拍摄所有以太坊帐户的快照,并使用该状态创建新的 Ethermint zone。这将允许他们引导现有的以太坊开发者网络,并为每个人提供新的 token 和更快的交易速度。

选择首先创建 Ethermint,而不是 Peg Zone 到以太坊主网,是因为它在技术上更容易实现。但是,区块链网络必须具有 Peg Zones。

对于 Cosmos 或 Polkadot 来说,BTC 和以太坊背后有巨大的动量,忽视它们是一个非常冒险的举动。

The Cosmos Hub:Cosmos Hub 是作为 The Cosmos Network 中所有区块链的中心连接器。 它是 Tendermint 驱动的、多资产证明的 PoS 区块链。 Cosmos Hub 的主要的代币是 Atom,主要用于区块链的抵押和治理。Cosmos Hub 启动时会有100个验证者,且逐年递增。

Atom 持有者既可以是验证者,也可以是投票人。验证者设置一个完整节点,用于维护网络,处理交易。投票人会判断验证者的可信赖程度和节点运行能力,并将其 Atoms 委托给其处理。

验证者得到 Atoms 代理权,并从每个块中获得 Atom 作为奖励。 这些奖励会给到投票人,其中少量费用会被扣除,作为操作验证节点的费用。

为了保证诚实性,设置了惩罚机制。向区块链发布不正确的数据的的验证者,会失去他们的 Atoms。 这一机制被称为 ”slashing”。这些博弈理论被用于激励 PoS 区块链中的良好行为。

Token 也代表治理。 一个 Atom 可以作为网络上的任何提案的一票,例如,软件升级。 Cosmos 的治理协议非常简单。投票人可以自己投票,或将投票权转让给他们所委托的验证者。验证者必须对每个提案进行投票,否则他们将被惩罚(“slashed”)。

2019年3月中旬, Cosmos 主网正式启动,跨链交互成为现实。此前,开发团队经历了漫长的测试网络阶段。

一旦主网能够稳定运行,他们将实施IBC,然后为 Ethermint 做一个以太坊的 “hard spoon”。

  • Cosmos 的开发人员
开发人员可以通过两种方式在 Cosmos Network 之上进行开发。 构建 IBC 交互的新区块链,并在 Cosmos Zones 中创建智能合约。Cosmos 团队创造了 The Cosmos SDK,便于开发人员在 Cosmos Network 上轻松启动新的区块链。

Cosmos SDK:使得开发人员可用简单的模块化方法在网络上设计自己的区块链。 SDK 用于构建 Cosmos Hub,当主网启动时,也可供开发人员构建自己的区块链。Cosmos Hub 构建了在 Cosmos Network 上运行的基础应用程序,然后为抵押,治理和 IBC 添加相应的模块。

这将允许开发人员轻松发布可交互的区块链,是个令人兴奋的机会。因为它将为开发人员创建一个全新的分布式平台,而不仅仅是以太坊风靡全球的代币模式。

SDK 是用 Golang 编写的,预计未来将支持其他语言。

在 Cosmos 上构建 dApp:Ethermint 将是你在 Cosmos Network 上构建 dApp 的第一步。 由于它是基于 EVM 的区块链,因此智能合约可用 Solidity 编写。Cosmos Network 的交易速度也将提高,因为 Tendermint 共识每秒可处理比以太坊主网  PoW 共识更多的交易。

- END -

Dave Kajpust  作者

DUANNI YI  翻译

Sonny Sun  编辑

Roy   排版

免责声明:

1.本文内容综合整理自互联网,观点仅代表作者本人,不代表本站立场。

2.资讯内容不构成投资建议,投资者应独立决策并自行承担风险。