一文解密Cosmos 和 NULS如何降低门槛,实现简单造链
链闻ChainNews
2019-05-20 07:27

随着区块链的不断发展,越来越多的企业想要将自己的业务与区块链结合,以提升生产效率,节约成本,但造链成本高,难度大,成了企业需要面对的首要难题。

如果可以帮助企业实现简单造链,就能有效刺激企业,大胆地尝试将业务与区块链进行结合。只有通过不断探索,才能更快地帮助企业,找到业务与区块链的结合点,加快区块链商业应用的落地。

那如何才能降低造链门槛,实现简单造链呢? 

1. 如何实现简单造链

结合传统软件开发的经验,想要实现简单造链,可以从以下 4 个方面考虑,然后给出合理的解决方案。

1.1. 分层设计,封装底层

区块链基础架构可以细分为六层,最底层是数据层,最上层是应用层。想要降低造链难度,可以将越靠近底层的技术进行封装,最理想的状态是造链者只需要专注自己的业务开发。

 2b84450e-114f-5f2f-bdde-d5e7d787a1b5_53VjNYx.png

区块链六层基础架构

封装过后的区块链系统,将不再是原始的六层结构,可能只包含两层或者三层,

这样在降低造链难度的同时,也让系统的代码结构变得更简单,有利于系统维护。

1.2. 完善开发框架

分层设计的另一个好处是,底层得到封装之后,可以形成完善的开发框架。传统互联网技术,经过多年的积累,在各个领域,都形成了完善的开发框架。对于企业而言,开发框架是重要的开发工具,可以帮助企业降低工作量,节约开发成本,快速地构建系统。


 8f2cec21-d232-541e-8aa1-73f8d0895428_7ZlYFvu.png

阿里的部分开源框架

目前区块链技术仍处于早期阶段,完善的开发框架还比较稀缺,出现更多的开发框架,可以有效地降低企业造链的门槛。

1.3. 模块化

想让企业在造链时,只需要专注于业务开发,在分层设计的基础上,还必须进行模块化开发。

在传统软件开发中,模块化的开发思想,已经得到了验证。通过模块化的划分,每个模块只需要承担相对单一的功能,可以实现业务功能与基础功能的分离,而基础功能通常已经被开发框架封装好,可以直接使用。模块化开发可以有效地降低代码耦合度和维护成本,提升系统的可扩展性。

1.4. 图形化界面造链

在软件开发中,有一种开发思想,叫做“约定优于配置,配置优于实现”。意思是说保证编码风格的通用性,尽可能通过配置实现编程,更有利于写出易于人理解的代码,提升编程效率,降低维护成本。通过图形化界面产品实现造链,可以很好的达到这个目标。

同时图形化界面造链,可以达到像电脑组装一样的效果,造链者只需要选择自己需要的模块和组件,完善部分配置,就可以组装出自己需要的区块链。这可以极大地降低造链难度,提升造链速度。

图形化界面造链是开发周期最短,用户体验最好,成本最低的方式,这也是未来实现简单造链的发展方向。

2. 造链项目对比

在造链领域,目前 Cosmos、NULS 都给出了自己的解决方案,并取得了相应的成果。

在 Cosmos 中,分为 Tendermint Core 和 Cosmos SDK 两层。Tendermint Core 是 Cosmos 的底层,封装了共识机制和网络层的功能。Cosmos SDK 是 Cosmos 的应用层,是一个开发框架。

f11ed524-ea40-5fd0-a24b-daa2d17a83c5_REazwTV.png

Cosmos 的分层设计

分层设计让使用 Tendermint Core 和 Cosmos SDK 造链,只需要关注应用层的开发,但为了进一步降低工作量,让造链者只需要专注于业务开发,Cosmos SDK 还做了模块化设计。

 1cd7b376-ba61-59fc-93ab-f49c1d242605_hWMEwE4.png

Cosmos SDK 的模块化设计

Cosmos SDK 将业务逻辑进行了拆分,封装了许多通用的业务模块,造链者可以直接使用这些通用模块,实现基础的区块链功能,在完成业务模块的开发后,与 SDK 进行组装,就可以完成造链。

