区块链互操作性,Part-1:Cosmos

区块链互操作性可能是下一个创新高潮,并将为去中心化网络的普及带来巨大价值。

Cosmos 网络和 Polkadot 网络分别是实现区块链网络的两个顶级项目。本文将从网络协议,网络设计,安全模型和技术堆栈等方面分别讨论这两个项目的优劣势。

但首先我们要从更高的层次理解区块链互操作性的意义。

什么是区块链互操作性?

区块链互操作性十分复杂,所以我们试着用最简单的方式去解释。

区块链互操作性允许仅通过区块链协议本身发送 ETH 或接收 BTC,而不需要第三方机构(如交易所)介入。这个愿望很简单,但目前还未实现。

Polkadot 和 Cosmos 都致力于在区块链之间构建网络协议,以实现安全可靠的交互。基于这些协议产生的新区块链可以在链之间发送交易和传递讯息。

它为何如此重要?

区块链网络可以通过网络效应来改善去中心化网络。当所有区块链都连接互通时,它会带来更多资本,更好的用户体验,以及更有利于集思广益,完善网络状态。区块链互操作性可以显著提高区块链的可扩展性和交易速度。例如,如果一条链的上限为 100 TPS,则可以创建第二条相同的链——达到 200 TPS——以方便与其他链的交互。照这样做,我们可以轻易实现 1000 TPS 的交易速度。

它也允许私有链,公链和联盟链接入。最终,区块链甚至可以与法定的银行系统(如SWIFT)进行交互 <注 1>。

为什么关注Cosmos 和 Polkadot?

根据本人的研究,我发现它们是最具前景的交互项目。它们都拥有强大的技术团队,在去中心化社区中拥有良好的声誉,并且多年深耕区块链领域,从无到有地编写了大量的区块链代码。

-图片来源: Cosmos Network Website 以及 Polkadot Network Website -

在解决区块链互操作性问题上,它们采取类似的策略,但在协议和设计上存在细微的差别。这些差异具体表现在安全性,隐私性,效率,灵活性和易用性之间的权衡。

那么现在,就让我们一起揭开未来可交互区块链的神秘面纱吧!

Cosmos 网络

自 2014 年 Tendermint 发布以来,Cosmos 团队一直致力于实现区块链互操作性 <注 5>。Tendermint 是一个拜占庭容错的共识引擎,并配备了点对点的 Gossip 协议。

-Cosmos — 区块链的互联网 <注 3>-

Cosmos 团队正在构建基于 Tendermint 的 Cosmos 网络。Tendermint 和 Cosmos 都隶属于 InterChain 基金会。下面两张图将简单解释他们是如何设计网络的。

-从比较抽象的层面来看,区块链主要是由三个组件组成的:相互通信的计算机节点网络、让节点可以一致认可新区块的共识算法、以及拥有自身状态的应用层(比如以太坊账户,以储存的 Ether 余额为状态)<注 4>。-

-Tendermint 是用来维护区块链的网络层和共识层的。建立在 Tendermint 之上的区块链可以创建出属于自己的状态完备的引用。上图就展示了 ABCI-引用如何通过 ABCI 协议与 Tendermint 互动。这也是下文要解释的内容 <注 4>。-

技术设计和协议

Tendermint(共识和网络)

Tendermint 是一种实用拜占庭容错(PBFT)状态机。它需要一组已知的验证人(Validator)达成共识而出块。在 Cosmos 网络中,至少需要 2/3 的验证人达成共识。假设不到 1/3 的验证人是作恶者,则网络永远不会分叉,因为验证人不能在相同高度提交冲突块。这种策略正是根源于 Tendermint 中安全性(Safety)优先于活跃度(Liveness)的原则 <注 5>。

应用区块链接口(Application Blockchain Interface,ABCI)

ABCI 是定义复制引擎(Tendermint)和状态机(区块链)两者边界的接口。ABCI 是区块链状态更新的唯一通道,而只有 Tendermint 才具有区块链状态更改功能。这种设计是一种非常棒的安全策略,因为改变状态只有一个接入通道。

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

-5 个节点组成了一个点对点网络。每一个节点都是一台运行 Tendermint Core 的计算机。Tendermint 可以通过 ABCI 协议连接到区块链。图片底部左侧的轻节点可以通过 RPC 调用连接到任一个 Tendermint 节点 <注 13>。-

