如何降低造链门槛,帮助企业实现简单造链,加快区块链落地
作者:黄连金、向文波、冉小波 原文标题:《降低造链门槛,帮助企业实现简单造链,加快区块链落地》
随着区块链的不断发展,越来越多的企业想要将自己的业务与区块链结合,以提升生产效率,节约成本,但造链成本高,难度大,成了企业需要面对的首要难题。
如果可以帮助企业实现简单造链,就能有效刺激企业,大胆地尝试将业务与区块链进行结合。只有通过不断探索,才能更快地帮助企业,找到业务与区块链的结合点,加快区块链商业应用的落地。
那 如何才能降低造链门槛,实现简单造链呢?
1.如何实现简单造链
结合传统软件开发的经验,想要实现简单造链,可以从以下4个方面考虑,然后给出合理的解决方案。
1.1.分层设计,封装底层
区块链基础架构可以细分为六层,最底层是数据层,最上层是应用层。想要降低造链难度,可以将越靠近底层的技术进行封装,最理想的状态是造链者只需要专注自己的业务开发。
封装过后的区块链系统,将不再是原始的六层结构,可能只包含两层或者三层,这样在降低造链难度的同时,也让系统的代码结构变得更简单,有利于系统维护。1.2.完善开发框架
分层设计的另一个好处是,底层得到封装之后,可以形成完善的开发框架。传统互联网技术,经过多年的积累,在各个领域,都形成了完善的开发框架。
对于企业而言,开发框架是重要的开发工具,可以帮助企业降低工作量,节约开发成本,快速地构建系统。
目前区块链技术仍处于早期阶段,完善的开发框架还比较稀缺,出现更多的开发框架,可以有效地降低企业造链的门槛。1.3.模块化
想让企业在造链时,只需要专注于业务开发,在分层设计的基础上,还必须进行模块化开发。
在传统软件开发中,模块化的开发思想,已经得到了验证。通过模块化的划分,每个模块只需要承担相对单一的功能,可以实现业务功能与基础功能的分离,而基础功能通常已经被开发框架封装好,可以直接使用。模块化开发可以有效地降低代码耦合度和维护成本,提升系统的可扩展性。
1.4.图形化界面造链
在软件开发中,有一种开发思想,叫做“约定优于配置,配置优于实现”。意思是说保证编码风格的通用性,尽可能通过配置实现编程,更有利于写出易于人理解的代码,提升编程效率,降低维护成本。通过图形化界面产品实现造链,可以很好的达到这个目标。
同时图形化界面造链,可以达到像电脑组装一样的效果,造链者只需要选择自己需要的模块和组件,完善部分配置,就可以组装出自己需要的区块链。这可以极大地降低造链难度,提升造链速度。
图形化界面造链是开发周期最短,用户体验最好,成本最低的方式,这也是未来实现简单造链的发展方向。
2.造链项目对比
在造链领域,目前Cosmos、NULS都给出了自己的解决方案,并取得了相应的成果。
在Cosmos中,分为Tendermint Core和Cosmos SDK两层。Tendermint Core是Cosmos的底层,封装了共识机制和网络层的功能。Cosmos SDK是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链工厂这样的产品的推出,将会帮助企业实现简单造链,探索业务与区块链的结合,加快区块链商业应用的落地。
作者简介:
黄连金 (Ken Huang):著名区块链专家,美国 DistributedApps CEO、中国电子学会区块链分会专家委员、NULS顾问。 向文波 (Double Xiang):Java软件工程师,Cryptotech-Writer,NULS Core Team成员。专注于区块链技术研究和区块链解决方案。 冉小波 (Reaper Ran):NULS联合发起人&社区负责人 长期从事区块链技术和项目前景研究;区块链早期的参与和布道者,拥有丰富的社区建设运营经验,负责NULS社区治理研究和运营。
参考文献:
《NULS的一键造链和跨链生态》 向文波 NULS中文社区; 《软硬核:彻底读懂 Cosmos 如何一键发链与万链互联》李画 链闻ChainNews。