NULS社区为了承载商业应用落地所累积的区块链技术思维 – 模块篇

区块链商业应用落地,是2018年区块链讨论最热门的话题。为了达成这个目标,区块链人都在不同方面有着各自不同的努力。NULS建立的初衷就是让区块链承载不同的商业应用。为了实现这一愿景,NULS走了一条不去猜测未来商业发展的可能性,而是踏实搭建可预见的技术需求的路线。在接下来的文章里,NULS中文社区,会从模块化、多链并行、跨链共识、智能合约、共识机制5个技术实现,具体向大家展示NULS为了应用落地所累积的技术思维。

比特币大家都熟悉,从它逻辑以及代码的角度来说,非常精巧。今天人们对它扩展性的诟病,其实是忘记了它原本设计就只是一个点对点的支付工具。而NULS的设立初期,就考虑到当今的商业世界发展迅猛,甚至是不可预测的。所以NULS不在商业发展上做任何猜测,而是全力搭建一个可以伴随商业世界高速发展的基础设施。这个基础设施的显著优势就是可持续升级未来商业世界不可预测,技术更不容有任何局限!

模块化的设计在目前阶段,能最大成程度的让区块链技术伴随着商业世界的持久变化,进行持续不断的升级。下面这张图就很具体的向大家展示了NULS从底层架构到应用层的模块化实现路径。

实现模块化的构建,首先需要底层代码层,这层代码层包含了程序运行的基本逻辑。在代码层的基础上,产生了区块链的基础模块层。其中包括了共识机制、存储、网络、账本、智能合约这五个基础模块。

值得一提的是,在设计模块时,如何建立模块标准,并统一所有接口标准,是至关重要的一步。只有标准建立后,模块才能成为通用的工具。以共识机制模块为例,POC和POW是两种不同的共识机制。共识机制模块的标准,就是不同共识机制下,去组建一个通用的接口。当有了这个接口(标准)后,共识机制才可以实现在模块化下的定制选择,并且实现热插拔,迅速和其它模块相兼容。NULS为模块提供了标准定义,一个完整的模块定义包含4个部分:基本信息,模块服务,模块事件,模块配置。在主网发布后,NULS会提供详细模块说明书,并规划应用Demo,来演示如何使用模块来搭建应用。

目前阶段NULS的几大模块标准(账本、共识、存储、网络、智能合约),已基本定义完成,并且NULS团队将根据行业发展动态来升级这些标准,同时维护模块内容。

模块化标准定义之后,再上一层就是链层由不同模块自由选择组合成了NULS主链,同样的道理也可组成其他子链。最后一层是业务应用层,前面三层的设计最终目的都是为了支持业务应用层。在上图中,介于第四层和第三层,有一个中间层,这样设计是因为在商业应用细分领域中,有一些共性的需求,这些需求在技术实现上可以抽象和提炼。比如防伪行业的特性有:数据量大,流转信息存在依赖性,使用场景要求快速查询完整溯源流转信息,并验证合法性。NULS的解决方案包括跨链共识域,应用层中间件等技术。NULS封装了这些业务功能(同样可以模块化输出),直接提供给应用开发者,需要使用的时候直接调用即可。NULS从业务层面实现了区块链和不同行业结合

在这四层结构中,每一层和上一层的链接,都有一个规范(也就是标准)来保证层级的流动是可执行的并且顺畅的,这也是模块化搭建的难点之一。

上述就是NULS模块化实践路径的介绍,再次总结下NULS模块化设计的优势:


1.便于技术可持久的升级、模块可以分别独立升级。

2.便于用户组合不同模块下的内容,搭建开发自己的应用。

3.NULS是一个开源生态,后期开发者在模块化模式下,更方便地加入NULS底层的任一模块(部分),进行开发。

4.当发现BUG的时候,更容易定位BUG,修复BUG。