基于智能合约的Fabric区块链配置方法及系统与流程

文档序号:18266315发布日期:2019-07-27 09:11阅读:341来源:国知局
基于智能合约的Fabric区块链配置方法及系统与流程

本发明属于区块链技术领域,尤其涉及一种基于智能合约的fabric区块链配置方法及系统。



背景技术:

从区块链中诞生的智能合约技术是一种以信息化方式传播、验证或执行合同的计算机协议。智能合约技术提供公开透明的合约计算协议,还包含了区块链数据安全、分布式、可追踪且不可篡改的技术特性,其目的是提供优于传统合同方法的安全,并减少与合同相关的其他交易成本。作为目前业界最流行、最成熟的区块链框架之一,fabric具有扩展性、物理隔离性好等优点,适合构建联盟链,提供企业级间互信数据平台。

现有技术之一是:fabric(ibm公司开源区块链平台hyperlegderfabric的简称)区块链配置和智能合约管理全部使用官方提供的基础工具进行线下处理,机构间需要进行文件交互时必须通过邮件、u盘、网盘等线下渠道进行。但目这种方案具有以下缺点:1)fabric区块链配置项的默认修改策略为过半通过才能修改,参与机构数量越多要收集的数字签名越多,管理成本上升很快;2)fabric区块链配置修改文件必须使用共识节点证书进行签名,而外围区块链应用通过官方sdk与fabric对接时使用的证书是参与节点的,因此无法在外围系统中利用sdk进行配置修改操作;3)配置更新不便,配置更新文件需要借助官方工具在线下生成,操作复杂繁琐,而且由于签名后的配置文件必须在机构间通过线下流转进行数字签名,信息泄漏风险增大;4)智能合约部署与升级困难,一方面智能合约的部署和升级均需在线下通过命令行工具完成,操作不便,另一方面智能合约安装文件的线下流转会增加管理成本和信息泄漏风险;5)参与机构只能查看本机构对应参与节点的智能合约信息,而这个信息对于链上其他参与机构来说是不可见的,缺乏统一的智能合约监控视图。

另外,还可以通过调整默认配置项修改策略,允许在参与机构中指定少数机构为管理机构,配置更新文件由管理机构组中的过半机构签名即合法,而且对配置更新文件签名时使用参与节点证书即可,以便可以在外围系统中利用sdk直接进行配置修改。利用区块链自身特性,将需要进行管理的配置信息和智能合约文件处理后直接上链,同时自动采集相应参与节点的数字签名,反馈更新操作执行情况,在保证机构间数据文件交互可信度的前提下大幅提高流转效率。以上述方案为基础,同时借助官方sdk和自研跨机构流程引擎,实现区块配置管理和智能合约管理的跨机构全流程线上处理,减少管理成本,提高处理效率。但是以上方案具有以下缺陷:1)组合调用自研流程引擎、信息反馈api与官方sdk时由于各部分的相对独立性,缺乏一致的事务控制,在极端情况下可能出现流程相关信息与实际区块配置信息等链上数据不一致的问题;2)受限于区块大小,智能合约文件大小有限,最大大小不能超过99m,否则会出现分块问题。

由于自身定位等原因,fabric平台在实际使用中存在区块链管理不便的问题,例如区块配置管理不便,智能合约升级部署困难且缺乏统一监控等。



技术实现要素:

为了上述这些问题,本发明提供了一种基于智能合约的fabric区块链配置管理方案,依靠智能合约技术提供公开透明的合约计算协议、分布式、可追踪且不可篡改的技术特性,解决机构间对区块链管理信息的信任问题,提高区块链管理跨机构流转效率,提高信息安全性。

本发明实施例一方面提供了一种基于智能合约的fabric区块链配置方法,所述方法包括:

调整创世区块文件和通道创建信封文件中的配置项修改策略,以指定fabric区块链的管理机构组;

配置更新发起机构接收录入管理机构组外围系统的待处理机构的相关信息,并在将所述信息与现有fabric区块链的配置信息对比后生成配置更新文件,同时收集相应数字签名;其中,所述配置更新发起机构为管理机构组成员;

配置更新发起机构通过外围系统调用智能合约将所述配置更新文件及相应数字签名上链,同时发起参与者为管理机构组中所有机构的跨机构区块链配置管理流程;

配置更新发起机构读取管理机构组中其他管理机构上链的数字签名;

