一种建立智能合约微服务化的方法技术

技术编号:19751479 阅读:27 留言:0更新日期:2018-12-12 05:48
本发明专利技术提供了一种建立智能合约微服务化的方法,包括:步骤一,设计智能合约微服务的基础容器:(1)使用docker实现单一合约微服务的执行容器;(2)上层使用kubernetes对合约进行管理整体管理;步骤二,设计智能合约微服务间的通信方式,使用远程过程调用的方法或者基于RESTFUL接口规范的方法;步骤三,设计整体智能合约微服务的运行方式:1)用户的请求被微服务的特定网关所获取并进行解析处理;(2)网关检查单一合约以及组合合约重新封装为特定合约服务消息,设定服务访问序列;(3)请求消息完成单一合约的业务逻辑,并对各容器数据更新;(4)最终处理结果返回给网关,随后交付给用户;(5)请求整个处理流程通过区块链接口存入到区块链中。

【技术实现步骤摘要】
一种建立智能合约微服务化的方法
本专利技术涉及本涉及区块链、智能合约、微服务领域,特别是涉及到智能合约的微服务化的建立方法,用于提升智能合约的可用性以及可扩展性。
技术介绍
1997年,智能合约的概念由NickSzabo提出,发表于“FormalizingandSecuringRelationshipsonPublicNetworks”中,他首先分析了传统合约(纸质合约)的不足,如不易保存,可执行力不强等。随后提出了智能合约的概念与基本原理,并说明通过使用计算机、互联网、密码协议等新的技术构造智能合约的可能性与优势。虽然智能合约理论几乎与互联网技术(WorldWideWeb)同时出现,但应用实践却一直严重地落后于理论,缺乏将这个理念转变为现实的清晰路径。主要面临两个方面问题,一是智能合约没有有效的手段来控制实物资产,保证合约的执行;二是单个计算机很难保证执行这些条款以获得合约方的信任,合约方需要可靠的解释和执行代码的可信环境,它无法亲自检查有问题的计算机,也无法直接观察与验证其他合约方的执行动作,只有让第三方审核各方合约执行的记录。而区块链技术的出现解决了这些问题,奠定了智能合约应用的基础,同时,智能合约也扩大了区块链的应用范围。区块链为完全数字化资产的记录和转移奠定了基础,通过完全数字化的资产,区块链给计算机代码提供直接控制资产的方法,使得智能合约具有执行力。在区块链上,资产的控制就是控制资产对应的密钥权限,而不是任何实物。区块链使计算系统成为受信任系统,它已经不仅限于数据库的功能,同时还是可以执行代码和记录数字资产所有权的分布式计算机,数字资产所有权就可以被上传和存储在区块链中,并根据指令执行,一旦区块链记录了合约代码,合约方就可以确定合约不会被更改。现有的基于区块链的智能合约技术还处于一个初级阶段,尚有很多问题还没有解决,包括:(1)基于区块链的智能合约执行效率低下,智能合约的一次执行需要全节点共识,且一个区块包含的多个合约需串行执行,导致时间开销过大,效率低下;(2)智能合约作为区块链的链上代码执行的安全问题,合约代码缺乏形式化方法对其进行建模验证,易导致代码安全漏洞;(3)智能合约的可扩展性问题,目前智能合约独立性极高,业务逻辑基本不对外开放,合约之间的相互调用极少,合约使用完成后很难再次利用。随着合约业务逻辑逐渐向复杂化发展,合约的规模也越来越庞大,而合约内部的逻辑耦合过大,导致合约的维护和更新变得极为复杂。
技术实现思路
本专利技术的专利技术构思来自云计算与区块链的快速发展,BaaS(BlockchainasaService,区块链即服务)快速发展,与早期云上的IaaS、PaaS、SaaS技术类似,BaaS技术的目的在于将区块链以及区块链技术包装成为服务,提供快速、便捷的区块链部署和使用功能,方便企业级用户的使用,而基于区块链的智能合约也被移植到了BaaS上,成为了BaaS上实现各企业业务的方法,而如何将云上现有的技术与智能合约相结合,解决现有智能合约的问题,成为了一个重要的研究点,这也就是本专利技术的专利技术构思所在。本专利技术的目的在于提供一种建立智能合约微服务化的方法,包括:步骤一,设计智能合约微服务的基础容器;步骤二,设计智能合约微服务间的通信方式;步骤三,设计整体智能合约微服务的运行方式。优选的,所述微服务将应用程序构建为一系列松散耦合的服务,每个合约微服务均被部署在单个基础容器之中,提供给每个合约模版独立的运行、开发、验证的环境,单个合约的所述微服务在所述基础容器中执行,所述基础容器中的单个合约的所述微服务具有功能单一性,可组合性,高融入性,高可扩展性以及高可验证性,所述功能单一性即所述合约微服务所针对的业务是单一的;所述可组合性为将简单合约微服务能通过轻量级通信方式相互组合形成复杂合约,完成特定业务逻辑;所述高融入性即所述合约微服务可将服务暴露,通过轻量级通信服务访问,被封装成API从而被用户使用,并安插在自己的业务逻辑中;所述高可扩展性即所述合约微服务在开发完成后,只需将自身的服务暴露给其他微服务和用户便可被使用,且整体的服务集合通过增加新的微服务或是更新已有微服务来满足各类新的需求;所述高可验证性即单一智能合约微服务的状态机规模简化,形式化验证过程周期减少,验证的准确性提高,且组合合约满足组合验证的标准从而进行验证。优选的,所述步骤一设计智能合约微服务的基础容器包括:(1)使用docker实现单一合约微服务的执行容器,从而隔离合约间的资源,使合约成为独立的模块;(2)上层使用kubernetes对合约进行管理整体管理,包括合约服务的注册,以及合约容器的管理。优选的,所述步骤二设计智能合约微服务的通信方式,用于实现合约的可扩展性以及合约之间可进行组合使用,完成更为复杂的合约逻辑,采用两种方式实现智能合约微服务间的通信,一种是使用远程过程调用(RemoteProcedureCall)的方法,而另一种是使用基于RESTFUL接口规范的方法。优选的,所述基于RESTFUL接口规范包括HTTP协议。优选的,所述步骤三设计智能合约微服务运行方式包括:(1)用户的请求被微服务的特定网关所获取,网关进行对应的解析处理;(2)网关检查所请求的产生的单一合约的合法性以及组合合约的可组合性,在检查完成后将所述拥护的请求作为信息重新封装为特定的合约服务消息,设定服务访问序列;(3)请求消息按照用户所需逻辑进入各个容器之中完成单一合约的业务逻辑,并对各个容器数据进行更新;(4)最终处理结果被返回给网关,随后交付给用户;(5)所述用户的请求的整个处理流程通过区块链接口存入到区块链中。采用本专利技术的方法的有益效果在于,将现有云技术与智能合约结合,形成一套将智能合约微服务化的方法,可有效提升合约的可扩展性,对于智能合约的开发与应用具有重要的意义。根据下文结合附图对本专利技术具体实施例的详细描述,本领域技术人员将会更加明了本专利技术的上述以及其他目的、优点和特征。附图说明后文将参照附图以示例性而非限制性的方式详细描述本专利技术的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。本专利技术的目标及特征考虑到如下结合附图的描述将更加明显,附图中:附图1为根据本专利技术实施例的智能合约微服务的基础容器的结构视图;附图2为根据本专利技术实施例的智能合约微服务的工作流程图。具体实施方式云上的微服务技术是面向服务架构(SOA)风格的一种变体,它将应用程序构建为一系列松散耦合的服务,有效的提升项目的可扩展性。在微服务体系结构中,服务应该是细粒度的,协议应该是轻量级的。将应用程序分解为不同的小型服务的好处是它提高了模块性,使应用程序更易于理解、开发和测试。它还通过使小型自主小组独立开发,部署和扩展各自的服务来平行发展。同时这种技术也允许个体服务的架构通过不断的重构而出现,基于微服务的体系架构可以实现持续交付和部署。将云技术中的微服务架构应用到智能合约中,将云上的智能合约以微服务的形式进行开发可有效的解决其可扩展性差的问题。这种智能合约微服务化的实现方法,包括如下步骤:步骤一,设计智能合约微服务的基础容器;步骤二,设计智能合约微服务间的通信方式;步骤三,设计整体智能合约微服务的运行方式。(一)本文档来自技高网
...