Cosmos 的交互性

链间通信(IBC)

Cosmos 网络可以基于 IBC 协议实现链链交互功能。以 Cosmos 网络为中心枢纽(Hub),网络中的链通过 IBC 进行通信。区块链以分支(Spoke)的形式连接到 Cosmos Hub,网络中的分支又被成为“Zone”,如下图所示。

-Cosmos Hub 是主链,会连接器所有其他建立在 Cosmos Network 基础上的区块链;它们组成了相互连接的枢纽和分支模型 <注 6>。-

IBC 的技术性术语又叫“Chain Relay” <注 1>。Chain Relay 允许区块链读取和验证其他链上的事件。例如,A 链上的智能合约想知道 B 链上发生的事件,则 B 链上的智能合约需要取得 A 链的块头,并验证其是否达成共识以及最终性 <注 1>。

本质上,Cosmos 正在构建一个网络体系,其中可以轻易创建新区块链,并从创立之初就可以通过 Chain Relay 进行交互。每条链都将在 Tendermint 上运行,如下图所示。

-Cosmos Hub 与其它 4 条基于 Tendermint 的区块链交互。它们可以很容易通过 IBC 协议读取彼此的数据并对彼此进行操作。图中左上角的链是 Peg Zone,我们在下一部分中解释它 <注 4> 。-

只要新链遵循IBC协议,就可以加入该网络,包括公链和私有链。

Peg Zones

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

你必须有一个共享的安全模型:Cosmos Peg Zone 的验证人也在运行以太坊主网节点。特殊验证人会批准两条链之间的交互。这是个复杂繁琐的基础架构,你还必须信任运行 Peg Zone 的团队 <注 7>。

实际的资产交易需要以太坊主网上的智能合约锁定相应的 ETH,同时在 Peg Zone 中创建代表“Cosmos-Ether”的新代币,Cosmos-Ether 可以通过 IBC 在 Cosmos 网络中传递。从 Cosmos 方面来看,验证人会锁定 Atom,同时在以太坊主网中创建可发送的 ERC-20 的 Atom 代币。这样一来,就实现了 Cosmos 和以太坊主网之间资产的完全交互性。

实现两条链之间的互操作

任何可交互的网络需要至少两条可以交换信息和产生交易的区块链。Ethermint 是 Cosmos 提出的第一个能与 Cosmos Hub 交互的解决方案。

Ethermint 是 Cosmos 团队计划在 Cosmos Hub 主网上线后推出的区块链。它预计将于 2018 年的 Q4 发布 <注 8>。一句话描述 Ethermint 就是:它是用 Tendermint 共识引擎代替了 PoW 证明的以太坊。这也就使得基于以太坊虚拟机的区块链可以轻松地通过 IBC 与 Cosmos 网络进行交互。

Ethermint 设计的天才之处在于团队计划实现的“hard spoon”。他们将在某个时间点对所有以太坊账户进行快照,并用该状态创建新的 Ethermint 分区。这将帮助他们引导现有的以太坊开发者网络,同时为每个人发放新的代币,并提供更快的交易速度。

选择 Ethermint 而不是 Peg Zone 来“映射”以太坊主网,是因为它在技术上更加容易实现。但是,对于区块链来说,Peg Zone 的存在至关重要。无论对于 Cosmos 还是 Pokaldot,比特币和以太坊背后有太多的动量,忽视它们都是极其冒险的。

Cosmos Hub

在Cosmos 网络中,Cosmos Hub是主链,充当其他所有区块链的中央连接点。它是 Tendermint 驱动的多资产证明的 PoS 区块链。Cosmos Hub 的主要代币是 Atom,其主要用于抵押和链的治理。Cosmos Hub 启动之初有 100 个验证人,并将逐年增加。

Atom 持有者既可以是验证人也可以是委托人。验证人需要设置一个全节点,用于维护网络安全和处理交易。委托人则可以根据他们对验证人的信赖度和节点运行能力的判断,将代币委托给验证人。

验证人会代理 Atom 资产,并从每个出块中获得 Atom 奖励。这些奖励会惠及委托人,只是其中一小部分将被扣留,以用于验证节点的日常运行 <注 5>。

