作者:黄连金
NULS顾问。美国 ACM Practitioner Board 委员、美国分布式商业应用公司创始人兼CEO、中国电子学会区块链专家委员、美国 CISSP (ISC注册信息系统安全专家)、前华为区块链专家。
原文链接:https://www.jinse.com/bitcoin/267356.html
![]
什么才是有价值的技术?
我们不断的谈论区块链技术如何落地,是因为应用落地才是技术的关键,产生了实际应用的技术才能叫做有价值的技术。不满足于区块链技术的现状驱使着我们不断的推陈出新。我们如何突破现状,从技术进入应用时代?一个是应用场景的突破,人工智能也好,AR或者VR也好,从应用场景进行突破。其次就是**底层的技术的突破,**现在最重要的就是将性能提高,将安全技术提高。
区块链技术的落地
技术本身是制约业务扩展的主要屏障
从商业角度来讲,更多的业务希望结合区块链技术,这是一个很常态的想法。然而就目前的发展状况而言,高昂的技术研发和时间成本又成为企业不得不慎重考虑的问题。如果不完善区块链的底层技术,拉近技术与商业应用的距离,整个行业也很难有所突破。甚至,企业搭建自己所需的区块链,还需要考虑到业务的垂直拓展问题。
我们在区块链商业价值和技术之间需要搭建一个平台,可以让区块链技术通过这样的平台传递出去,而不受其技术本身的困扰。同时让商业应用可以通过这样的平台链接上所需的区块链技术。其次,这样的平台不仅是庞大的,更需要根据业务需求,提供可升级的选项,不至于让技术跟不上业务需求的步伐。否则耗费了时间和精力做出来的平台,因为跟不上时代的进步,又被迫选择抛弃。这不是任何人想要的结果。
智能合约发展的契合点
如今的智能合约,更趋向于业务的单独运行。虽然以太坊开启了区块链应用的篇章,但一个试验性质的产品显然难以支撑真正的商业应用。不具备图灵完备属性以及有限的TPS并发处理能力完全的限制了应用的开放性发展。当然,想要打造更丰富的应用,需要的不单单是性能上的提升,更需要提高与各种业务之间的结合度。市场上的Dapp数量众多,却很难形成广泛的商业应用,其单独的业务承载能力也限制住了智能合约的发展,难以将区块链技术往更深的业务需求层推进。
去中心化的持续发展
我们如果要加入一条区块链,很大程度上会去考虑到其共识机制。这是我们达成协作的基础。虽然像POW和POS这样的共识算法,比较容易被接受,但通过需求的不断演变,其不够中心化的弊端也逐渐显现。POW机制的缺点很明显,为了争夺记账权需要不停计算,耗电量巨大,造成了极大的能源浪费,而且达成共识周期过长。而在POS机制中,持币数量多的人更容易获得记账权,这会使共识机制成为有币人的游戏,也就失去了公正性。我们不经猜想,去中心的区块链思维会不会演变成有币人(持币更多,矿机更好)的游戏?如果打破了区块链的发展初衷,那我们又拿什么来保证行业的持续发展?
区块链技术怎样结合实际应用
其实最主要的问题有两个,首先是解决区块链的技术障碍,然后是推进技术应用落地实现可持续发展。
NULS
NULS是一个可定制的区块链底层基础设施,并由全球化社区推动看好NULS项目最主要的原因是它创新的思维方式以及发展方向很有可能完全解决现阶段区块链技术发展所面临的问题。
模块化设计架构+链工厂,解决底层技术障碍
模块&模块仓库
NULS采用了模块化的设计架构,提出了弱化主链的全新思维。同时,NULS定制了一套工业化区块链技术标准,遵循热插拔、模块化、平行扩展原则,提供智能合约、多链并行、跨链共识等运行机制,通过降低开发和使用的成本,推动区块链商业应用进程。
NULS认为,模块化架构是走向区块链3.0时代的基础,也是最优途径。这能从搭建区块链的源头,消除底层技术障碍。NULS模块化架构由微内核,功能及应用模块,模块管理器组成。NULS将所有功能和应用模块化设计,NULS 模块提供了标准定义“NULSModule”,所有 NULS 的模块都遵循NULSModule 模块定义。吸纳了 Linux 内核设计的模块化思想,开发NULS微内核。NULS 设计遵循“一切皆为模块”的原则,用模块化支持技术更新和应用适配。
模块化的设计架构是为了能更便捷的搭建区块链单一的模块并不能体现出其优势,如果有不同的模块,就可以搭建出不同属性的链。同时NULS也明白,业务的需求是会不断增加的。所以NULS将会打造一个涵盖大部分区块链技术领域的通用的模块仓库为企业/个人的搭链提供个性化选择。这样的方式可以让企业/个人将更多的精力投入到业务中,而非区块链底层技术的研发。
由区块链技术推进的商业应用,模块化设计应该是最理想的发展方式从使用者的角度讲,很多时候,因为业务逻辑的共通性,搭建不同的区块链也是需要同样的底层架构,NULS让企业不需要再花时间和成本去钻研同样技术的基础底层技术,直接从模块仓库里选取所需模块,通过简单的配置,就可以搭链。甚至,即使模块仓库中没有所需模块,企业可以自行开发单独的业务应用,这样也将节省很多不必要的开发时间。从开发者的角度讲,由于NULS的开源属性,开发者可以看到模块中应用与功能的底层技术,并且能对模块进行独立的升级、扩展和定制,以满足自己的搭链需求。
最近,NULS也重新开发了一套进化版的模块化架构——**2.0架构,**跨链中的卫星链和链工厂都将基于这套全新的架构进行开发。**新架构将打破开发语言的限制,并且让模块更独立,**通过标准的基础模块接口,组合一套基础的区块链运行框架,新架构使用微服务的架构思路。NULS这样的网络构架更加易于扩展、修改、替换,它的每一个模块应该是简单的、存粹的,不应该受到区块链程序整体的复杂度影响。
链工厂
四步搭链
链工厂是NULS的核心产品,有了模块仓库,基于NULS平台的搭链就更为便捷,仅需四步即可搭建一条属于自己的区块链。
1.从模块仓库中选取所需模块
2.配置系统参数
3.下载系统完整的运行包
4.部署系统
多链并行
NULS的主链只承担底层架构的数据,而**通过NULS搭建的链作为友链,可以独立运行其业务,甚至升级或者扩展。**这样的多链并行的方式可以解放主链的运行压力,提高友链的运行速度和能力。
NULS跨链生态
虽然在NULS搭建的链可以独立的运行,但是各业务之间必定存在相互的交集。在互联网世界里,各业务最为明显的例子就是流量互通。而在区块链的世界中,就需要跨链来进行价值的相互流通。
NULS跨链方案中有一个卫星链(Satellite Chain)。所有区块链都只和卫星链通信,交易的验证由卫星链负责,各平行链信任卫星链的验证结果。基于NULS链工厂生成的各个不同区块链(如上图中所示意的链A、链B和链C),可以通过添加跨链模块,实现跟卫星链的互通。除了基于NULS链工厂搭建的区块链,其他如比特币、以太坊等异构的公链,也可以通过协议转换层的机制,将公链协议和NULS跨链协议进行适配,实现最终的链间通信。
卫星链是模块化的架构,每个模块都是微服务,独立运行。微服务之间通过http协议通信。卫星链提供的微内核模块负责服务管理、配置管理和数据贡献。跨链模块也在NULS模块仓库中,可以通过链工厂选配。看似复杂困难的跨链交互,在NULS中可以便捷的实现。
卫星链工作原理
NULS智能合约
畅想未来的前提,是拥有一个强大的现在。
NULS智能合约采用了模块化设计的创新理念,并将其加入NULS的模块仓库,使得开发者在搭链时,可以直接选取NULS智能合约模块,就可以完成相关配置。最为重要的是,用户可直接选取其模块搭建在自己的链上运行。这也就意味着,企业/用户使用的智能合约可以不局限于NULS本身的链,只要是通过NULS平台搭建的区块链,都可以选配自己的智能合约模块,这也大大增加了智能合约的实用性。
NULS智能合约实现了分钟级别部署,在开发者编写完智能合约之后,可以快速在链上进行部署。不仅如此,目前NULS智能合约的NVM是基于JVM实现,NULS智能合约解释器将无缝支持JVM体系编程语言,并将陆续支持其他主流编程语言,应用开发者可以使用自己熟悉的语言,设计NULS智能合约。通过这样的创新设计思维,NULS希望让智能合约的开发、部署和调用能够更加的便捷化,从而增加开发者对应用开发的兴趣,在不久的将来,能够打造一个丰富的智能合约库。值得一提的是,NULS智能合约的使用成本相较其他平台来说是非常低的。
POC(基于节点信用的共识机制),拥有更全面的去中心化特征
NULS首创的POC共识机制是以信用系数和权益为激励标准,根据区块链账簿唯一性和确定性,协调各节点进行单点广播权限确定和可验证的系统。其综合了POW/POS/DPOS的优势特点,把区块链中难以统一的去中心化、效率、一致性几个优点做到了更好的协调。
1、去中心化在POC共识机制的中,没有节点数量的硬性限制,节点的数量是动态的,任何满足条件的都可以加入节点,这里每一个出块节点都类似POW中的矿池,通过持有权益的方式来加入这个矿池中共识。在POW中矿池根据算力来获得记账权益,在POC中,所有的矿池获得记账权的机会是随机对等的,这使得POC共识机制的节点分布相对更去中心化。
2、效率影响区块链网络效率的两个关键因素是节点分布广泛的程度和提供节点的硬件网络资源。在协调这两个参数中,POC共识机制引入了信用系数机制,直接会影响到节点的收益,所以每一个节点以及参与到这个节点的委托人都会做出对网络最有利的选择,保证节点能高效稳定的提供服务,在这些节点中,融入了DPOS的随机排序后出块原则,保证了网络的安全和高效,可提供较高的TPS承载能力。
3、一致性在POC共识机制中,全员皆可以参与共识,所有的人参与共识的机会是均等的,获得的激励根据权益和节点信用系数来决定的。节点和所有的参与者都会为了提供稳定的节点服务达成共识。
NULS架构设计的整体性
从整体的设计架构来看,我们也很难将NULS的整个发展架构拆分出来看,这样是没有意义的。NULS每个环节的设计都是为了实现NULS生态系统的有力铺垫。模块化架构是为了消除区块链底层技术障碍,更利于开发者针对不同的需求实现独立的升级和扩展。模块仓库用于满足搭链的个性化需求,同时,链工厂也将提供快捷的搭链方法满足不同的业务需求,跨链方案则成为链接这些多元化业务的链,让区块链技术的应用能贯通整个市场,而不是以单独的业务存在。
未来区块链世界的开始
NULS并没有像外包公司一样去解决区块链行业那些琐碎的事务,整个项目的设计逻辑和发展方向具备了未来公链应该有的模样丰富的商业应用,都需要依赖完善的底层技术。就如文章开头所述,我们需要一个能够消除区块链底层技术障碍,可实现持续化发展的平台。然而有了这样的平台,仅仅是区块链技术推进商业应用的开始,通过这样的平台,需要有更多的业务来壮大整个市场。打破了技术的壁垒,打破了行业的壁垒,也许区块链能够做的还有很多,这都需要我们慢慢的去尝试。当然,最重要的是,我们需要像NULS这样的平台。