配置更新发起机构通过外围系统根据配置更新文件与收集到的数字签名及读取到的数字签名调用区块链配置更新api,执行配置更新操作。

在一实施例中,所述fabric区块链上的所有参与机构都执行相同的智能合约。

在一实施例中,所述方法还包括对所述智能合约进行升级,具体包括:

智能合约升级发起机构调用当前的智能合约将新版智能合约文件打包上链,同时发起参与者为fabric区块链中所有参与机构的跨机构智能合约管理流程;其中,智能合约升级发起机构为fabric区块链的参与机构;

fabric区块链中所有参与机构审批所述新版智能合约文件及智能合约管理流程;

当每一个参与机构审批通过时,该参与机构通过外围系统下载新版智能合约文件并将其安装到该参与机构节点上;

当fabric区块链中所有参与机构均审批通过后,所述智能合约升级发起机构通过外围系统调用智能合约升级api执行升级操作,以完成统一升级。

在一实施例中,在所述智能合约升级发起机构将新版智能合约文件打包上链时,将新版智能合约文件转换成base64形式的字符串文件;

当所述智能合约升级发起机构通过外围系统下载新版智能合约文件并将其安装到对应参与机构上时,将base64形式的字符串文件转换成压缩文件进行安装。

在一实施例中,所述方法还包括:监控智能合约在fabric区块链中所有参与机构的升级情况。

另一方面,本发明实施例还提供了一种基于智能合约的fabric区块链配置系统,所述系统包括:预处理装置、配置更新发起机构;其中,

所述预处理装置用于调整创世区块文件和通道创建信封文件中的配置项修改策略,以指定fabric区块链的管理机构组;

所述配置更新发起机构用于接收录入管理机构组外围系统的待处理机构的相关信息,并在将所述信息与现有fabric区块链的配置信息对比后生成配置更新文件,同时收集相应数字签名;其中,所述配置更新发起机构为管理机构组成员;

所述配置更新发起机构还用于通过外围系统调用智能合约将所述配置更新文件及相应数字签名上链,同时发起参与者为管理机构组中所有机构的跨机构区块链配置管理流程;

所述配置更新发起机构还用于读取管理机构组中其他管理机构上链的数字签名;

所述配置更新发起机构还用于通过外围系统根据配置更新文件与收集到的数字签名及读取到的数字签名调用区块链配置更新api,执行配置更新操作。

在一实施例中,所述fabric区块链上的所有参与机构都执行相同的智能合约。

在一实施例中,所述系统还包括智能合约升级发起机构,用于对所述智能合约进行升级,其中,智能合约升级发起机构为fabric区块链的参与机构,在对智能合约升级时具体包括:

智能合约升级发起机构调用当前的智能合约将新版智能合约文件打包上链,同时发起参与者为fabric区块链中所有参与机构的跨机构智能合约管理流程;

fabric区块链中所有参与机构审批所述新版智能合约文件及智能合约管理流程;

当每一个参与机构审批通过时,该参与机构通过外围系统下载新版智能合约文件并将其安装到该参与机构节点上;

当fabric区块链中所有参与机构均审批通过后,所述智能合约升级发起机构通过外围系统调用智能合约升级api执行升级操作,以完成统一升级。

在一实施例中,所述系统还包括:第一转换装置及第二转换装置;

在所述智能合约升级发起机构将新版智能合约文件打包上链时,所述第一转换装置用于将新版智能合约文件转换成base64形式的字符串文件;

当所述智能合约升级发起机构通过外围系统下载新版智能合约文件并将其安装到对应参与机构上时,所述第二转换装置用于将base64形式的字符串文件转换成压缩文件进行安装。

在一实施例中,所述系统还包括:监控装置,用于监控智能合约在fabric区块链中所有参与机构的升级情况。

本发明实施例使用智能合约实现区块链配置文件更新、智能合约文件的跨机构安全流转,同时可以自动收集数据签名,根据跨机构流程状态自动生效配置修改,执行智能合约升级更新,利用统一监控视图可以追踪监控区块链配置修改历史以及所有参与节点的智能合约升级历史,解决了机构间对区块链管理信息的信任问题,提高区块链管理跨机构流转效率,提高信息安全性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的基于智能合约的fabric区块链配置方法的流程示意图;

图2为本发明实施例提供的智能合约升级流程示意图;

