为了更好地实现”让区块链更简单”的愿景,NULS团队与技术社区通力协作完成了NULS2.0的架构设计。大家可以长按上图识别二维码开始阅览【NULS2.0的设计思路v0.1】版本。
https://nuls.io/api/v1/download/files/papers/nuls2…(Chi)_Final.pdf
https://nuls.io/api/v1/download/files/papers/nuls2…(Eng)_Final.pdf
为什么要做NULS2.0?
NULS创立的目的就是为了让区块链更简单,所以在2017年9月的时候,核心团队就定义了NULS 的基本架构为模块化,就是为了让更多开发者和用户能更容易的使用和编写模块。NULS目前完成了编码层的模块化,但存在模块之间耦合度较高的问题,开发者想使用某个模块或参与某个模块的开发,需要同时了解与其相关联的其他模块的设计,并且只能用特定的语言进行开发,这对NULS技术社区深度参与NULS架构的设计和开发,以及用户简单低成本的运用模块不够友好。
NULS在创立之初,就致力于成为一个由全球社区驱动的开源项目。我们认为,能不断催生创新思维的社区发展路线,才是区块链项目区别于其他商业项目的一大特点。不断的迭代与创新是开源项目发展过程中必然会产生的现象,也是区块链的魅力所在。为了让开源技术社区可以无任何障碍的融入NULS底层设计和开发中,以及为了革命性产品”链工厂”中的重要组成部分”模块仓库”的搭建和易用,有以下几个难点必须克服:
1、模块的耦合度降低,模块之间不在编写和使用上彼此依赖 ;
2、 模块可扩展、修改、替换,每一个模块都是简单的、纯粹的,不受到区块链程序整体复杂度的影响;
3、 彻底打破编程语言障碍。
核心团队革命性的在区块链底层基础设施设计中引入微服务思维,将软件应用程序设计为可独立部署的服务套件,将这种架构设计中最领先的思想引入到模块设计中,让模块像可以独立启动的程序一般灵活。这种不设置任何编程语言门槛,结合微服务的模块化架构,我们称之为NULS 2.0。这种架构下模块之间的耦合度更小,多语言开发让代码的贡献以及用户使用的便利性都得到极大地提升,同时更易于扩展,甚至模块支持分布式部署,模块的插拔也更容易。同时链工厂和跨链模块也会在这个架构上进行设计。(详细产品计划时间表请见附件)
在NULS2.0设计期间,NULS技术社区开发者还成立了NULS CCC(Code Craft Council),初步开始了技术社区的自治。无独有偶的是,CCC成员BERZECK也一直在思考用微服务的设计方式来重构NULS架构。核心团队阅览了BERZECK的设计方案后,大感欣慰,他提出了更完善的微服务设计思路,他的想法和我们想要达到的更加灵活的区块链底层设施不谋而合。Berzeck的设计方案分为三层系统架构设计:
第一层为微服务基础架构层;
第二层为区块链基础服务层;
第三层为DAPP应用层。
这个设计站在一个脱离区块链的角度来重构NULS,是一个更高层次的认知,它将把NULS带入NULS IS EVERYTHING的新时代。核心团队决定在这个架构基础上来进行NULS2.0的架构重构。可以预见,NULS成为一个真正的强大灵活平台之后的景象。
此构架使得我们可以在第二层上开发更高级的应用系统(比如交易所的分布式系统,数据服务系统,甚至类似于滴滴打车的整个系统都可以构建在第二层之上)。构建在NULS体系上的,不仅仅是多个链和多个DAPP,还可以是非区块链的其他大中小型互联网、移动互联网、物联网、车联网等等商业系统。
这样的设计让NULS将不仅仅是区块链底层基础设施,还是与区块链系统无缝结合的分布式系统基础架构,它将成为一个不同系统间(区块链以及其他系统)可以进行无缝通信的平台,这将使围绕NULS构建的企业能够更快地蓬勃发展,同时大大降低开发成本。这种整体上的优化,使得NULS生态具备先天的竞争优势。
高楼大厦平地起,我们将脚踏实地一步一步去实现!
来源:NULS