Download as pdf or txt
Download as pdf or txt
You are on page 1of 25

111111111111111111111111

Cosmos:区块链的互联网

目录
一、 概述..................................................................................................................................................1
1. Cosmos 是什么............................................................................................................................ 1
2. 开发团队..................................................................................................................................... 2
3. 融资情况..................................................................................................................................... 2
二、 Tendermint..................................................................................................................................... 2
1. Tendermint 是什么.................................................................................................................... 2
2. Tendermint 的优势.................................................................................................................... 6
三、Cosmos SDK....................................................................................................................................... 7
四、 网络结构..........................................................................................................................................8
1. Hub 和 Zone..................................................................................................................................9
2. 区块链链间通信——IBC 通信协议...........................................................................................9
3. 与系统以外的异构链的 Bridge——Peg Zone...................................................................... 12
五、验证人的经济机制......................................................................................................................... 14
1.验证人......................................................................................................................................... 14
2.委托人......................................................................................................................................... 15
3.Atom............................................................................................................................................. 15
4.Photon......................................................................................................................................... 15
5.激励............................................................................................................................................. 16
6.链上治理..................................................................................................................................... 16
六、应用场景......................................................................................................................................... 16
1.去中心化交易所......................................................................................................................... 16
2.基于 Cosmos 搭建的区块链....................................................................................................... 16
七、发展进度......................................................................................................................................... 17
八、社群发展......................................................................................................................................... 18
九、总结..................................................................................................................................................19
一、概述

1. Cosmos 是什么
如果说比特币是区块链 1.0,将网络层、共识层和应用层搭建在了一起,而
以太坊是区块链 2.0,基于以太坊虚拟机编写分布式应用从而简化了网络层和共
识层相关细节的处理,那么 Cosmos 可以理解为是区块链 3.0 版本。针对现有的
区块链网络之间的“孤岛效应”,Cosmos 希望成为“区块链的互联网”,解决
区块链的互操作性问题。
Cosmos 的核心技术是 Tendermint 共识引擎和区块链链间通信协议(IBC 协
议)。Tendermint 提供了基于拜占庭容错的共识算法,而 IBC 协议解决了区块
链之间跨链交互的问题,支持不同区块链之间的资产转移。
Cosmos 还开发了一个子项目——Cosmos SDK,为基于 Tendermint 开发应用
提供了便利性,据说 Polkadot 的 Substrate 项目就是从 Cosmos SDK 中获得的灵
感。
Cosmos 的网络结构由多个区块链构成,其中第一条区块链叫 Hub,Hub 周围
连接着各条独立的区块链,称为 Zone,Zone 与 Zone 之间通过 IBC 协议进行价值
转移。

(图一:Cosmos 整体架构)

1
2. 开发团队
Cosmos 区跨链项目是互联链基金会(Interchain Foundation,又称“ICF”)
的第一个项目。ICF 位于瑞士楚格,其成立的目标就是推动 Cosmos 成为区块链
的互联网,解决区块链的互操作性问题。Cosmos 的创始人和核心开发人员是 Jae
Kwon,同时也是互联链基金会的主席。Jae Kwon 拥有康奈尔大学计算机科学博
士学位,先后在硅谷的 Alexa 和 Yelp 担任核心开发人员。Jae Kwon 和 Ethan
Buchman、Zarko Milosevic 在 2014 年联合创建了 Tendermint,希望将区块链从
工作量证明挖矿的成本和缺陷中解放出来。

3. 融资情况
Cosmos 在 2017 年 4 月 6 日进行了 ICO,在半个小时的众筹时间里,大约 1000
名投资者共计投资 4880 个比特币,224689 个 ETH,筹集了约 1680 万美元。发放
总量 2 亿枚 Atom 代币,分配是:ICO 的销售占 75%,天使投资人占 5%,ICF
(Inter-chain Foundation)基金会 10%,团队保留 10%。ICO 的基准价为 10 美
分,战略投资人和早期投资者分别有 25%和 15%的折扣。

二、Tendermint

1. Tendermint 是什么
Tendermint 是 Tendermint 团队基于 POS 开发的共识引擎,也是 Cosmos 的
核心技术。Tendermint 是一种可以在多台机器上安全地、一致地复制应用程序
的软件。所谓安全性,指的是即使多达 1/3 的机器(节点)以任意方式出现了故
障,Tendermint 仍然可以正常工作;而一致性指的是每台没有故障的机器都能
看到相同的交易记录并计算出相同的状态。安全一致的复制功能在分布式系统中
起着非常关键的作用。

2
(图二:Tendermint 系统结构图)

Tendermint 系统由两个组件组成,即 Tendermint 共识引擎和通用的应用接


口。

1.1 Tendermint Core