【技术保护点】
1.一种建立智能合约微服务化的方法,其特征在于包括:步骤一,设计智能合约微服务的基础容器;步骤二,设计智能合约微服务间的通信方式;步骤三,设计整体智能合约微服务的运行方式。

【技术特征摘要】
1.一种建立智能合约微服务化的方法,其特征在于包括:步骤一,设计智能合约微服务的基础容器;步骤二,设计智能合约微服务间的通信方式;步骤三,设计整体智能合约微服务的运行方式。2.根据权利要求1所述的一种建立智能合约微服务化的方法,其特征在于:所述微服务将应用程序构建为一系列松散耦合的服务,每个合约微服务均被部署在单个基础容器之中,提供给每个合约模版独立的运行、开发、验证的环境,单个合约的所述微服务在所述基础容器中执行,所述基础容器中的单个合约的所述微服务具有功能单一性,可组合性,高融入性,高可扩展性以及高可验证性,所述功能单一性即所述合约微服务所针对的业务是单一的;所述可组合性为将简单合约微服务能通过轻量级通信方式相互组合形成复杂合约,完成特定业务逻辑;所述高融入性即所述合约微服务可将服务暴露,通过轻量级通信服务访问,被封装成API从而被用户使用,并安插在自己的业务逻辑中;所述高可扩展性即所述合约微服务在开发完成后,只需将自身的服务暴露给其他微服务和用户便可被使用,且整体的服务集合通过增加新的微服务或是更新已有微服务来满足各类新的需求;所述高可验证性即单一智能合约微服务的状态机规模简化,形式化验证过程周期减少,验证的准确性提高,且组合合约满足组合验证的标准从而进行验证。3.根据权利要求1所述的一种建立智能合约微服务化的方法,其特征在于:所述步骤一设计智能合约微服务的基础容器包...

【专利技术属性】
技术研发人员:胡凯余维罗戡丁毅
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1