深度|blake2b算法:一文解密Cosmos 和 NULS如何降低门槛,实现简单造链
摘要:随着区块链的不断发展,越来越多的企业想要将自己的业务与区块链结合,以提升生产效率,节约成本,但造链成本高,难度大,成了企业需要面对的首要难题。如果可以帮助企业实现简单造链,就能有效刺激企业,大胆地尝试
随着区块链的不断发展,越来越多的企业想要将自己的业务与区块链结合,以提升生产效率,节约成本,但造链成本高,难度大,成了企业需要面对的首要难题。
如果可以帮助企业实现简单造链,就能有效刺激企业,大胆地尝试将业务与区块链进行结合。只有通过不断探索,才能更快地帮助企业,找到业务与区块链的结合点,加快区块链商业应用的落地。
那如何才能降低造链门槛,实现简单造链呢?
1. 如何实现简单造链
结合传统软件开发的经验,想要实现简单造链,可以从以下 4 个方面考虑,然后给出合理的解决方案。
1.1. 分层设计,封装底层
区块链基础架构可以细分为六层,最底层是数据层,最上层是应用层。想要降低造链难度,可以将越靠近底层的技术进行封装,最理想的状态是造链者只需要专注自己的业务开发。
区块链六层基础架构
封装过后的区块链系统,将不再是原始的六层结构,可能只包含两层或者三层,
这样在降低造链难度的同时,也让系统的代码结构变得更简单,有利于系统维护。
1.2. 完善开发框架
分层设计的另一个好处是,底层得到封装之后,可以形成完善的开发框架。传统互联网技术,经过多年的积累,在各个领域,都形成了完善的开发框架。对于企业而言,开发框架是重要的开发工具,可以帮助企业降低工作量,节约开发成本,快速地构建系统。
阿里的部分开源框架
目前区块链技术仍处于早期阶段,完善的开发框架还比较稀缺,出现更多的开发框架,可以有效地降低企业造链的门槛。
1.3. 模块化
想让企业在造链时,只需要专注于业务开发,在分层设计的基础上,还必须进行模块化开发。
在传统软件开发中,模块化的开发思想,已经得到了验证。通过模块化的划分,每个模块只需要承担相对单一的功能,可以实现业务功能与基础功能的分离,而基础功能通常已经被开发框架封装好,可以直接使用。模块化开发可以有效地降低代码耦合度和维护成本,提升系统的可扩展性。
1.4. 图形化界面造链
在软件开发中,有一种开发思想,叫做“约定优于配置,配置优于实现”。意思是说保证编码风格的通用性,尽可能通过配置实现编程,更有利于写出易于人理解的代码,提升编程效率,降低维护成本。通过图形化界面产品实现造链,可以很好的达到这个目标。
同时图形化界面造链,可以达到像电脑组装一样的效果,造链者只需要选择自己需要的模块和组件,完善部分配置,就可以组装出自己需要的区块链。这可以极大地降低造链难度,提升造链速度。
图形化界面造链是开发周期最短,用户体验最好,成本最低的方式,这也是未来实现简单造链的发展方向。
2. 造链项目对比
在造链领域,目前 Cosmos、NULS 都给出了自己的解决方案,并取得了相应的成果。
在 Cosmos 中,分为 Tendermint Core 和 Cosmos SDK 两层。Tendermint Core 是 Cosmos 的底层,封装了共识机制和网络层的功能。Cosmos SDK 是 Cosmos 的应用层,是一个开发框架。
Cosmos 的分层设计
分层设计让使用 Tendermint Core 和 Cosmos SDK 造链,只需要关注应用层的开发,但为了进一步降低工作量,让造链者只需要专注于业务开发,Cosmos SDK 还做了模块化设计。
Cosmos SDK 的模块化设计
Cosmos SDK 将业务逻辑进行了拆分,封装了许多通用的业务模块,造链者可以直接使用这些通用模块,实现基础的区块链功能,在完成业务模块的开发后,与 SDK 进行组装,就可以完成造链。
与 Cosmos 类似,NULS 项目同样采用了分层设计+开发框架+模块化的架构设计。NULS 的整体设计分为三层:微服务基础架构层、区块链基础服务层、DAPP 应用层。在使用 NULS 造链时,主要涉及的是微服务基础架构层和区块链基础服务层。
NULS 的分层设计
微服务基础架构层是 NULS 的底层,被称为 NULSTAR,是一个区块链微服务底层框架。由于 NULS 的整体架构采用的是微服务,需要有一个微服务底层框架来完成服务发现、服务注册、服务通信等功能。
NULSTAR 的架构设计
NULSTAR 中就实现了这些功能,同时从 NULSTAR 的设计图中,我们还可以看出其针对区块链系统还做了专门的适配,例如无消息总线,服务间采用 Websocket 通信协议等。
如果 NULSTAR 实现了微服务框架应该具备的所有功能,意味着想要采用微服务架构造链的造链者,都可以使用 NULSTAR 造链。
区块链基础服务层是 NULS 的业务层,NULS 称其为 NULS 模块仓库。NULS 模块仓库将区块链系统根据业务进行了拆分,将共识机制、账户、账本、网络、区块等通用功能开发成了独立的微服务模块。造链者在开发完自己的业务模块之后,与这些通用模块一组装,就可以造出一条自己想要的区块链。
NULS 模块仓库
从造链的角度来说,Cosmos 和 NULS 两者都采用了分层设计+模块化+开发框架的整体设计,但两者在具体实现上还是有很大差别的。
首先两个项目的架构选型不同,Cosmos 采用的是单体架构,NULS 采用的是微服务架构。
单体架构无法做到彻底的代码解耦,模块化程度不及微服务,微服务是模块化的极致,具备更高的可扩展性,并且不会受到开发语言的限制。对于大型的区块链系统来说,采用微服务,可以更好的对业务进行拆分,降低系统复杂度,节约运营成本。
其次 Cosmos 和 NULS 两者在做分层设计时,对共识机制的划分不同,Cosmos 将共识机制放到了底层,NULS 将共识机制放到了业务层。这意味着使用 Cosmos SDK 和 Tendermint Core 造链,不能定制自己的共识机制,而采用 NULS 造链则可以根据自己的需求,定制不同的共识机制。
从市场定位来说,Cosmos 是跨链项目,更侧重于跨链,对造链的支持,仅限于基于单体架构的插件式造链。NULS 则将其发展分为造链和跨链两个阶段,对造链的支持更加友好,同时对跨链也进行了布局。
根据 NULS 核心团队发布的消息,NULS 已经可以实现模块化造链,不久将通过核心产品链工厂,实现图形化界面的“一键造链”,并且其跨链功能也即将开发完成。
3. 总结
想要降低造链门槛,可以采用分层设计+模块化+开发框架的设计思路,最理想的情况是提供基于图形化界面的“一键造链”的产品。
目前 Cosmos 和 NULS 都给出了自己的造链解决方案,并取得了一定成果。不同的是两者的架构选型不同,对造链的支持程度不同。Cosmos 是跨链项目,更侧重于跨链,实现的是基于单体架构的插件式造链,NULS 则将它的发展分为造链和跨链两个阶段,对造链的支持更友好,目前已经实现了基于微服务的模块化造链,不久将实现图形化界面的“一键造链”。
造链是急需解决的问题,这不仅是现在和未来的刚需,也是一个巨大的市场。类似 NULS 链工厂这样的产品的推出,将会帮助企业实现简单造链,探索业务与区块链的结合,加快区块链商业应用的落地。
- 免责声明
- 世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
- 风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
- 世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。