Tendermint 共识引擎又叫 Tendermint Core,是 Tendermint 的核心模块。
Tendermint Core 是一种底层协议,由共识算法和 P2P 网络通信组成。
Tendermint 中的节点分为两种,一种是验证人节点(Validator),验证人
节点负责提出区块并根据其享有的权限大小参与共识投票,另一种是非验证人节
点(Non-Validator),不参与共识投票,负责广播信息以及向验证人节点传递交
易信息。Tendermint 采用基于 BFT(拜占庭容错)的 POS 共识算法,可以用来做
区块链中的 BFT 共识机制引擎,而不同的区块链则是该引擎上的各种应用。基于
BFT 的 POS 协议会伪随机的安排一个验证者在多轮投票的过程中提出一个区块,
但是提交和最终化区块需要超过 2/3 验证者的签名方可通过。这个过程可能需要
循环进行多轮才能将区块最终化。BFT 最多可容许 1/3 节点故障或者恶意攻击。
1
Tendermint 共识以加权的轮询方式在验证者集合(即新区快的提出者们)中循
环产生,每一轮共识需要经过三个回合:验证者提出区块、发送提交意图、剩余
验证者签名后提交新的区块,具体的实现方式是,验证者在每个新的块高度轮流
提出一个块,然后用该验证者相应的私钥进行签名,剩余的验证者对提案投票,

1
《共识算法的比较:Casper vs Tendermint》

3
如下图所示:

(图三:Tendermint 共识流程)

上图所展示的流程就是 Tendermint 进行一轮共识的流程,分为 propose(提


出块)、pre-vote(预投票)、pre-commit(预提交)、commit(提交)和 New
Height(新块)几个步骤。其中 commit 和 New Height 是最终的步骤,在到达
commit 和 New Height 之前,可能会因为出块节点掉线、提出的块无效、投票数
没有达到总投票权限 2/3 以上等原因,在前三个步骤中进行多轮的循环。为了保
证验证人永远不会在同一高度重复提交区块,Tendermint 设计了锁定机制。
(1)Propose:享有出块权的验证人提出一个块,并且通过 gossip 广播一
条请求给其他所有的节点;
(2)Pre-vote:其他验证人就提出的块进行预投票,可能会出现两种结果,
一种是没有及时接收请求或者块无效,则投 Nil(无效)票,另一种是区块有效,
则通过这一轮的预投票。
(3)Pre-commit:根据前一轮预投票的结果,如果收到了超过 2/3 的
pre-vote 票,就会广播一条 pre-commit 票,同时验证人会被锁定在这个区块上,
如果预投票阶段投的是 Nil 票,则在预提交阶段验证人会被解锁,然后继续对新
块进行下一轮的预提交;
(4)Commit:当收到超过 2/3 的 pre-commit 时,区块被提交,然后进入

4
下一轮共识,如果前一轮投票失败,则直接进入下一轮共识;
(5)New Height:当上一轮 commit 结束后,就会出现新高度,意味着新的
一轮共识开始。
无论是预投票还是预提交阶段,都需要获得超过 2/3 的投票才能进入下一阶
段。验证人通过抵押 Atom(Cosmos 网络原生代币)而获得投票权益,因此这里
说的 2/3 并不是指验证人数量的 2/3,而是指所有权益的 2/3,这类似于现代公
司法中,股东的表决权取决于股东所持有的股份而非股东人数。

1.2 通用的应用接口(ABCI)
通用的应用接口又叫 ABCI(Application BlockChain Interface) 接口。
ABCI 是定义复制引擎(区块链)和状态机(应用程序)之间边界的接口,它把
共识引擎和应用层的逻辑进行解绑,可以帮助实现基于同一引擎上的高度定制化
的 App 应用程序。通过一个满足 ABCI 标准的 Tendermint Socket Protocol
(TSP),
Tendermint 共识引擎可以管理搭建在 Tendermint Core 上的应用程序状态,应
用程序可以使用任意程序编写,这给了开发者极大的便利性。
ABCI 主要包含了三个消息类型,分别是 CheckTx、DeliverTx 和 Commit:
CheckTx 用于验证交易。TendermintCore 中的 Mempool(即内存池)首先通
过 CheckTx 来检验一笔交易的有效性,并且只将有效的交易中继到其他的节点;
DeliverTx 是应用(Application)的主要部分,通过此消息真正执行交易,
包括验证交易、更新应用程序的状态;
Commit 消息通知应用程序计算当前的状态,并存在下一区块头中。

5
(图四:ABCI 工作原理)

2. Tendermint 的优势

(1)高适用性
Tendermint 对于开发人员是友好的。Tendermint Core 提供了共识引擎,基
于共识引擎和 ABCI 接口,开发者只需要实现应用程序即可,因此无需在每个应
用程序之前搭建网络协议和共识算法,大大简化了开发流程。同时,不同于
Polkadot 中平行链的安全来自于中继链,即接入的平行链与中继链必须有相同
的共识,Cosmos 中通过 ABCI 接口搭建在 Tendermint Core 之上的区块链,不论
是公链还是私链,都不需要有相同的共识,增强了不同链之间的相容性。

(2)高吞吐
由于 Tendermint 的高性能,它将具有很高的吞吐量,提高了效率,通常根
据验证者数量的不同,只需要 1-3 秒。