与 Cosmos 类似,NULS 项目同样采用了分层设计+开发框架+模块化的架构设计。NULS 的整体设计分为三层:微服务基础架构层、区块链基础服务层、DAPP 应用层。在使用 NULS 造链时,主要涉及的是微服务基础架构层和区块链基础服务层。

 52ced040-44ca-5cb5-a32a-c435c2632faf_rzg9wNz.png

NULS 的分层设计

微服务基础架构层是 NULS 的底层,被称为 NULSTAR,是一个区块链微服务底层框架。由于 NULS 的整体架构采用的是微服务,需要有一个微服务底层框架来完成服务发现、服务注册、服务通信等功能。

 781965e4-398d-521d-8f26-99f6cb670826_2MGgONB.png

NULSTAR 的架构设计

NULSTAR 中就实现了这些功能,同时从 NULSTAR 的设计图中,我们还可以看出其针对区块链系统还做了专门的适配,例如无消息总线,服务间采用 Websocket 通信协议等。

如果 NULSTAR 实现了微服务框架应该具备的所有功能,意味着想要采用微服务架构造链的造链者,都可以使用 NULSTAR 造链。

区块链基础服务层是 NULS 的业务层,NULS 称其为 NULS 模块仓库。NULS 模块仓库将区块链系统根据业务进行了拆分,将共识机制、账户、账本、网络、区块等通用功能开发成了独立的微服务模块。造链者在开发完自己的业务模块之后,与这些通用模块一组装,就可以造出一条自己想要的区块链。

 3609f90a-faaa-529c-b41b-e97510e6b1fd_Y1ob1mm.png

NULS 模块仓库

从造链的角度来说,Cosmos 和 NULS 两者都采用了分层设计+模块化+开发框架的整体设计,但两者在具体实现上还是有很大差别的。

首先两个项目的架构选型不同,Cosmos 采用的是单体架构,NULS 采用的是微服务架构。

单体架构无法做到彻底的代码解耦,模块化程度不及微服务,微服务是模块化的极致,具备更高的可扩展性,并且不会受到开发语言的限制。对于大型的区块链系统来说,采用微服务,可以更好的对业务进行拆分,降低系统复杂度,节约运营成本。

其次 Cosmos 和 NULS 两者在做分层设计时,对共识机制的划分不同,Cosmos 将共识机制放到了底层,NULS 将共识机制放到了业务层。这意味着使用 Cosmos SDK 和 Tendermint Core 造链,不能定制自己的共识机制,而采用 NULS 造链则可以根据自己的需求,定制不同的共识机制。

从市场定位来说,Cosmos 是跨链项目,更侧重于跨链,对造链的支持,仅限于基于单体架构的插件式造链。NULS 则将其发展分为造链和跨链两个阶段,对造链的支持更加友好,同时对跨链也进行了布局。

根据 NULS 核心团队发布的消息,NULS 已经可以实现模块化造链,不久将通过核心产品链工厂,实现图形化界面的“一键造链”,并且其跨链功能也即将开发完成。

3. 总结

想要降低造链门槛,可以采用分层设计+模块化+开发框架的设计思路,最理想的情况是提供基于图形化界面的“一键造链”的产品。

目前 Cosmos 和 NULS 都给出了自己的造链解决方案,并取得了一定成果。不同的是两者的架构选型不同,对造链的支持程度不同。Cosmos 是跨链项目,更侧重于跨链,实现的是基于单体架构的插件式造链,NULS 则将它的发展分为造链和跨链两个阶段,对造链的支持更友好,目前已经实现了基于微服务的模块化造链,不久将实现图形化界面的“一键造链”。

造链是急需解决的问题,这不仅是现在和未来的刚需,也是一个巨大的市场。类似 NULS 链工厂这样的产品的推出,将会帮助企业实现简单造链,探索业务与区块链的结合,加快区块链商业应用的落地。

打开APP阅读全文
本文来源: 链闻ChainNews
声明:核财经登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。部分图片来源于网络,我们尊重版权,如有疑问敬请联系,我们将核实并删除。
相关推荐
G7:稳定币可能更有能力充当支付和价值存储的手段
2019-10-20 11:53·Wely
打开APP阅读
潘多拉魔盒里的Libra 罗生门外的Telegram
2019-10-20 11:46·Wely
打开APP阅读
在看不见的协议中寻找未来的加密货币独角兽
2019-10-20 11:19·Wely
打开APP阅读