Cosmos是一个由独立的平行区块链组成的去中心化网络,每个区块链都由Tendermint共识等BFT共识算法驱动。换句话说,Cosmos是一个由区块链组成的生态系统,可以相互扩展和相互操作。Cosmos 上的区块链称为“分区(zone)”。其中的一些分区又称为"枢纽 (Hub)",而不同的分区可以通过共享的枢纽来互相通信与互操作。Cosmos 网络上的第一个分区就是 Cosmos 枢纽(Cosmos Hub)。所有跨分区的代币转移都需要通过Cosmos 枢纽进行,代币可以安全、迅速地在分区之间转移。分区之间无需具有直接的转移流动性,而只需通过Cosmos 枢纽来追踪记录每个分区持有的代币总量,并确保所有分区的代币总量不变。在此,Cosmos 枢纽起到了一种类似中央银行结算功能的作用。
Cosmos SDK是一个通用框架,它简化了在Tendermint BFT 之上构建安全区块链应用程序的过程。Cosmos-SDK用于构建多资产股权证明(PoS)的区块链,比如Cosmos Hub,以及权益证明(PoA)的区块链。使用Cosmos SDK构建的区块链通常称为特定应用区块链。
Tendermint BFT 是一种将区块链的网络和共识层打包到通用引擎中的解决方案,允许开发人员专注于应用程序开发,而不是复杂的底层协议。Tendermint 指定了拜占庭容错 (BFT)共识算法在 Tendermint BFT 引擎中使用。(Jae Kwon 在 2014 年创建了Tendermint)
Tendermint BFT引擎通过(ABCI:应用区块链接口)的回调接口协议与应用程序相连,它可以用任何编程语言来包装。
Cosmos区块链之间的连接是通过区块链间跨链通信协议(IBC)来实现的。IBC 利用 Tendermint 共识的即时确定性属性来允许异构链相互传输价值(即代币)或数据。
Cosmos 网络中启动的第一个Hub是Cosmos Hub,通过Tendermint拜占庭共识算法运行。Hub的启动也标志着 Cosmos 网络的启动。CosmosHub通过ABCI来连接其他区块链(空间)。Hub可以控制各个空间里代币。保证代币可以安全快速地从一个空间传递到另一个空间,即进行资产的跨链交易。
Hub(中心ZONE)负责管理各个独立区块链(Zone)。Hub(中心Zone)会源源不断地提交最新区块,这样可以让中心跟上每个空间(Zone)状态的变化。
空间,也就是各个独立的区块链,连接到cosmos中心后,它们就成为了cosmos的一个空间。每个空间也会和中心的状态保持一致。信息可以从一个空间发送到另外一个空间,通过默克尔证明(Merkle-proof)来表明信息已经被传送或接收。这种机制叫做“区块链间通信”,简称为“IBC”机制。
Cosmos 不是一个产品,而是一个建立在一组模块化、适应性强和可互换工具之上的生态系统,最终目标是创建一个区块链互联网。Cosmos 是一个开源社区项目,最初由 Tendermint 团队构建。
Cosmos生态系统(基于Cosmos SDK开发)