图3为本发明实施例提供的基于智能合约的fabric区块链配置系统的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例提供的基于智能合约的fabric区块链配置方法的流程示意图。如图1所示,该方法主要包括以下步骤:

步骤s11、调整创世区块文件和通道创建信封文件中的配置项修改策略,以指定fabric区块链的管理机构组。

创世区块,英语为genesisblock,是区块链的第一个区块文件,其中记录了该区块链平台的基础配置信息。在fabric平台中,创世区块会包含配置项修改策略,参与节点、共识节点信息,区块生成时间间隔,区块文件大小等配置信息。

修改策略,英语为modpolicy,用于指定fabric平台配置项修改所必须满足的条件,只有满足该条件某配置项才允许被修改,默认情况下此条件为收集到过半共识节点的数字签名。

可以将fabric区块链中的若干参与机构指定为区块链管理机构组,组中机构可以通过区块链配置管理流程进行增删。

步骤s12、配置更新发起机构接收录入管理机构组外围系统的待处理机构的相关信息,并在将所述信息与现有fabric区块链的配置信息对比后生成配置更新文件,同时收集相应数字签名;其中,所述配置更新发起机构为管理机构组成员。

当fabric区块链管理机构在外围系统中录入待处理机构的相关信息,例如名称、域名、根证书、交易证书等信息时,提交流程,配置更新发起机构接收上述相关信息后,将这些待处理信息与现有区块链配置信息进行比对,比对后生成配置更新文件同时收集数字签名,当收集到超过管理机构组中超过半数的节点数字签名时,可进行下一步骤。

步骤s13、配置更新发起机构通过外围系统调用智能合约将所述配置更新文件及相应数字签名上链,同时发起参与者为管理机构组中所有机构的跨机构区块链配置管理流程。

步骤s14、配置更新发起机构读取管理机构组中其他管理机构上链的数字签名。

在利用步骤s13发起跨机构区块链配置管理流程后,其他参与机构通过外围系统审批通过配置管理流程时外围系统自动收集该机构相应数字签名并上链,由配置更新发起机构读取上链的数字签名即可。

管理机构组中过半数机构同意配置修改时,任意管理机构的区块链外围系统即可执行配置更新操作,在保证安全的前提下提高处理效率。

步骤s15、配置更新发起机构通过外围系统根据配置更新文件与收集到的数字签名及读取到的数字签名调用区块链配置更新api,执行配置更新操作。

其他管理机构完成审批后,流程会流转到配置更新发起机构,发起机构审批通过时,外围系统根据配置更新文件和收集到的数字签名调用区块链配置更新api,直接执行配置更新操作,完成配置更新。

在一实施例中,可以利用自定义的fabric配置项修改策略及配置工具(例如,可以为各机构自研配置工具)修改初始配置文件,指定成员数量相对固定的管理机构组,可以避免在联盟参与机构众多的情况下配置管理流程过长、数据签名收集困难、配置文件流转不安全、配置更新操作必须在共识节点线下执行等问题,提供高效、安全、便捷的fabric区块链配置和智能合约管理,有效降低fabric平台管理成本。

在一实施例中,为保证一致性,fabric区块链上的所有参与机构都执行相同的智能合约。

在一实施例中,智能合约是可以升级的。在需要进行智能合约升级时,可以按照图2所示步骤对智能合约进行升级:

步骤s21、智能合约升级发起机构调用当前的智能合约将新版智能合约文件打包上链,同时发起参与者为fabric区块链中所有参与机构的跨机构智能合约管理流程。

智能合约升级发起机构可以为智能合约开发机构,是fabric区块链的参与机构。在该步骤之前,由于新版智能合约尚未更新,所以在上链的时候,需要调用原有的智能合约进行上链。

步骤s22、fabric区块链中所有参与机构审批所述新版智能合约文件及智能合约管理流程。

参与机构审批新版智能合约文件中的代码是否合法,并审批智能合约管理流程是否合法,当两者审批结果都为是时,审批通过。

步骤s23、当每一个参与机构审批通过时,该参与机构通过外围系统下载新版智能合约文件并将其安装到该参与机构节点上。

步骤s24、当fabric区块链中所有参与机构均审批通过后,所述智能合约升级发起机构通过外围系统调用智能合约升级api执行升级操作,以完成统一升级。