为了保证验证人的诚实性,向区块链发布不正确数据的恶意验证人会失去他们的 Atom 代币作为经济处罚。这种机制称为“罚没(slashing)”。这些博弈理论规则都是为了在PoS 区块链中激励良好行为 <注 5>。

代币也可用于治理。一个 Atom 就可以作为网络任何提案的一票,例如软件升级。Cosmos 的治理协议相当简单。委托人可以自己投票,也可以将他们的投票权转让给他们所委托的验证人。验证人必须在提案提出时参与投票,否则他们会受到惩罚。

主网启动的当前状态

Cosmos 团队目前正对只具备部分功能的测试网进行测试,但他们已经有了准备好用于测试的、非常接近于功能完备的软件版本。团队将在 2019 年 Q3 的某个时间点发布活跃主网。但是,在主网稳定运行前,Cosmos 团队会冻结交易 <注 8>。

一旦主网上线并稳定运行,Cosmos 团队将执行 IBC,并为 Ethermint 进行 Ethereum的“hard spoon” <注 16>。想要对 Cosmos 路线图更深入了解,请点击这里。

Cosmos上的开发构建

开发者有两种方法进行基于 Cosmos 网络的开发工程:构建 IBC 交互的新区块链和在Cosmos Zone 中创建智能合约。Cosmos 团队创建了 Cosmos SDK 以便开发人员可以轻松地在 Cosmos 网络上发布新的区块链。

Cosmos SDK

Cosmos 团队发布了“Cosmos SDK”,让开发人员可以使用简单的模块化方案在 Cosmos 网络上设计自己的区块链。SDK 正用于构建 Cosmos Hub,因此当主网启动时,SDK 也可供开发者构建自己的区块链。Cosmos Hub 可以构建运行于 Cosmos 网络的基础应用程序,之后将为权益抵押,治理和 IBC 添加相应的模块 <注 5>。

这将允许开发者自己使用 SDK,选择基础区块链应用程序,添加治理或股权代理等模块,甚至创建属于自己的模块,并发布可交互的区块链。这是个激动人心的机会,因为它将为开发人员创建一个全新的去中心化平台,而不仅仅是以太坊风靡全球的代币模式。

SDK 是用 Golang 语言编写的, 计划在未来支持别的语言。但在第一年前后,网络中的区块链必须用 Go 编 。

在 Cosmos 上构建 dApp

Ethermint 将是你在 Cosmos 网络上构建 dApp 的第一个工具。由于它是基于 EVM 的区块链,其智能合约可以用 Solidity 编写。Cosmos 网络的交易速度也会提高,因为 Tendermint 共识每秒能够处理比以太坊(基于 PoW 共识机制)多得多的交易。

注 1:Chain Interoperability- Vitalik Buterin, September 2016

注 2: Tendermint Whitepaper

注 3:The Cosmos Network Website

注 4:Understanding the Value Proposition of Cosmos - Cosmos Network Blog

注 5: Cosmos Whitepaper

注 6:A Beginners Guide to Ethermint - Cosmos Network Blog

注 7:The Internet of Blockchains - How Cosmos Does Interoperability, Starting with the Ethereum Peg Zone - Cosmos Network Blog

注 8:Latest in Cosmos Critical Community Update May - Cosmos Network Blog

注 9:Introducing the Hard Spoon - Cosmos Network Blog

注 10: Polkadot Network website)

注 11:Polkadot Whitepaper

注 12: EH18 Gavin Wood - Tech Talks: The Energy Blockchain - Tech Update

注 13:Polkadot Lightpaper

注 14:How Polkadot Tackles the Biggest Problems Facing Blockchain Innovators - Polkadot Network Blog

注 15: Gavin Wood Edcon 2018 Polkadot Presentation

注 16:Now Live - Polkadot Proof of Concept - Polkadot Network Blog

注 17:WebAssembly Wikipedia

原文链接: https://medium.com/@davekaj/blockchain-interoperability-cosmos-vs-polkadot-48097d54d2e2
作者: Dave Kajpust
翻译: orangefans · Eric

本文首发于公众号橙皮书(公众号id:chengpishu),EthFans 经授权转载。

你可能还会喜欢:

引介 | Cosmos 如何与 Ethereum 相连?
引介 | Cosmos 费用代币——介绍 Photon
科普 | 简述 Polkadot 和区块链互联网

评论