# 解读跨链网络 Cosmos 的共识机制及其生态发展

By [Metafund](https://paragraph.com/@metafund) · 2022-03-29

---

Cosmos的跨链核心逻辑是Cosmos Hub通过与兼容链建立IBC连接，从而实现资产和数据的跨链交换。

在多链时代，跨链是区块链行业的一个刚需。DeFi、GameFi等应用层项目对公链本身的性能需求点不同：DeFi对可组合性要求较高，GameFi对并发性能要求较高，SocialFi对重存储要求较高。所以近期各种专注于垂直领域的Layer1或Layer2逐渐诞生，比如专注于GameFi的Ronin，专注于SocialFi的DESO等。

Cosmos的跨链模式非常适合这些专注于垂直领域的公链，Cosmos通过提供模块化的区块链，为各个应用开发者使用适合自己的公链提供便利。Cosmos生态的应用程序和协议使用IBC（区块链间通信协议）进行连接，实现各独立区块链之间的跨主权自由交换资产和数据。 

目前的跨链技术方案主要有四种：

1、公证人机制（Notary Schemes）

2、侧链/中继（Side Chains/Relays）

3、哈希锁定（Hash-locking）

4、分布式私钥控制（Distributed Private Key Control）

Cosmos属于Relays（中继）技术的一个典型案例，另一个案例是Polkadot。Cosmos是通过IBC协议来建立连接实现跨链，而Polkadot是基于XCMP协议通过插槽实现跨链。

本文重点介绍Cosmos的跨链方案。

### 一、Cosmos概述

Cosmos是由Tendermint团队推出的一个支持跨链交互的异构网络。Cosmos的ICO发生在2017年4月，募集了4870 BTC和24w ETH。ATOM没有上限，会以最高20%的年通胀率增发，具体通胀率和质押率负相关，目前的质押率为186M/291M（63.9%），年通胀率为10.05%。

Cosmos的最终目标是创建一个区块链互联网，允许大量自主且易开发的区块链互相扩展和交互。基于Tendermint开发，采用的Tendermint共识算法是一个类似使用拜占庭容错的共识引擎，具有高性能、一致性、具备拜占庭容错等特点。Cosmos基于Tendermint引擎可实现每秒数千笔交易，接近VISA的交易速度。

Cosmos的跨链网络有三个核心的组成部分：中心网络Hub、区域空间网络Zone，跨链协议IBC。

中心区块链网络HUB，是Cosmos的经济中心，也是跨链消息的信任中心。承接的是多资产分布式账本，这些代币资产通过IBC跨链协议，从一个空间转移到另一个空间。除了官方的Cosmos Hub，还有多个跨链Hub可以提供跨链服务，比如IRISnet。

区域空间网络ZONE，是独立的区块链，可以与Cosmos中心网络HUB进行IBC跨链通信、信息交换和资产交换。

IBC协议，IBC（Inter-Blockchain Communication Protocol）是Cosmos的区块链间通信协议，是针对Cosmos网络设计的，依赖其及时最终性的特点，用于Hub与Zone之间消息传递，进而达到跨链的目的。IBC也是Cosmos SDK中的模块之一。

![](https://storage.googleapis.com/papyrus_images/63abcd960162e46eafb5c03aa91b9af9036b0b3aae9652bb561f3380f9eff4fc.png)

Cosmos的跨链核心逻辑：Cosmos Hub通过与兼容链建立IBC连接，从而实现资产和数据的跨链交换。Hub相当于跨链的一个集中市场，是持有数字资产和跨多个链管理账户的最佳场所。Hub需要追踪记录各个Zone的状态，而每个Zone则有义务不停地把自身产出的新区块汇报给Hub。

当Zone对Hub建立了IBC连接后，它可以自动访问其他连接到该Hub上的所有Zone；当Zone通过Hub收到来自其他Zone的代币时，它只需要信任Hub，而不需要信任网络中的所有其他Zone。

IBC究竟是怎么工作的？我们以举例来说明：从ChainA跨链转账10 ATOM到ChainB。

ChainA和ChainB都支持了Cosmos SDK，成为了Cosmos生态的一个Zone。Relayer是一个链下中继负责轮询和路由IBC的数据包，跨链的大致流程如下：

ChainA——Relayer——Cosmos Hub——Relayer——ChainB

其中包括多个环节：

1、Tracking（跟踪）：ChainA和ChainB的IBC模块一直在同步对方链上的区块头信息，通过这种方式，双方能够实现跟踪对方区块链上的验证者集合的变化。本质上，就是相互维护一个对方链的轻节点；

2、Bonding（锁定）：当使用Cosmos跨链转账后，A链的IBC模块会记录该笔转账，ChainA上的10 ATOM将处于锁定状态；

3、Proof Relay（中继证明）：一份证明ChainA 已经锁定10 ATOM的“Proof会被路由到ChainB的IBC模块；

4、Validation（验证）：ChainB结合ChainA的轻节点信息，对这份Proof验证通过后，ChainB会”铸造“10 ATOM Voucher（抵用券），这些Voucher可以进行后续的流通使用。当然，这些Voucher也可以通过相同的跨链方式返回到ChainA，然后ChainA的锁定的ATOM就会执行解锁操作。

### 二、Cosmos的共识机制

Cosmos的共识算法是基于PoS（权益证明）和BFT（拜占庭容错）的共识机制。Hub的质押模块建立在Tendermint BFT共识机制上，使ATOM代币持有者能够通过Staking他们的ATOM来保护Cosmos区块链的安全，并换取交易费用。

目前Cosmos Hub区块链上共有342个验证者，有效验证人150，平均区块时间7.29秒。

Cosmos Tendermint的PoS规则

假设有ABC三个验证人，分别抵押了1、2、3个代币；

![](https://storage.googleapis.com/papyrus_images/823656be65ea5a93863d0bab65b1275f118eeb42b6d12a81510bb4e94d4e2b1d.png)

1、第一轮由于C的抵押资产最多，所以C当选第一轮的提议人；

2、第二轮由于C在上一轮当选过提议人，所以他的Vote\_power变为pre\_votingPower-(stake\_a+stake\_b) 也就是 3-(1+2)==0，而B的 vote\_power 等于pre\_votingPower+stake 也就是2+2==4，同理A的 vote\_power 等于2，那么这一轮中投票权最大的是B，所以B当选提议人；

3、第三轮A的 vote\_power 为3，B的 vote\_power 为2-(2+0)==0，C的 vote\_power 为 0+3==3，由于A排名在C的前面，所以A当选提议人；

4、第四轮A的 vote\_power 为 -1，B的为2，C的为6，所以C当选提议人。

……以此类推。

总体来讲，就是抵押资产最多的人最先做提议人，然后根据抵押资产数量排序，依次轮替。

**Cosmos Tendermint的BFT规则**

BFT是Byzantine Fault Tolerant的简写，这个共识机制可以追溯到拜占庭将军问题。

**拜占庭将军问题**

**拜占庭是东罗马帝国的首都，由于当时拜占庭罗马帝国国土辽阔，每支军队的驻地分隔很远，将军们只能靠信使传递消息。发生战争时，将军们必须制定统一的行动计划。**

**但是这些将军中有叛徒，叛徒会传递错误的消息。所以，将军们必须有一个预定的方法，使所有忠诚的将军达成一致的行动。本质上讲，就是要让拜占庭的将军们在一个有叛徒的非信任环境中建立对战斗计划的共识。**

Tendermint是一个易于理解的BFT共识协议，协议遵循一个简单的状态机原理。那么，Tendermint是如何在无需信任的环境中达成共识的？

协议中有两个角色：

验证者：协议中的角色或者节点，不同的验证者在投票过程中具备不同的权力（Vote Power）；

提议人：从验证者中产生。验证人（提议人）对交易的区块提议并对提议的区块投票，验证者也对提议的区块投票。

区块被提交到链上，且每个区块就是一个区块高度。但区块也有可能提交失败，这种情况下协议将选择下一个验证人（成为提议人）在相同高度上提议一个新块，重新开始投票。

![](https://storage.googleapis.com/papyrus_images/8378f3b87bdb4a6c6b7b3958cb3f593d7c56d73d4f5ddf35122040ee2341fae7.png)

流程：

1、Propose（提议）阶段：Proposer（提议人）会给全网广播一个Proposal（提议）；

2、Prevote（预投票）阶段：每个Validator（验证者）为当前轮中接收到的Proposal（提议）区块签名并广播Prevote（预投票）；

3、Precommit（预提交）阶段：每个Validator（验证者）会判断，如果收集到了超过2/3 Prevote（预投票），那么为这个区块签名并广播Precommit（预提交）投票；如果收集到超过2/3空区块（Nil）的Prevote投票，那么就会释放之前锁定的区块，之后会回到Propose阶段。如果没有收集到超过2/3的Prevote投票，那么它就不会锁定在任何区块上；

在Precommit阶段后期，如果Validator收集到了超过2/3的Precommit投票，那么Validator进入到Commit阶段，否则进入下一轮的Propose阶段；

4、Commit（提交）阶段：Validator收到了被全网Commit的区块，Validator会为这个区块广播一个Commit投票；Validator需要为被全网络Precommit的区块，收集到超过2/3的Commit投票。在整个共识过程中，只要节点收到2/3 Commit投票，那么它就会立刻进入到Commit阶段，并且将CommitTime设置为当前时间，然后进入NewHeight阶段（新区块）。 

简单地说，要成功提交一个区块，必须分别在Prevote和Precommit阶段有超过2/3的验证者投票。只要少于1/3的验证者是拜占庭节点，那么Tendermint就能够正常出块，只要不超过2/3的验证者是拜占庭节点，那么Tendermint就不会产生恶意区块。

那么，Tendermint如何将底层共识传递到状态层？ 

Tendermint主要包括两部分：Tendermint Core，区块链共识引擎，负责节点之间数据传输以及拜占庭共识；ABCI，区块链应用程序接口（Application Blockchain Interface），也是一个协议，支持任何语言的交易处理实现。

总体而言，Tendermint可以理解为一个模块化的区块链软件框架，支持开发者个性化定制自己的区块链，而不需要考虑共识以及网络传输的实现。

![](https://storage.googleapis.com/papyrus_images/a5f8f8e15369a5209f84d971556fd3d81c1eb0a4741696a96c67f8ff3eeb2edf.png)

Tendermint是将区块链应用（状态）与底层共识进行了分离，共识引擎和P2P网络封装在Tendermint Core，然后通过ABCI（区块链应用程序接口）与Cosmos SDK交互。基于这种架构，应用的开发者可以方便地实现自己的区块链。

![](https://storage.googleapis.com/papyrus_images/e4c07c688a2a4206e87c5bf9a49c342198d4540f50cae063a66f0bed608d2ccf.png)

Cosmos SDK包含了Cosmos Hub的程序代码，同时也是一个区块链开发框架，可以为其他区块链开发者提供一些通用的功能模块，比如：IBC、账户、治理、认证等。其中IBC就是跨链的关键协议：区块链间通信协议。

Cosmos通过SDK的形式将共识算法和网络模块封装起来，形成一套开箱即用的区块链开发框架。

综上，理论上Cosmos解决了当今最困难的三个区块链问题：

1、可扩展性：Tendermint共识机制可以理解为投票一致系统，基于PoS和BFT算法，PoS选出提议人，BFT机制下只要有2/3节点是诚实的，就能保障投票结果一致；

2、可用性：Cosmos SDK这种模块化的框架，可以非常方便地构建可互操作、特定于应用程序的区块链；

3、互操作性：Cosmos通过IBC通信协议实现HUB与ZONE之间的跨链通信，实现了类似TCP/IP的作用。

### 三、Cosmos的跨链生态

据官网数据，截至目前Cosmos生态已经有12个大类共计247个项目，总市值接近1500亿美元，俨然已经发展成为仅次于以太坊生态的第二大区块链生态。

![](https://storage.googleapis.com/papyrus_images/524105b38d01df11b98b66549514fce79828f749de3fa47fe7fcef4aa2624a84.png)

Cosmos生态中的头部项目包括：Osmosis、Cosmos、Stargaze、Juno、Umee、Terra、Chihuahua、Crypto.org、Injective、Cronos、Secret、Axelar、Sifchain、Akash、Comdex、Persistence、Gravity Bridge、Sentinel、Desmos、KiChain等。

**Cosmos Hub的基础设施**

**1、Gravity DEX**

使用户能够无缝交换来自整个跨链的数字资产。该协议通过将AMM机制与订单簿结合的模式来改进现有设计，提供更丰富、更高效的交易体验。

Gravity DEX对于在Cosmos生态内的真实用户而言，就好比是小区里的便利店。做大规模投资交易的时候也许不会选择Gravity DEX，但是跨链过程中需要配置一些资产的时候会很方便。

不过，为了保持Cosmos Hub的“Credible Neutrality”的核心精神，开发团队将会把Garvity DEX迁移到单独的区块链Crescent Network。

**2、Gravity Bridge**

Gravity Bridge是Cosmos生态基础设施的一部分，是一个安全、高效、去中心化的跨链桥。它基于Cosmos Hub上质押的数十亿美元ATOM，将Cosmos资产以ERC-20代币的形式流入以太坊生态，同样的以太坊生态的ERC-20代币也可以流入Cosmos生态。

Gravity Bridge是由Althea团队研发，拥有自己的代币GRAV。

**3、域名服务**

Cosmos生态的域名服务将在Cosmos Hub上进行管理，它们将使Interchain的用户更容易识别他们想要与之交互的链。

**4、Liquid Staking**

流动性质押将成为跨链DEFI空间中的一个重要原语，流动性质押的核心是针对质押的ATOM的索赔。就像质押的ATOM一样，流动性质押会产生质押奖励，但与一般的质押不同，流动性质押是流动的，质押的ATOM可转移。由于它们代表质押的ATOM，因此如果基础ATOM被削减，流动质押有被烧毁的风险。

**Cosmos Zone的核心项目**

这个图显示的是IBC Transfers最活跃的Zones。目前Cosmos生态中总共有43 个Zones，其中42个是活跃的（有IBC Transfers）。

![](https://storage.googleapis.com/papyrus_images/8b231bed4b3fb920ce635ca7b953f95ec92fd62dd521872b6a43b10290c3f68d.png)

与去年相比，今年的IBC Transfers数据有大幅增长。2021年Cosmos生态的活跃Zones全年IBC Transfers为580万次,但最近30天，IBC Transfers的数量已经超过1300万次。

![](https://storage.googleapis.com/papyrus_images/fad1b739a397ff309d0e4ecd93e0626a4b46cebda290253074d855d4b99ac6d1.png)

**1、Osmosis（OSMO）**

这是一种使用Cosmos SDK构建的高级AMM协议。迄今为止吸引了7亿美元的流动性，并且交易支持IBC的代币，总交易量已经超过95亿美元。Osmosis已经成为将IBC推向市场的关键力量。

值得关注的是，osmosis是Paradigm首次投资以太坊生态外的AMM机制的DEX项目。

**2、Terra（LUNA）**

2021年10月份，Terra启用了IBC，为Cosmos生态带来了超过180亿美元的流动性资产以及其原生LUNA代币和稳定币UST。

如此大规模的公链加入IBC生态，极大鼓舞了Cosmos社区的士气，也让更多人关注到Cosmos跨链生态的发展现状。也正因为这些头部项目的加入，助力Cosmos生态发展为仅次于以太坊生态的第二大经济体。

**3、Juno**

Juno是Cosmos生态中的公链，为可互操作的智能合约的部署提供环境。目前基于Juno构建了50多个应用程序还有2000多个DAO。

近期，Juno Network发生了一个引发社区热议的事件。社区发起了一项“征收巨鲸资产”的提案，引发人们对区块链世界“Code is Low”的再度思考。

**4、Kava**

Kava是依托于Cosmos跨链的DeFi平台，类似于MakerDAO。用户将抵押品存入抵押债务智能合约，获得稳定币USDX。

Kava加入Cosmos生态后，从单一的应用程序区块链发展成为拥有超过20亿美元链上价值的协议，也取得了巨大的成功。

**5、Sifchain**

SifeChain是第一个Cosmos到Ethereum的跨链DEX。2021年初将其从Cosmos到Ethereum的Peggy桥集成在一起。Peggy使用挂钩代币，以便用户可以更便宜地在IBC代币和ERC20代币之间轻松交换和汇集，并且比任何基于以太坊的DEX更有效。

**6、Secret Network**

Secret Network由Secret Foundation创立，基于Tendermin 和Cosmos SDK搭建，是一条基于Cosmos的隐私公链。Secret Network上所有数据都是加密的，想看到具体的交易数据必须要有对应的Viewing Key。

Secret Network结合了隐私保护、扩展性和跨链等特征。

**7、IRISnet**

IRISnet是Cosmos生态的一个跨链枢纽（Hub），支持全新的业务场景集——企业级的分布式应用。为Cosmos生态增添了规模和多样性。

除了上述项目外，Cosmos生态还有非常多知名的Zone，在此不表。后续文章会对Cosmos生态内的知名项目做进一步深度研究分享。

### 四、关于Cosmos的思考

**1、ATOM的价值捕获比较弱**

ATOM初始供应量2亿枚，采取通胀模型，第一年按照7%的通胀率增发，用于节点奖励。之后每一年的增发通胀率会随着抵押率的波动而变化——质押率高于2/3时，年通胀率最低为7%；质押率较低时，年通胀率最高可达20%；目前的质押率为63.9%，年通胀率为10.05%。

除了加入节点验证者的Staking收益外，近两年ATOM的持币人更多的收益来自生态项目的空投。

Cosmos生态的新链普遍喜欢使用Airdrop的激励方案来吸引Cosmos社区成员的关注。2021年有Osmosis、Juno、Regen、Sifchain、Persistence、Comdex和Desmos等Cosmos生态项目做了空投营销。

ATOM持有者必须将其代币与Cosmos验证者一起质押，才能收到空投代币。而且不能质押在交易所类节点，因为Cosmos社区的空投普遍都会将交易所节点排除在外。

2022年，Cosmos生态还将有许多项目可能会推出空投，涵盖NFT、SocialFi、DeFi、GameFi等领域，包括Evmos、Umee、Gravity Bridge、LikeCoin、Game、Stargaze、BitSong和Cyber。同样需要确保你的ATOM处于正确质押状态。

在跨链领域，Polkdot的DOT同时为中继链和平行链提供共识层的安全，并收取一定费用，也是一种价值捕获的方式，但Cosmos的ATOM只负责Cosmos Hub的安全性。与DOT相比，价值捕获方面似乎有所差距。

在区块链生态方面，Cosmos生态发展已经仅次于Ethereum，但ATOM并未像ETH一样捕获到生态发展的足够多价值，甚至连生态内的单个Zone类代币的市值也比ATOM高，比如LUNA、MATIC。许多使用Cosmos SDK开发的链，比如币安链、Polygon，对ATOM的价值好像基本没有贡献。

对于ATOM持币者而言，这可能是一个小缺陷，但这也许恰恰更利于Cosmos生态的发展壮大。

**2、真正重要的是区块链间通信协议IBC**

在Cosmos生态是多中心、多Hub的，在未来人们关注更多的可能是IBC的使用，而不是Cosmos Hub或者其他的Hub。

Cosmos被称为“区块链的互联网”，核心就是要做区块链之间的跨链通信。也许在未来，Cosmos生态中会有很多公链、应用协议等发展得非常好，比如Terra等。

它们虽然属于Cosmos生态，但实际上于这些头部公链而言，Cosmos生态最有价值的是IBC，而不是Cosmos Hub。这也更符合区块链的去中心化精神，跨链项目的核心在于解决区块链的孤岛问题，而不是自己发展成为新的中心。

---

*Originally published on [Metafund](https://paragraph.com/@metafund/cosmos)*