在一实施例中,在智能合约升级发起机构将新版智能合约文件打包上链时,需要将新版智能合约文件转换成base64形式的字符串文件;当智能合约升级发起机构通过外围系统下载新版智能合约文件并将其安装到对应参与机构上时,需要将base64形式的字符串文件转换成压缩文件进行安装。

在一实施例中,在智能合约升级过程中,监控智能合约在fabric区块链中所有参与机构的升级情况,包括参与机构是否成功安装,安装后是否升级成功等。

通常地,在代码层面实现智能合约升级时,可以在初始智能合约中内置智能合约代码的保存功能,即把压缩文件形式的新版智能合约文件转换成base64形式的新版智能合约字符串上链;也可以在初始智能合约中内置智能合约代码的读取功能,即把base64形式的新版智能合约字符串转换成压缩文件格式的新版智能合约文件,以便于安装。另外,还可以在初始智能合约中内置收集功能,以收集智能合约在各区块链节点安装情况。完成升级后,在统一的智能合约监控视图中可以追踪监控链上所有参与节点的智能合约升级情况,查看其历史和当前版本信息。

本发明实施例使用智能合约实现区块链配置文件更新、智能合约文件的跨机构安全流转,同时可以自动收集数据签名,根据跨机构流程状态自动生效配置修改,执行智能合约升级更新,利用统一监控视图可以追踪监控区块链配置修改历史以及所有参与节点的智能合约升级历史,解决了机构间对区块链管理信息的信任问题,提高区块链管理跨机构流转效率,提高信息安全性。

基于与图1所示基于与图1中基于智能合约的fabric区块链配置方法相同的发明构思,本申请实施例还提供了一种基于智能合约的fabric区块链配置系统,如下面实施例所述。由于该系统解决问题的原理与图1中基于智能合约的fabric区块链配置方法相似,因此该系统的实施可以参见图1中基于智能合约的fabric区块链配置方法的实施,重复之处不再赘述。

在另一实施例中,本发明还提供了一种基于智能合约的fabric区块链配置系统,其结构如图3所示,该系统主要包括:预处理装置10及配置更新发起机构20。

其中,预处理装置10用于调整创世区块文件和通道创建信封文件中的配置项修改策略,以指定fabric区块链的管理机构组。配置更新发起机构20用于接收录入管理机构组外围系统的待处理机构的相关信息,并在将所述信息与现有fabric区块链的配置信息对比后生成配置更新文件,同时收集相应数字签名。其中,配置更新发起机构20为管理机构组成员。

配置更新发起机构20还用于通过外围系统调用智能合约将所述配置更新文件及相应数字签名上链,同时发起参与者为管理机构组中所有机构的跨机构区块链配置管理流程。配置更新发起机构20还用于读取管理机构组中其他管理机构上链的数字签名。配置更新发起机构20还用于通过外围系统根据配置更新文件与收集到的数字签名及读取到的数字签名调用区块链配置更新api,执行配置更新操作。

在一实施例中,上述fabric区块链上的所有参与机构都执行相同的智能合约。

在一实施例中,所述系统还包括智能合约升级发起机构30,用于对所述智能合约进行升级。其中,智能合约升级发起机构30为fabric区块链的参与机构,在对智能合约升级时具体包括:

智能合约升级发起机构30调用当前的智能合约将新版智能合约文件打包上链,同时发起参与者为fabric区块链中所有参与机构的跨机构智能合约管理流程。fabric区块链中所有参与机构审批所述新版智能合约文件及智能合约管理流程。当每一个参与机构审批通过时,该参与机构通过外围系统下载新版智能合约文件并将其安装到该参与机构节点上。当fabric区块链中所有参与机构均审批通过后,智能合约升级发起机构30通过外围系统调用智能合约升级api执行升级操作,以完成统一升级。

在一实施例中,所述系统还包括:第一转换装置40及第二转换装置50。在智能合约升级发起机构30将新版智能合约文件打包上链时,第一转换装置40用于将新版智能合约文件转换成base64形式的字符串文件;当智能合约升级发起机构30通过外围系统下载新版智能合约文件并将其安装到对应参与机构上时,第二转换装置50用于将base64形式的字符串文件转换成压缩文件进行安装。

在一实施例中,上述系统还包括一监控装置60,用于监控智能合约在fabric区块链中所有参与机构的升级情况。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1