NULS技术黄皮书正式发布,打造全球性的区块链开源社区

1月19日,NULS官网(nuls.io)发布了《NULS黄皮书V1.0》中英文版(以下简称黄皮书),旨在通过介绍NULS底层技术的设计原理和实现方式,让更多人了解NULS项目以及技术,并号召全球的技术工作者、社区成员们共同推动NULS开源社区建设。

据了解,NULS是一个可定制的区块链基础设施,是全球性区块链开源社区项目。NULS由微内核和功能模块组成,以弱化主链的全新思维,通过事件和服务的剥离,实现高度模块化的底层架构,提供智能合约、多链并行、跨链共识等运行机制,降低开发和使用的成本,推动区块链商业应用进程。

定义一套区块链开发标准,使区块链技术更简单

如何实现区块链基础设施可定制化,黄皮书指出,NULS将通过定义一套区块链开发标准,包含但不限于模块标准、服务标准、数据/协议标准、进程/线程标准、完备事件驱动模型开发标准。然后把区块链分成不同模块,比如账本、账户、共识、网络、智能合约等,每个模块都可以独立升级而不影响其他模块。NULS开源社区将维护服务接口和事件数据的完整开发文档,未来,来自全球各行业的模块和应用开发者不必开发完整的区块链底层,只需要关注每个模块的服务接口和时间数据结构的兼容即可。就比如英特尔会根据不同的需要生产不同接口的CPU,有775针、1150针、1151针等等,而主板生产商就会根据这些接口标准生产相应的主板。

NULS的模块化架构

“NULS的技术设计目标之一就是为了让区块链技术更简单,降低开发门槛和开发成本。”NULS首席开发者张星表示,”NULS通过标准化,模块化,使区块链底层可定制。NULS把传统区块链拆分成多个模块:智能合约、账本、账户、存储、网络、共识、事件总线、缓存等。每个模块都能够在以后的技术升级或者定制化中被升级或者替换,比如区块链中的网络模块,在目前P2P对等网络技术正在不断升级中,每一次升级,NULS系统中的网络模块也将随之升级,单个模块的升级相较于整个系统的升级将更加迅捷。在可替换方面,比如银行要发布一条私有链(如建设行内多活/多中心基础设施)或联盟链(如实现跨境支付等多机构参与的应用场景),传统区块链中的匿名+地址的账户模块就不适合银行使用,这时候银行可以用其特殊的实名认证账户模块(如CFCA)替代原本的账户模块。因此,NULS的模块化带来的使快速的技术升级迭代和海量的商用适配场景。”

开发者可以发布自己开发的模块

NULS社区开发者开发的模块将如何发布?黄皮书提出,模块开发者需要提供模块说明书来定义一个模块,模块说明书必须详细说明该模块发布的事件、提供的服务接口、数据结构、模块配置。NULS设计中每个模块不关心其他模块的底层实现,模块之间使用服务和事件交互,所以在新模块发布时模块说明书特别重要,模块说明书是社区测试模块的依据,是其他开发者使用该模块的开发指南,也是社区决定是否发布该模块的重要因素。

一链一应用,多链并行大幅提升区块链网络性能

在如何实现多链并行,提升区块链网络性能方面,黄皮书介绍了详细的解决方案。

跨链共识域(C3D:cross chain consensus domain)

主链部分节点与子链部分节点组成跨链共识域,跨链共识域内节点对跨链交易达成共识,将跨链数据协议转换后分享跨链数据到其他对等节点。

NULS跨链共识域

跨链共识节点(C3N:cross chain consensus node)

加入跨链共识域的节点额外加载跨链共识所需的模块,如网络模块、跨链协议处理器模块等。

NULS跨链共识节点

NULS通过跨链共识域、跨链共识节点和跨链交易账本实现链与链之间相互通信、跨链交易的问题。对于一些特殊的企业和机构而言,数据的保密性和安全性极其重要。NULS提供了一套审计私有链数据完整性的方案,子链把每个区块头封装到主链的一笔交易中,主链使用多级摘要的技术审计子链的交易数据完整性,既保证了企业的机密性,也为企业提供了向公众证明数据完整性的技术手段。

《NULS黄皮书V1.0》的发布,是NULS从提出标准化、模块化、多链、可定制等概念后的实践。张星表示:”NULS将秉承开源、开放、共建的理念,期待更多的开发者和企业机构加入到NULS开源社区的建设当中,当越来越多的模块被开发,被使用,越来越多的子链接入到NULS主链,NULS将渗入到人们日常生活中的方方面面,真正实现’让信任更简单’。”

NULS黄皮书下载地址:www.nuls.io