(3)即时最终性
在区块链的共识机制中,POW 共识没有最终性,因为为了保证去中心化的程
度,牺牲了一部分的最终性,因此每确认一个区块,达成共识的可能性也在增加,
分叉的可能性逐渐减小。例如比特币通常需要全网确认 6 个新的区块,才能保证
一笔交易的安全。但是根据上文所展示的 Tendermint 的共识流程,在每一轮共
识结束后即可提交一个新的区块,随后享有出块权的验证者节点重新出块,进入
新一轮共识,这意味着,每一轮共识结束即完成最终确定。因此,Tedermint 具
有即时最终性的优点,系统因此也不会出现分叉的问题。
(4)安全性保证,永不分叉
Tendermint 保证不会分叉,这要归功于 BFT 共识和 Lock Block。假设有小
于总节点 1/3 的拜占庭节点,当一个验证者在 R 轮提交了一个块,那么至少有
2/3 节点在 R 轮投了 Pre-commit,这意味着至少有大于 1/3 节点被锁在了 R`轮
(R`>R),如果在第 R`轮有针对同一区块高度的投票,由于大于 1/3 的节点被
锁住,那么就不可能有大于 2/3 的节点可以 pre-vote,因此无法在同一高度上

6
2
达成一个新的区块,所以也就不可能分叉。

三、Cosmos SDK
Cosmos SDK 是 Cosmos 的一个子项目。在 Tendermint Core 和 ABCI 的基础
上,为了进一步便于开发人员进行区块链开发,Cosmos 团队设计了 Cosmos SDK。
Cosmos SDK 是一个用 Golang 语言编写成的用于创建符合 Tendermint ABCI 接口
的 APP 的应用程序。

(图五:Cosmos SDK 架构)

Cosmos SDK 将一些通用模块标准化,比如共识、IBC 通信协议、治理等。开


发者在使用 Cosmos SDK 开发的时候只需要在 Cosmos SDK 已经提供的标准化的模
块的基础上,再进一步实现应用程序特有的 Plugin(插件)即可。

2
假设高度为 H 的块 b 在第 R 轮达成共识。给出如下条件:
•x 表示在第 R 轮已经 Commit 的节点,均为诚实节点,x < 1/3。
•y 表示拜占庭节点,可以做任意事情,y < 1/3。
•z 表示剩余节点,z > 1/3,因为已经有 x 个节点 Commit,则肯定有 z0 个节点对 b 投了 precommit 票,
z0 < z。
需要证明,当 x 个节点 commit 之后,剩余(也就是 y + z)的没有 Commit 块 b 的节点不会对另外一个
块达成共识。
也就是说需要证明:y + z - z0 < 2/3,假设所有的拜占庭节点都对 b 投了 Precommit,则满足:x + y +
z0 > 2/3。
简而言之,要从 x + y + z0 > 2/3 证明 y + z - z0 < 2/3。
我们通过反证法来证明:
假设 y + z - z0 > 2/3,也就是在第 r 轮之后有可能造成分叉,则:
x + y + z - z0 > 2/3 + x => 1 - z0 > 2/3 + x => x + z0 < 1/3。
而上面我们提到了,因为 x 节点已经 Commit 块 b,则 x + y + z0 > 2/3,且 y < 1/3,则说明 x + z0 必
须大于 1/3。由此证明,y + z - z0 < 1/3 成立,在第 R 轮之后无法对另一个块达成共识,也就不可能
出现分叉。
——《Tendermint 共识算法》

7
(图六:Cosmos SDK 组件)

Cosmos SDK 将区块链功能划分为客户端(Client)、服务器端(Server)


和 ABCI 程序(APP)。
(1)客户端提供操作的接口,比如转账、查询等等。
(2)服务器端和客户端对应提供服务端的实现(REST 接口)。
3
(3)APP 是区块链业务逻辑实现。
这些功能模块建立在 Stack 模块之上,而 Stack 模块又细分成一个个 module
(组件),每一个 module 又有其各自的功能,比如 IBC 通信协议用于跨链、auth
定义了一个标准的多资产账户结构(BaseAccount),开发者可以直接嵌入自己
的账户体系中等等。

三、网络结构
Cosmos 网络由枢纽 Hub 和同构链 Zone 构成,同构链之外的异构链则通过 Peg
Zone 连接进来。为了实现区块链间的互操作性,Cosmos 网络采用了 IBC 通信协
议,支持具有即时最终性的链之间的通信。

3
《Cosmos 项目以及 SDK 介绍》

8
(图七:Cosmos 网络结构)

1. Hub 和 Zone
Cosmos 系统采用了 Hub(也叫“中心”或“枢纽”)和 Zone(分区)的模
式。Hub 和 Zone 都是搭建在 Tendermint Core 上,使用 Cosmos SDK 开发的区块
链。
Hub 是 Cosmos 生态中的第一条公共区块链,是 Tendermint 驱动的多资产证
明的 POS 区块链。虽然 Hub 通常被翻译成“中心”,但并不意味着 Cosmos 网络
是个中心化的结构。
Cosmos Hub 在整个系统中扮演着中央代币账本的角色,负责记录整个网络
的状态,可以承载多种分布式账本资产,用户可以在其中持有 Token。Zone 是一
条独立的区块链。
在 Cosmos 系统中,一个 Hub 连接了多个 Zone,各条 Zone 独立运行,每个
Zone 只负责管理自己这条区块链的状态,这也就实现了 Cosmos 的可扩展性和互
操作性。
Hub 充 当 各 条 Zone 之 间 的 路 由 器 , 通 过 区 块 链 链 间 通 信 机 制
(Inter-Blockchain Communication Protocol),即 IBC 通信协议,来支持 Zone
之间的消息路由,包括 Zone 之间的代币转移,同时又保持发生信息交互的 Zone
的状态不变。
由于 Hub 和 Zone 之间使用 IBC 机制来实现消息路由,因此 Zone 的功能只需
要实现专用程序的开发。通过发布“梅克尔证明”作为信息已经发送和接收的证
明,将信息包从一个 Zone 传递到另外一个 Zone。一个 Zone 会跟踪自身的状态,
4
以及它所连接的 Hub 的状态。

2. 区块链链间通信——IBC 通信协议
跨链是 Cosmos 网络的重要特性。通常要实现跨链,需要做到:
a.共识算法需要具备及时最终性,也就是说在出块之后,需要能够快速确
认为不可逆(固定不变)。

4
《区块链扩展之路:Plasma 和 Cosmos(二)》

9
5
b.交易确认需要高效独立的证明方法,目前的做法是基于 Merkle 证明。
由此,Tendermint 可以轻松实现,而 Cosmos 的 IBC 通信协议联通了不同的
区块链,为链与链之间的价值转移搭建了桥梁。
IBC 协议支持基于 Tendermint 共识引擎搭建的区块链之间的通讯,实现了
两个复制的容错状态机之间的价值转移,为链间通信提供了非常大的灵活性,这
对于解决区块链之间的可扩展性和互操作性极为重要。IBC 协议允许多个应用程
序独立运行在自己的区块链上,保持自己的状态和逻辑,在没有受信任第三方的
情况下创建复杂的链间进程。
IBC 协议提供了两个核心交易类型的数据包,分别是 IBCBlockCommitTx 和
IBCPacketTx。

(图八:IBCBlockCommitTx 和 IBCPacketTx 工作原理)

IBCBlockCommitTx 的功能是将需要发送信息的这条链最新的区块头部信息
传递到接收信息的链。接收链因此获得了发送链最新的 Merkle Root。
IBCPacketTx 的功能是传递跨链交易本身的信息,及其在发送链中被打包的区块
信息。这个信息是发送链上的 Merkle Proof。如上图所示,当 Zone1 发送一个
IBCBlockCommitTx 到 Hub 上,Hub 获得了 Zone1 的 Merkle Root,当 Hub 继续接
收到来自 Zone1 的 IBCPacketTx 时,Hub 又获得了 Zone1 的 Merkle Proof。Hub
因此可以用 Merkle Proof 去验证 Merkle Root,从而知道从 Zone1 发送到 Hub
的这个交易是否是有效的。同理,从 Hub 发送到 Zone2 也遵循了这样的一个过程。
两条同时基于 Cosmos 底层开发的区块链,为了实现链间通信,连接过程如
下:

5
《深度剖析区块链跨链技术 Cosmos(下篇)》

10
假设有 A 链和 B 链,A 链需要在 B 链上注册,同样的,B 链也要在 A 链上注
册。以 A 链在 B 链上注册为例,这一操作的目的有两个,一是 A 链将 B 链验证者
集合以及可信的消息头保存在 A 链的安全数据存储中,这样 A 链就可以验证 B
链信息的正确性和来源的可靠性。二是为 B 链创建两个可靠队列,一个 outgoing
队列(ibc:<B 链>:out)用于存放所有以 B 为目的地的传出数据包,一个 incoming
队列(ibc:<B 链>:in )用于存放所有来自 B 的传入数据包连同它们的执行结果。
6

(图九:IBC 通信过程)

上图展示了跨链的具体工作流程。如果我们想发起一个从 Zone A 到 Zone B


的代币转移:
第①步,客户端将交易发送给 Zone A,Zone A 对交易进行 IBC 消息逻辑处
理,主要对交易的逻辑进行检查,比如 Zone A 中是否有足够的代币(没有足够
的代币,当然无法转移到 Zone B 上),如果交易有效,则进入第②步;
第②步生成一个 outgoing 队列(也就是图中的 ibc:<Hub>:out),存放以
Hub 为目的地的传出数据包,这个数据包包含了 Zone A 最新的区块的头部信息。
第③步,通过中继程序,Zone A 发送 IBCPacketTx 数据包到 Hub 中。由于
Hub 已经拥有了 Zone A 交易中从 outgoing 队列输出的 IBC 数据包,数据包中含
有 Merkle Root,因此 Hub 可以用 Merkle Root 去验证 IBCPacketTx 数据包中的
Merkle Proof,以此验证交易是否有效。

6
《Cosmos 互联链通信技术规范(上)》

11
通过前三步,完成了从 Zone A 到 Hub 的消息传递。随后 Hub 需要将交易信
息传递到 Zone B 上,过程与 Zone A 到 Hub 的过程是一样的原理,因此不再赘述。
当 Zone B 收到交易后,需要将 IBC 数据包存储在 incoming 队列(也就是图中的
ibc:<Hub>:in),以证明它已经被处理过,也就是“收据”。收据按照图中⑥、
⑦、⑧和⑨四个步骤反馈给 Zone A.Zone A 到 Zone B 的交易传递即完成了。
需要强调的是,在阐述 IBC 的工作原理的时候,我们通常会用到“转移”、
“发送”类似的字眼,但实际上,跨链交易的过程并不是同一个代币从一个 Zone
移转到另一个 Zone 的过程,而是更像“冻结与创造”的过程,跨链交互时,Zone
A 里的代币会首先被冻结,然后在 Zone B 中创造相同价值的另一种代币,所以
用户最后获得的是 Zone B 中创造出来的代币,而不是 Zone A 中原有的代币。

3. 与系统以外的异构链的 Bridge——Peg Zone


Cosmos 系统中的区块链通过 IBC 通信协议实现跨链,解决了互操作的问题。
但是需要注意的是,IBC 协议只有在发送链和接收链都具有即时最终性时才能发
生作用。基于 Tendermint 和 Cosmos SDK 开发的区块链都具有即时最终性,但是
基于 POW 共识算法搭建的区块链是没有最终性的,只能尽可能降低分叉的风险,
而无法绝对阻止分叉。为了将这种类型的区块链连入 Cosmos 网络,团队设计了
Peg Zone 的解决方案。Peg Zone 为这些不具有最终性的区块链创造最终性,通
过设定一个“最终性阈值”,当区块链中新增的区块到达这个阈值,即具有了“伪
最终性”。

12
(图十:Peg Zone 架构)

我们以以太坊为例,Peggy 由五个部分组成,分别是以太坊智能合约、挂钩
分区(Peg Zone)、见证人(Witness)、签名者(Signer)和中继器(Relayer):
(1)以太坊智能合约负责保管以太坊和 Cosmos 中的代币,起资产保管人的
作用;
(2)挂钩分区(Peg Zone)是建立在 Tendermint 上的一条链,用于连接不
同的区块链,允许用户执行或者查询交易,这是以太坊和 Cosmos 进行通信的方
式;
(3)见证人(Witness)能够证明以太坊中发生的事件,100 个区块(也就
是最终性门槛)产生之后,见证人会在不具有最终性的区块链上实现伪最终性,
它运行一个完全验证的以太坊节点,以便通过将 WitnessTX 提交到挂钩分区中
来证明以太坊中的状态更改,在 Peggy 中使用了一个共享的安全模型,让一组
Cosmos 枢纽验证人同时作为挂钩分区的见证人;
(4)签名者(Signer)使用以太坊能够解析的 secp256k1 签名方案对信息
进行签名,以便智能合约能够高效地验证签名。签名组件通过 SignTx 消息生成
一个 secp256k1 签名并将其发布到挂钩分区中,以便在管道中的智能合约中转
发交易进行验证;
(5)中继器(Relayer)批量转发交易信息,这些交易由签名者模块进行签
7
名后被转发到以太坊智能合约中。
那么如何将 Cosmos 中的代币转移到以太坊中去呢?以 Cosmos 中的 Photon
(光子)代币为例,首先 Hub 上的代币通过 IBC 协议转移到挂钩分区中,签名者
使用 secp256k1 签名方案对发送到挂钩分区上的 IBC 数据包进行签名,等到中
继器看到超过 2/3 的签名者完成了签名,就将附有签名的交易列表批量转发到以
太坊智能合约运行的虚拟机上,以太坊智能合约会检查交易列表是否有效,如果
有效,就会生成 REC20 版本的 Photon 代币,然后发送到用户的以太坊地址上。
用户可以在去交易所将 ERC20 的 Photon 代币换成 ETH。
那么两条 Peg Zone 之间又是如何进行代币转移的呢?假设我们需要将 1 个

7
《The Technicals of Interoperability—Introducing the Ethereum Peg Zone》

13
BTC 通过 Cosmos 网络传递到以太坊网络中去。
首先,将 1BTC 发送到比特币的 Peg Zone 中,BTC 随即被锁住,然后比特币
Peg Zone 会生成一个对应 BTC 的原生代币,暂且称之为 CosmosBTC。
随后 CosmosBTC 将被发送到一个可以交易的 Zone 中,类似于去中心化交易
所(DEX),因此我们将这个 Zone 称为 DEX Zone。
CosmosBTC 会被锁在比特币 Peg Zone 中,然后通过 Hub 将 proof 发送到 DEX
Zone 上,一旦 proof 到达了 DEX Zone,就会寻找验证人,当有超过 2/3 的验证
人 确 认 了 有 特 定 的 CosmosBTC 被 锁 定 , 那 么 DEX Zone 区 域 就 会 创 造 一 个
CosmosBTC’。
于是在 DEX Zone 上,我们可以通过交易将 CosmosBTC’换成 CosmosEthereum,
再通过对称的过程,将 CosmosEthereum 发送到以太坊的 Peg Zone 上,然后获得
1BTC 对应的相应数量的以太坊。

( 图十一:Peg Zone 之间的价值转移过程 )

五、验证人的经济机制

1.验证人
验证人通过验证和中继交易,提出、核实和确认区块来确保 Cosmos Hub 的
安全。验证人可以抵押 Atom,也可以接受委托人的委托。验证人自身绑定的及
接受委托的 Atom 的总量,将会影响验证人是否享有出块权以及投票权限的大小。

14
目前,网络中设定验证人数量的上限是 100 人,这也就意味着,绑定及接受委托
的 Atom 的数量最多的前 100 人才有资格成为验证人。如果验证人解绑 Atom,需
要等待三周的时间才能收回 Atom。如果验证人不能保持在线,那么大约几个小
时后,它就会被迫解绑。具体的时间和罚没 Atom 的比例将与验证人抵押总量和
当时网络中其他离线验证人数量有关。但是委托人在验证人在解绑后可以立即委
托,验证人即可恢复身份,如果委托人没有将代币委托给其他人,那么委托人的
代币又会自动重新委托给验证人。

2.委托人
Cosmos Hub 中的委托人也是 Atom 的持有者。委托人本身不具有运行验证人
节点的能力,因此委托人会将持有的 Atom 委托给验证人,并把投票权限也委托
给验证人。如果验证人作恶,那么委托人所抵押的部分代币就会被罚没而受到损
失。但作为回报,委托人也可以获得一定比例的交易费用和区块奖励。

3.Atom
Cosmos 网络的原生代币是 Atom,Atom 的核心作用是作为一个权益抵押机制
来确保 Hub 在权益证明过程中起到押金作用。Cosmos 网络中的 Atom 数量并不是
恒定的,抵押的 Atom 会按照一定的比例发生通货膨胀,每个块因为通胀所产生
的新的 Atom 数量是可变的,这取决于抵押的 Atom 数量和在网络中供应的 Atom
的百分比。Atom 的通胀过程将会稀释没有被抵押的 Atom 的价值,因此这将激励
验证人和委托人抵押 Atom,而不是在市场上交易或者存放在钱包中。Atom 的目
标抵押率是至少占供应的总 Atom 数量的 2/3,如果抵押的 Atom 较少,则会增加
通胀的 Atom,相反,如果抵押的 Atom 超过总 Atom 的 2/3,那么通胀的 Atom 就
会减少。通胀率的上限是 20%,下限是 7%。

4.Photon
除了 Atom 以外,Cosmos 会在白名单中列入其他一些代币作为手续费,目前
引进了第二种代币 Photon 作为手续费。Photon 会以区块奖励的形式发放给委托
人和验证人,速度为 500 Photon 每小时。引入 Photon 的目的在于维护网络的安
全。因为如果将 Atom 即作为权益抵押,又作为手续费,那么用作抵押的 Atom
就会减少,那么作恶者只需要获得更少量的 Atom 就能够发动攻击,这对网络安

15
全造成威胁。通过引入 Photon,更少的 Atom 会被用作手续费,这降低了 Atom
的流动性,从而提高网络的安全性。

5.激励
验证人获得的经济激励通常有以下几种来源,一是抵押 Atom 获利;二是出
块奖励;三是凡是用户想从 A 链通过 Hub 发送 IBC 消息给 B 链,Hub 上的验证人
就将收取一笔交易费用。另外验证人根据他们所提供的服务收取一定比率的佣金。
佣金的比率由验证人设定,例如,假设验证人将佣金比率设定为 15%,那么验证
人提供服务所产生的收益中,15%由验证人收取,剩余的 85%由委托人收取。

6.链上治理
Cosmos 网络采用让 Atom 持有者对提案投票的方法进行链上管理,提案可以
调整系统参数,实施升级或改变管理 Cosmos Hub 的治理宪法。网络中的每个分
区都可以有自己的法规和治理机制。委托人通过继承他们所委托的验证人的选票
来参与投票过程。如果有特定情况,委托人有选择权更改原先他们委托给 Atom
8
验证者的选票。

六、应用场景

1.去中心化交易所
Cosmos 最初的设计就是数字资产的跨链转移,在应用上最直观明显的就是
去中心化交易所。Cosmos 可以通过 IBC 通信协议的销毁重铸机制,提供去中心
化交易服务,正如上文所述“通过 Cosmos 将 BTC 转移到以太坊”的过程。

2.基于 Cosmos 搭建的区块链


除了去中心化交易所之外,也有越来越多的区块链搭建在 Cosmos 之上。典
型的是 Irisnet 项目。

8
《Cosmos 验证人的经济机制 — 在区块链的时代桥接现有经济系统》

16
(图十二: IRISnet 网络架构 )

IRISnet 想要解决的是企业的数据与服务在对外提供过程中存在的信息不
对称与信任的问题。IRISnet 的目标是基于跨链网络,构建一个分布式商业协作
平台。IRISnet 的底层网络基于 Cosmos 的 Tendermint 搭建。IRISnet 网络使用
Tendermint 协议作为高性能的共识引擎,利用 Tendermint 的区块链应用接口
(ABCI)提供的灵活性,定义了一组服务的基础交易类型,包括:服务提供,服
务消费和服务治理。IRISnet 未来会成为 Cosmos 网络的第二个 Hub,连接在
IRISnet 网络上的 Zone 可以通过 IBC 通信协议与 Cosmos 网络中的 Zone 进行跨
链交互。而 IRIS SDK 则是计划对 Cosmos SDK 的扩展,由 IRIS SDK 开发的 IRIS
全节点旨在提供一个服务的基础设施,并在内部集成一个分布式文件系统
(InterPlanetary File System,IPFS)。
IRISnet 设计了一套定义、绑定(服务提供方注册)、调用到治理(分析和
争 端解决 )的链外服 务 生命周 期管理 的标准,名 为 IRIS Services(又名
“iServices”)。如果一个企业希望对外分享数据、服务从而达到变现的目的,
可以按 iServices 的标准将其服务和定价发布在 IRISnet 网络中,需求方就可
以在这个平台上检索并购买这套服务,然后完成结算。有了 iServices,线下的
企业不需要一一去对接,从而解决了企业之间地位不对等,信息不对称等问题。

七、发展进度

17
Cosmos 的项目进展会实时在官网更新,目前已经进入 gaia-9000 阶段,测
试网已经上线并进行了多次的迭代更新,而主网上线是团队接下来一段时间的主
要任务。
测试网 发布时间 功能
gaia-1000:Token 2017-10-1 用户可以在 Cosmos Hub 上互相发送和接收
Transactions 9 Token。
gaia-2000:Dynamic 2018-01-3 全节点和验证人能够通过 PEX 反应器动态
Peer Discovery 1 更新连接的节点。
gaia-3000: 2018-04-2 Cosmos 社区的成员可以从创世区块开始加
Decentralized 0 入网络。
Genesis
gaia-4000: 2018-04-2 全节点操作者能够异步地宣布候选验证人。
Asynchronous 0 作为排名前 100 的验证人,可以提出新的
Candidacy 块。
gaia-5000:Block 2018-05-0 当前测试网咯上的验证人现在会在每个块
Rewards 2 上获得出块奖励。对验证人佣金率的初步支
持也得到了实施。
gaia-6000:Token 2018-06-0 用户可以将 Token 委托给当前测试网络上
Delegation&Liveness 8 的验证人&测试网上的验证人如果停止投
Slashing 票,则会失去一部分抵押的 Token。
gaia-7000:On-Chain 2018-07-1 验证人和委托人可以在当前测试网络上创
Governance&Ledger 6&2018-07 建纯文本提案并对其进行投票。在主网上,
Support -21 成功的提议将影响 Cosmos 的未来方向&所
有未来的测试网络将支持 Ledger Nano S
硬件钱包。
gos:Game of Stakes 2018-09-2 权益争夺赛,作为一个验证人参与即将到来
Signups 8 的网络,以获得得到奖励的机会。
gaia-9000:Fee 2018-10-3 验证人现在可以为他们提供的服务设置佣
Distribution 1 金率。委托人可以从每个块中获得收益。
("Piggy Bank")
gaia-9000:SDK 2018-11-0 Cosmos SDK v0.26.0 发布,Cosmos Hub 的
Feature Complete 9 代码库即将完成。

Cosmos 主网原定于 2017 年年底上线,但也许是在开发进程中遇到了障碍,


导致主网上线日期一再延后,最新信息显示,主网预计在 2019 年一季度上线。
目前代码库的更新基本完成,团队正在为主网上线进行最后的压力测试。

八、社群发展
Cosmos 的主要社群渠道如下:

18
Telegram(电报群):@Cosmos Official,粉丝数量约为 5.2K;
Twitter:@tendermint_team,关注量约为 8.6K;
@COSMOS - the Internet of Blockchains,关注量约为 14.4K;
Riot:@Cosmos Network,粉丝数量约为 2.2K;
总的来说,Cosmos 的社群规模不算小,国内也有一些 Cosmos 的微信群,社
群活跃度非常高,团队成员对于用户的提问基本能够及时回答。Cosmos 团队也
比较乐意通过各种形式,例如在微信群中通过 AMA 的方式,与用户做积极的沟通
和交流。

九、总结
在区块链所面临的诸多问题中,链与链之间的互通性极大程度的限制了区块
链的应用空间。不论对于公有链还是私有链来看,跨链技术就是实现价值互联网
的关键,它是把区块链从分散的孤岛中拯救出来的良药,是区块链向外拓展和连
接的桥梁。Tendermint 团队是最早思考跨链的概念和方向的。而针对具体的技
术细节来说,Cosmos 得益于 Tendermint 共识的安全性、一致性、高性能,IBC
通信协议的互操作性及 Cosmos SDK 的高应用价值等,因此,无论是从发展方向
还是从技术细节上来看,Cosmos 项目都是是非常具有开创性的。此外,由于 Hub
和 Zone 之间是彼此独立的区块链,Hub 上可以接入上千条 Zone,因此在去中心
化和可扩展性上,Cosmos 也极具潜力。
但事物都具有双面性,当我们认为,跨链技术会是未来的机遇的同时,自然
也会有越来越多的开发者和区块链项目会考虑这个方向。可想而知,Cosmos 将
会遇到越来越多的竞争对手。Polkadot 是与 Cosmos 比较最多的项目,两个项目
有相似性,也各具特色。但 Cosmos 目前更多关注于价值转移,而 Polkadot 更进
一步,可以进行智能合约之间的调用。因此 Cosmos 所承受的竞争压力不小。
另外,今年 11 月,Cosmos 项目测试网的成员之一——QOS 核心技术团队在
gaia-9001 版本上发现了重大漏洞,该漏洞导致全网的 steak 代币流通量瞬间翻
了 10 倍,这对于系统的安全性的破坏程度可想而知。因此,对于网络安全问题,
Cosmos 还需要投入更多的精力。
总的来说,Cosmos 作为跨链领域的领头项目,技术能力、社群关注度和活

19
跃度都非常高,应用场景明确,期待主网能够顺利上线。

作者:时戳资本分析师 冯琳
邮箱:fl@8btc.com
日期:2018 年 12 月 29 日

20
参考文献:
1.Cosmos 白皮书,https://mp.weixin.qq.com/s/GrVEcgAq67wgDqwpc0EinA
2. 跨 链 明 星 项 目 Cosmos 漫 画 大 揭 秘 ,
https://www.jinse.com/bitcoin/269803.html
3. 深 度 剖 析 区 块 链 跨 链 技 术 Cosmos( 上 篇 ) ,
https://mp.weixin.qq.com/s?__biz=MzUyMjg0MzIxMA%3D%3D&chksm=f9c4e43ac
eb36d2c19f07450f98a2938ef345aeb454f0f668057e66a89adb0dfda91910cccd9&i
dx=1&mid=2247483679&scene=21&sn=1fadfa95a266e199c3f2966c2decfbae
4. 深 度 剖 析 区 块 链 跨 链 技 术 Cosmos( 下 篇 ) ,
https://www.chainnews.com/articles/380122564286.htm
5. 马 里 奥 说 事 系 列 之 区 块 链 3.0 版 本 的 Cosmos ,
https://www.jianshu.com/p/d65bcbb78d9b
6. 是 时 候 选 择 Cosmos SDK 搭 建 区 块 链 了 ,
https://blog.csdn.net/niyuelin1990/article/details/80569276
7. 基 于 cosmos 由 浅 入 深 开 发 区 块 链 ,
https://blog.csdn.net/bedrock_stable/article/details/83111241
8. 理 解 Cosmos 真 正 的 价 值 ,
https://blog.csdn.net/sinat_34070003/article/details/81164081
9. 前 沿 跨 链 技 术 Cosmos ,
https://mp.weixin.qq.com/s/oHAIgvFzANWOns9nBovvKg
10. 区 块 链 扩 展 之 路 : Plasma 和 Cosmos ( 二 ) ,
https://zhuanlan.zhihu.com/p/47588200
11. 区 块 链 PoS 共 识 — — Tendermint ,
https://blog.csdn.net/omnispace/article/details/79653258
12. 共 识 算 法 的 比 较 : Casper vs Tendermint ,
https://www.8btc.com/article/146022
13.Tendermint 共识算法,https://www.jianshu.com/p/ac82ec874be0
14. 区 块 链 - Tendermint 共 识 算 法 框 架 ,
https://mp.weixin.qq.com/s?__biz=MzU5MzMxNTk2Nw==&mid=2247484088&idx=

21
1&sn=1dfb680d2ea09ada1ffff97e8fd7302f&chksm=fe1313a8c9649abeb4dd21ddb
331f9a9cfcbeb8bbb2f0c67aadce9b1b40ded02092e3dfbe00b&mpshare=1&scene=1
&srcid=1212MgC7zGL1X0nLi58Piw7H#rd
15. 区 块 链 - Tendermint PoS 的 实 现 证 明 ,
https://mp.weixin.qq.com/s?__biz=MzU5MzMxNTk2Nw==&mid=2247484233&idx=
1&sn=d67a8885f7889684489367cceb5b004c&chksm=fe131259c9649b4fc32e5223b
bd42496cba75de3cd3c9da69ea490f288407571606cba9ea0fd&mpshare=1&scene=1
&srcid=1212UXGkKmWogWTjJFyI0y2P#rd
16.Cosmos 简 介 、 整 体 结 构 及 项 目 分 布 ,
http://www.qukuaiwang.com.cn/news/14280.html
17.The Technicals of Interoperability—Introducing the Ethereum Peg Zone,
https://blog.cosmos.network/the-internet-of-blockchains-how-cosmos-do
es-interoperability-starting-with-the-ethereum-peg-zone-8744d4d2bc3f
18. 引 介 | Cosmos 如 何 与 Ethereum 相 连 ,
https://ethfans.org/posts/the-internet-of-blockchains-how-cosmos-does
-interoperability-starting-with-the-ethereum-peg-zone
19.Cosmos Inter-Blockchain Communication (IBC) Protocol ,
https://github.com/cosmos/cosmos-sdk/tree/develop/docs/spec/ibc
20.Cosmos 互 联 链 通 信 技 术 规 范 ( 上 ) ,
https://steemit.com/cn/@legendx/cosmos-1
21.跨链五部曲之:IBC,https://cloud.tencent.com/developer/news/217276
22. 跨 链 解 决 方 案 Tendermint/Cosmos ( 二 ) ,
https://bitkan.com/zh/ksite/articles/24017
23. “ 区 块 链 的 互 联 网 ” Cosmos : 跨 链 与 无 限 扩 容 ,
http://www.mimajike.com/937/.html
24.Cosmos 项目以及 SDK 介绍,https://www.jianshu.com/p/de62f0309f5b
25.Cosmos 验 证 人 的 经 济 机 制 — 在 区 块 链 的 时 代 桥 接 现 有 经 济 系 统 ,
http://cosmosfans.org/
26. 区 块 链 互 操 作 性 , Part-1 : Cosmos ,

22
https://mp.weixin.qq.com/s?__biz=MzIwODA3NDI5MA%3D%3D&mid=2652526303&
idx=1&sn=802d23bd0a75b5da2129797c3fb2a357&scene=45#wechat_redirect
27. 被 认 为 是 区 块 链 3.0 版 本 的 Cosmos 究 竟 是 什 么 ,
http://www.itboth.com/d/Ifmiy2
28.Cosmos Token Sale: Blockchain Interoperability ,
https://www.smithandcrown.com/sale/cosmos/
29.Transferring tokens between peg zones ,
https://crytter.io/transferring-tokens-between-peg-zones/

23

You might also like