编者按:本文来自36氪战略合作区块链媒体“Odaily星球日报”(公众号ID:o-daily,APP下载)
近期,跨链成为公链圈的关注热点。与此同时,公链 NULS 发布 NULS2.0 第一个内测版本 NULS2.0-Alpha1 版本,新增了模块化造链功能,并完成了多链运行和跨链的扩展协议与接口(跨链功能预计会在 Alpha3 中上线测试)。
据 NULS 核心团队项目负责人王志坚表示,NULS 2.0 功能上保留了 NULS1.0 版本随机数种子机制类似的扩展功能,但相比 1.0 版本,NULS 2.0 是一个基于微服务的更精细更独立的模块化架构,不限开发语言,并优化了智能合约的性能与底层账本模型,结合了跨链业务优化的账户余额模型设计,由此组成了一套区块链基础设施。
针对此次颇受关注的跨链功能,王志坚认为,多链是未来的趋势,只要区块链技术还在,便会存在业务隔离,或者压力隔离的需要,因此也会出现不同的业务,不同的资产,不同场景的链。NULS 团队一开始的方向就是跨链与多链并行。
其中,在造链功能上,NULS 提供模块仓库与链工厂。NULS2.0 的模块都是基于微服务架构实现的,相比 1.0 的模块化架构,每一个模块都是独立的,它可以独立地运行,可以独立的进行负载均衡、分布式部署,提高整个软件的扩展性。团队和社区开发者也会持续的贡献和丰富模块仓库的内容,完善 NULS 的生态。
链工厂是一条新的区块链,预计将在下半年上线,旨在为中小企业和独立开发者提供一个快速发链的功能。基于链工厂,操作者可以在模块仓库中选择所需模块,加一些个性化的配置,点击确认就可打包生成一个独特的程序包,程序包下载运行之后即组成一条新的链。此新链条可自行运行,也可通过链工厂的节点运行。值得一提的是,链工厂的节点可运行多条链,使其投资收益比最大化。
在跨链部分,王志坚表示,所有基于 NULS 生态搭建的区块链,都可以在模块仓库中选择跨链模块。NULS 生态包括基于链工厂生产的链、以及直接使用 NULS 开源代码搭建的链。
生态之外的区块链则需要接入 NULS 的跨链协议。对于比特币与以太坊之类的老牌公链,NULS 的解决方案是,实行公证人机制,即若干个公证人角色(比如比特币节点、以太坊智能合约)来做跨链的协议转换。
对于未来的计划,王志坚表示,将替换 1.0 老版的代码,陆续上线模块仓库,链工厂产品,至于具体技术细节中,包括隐私交易、账户找回、多共识机制实现、社区治理、更高的 TPS 都在计划清单内。
以下为星球日报 2018 年 2 月 7 日报道原文:
星物种 | 将底层公链模块化,NULS想让开发者定制属于自己的公链
文 | 卢晓明
去中心化应用(DAPP)都需要搭建在某个底层链上。不同的业务场景对底层公链的性能、共识机制等有不同的要求,某的应用甚至需要搭建自己的一条底层链(包括私有链、联盟链和公有链等)。
然而,开发一条适配自身业务底层链往往需要一定的技术门槛和时间。有很多具有落地场景的业务并无了解区块链底层的技术人员,同时业务需要尽快上线,即便有也难以在短时间内搭建一条完全合适的底层链。
本文要介绍的NULS(https://nuls.io/),就打算将底层链“模块化”,降低开发者快速定制自身底层链的门槛。
NULS是一个可定制的区块链基础设施,是全球性区块链开源社区项目,基金会注册在新加坡。团队搭建了一条主链,同时将底层链拥有主要组成部分模块化,这些组件都是可重用开源的,开发者可以通过组装和修改不同的模块,来定制一条不同的底层链。
NULS技术负责人表示,原来比特币和以太坊,“如果你要改它的底层,就会牵一发而动全身”。NULS团队有点像将单体结构的底层链微服务化,以接口的形式对外提供服务,同时各个微服务组件的代码是开源的。底层架构需要升级,也可以直接升级某个模块,而不需要把整条链再写一遍。
发起人和白皮书从四个方面总结了NULS的特点:
1、共识机制:
NULS将其主链的共识机制命名为POC(Proof-Of-Credit,基于信用的共识机制),这个机制有点像DPOS。持币少的散户可以将币委托给代理人,代理人可以形成节点参与共识。
节点的历史出块数量、违规情况和出块正确情况影响节点信用。节点信用达标的情况下,锁定一定保证金即可加入共识,共识节点重新排序后每轮轮流出块。
POC共识机制中代理人和委托人角色的不同
2、模块化架构:
Nuls技术负责人介绍,目前Nuls有账本模块、网络模块,存储模块,帐户模块、共识模块、跨链共识模块、智能合约模块等九个模块,使用Nuls在线模块仓库管理。不同模块通过接口调用或事件监听的方式通讯,开发者不需要了解底层。
开发者可以根据自己对性能和安全的要求,改变共识机制、区块大小、打块机制和存储机制等,把底层链建成公有链、联盟链、私有链等不同形式。
3、多链并行:
多链并行是提高区块链性能的一个机制,弱化了主链的概念,不同的链可以处理不同业务,理论上可以不断平行扩展。Nuls社区会针对不同子链开发不同的跨链共识模块,Nuls用跨链共识模块将不同的链连接在一起从而实现跨链通讯。
主链部分节点与子链部分节点组成跨链共识域,跨链共识域内节点对跨链交易达成共识,将跨链数据协议转换后分享跨链数据到其他对等节点。
4、智能合约:
根据项目白皮书,Nuls 内置 NulsVM 处理智能合约。智能合约模块处于对外服务模块(如 RPC 模块)和底层设施模块(如网络模块、存储模块、账户模块等)之间,后者为其提供底层支撑。Nuls 设计了一些智能合约模板,其解释器将支持多种高级编程语言,开发者可自由选择。
Nuls技术负责人介绍,应用级产品可以直接部署在Nuls的公链上,或者将私有链的数据给到公链审计,前者可以共享Nuls底层升级的性能提升,后者可以获得团队的技术支持。Nuls目前正在开发阶段,计划今年3月上线测试网络,5月上线正式网络。
NULS项目的核心开发者目前约有7人(具体可查看官网介绍)。