科普 | 走进Cosmos之Cosmos SDK

2021-01-11 13:40:59 2797

作者简介

夏立伟

来自数据网格实验室BitXHub团队 主要负责区块链账本互操作技术相关研究工作

导 读

《走进Cosmos之入门》中我们已经知道了Cosmos的设计初衷是为了进行跨链的资产转移,也可以看到Cosmos的跨链场景中Zone是参与到Cosmos网络中的应用链,而Zone允许不同类型的区块链加入进来。

在Cosmos的设计中,能够接入进来的Zone是需要满足Cosmos SDK条件的,所以Cosmos SDK可以说是Cosmos生态体系中的重要部分。


什么是Cosmos SDK


Cosmos SDK可以说是一个架构,是为了让开发者能够很容易的创建自定义的区块链。通过Cosmos SDK开源的模块,大家可以根据自己区块链所想要有的功能,选取需要的模块构建出自己需要的区块链。

同时,除了Cosmos已经开源出来的模块,任何一个人都可以根据自己所想要的需求为Cosmos SDK创建一个模块。这样就解决了对于想要使用Cosmos区块链框架但是又有自己定制化开发想法的问题。

那么为什么Cosmos需要设计Cosmos SDK来构建特定区块链生态呢?

事实上,今天区块链的大趋势是像以太坊这样的带有智能合约虚拟机的区块链发展的,通常来说对于某个特定功能,开发者首先想到的是通过区块链上的智能合约来构建这个功能。

在实际场景中,智能合约确实为单用途应用程序带来了便利开发的灵活性,可一旦所要求的功能逻辑变得复杂,智能合约就有了很大的局限性,这也是Cosmos SDK推出的初衷。

Cosmos SDK所提供的特定区块链架构是和智能合约区块链的架构完全不同的开发设计模式。通过特定区块链架构,开发人员可以使用一条特定区块链来服务一项特定的功能,从而避免了一条区块链上业务功能的复杂化,同时也提供给开发人员更好的定制化接口,在性能和管理上提供了很好的保障。


Cosmos SDK的特点


Cosmos SDK作为现阶段比较成熟的特定应用链框架,拥有以下一些特点:

1.   SDK中的默认的共识是Tendermint Core。Tendermint是现在市面上比较成熟的BFT共识,该共识算法也被业界很多区块链所采用。

2.   Cosmos SDK属于开源项目,这也就意味着SDK的生态会随着社区的发展更加的完善和成熟。

3.   Cosmos SDK基于OCAP系统,通过OCAP,可以防止蓬勃发展的Cosmos SDK开源社区中产生包含错误或者恶意的模块对其余模块的攻击。

4.   Cosmos SDK已经有了自己的小范围生态系统,包括Cosmos Hub,Iris,Binance Chain,Terra等,产品的不断加入为生态后续的发展提供了基础。


Cosmos SDK应用程序架构


众所周知,区块链应用的核心是具有最终确定性的复制状态机。而Cosmos SDK所提供的灵活性的模块化设计,能够让开发者自由的定义应用程序的状态,交易类型以及状态变化函数。

在Cosmos SDK中,开发者只需要定义好状态机,那么默认的Tendermint模块就会帮助开发者完成状态机在网络层面的工作。

声明:所有在本站发表的文章,本站都具有最终编辑权。本站全部作品均系微算力原创或来自网络转载,转载目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责,所产生的纠纷与本站无关。如涉及作品内容、版权和其它问题,请尽快与本站联系。

相关推荐

  • 微信:aspcool
  • QQ:580076
  • 手机:18992859886
  • 工作时间:9:00~18:00(周一至周五)