cosmos简介、整体结构及项目分布

2018-12-07 18:56 栏目:经验之谈 来源: 查看()
一,宇宙介绍

Cosmos是一个区块链网络,旨在解决一些区块链社区的长期问题。

Cosmos网络由不同的独立并行区块链组成,每个区块链都贯穿经典的拜占庭容错共识,如Tendermint。宇宙上的区块链被称为“区域”。其中一些分区也称为“集线器”,

不同的分区可以通过共享集线器相互通信和互操作。 Cosmos网络上的第一个分区是Cosmos Hub。由于需要通过Cosmos集线器进行所有跨分区令牌传输,因此可以安全,快速地在分区之间传输令牌。分区之间不需要直接交换流动性,但只能通过Cosmos集线器跟踪每个分区中保存的令牌总数,并确保所有分区中的令牌总数保持不变。在这里,Cosmos中心就像一个中央银行结算功能。

cosmos简介、整体结构及项目分布

宇宙项目旨在实现交叉链接。在众多交叉链项目中,宇宙具有自己独特的特征。它抽象出共识和P2P协议,并形成一个单独的Tendermint层或模块。它使用Tendermint-BFT DPoS的共识引擎来解决交叉链共识问题。许多区块链项目可以通过块间链通信协议(IBC)在不同空间(使用宇宙来表示不同区块链的空间概念)中实现信息传递。 

cosmos简介、整体结构及项目分布

N多个应用程序可以通过ABCI回调接口协议与Tendermint交互。 Ethermint在其官方网站上实施。事实上,以太坊取消了PoW共识,并添加了由Tendermint实施的基于PoE的新的以太坊链。 

值得一提的是,Cosmos-SDK是Cosmos团队的核心产品,它仍然基于ABCI应用程序的架构(基于Go)。如果您使用此SDK开发自己的链,您不必过于担心链的基础帐户系统,共识的技术细节,只需关心您的区块链的应用程序部分,并在这个SDK,它也是开放的。开发API,通过这些API实现一些特定的基本实现,创建个性化的区块链。 

cosmos简介、整体结构及项目分布

这也意味着Cosmos-sdk是区块链开发的框架系统。 Cosmos Hub连接到任何区块链。理论上,连锁不是幻觉。宇宙的最终想法是通过宇宙SDK实现一个完整的生态系统,但就像波卡链和等离子一样,宇宙的进展真的很慢。许多技术和概念在未来可能会发生变化。所以最后的结果仍然很尴尬。 

二,宇宙的整体结构

1.网络与共识(Tendermint)

与上面的可视化表示一样,cosmos通过Tendermint实现了一个公共层,它允许不同应用程序的插件隔离。 
2,宇宙中心(Hub)

所谓的中心是cosmos Hub,它是Cosmos网络中的第一个公共区块链,贯穿Tendermint拜占庭共识算法。 Cosmos Center通过ABCI连接到其他区块链(空间)。中心可以控制每个空间中的令牌。保证令牌可以安全快速地从一个空间转移到另一个空间,即资产的交叉链交易。 

Cosmos Center管理各个区块链(即“空间”或“碎片”)。中心的空间将不断提交最新的区块,这将使中心能够跟上每个空间状态的变化。 
Cosmos Center的认证机构和校长可以对提案进行投票,自动更改预设系统参数(例如块容量限制),协调更新以及修改章程,人们可以理解这些章程以管理Cosmos Center。 。该章程允许利益相关者聚集在一起解决诸如盗窃和漏洞(例如DAO事件)等问题,并迅速找到明确的解决方案。 
3.空间(区域)

空间,即单独的区块链,连接到宇宙的中心,它们成为宇宙的空间。每个空间也将与中心的状态一致。可以使用Merkle-proof将信息从一个空间发送到另一个空间,以指示已经发送或接收了信息。该机制称为“块间通信”,称为“IBC”机制。 
4.跨链通信协议(IBC)

IBC是中心与空间之间的通信方式。现在假设有三个区块链,即“空间1”,“空间2”和“中心”。如果您希望“空格1”生成一个消息包,请通过“中心”将其发送到“空格2”。为了将消息包从一个区块链转移到另一个区块链,需要在接收器区块链上发布证书,以澄清发送方已经向指定位置发起了消息包。接收方想要验证的证据必须与发送方块头一致。该机制类似于侧链中使用的机制。它需要两个交互链通过在两个方向上发送证明数据元素(事务)来“知道”另一方。 

IBC协议可以自然地定义为使用两个事务:一个是IBCBlockCommitTx事务,它允许区块链向任何观察者证明其最新的块哈希;另一个是IBCPacketTx事务,它可以证明消息包实际上是由发送者的应用程序通过Merkle-proof发送到最新块的哈希值。 

通过将IBC机制分成两个单独的事务,IBCBlockCommitTx事务和IBCPacketTx事务,接收链的本地费用市场机制可用于决定允许哪个消息包,同时确保发送者的完全自由。确定可以自行决定发送的数据包数量。 

三,项目布局

Cosmos可以分为cosmos(cosmos-SDK)和Tendermint,它们也分为github上的两个项目。 

1,cosmos-SDK部分

看看文件: 

cosmos简介、整体结构及项目分布

Baseapp:基本的ABCI应用程序定义了一个模板,以便Cosmos-SDK应用程序可以与底层的Tendermint节点通信。 
客户端:客户端CLI和REST服务器工具,用于与SDK应用程序进行交互 
示例:如何构建独立应用程序的示例。 
Server:在Tendermint上运行SDK应用程序的完整节点服务器。 
存储: SDK数据库 - MyKLE多存储支持多种类型的Melkey键值存储。 
类型: SDK应用程序中的常见类型。 
x:扩展到核心,其中定义了所有消息和处理程序。有点神秘的味道。 

2. Tendermint部分

代码目录: 

cosmos简介、整体结构及项目分布

区块链: Tendermint链结构规则验证和相关数据结构。 
状态:状态管理跟踪,包括签名摘要和最需要的Merkel证明。 
共识:共识部分,主要基于拜占庭BFT DPOS算法。 
Mempool:已完成事务的存储池。 
网络:本地和远程网络服务。 
节点:块节点和相关数据结构。类似于以太坊,一个层的抽象。 
Lite:用于验证标头的Light节点。 
P2p:用于链发现和治理的网络层。 
代理:代理层,用于代理连接验证共识等. 
证据:存储证书相关。 
Rpc:远程通信接口。 
类型:基本数据类型定义。 

四,总结

与波卡链的基板类似,Tendermint被抽象出来以处理整个链条的模块。倾向于集中的一个,倾向于被中继的一个和相同的目的之间没有区别。 

微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发