本发明涉及区块链应用技术领域,特别涉及一种基于区块链的智能合约动态部署与演化方法及装置。
背景技术:
区块链技术诞生于中本聪提出的比特币系统,其本质是一个去中心化的数据库,具有去中心化、不可篡改、公开透明等优点。智能合约是1997年由szabo提出的理念,在区块链场景下,智能合约是运行在区块链数据库上的一段可执行的具有逻辑顺序的计算机程序,可以在满足其源代码中预定义的条件时自行执行。由于智能合约可以在无可信第三方的情况下自动执行的特性,其降低了互不信任的多个合约参与方之间的信任成本。
然而,由于区块链数据的不可篡改特性,智能合约也是不可更改的。随着区块链技术的发展和智能合约应用的进一步推广,智能合约技术在金融、税收、产权、股票等方面都有着巨大的应用潜力。在许多商业应用中,软件的升级和更新是不可避免的,其有助于修复漏洞,或提升用户体验以及增加新功能。但由于区块链上的数据以及智能合约内容的不可篡改性,智能合约的升级和更新在当前的多数区块链系统中是相当困难的,因此,其应用过程中仍存在一些不可忽略的阻碍和缺陷。若智能合约中存在逻辑漏洞或设计不完善,那么区块链的不可篡改性将不利于智能合约的及时更新和止损。因此,有必要建立智能合约的演化机制,提高特殊情况下的风险抵抗能力,避免系统分裂。
技术实现要素:
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种基于区块链的智能合约动态部署与演化方法,该方法通过对智能合约的模块化处理,来实现智能合约的动态组合以及定制,进而提高智能合约的编写效率。
本发明的另一个目的在于提出一种基于区块链的智能合约动态部署与演化装置。
为达到上述目的,本发明一方面实施例提出了一种基于区块链的智能合约动态部署与演化方法,包括:
将多个属性授权中心进行初始化,生成每个属性授权中心的属性域的公私钥对及属性密钥,并通过所述公私钥对对所述属性密钥加密后分发给相应的实体;
通过智能合约定制平台为所述实体制定符合预设需求的智能合约;
通过变色龙哈希函数对所述智能合约进行预处理,并将预处理结果部署于区块链中。
本发明实施例的基于区块链的智能合约动态部署与演化方法,通过对智能合约的模块化处理,来实现智能合约的动态组合以及定制,进而提高智能合约的编写效率,并且利用变色龙哈希、多授权中心的密文策略属性基加密等密码学方案,以实现在合法场景下的智能合约的演化,进而避免智能合约中由于编写错误带来的经济损失或由于预定义功能不完善导致的使用缺陷,所述的合约演化过程是指合约的升级和更新过程。
另外,根据本发明上述实施例的基于区块链的智能合约动态部署与演化方法还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述每个属性授权中心aaj独立完成初始化过程,对每个属性域中的属性ai,生成所述公私钥对(pkj,skj),其中,pkj是用于属性加密的加密密钥,skj是用于属性密钥计算的主密钥。
进一步地,在本发明的一个实施例中,所述将所述属性密钥通过所述公私钥对加密后分发给相应的实体,包括:
每个实体提交对应的用户全局标识符gid,并向所述属性授权中心aaj申请属性ai的属性密钥;
所述属性授权中心aaj为所述每个实体计算属性ai的属性密钥ki,gid,并将ki,gid加密发送给每个实体;
所述属性授权中心aaj向所述每个实体加密发送用于属性加密的加密密钥pkj。
进一步地,在本发明的一个实施例中,还包括:
对所述智能合约进行更新或终止;
将更新后的智能合约进行广播。
进一步地,在本发明的一个实施例中,根据所述实体的协商结果对所述智能合约进行更新或终止;
部署所述智能合约过程出现漏洞,对所述智能合约进行更新或终止。
进一步地,在本发明的一个实施例中,
所述通过变色龙哈希函数对所述智能合约进行预处理,并将预处理结果部署于区块链中,包括:
所述实体中的监管实体计算变色龙哈希函数公私钥对(hk,tk),其中,hk是用于计算变色龙哈希的哈希密钥,tk为计算变色龙哈希碰撞的陷门密钥;
所述监管实体对与所述智能合约相关的交易m完成变色龙哈希函数处理,选取随机数r,使用哈希密钥hk对交易m计算变色龙哈希函数值hc(m,hk,r)=h;
所述监管实体在变色龙哈希函数值h末尾附加密文c,其中,密文c为对陷门密钥tk使用加密密钥集合{pkj}完成属性加密的结果;
经变色龙哈希函数预处理后存储为(h,c)形式,并部署在区块链中。
为达到上述目的,本发明另一方面实施例提出了一种基于区块链的智能合约动态部署与演化装置,包括:
属性密钥生成与分发模块,用于将多个属性授权中心进行初始化,生成每个属性授权中心的属性域的公私钥对及属性密钥,并通过所述公私钥对对所述属性密钥加密后分发给相应的实体;
智能合约组合与定制模块,用于通过智能合约定制平台为所述实体制定符合预设需求的智能合约;
智能合约部署模块,用于通过变色龙哈希函数对所述智能合约进行预处理,并将预处理结果部署于区块链中。
本发明实施例的基于区块链的智能合约动态部署与演化装置,通过对智能合约的模块化处理,来实现智能合约的动态组合以及定制,进而提高智能合约的编写效率,并且利用变色龙哈希、多授权中心的密文策略属性基加密等密码学方案,以实现在合法场景下的智能合约的演化,进而避免智能合约中由于编写错误带来的经济损失或由于预定义功能不完善导致的使用缺陷,所述的合约演化过程是指合约的升级和更新过程。
另外,根据本发明上述实施例的基于区块链的智能合约动态部署与演化装置还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述每个属性授权中心aaj独立完成初始化过程,对每个属性域中的属性ai,生成所述公私钥对(pkj,skj),其中,pkj是用于属性加密的加密密钥,skj是用于属性密钥计算的主密钥。
进一步地,在本发明的一个实施例中,所述将所述属性密钥通过所述公私钥对加密后分发给相应的实体,包括:
每个实体提交对应的用户全局标识符gid,并向所述属性授权中心aaj申请属性ai的属性密钥;
所述属性授权中心aaj为所述每个实体计算属性ai的属性密钥ki,gid,并将ki,gid加密发送给每个实体;
所述属性授权中心aaj向所述每个实体加密发送用于属性加密的加密密钥pkj。
进一步地,在本发明的一个实施例中,还包括:
智能合约更新与终止模块,用于对所述智能合约进行更新或终止;
更新广播与确认模块,用于将更新后的智能合约进行广播。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明一个实施例的基于区块链的智能合约动态部署与演化方法流程图;
图2为根据本发明一个实施例的具备修订接口的区块链基础设施结构图;
图3为本发明提出的基于区块链的智能合约动态部署与演化方法流程框图;
图4为根据本发明一个实施例的属性密钥生成与分发模块结构图;
图5为根据本发明一个实施例的智能合约组合与定制模块结构图;
图6为根据本发明一个实施例的智能合约部署模块结构图;
图7为根据本发明一个实施例的智能合约更新与终止模块结构图;
图8为根据本发明一个实施例的更新广播与确认模块结构图;
图9为根据本发明一个实施例的基于区块链的智能合约动态部署与演化装置结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参照附图描述根据本发明实施例提出的基于区块链的智能合约动态部署与演化方法及装置。
首先将参照附图描述根据本发明实施例提出的基于区块链的智能合约动态部署与演化方法。
图1为根据本发明一个实施例的基于区块链的智能合约动态部署与演化方法流程图。
如图1所示,该基于区块链的智能合约动态部署与演化方法包括以下步骤:
步骤s101,将多个属性授权中心进行初始化,生成每个属性授权中心的属性域的公私钥对及属性密钥,并通过公私钥对对属性密钥加密后分发给相应的实体。
具体地,实体可以为监管部门、金融机构或科技企业等。
进一步地,每个属性授权中心aaj独立完成初始化过程,对每个属性域中的属性ai,生成公私钥对(pkj,skj),其中,pkj是用于属性加密的加密密钥,skj是用于属性密钥计算的主密钥。
进一步地,将属性密钥通过公私钥对加密后分发给相应的实体,包括:
每个实体提交对应的用户全局标识符gid,并向属性授权中心aaj申请属性ai的属性密钥;
属性授权中心aaj为每个实体计算属性ai的属性密钥ki,gid,并将ki,gid加密发送给每个实体;
属性授权中心aaj向每个实体加密发送用于属性加密的加密密钥pkj。
进一步地,以金融服务中的小微企业贷款合约为例,包含以下部分:
具备修订接口的区块链基础设施:如图2所示,该模块中的基础设施和协议中包含了与智能合约的定制、部署与更新相关的接口,其中,合约的定制接口主要基于智能合约的模块化处理技术,合约的部署与更新接口主要利用变色龙哈希以及多授权中心的密文策略属性基加密等密码学方案。此外,该模块还能够提供密钥管理、信息登记、信息验证、合约执行、账本记录等基本功能。该模块按照不同的功能可分为用户层、管理层、核心层和基础层。其中,用户层包括需求输入、属性密钥获取、合约组合与定制、合约部署以及合约更新等;管理层包括授权中心管理、密钥管理以及用户身份及属性管理等;核心层包括共识机制、账本记录方案、签名方案、哈希函数等;基础层包括存储方案、对等网络机制、合约执行机制等。此外,区块链基础设施还具有一定的稳定性和抗破坏性,以保证整个智能合约系统的安全性和可用性。
进一步地,步骤s101可以通过属性密钥生成与分发模块来实现。
具体地,属性密钥生成与分发模块,该模块主要用于多授权中心的密文策略属性基加密中所需要的属性密钥分发。其中,属性授权中心在该模块中完成公私钥初始化,其他参与者如监管部门、贷款提供方(金融机构)、贷款需求方(贷款企业)等在该模块中完成属性密钥的申请与分发。属性密钥将在之后的模块中用于智能合约的修改和确认。
步骤s102,通过智能合约定制平台为实体制定符合预设需求的智能合约。
进一步地,该步骤通过智能合约组合与定制模块实现其功能。
具体地,智能合约组合与定制模块:该模块组要涉及两个参与方,即贷款提供方和贷款需求方。首先,贷款提供方和贷款需求方进入智能合约的高效组合、定制平台,在平台上完成智能合约的协商和定制,协商内容包括贷款条件、贷款金额等,定制完成后,该平台将会输出包含双方需求的智能合约。
进一步地,该模块中的合约组合选项包括:行为控制机制、认证机制、生命周期机制、异常防护机制等。其中,行为控制机制包括资产提取机制、状态机机制、承诺机制、预言机机制等;认证机制中包括拥有权机制、访问限制机制等;生命周期机制包括被动废除机制、过期废除机制等;异常防护机制包括检验-改变-交互机制、紧急停止机制、操作延迟机制、频率限制机制和互斥机制等。
步骤s103,通过变色龙哈希函数对智能合约进行预处理,并将预处理结果部署于区块链中。
进一步地,在本发明的一个实施例中,通过变色龙哈希函数对智能合约进行预处理,并将预处理结果部署于区块链中,包括:
实体中的监管实体计算变色龙哈希函数公私钥对(hk,tk),其中,hk是用于计算变色龙哈希的哈希密钥,tk为计算变色龙哈希碰撞的陷门密钥;
监管实体对与智能合约相关的交易m完成变色龙哈希函数处理,选取随机数r,使用哈希密钥hk对交易m计算变色龙哈希函数值hc(m,hk,r)=h;
监管实体在变色龙哈希函数值h末尾附加密文c,其中,密文c为对陷门密钥tk使用加密密钥集合{pkj}完成属性加密的结果;
经变色龙哈希函数预处理后存储为(h,c)形式,并部署在区块链中。
进一步地,该步骤通过智能合约部署模块实现其功能。
具体地,智能合约部署模块:该模块主要涉及三个参与方,即贷款提供方和贷款需求方,以及第三方监管部门。当参与双方确认所生成的智能合约无误后,该智能合约将被送至监管部门,并由监管部门发起该合约的部署,部署过程包括使用变色龙哈希函数对合约内容完成预处理、对陷门密钥完成属性基加密、将陷门密钥的密文与合约一起部署于区块链等。其中,变色龙哈希函数的预处理以及对陷门密钥的加密主要用于之后的合约更新操作。
进一步地,在本发明的一个实施例中,还包括:
对智能合约进行更新或终止;
将更新后的智能合约进行广播。
进一步地,根据实体的协商结果对智能合约进行更新或终止;部署智能合约过程出现漏洞,对智能合约进行更新或终止。
进一步地,通过智能合约更新与终止模块实现对智能合约进行更新或终止,通过更新广播与确认模块实现对更新后的智能合约进行广播。
具体地,智能合约更新与终止模块,该模块主要作用是根据参与方的联合请求或监管部门的要求完成对智能合约的更新和修改。其中,在两个参与方(在实施例中表现为金融机构和贷款企业)对合约的修改内容达成一致的情况下,双方可在该模块下使用属性密钥解密获得陷门密钥,进而利用陷门密钥完成对合约的更新或撤销;此外,在参与双方对合约内容未能达成一致时,双方可以向第三方监管部门发出请求,在监管部门确认的情况下,可通过监管部门的属性密钥获取陷门密钥,从而实现对合约的更新或撤销。
为了保持区块链中的链表映射结构,合约更新是指在已知陷门密钥的情况下,对新的合约内容m′计算变色龙哈希的碰撞值所对应的随机数r′,以使得原合约所在的区块的哈希值保持不变。合约撤销是指将合约内容变更为m″,并计算变色龙哈希的碰撞值所对应的随机数r″,其中新合约内容m″可以是空字符串,或是一些用于提示用户合约已被撤销的简单代码。
更新广播与确认模块,该模块主要用于智能合约内容修改完成后,将新合约内容m′及其对应的随机数r′向全网广播,以保证区块链上内容的一致性。区块链网络中的各数据节点验证新内容m′与新随机数r′所对应的哈希值是否与原哈希值一致,验证通过后则将该其区块链数据库中存储的合约内容更新为m′。
下面结合具体实施例对本发明的方法进行详细说明。
图3为本发明提出的基于区块链的智能合约动态部署与演化方法流程框图。
如图3所示,该智能合约的演化与升级方案包括:智能合约部署、智能合约更新与终止、智能合约验证与确认。本发明实施例可以保障合约双方利益,有助于智能服务交易的正常进行及智能服务系统的统筹维护,减少了智能服务交易管理者重新部署合约或硬分叉带来的巨大开销。
下面将以金融服务中的小微企业贷款为例,对本发明实施例作进一步介绍。
进一步地,如图3所示,本发明实施例包括属性密钥生成与分发模块,
其中,属性授权中心初始化过程,主要完成各个属性授权中心的参数初始化及公私钥的生成;用户申请属性密钥过程,主要完成用户向属性授权中心申请相关属性的私钥;属性授权中心分发密钥过程,主要完成各个属性授权中心向相应用户分发密钥。
具体而言,如图4所示,步骤如下:
步骤1:每一个单位作为一个节点参与智能服务交易,交易双方为科技金融机构(如银行)和科技创新企业,交易修改者可以为监管部门、金融机构或科技企业,且每个实体拥有自己的用户全局标识符gid。根据监管部门、科技机构、科技企业地理位置、规模、信用等级、合作伙伴等因素,属性授权中心为其赋予不同的属性值集合。
步骤2:多个属性授权中心aa1,aa2,...,aan分别独自管理一个属性域中的属性,例如,aa1管理市级属性(如北京市、上海市、广州市等),aa2管理区级属性(如西城区、海淀区等),aa3管理机构属性(如中国银行、中国建设银行等),其他aaj不再单独举例。各aaj独立完成初始化过程,无需协作。对每个属性域中的属性ai,生成公私钥对(pk(j,skj),其中pkj是用于属性加密的加密密钥,skj是用于属性密钥计算的主密钥。
步骤3:监管部门、金融机构、科技企业提交自己的gid并向属性授权中心aaj申请属性ai的属性密钥。
步骤4:属性授权中心向相应用户分发密钥,具体步骤如下:
步骤4-1:aaj为各个实体计算属性ai的属性密钥ki,gid,并将ki,gid加密发送给每个实体。
步骤4-2:各aaj向监管部门加密发送用于属性加密的加密密钥pkj。
进一步地,在本发明的一个实施例中,如图3所示,本发明实施例包括智能合约组合与定制模块。
具体而言,如图5所示,其中合约中可组合的内容包括:行为控制机制、认证机制、生命周期机制、异常防护机制等,以上各机制中还包括许多子机制。合约制定的参与方可根据自己的需求完成合约内容的定制。此外,该交易模块中还设有常规参数的设定接口,以便于交易双方设定合约中必需的交易参数,在本实施例的场景中,这些参数包括贷款方案等信息。
进一步地,在本发明的一个实施例中,如图3所示,本发明实施例包括智能合约部署模块。
其中,智能合约部署过程,主要完成发起部署交易双方达成合约的交易;交易的预处理过程,主要发生在发起交易后,对该交易使用变色龙哈希函数完成预处理。
具体而言,如图6所示,步骤如下:
步骤1:监管部门发起部署交易双方达成合约的交易,具体步骤如下:
步骤1-1:若金融机构a与科技企业b达成合约,对该合约经过编译获得合约字节码bytecode。
步骤1-2:监管部门c作为交易发布者,发起该合约部署的交易。from字段为监管部门c的地址,data字段为该合约字节码bytecode。将这笔交易记为m。
步骤2:在发起交易后,对该交易使用变色龙哈希函数完成预处理过程,具体步骤如下:
步骤2-1:监管部门c计算变色龙哈希函数公私钥对(hk,tk),其中hk是用于计算变色龙哈希的哈希密钥,tk为计算变色龙哈希碰撞的陷门密钥。
步骤2-2:监管部门c对步骤1-2发起的交易完成变色龙哈希函数处理。选取随机数r,使用哈希密钥hk对交易m计算变色龙哈希函数值hc(m,hk,r)=h。
步骤2-3:监管部门c在变色龙哈希函数值h末尾附加密文c。该密文c为对陷门密钥tk使用加密密钥集合{pkj}完成属性加密的结果,其中访问控制策略只允许该合约双方拥有解密权限。
步骤2-4:经变色龙哈希函数预处理后存储为(h,c)形式,等待交易处理节点将该笔交易纳入区块中。
进一步地,在本发明的一个实施例中,如图3所示,本发明实施例包括智能合约更新与终止模块。
其中,智能合约更新过程,主要用于授权方对智能合约内容的更新,并计算变色龙哈希碰撞;智能合约终止过程,主要用于授权方对智能合约内容的提前终止或撤销,并计算变色龙哈希碰撞。
具体而言,如图7所示,步骤如下:
步骤1:有两种方式可以修改智能合约,一种是合约参与双方经过协商(一方申请一方同意)后,可对合约内容完成更新或终止;另一种是在突发意外或记录出错情况下,监管部门可以直接更新或终止合约。
步骤2:有修改意愿后,监管部门验证该交易m的哈希值,若hc(m,hk,r)=h,则继续如下步骤,否则停止修改进程。
步骤3:合约修改申请方对密文c使用属性密钥集合{ki,gid解密以获得陷门密钥tk(监管部门拥有陷门密钥tk)。
步骤4:对于两种不同类型的修改请求,下面将分别介绍:
(1)若合约修改申请方/监管部门想更新合约(更新交易的data字段为新的合约字节码),也就是说将交易m更新为m′,则可计算变色龙哈希函数的碰撞hcol(m,m′,r,tk,h)→r′。至此合约内容修改完成.
(2)若合约修改申请方/监管部门想终止合约(更新交易的data字段为终止符),形式化记为将交易m更新为m″,则可计算变色龙哈希函数的碰撞hcol(m,m″,r,tk,h)→r″。至此合约内容修改完成。
进一步地,在本发明的一个实施例中,如图3所示,本发明实施例包括更新广播与确认模块。
其中,更新内容广播过程,主要包括授权方对更新后的智能合约内容的广播;全网验证过程,主要包括全网节点对新的智能合约内容及交易修改者身份的验证;全网更新过程,主要指验证通过后,全网更新本地存储的区块链数据。
具体而言,如图8所示,步骤如下:
步骤1:合约修改申请方/监管部门将(m′,r′,h)或(m″,r″,h)广播至全网。
步骤2:其他用户验证hc(m′,hk,r′)或hc(m″,hk,r″)是否等于h,其中,hc(*)表示变色龙哈希函数。若验证通过,则继续如下步骤,否则其他用户拒绝合约内容的修改。
步骤3:其他用户更新存储在本地的智能合约内容m为m′或m″,至此,合约内容验证完毕。
根据本发明实施例提出的基于区块链的智能合约动态部署与演化方法,通过对智能合约的模块化处理,来实现智能合约的动态组合以及定制,进而提高智能合约的编写效率,并且利用变色龙哈希、多授权中心的密文策略属性基加密等密码学方案,以实现在合法场景下的智能合约的演化,进而避免智能合约中由于编写错误带来的经济损失或由于预定义功能不完善导致的使用缺陷,所述的合约演化过程是指合约的升级和更新过程。
其次参照附图描述根据本发明实施例提出的基于区块链的智能合约动态部署与演化装置。
图9为本发明一个实施例的基于区块链的智能合约动态部署与演化装置结构示意图。
如图9所示,该基于区块链的智能合约动态部署与演化装置包括:属性密钥生成与分发模块100、智能合约组合与定制模块200和智能合约部署模块300。
其中,属性密钥生成与分发模块100,用于将多个属性授权中心进行初始化,生成每个属性授权中心的属性域的公私钥对及属性密钥,并通过公私钥对对属性密钥加密后分发给相应的实体。
智能合约组合与定制模块200,用于通过智能合约定制平台为实体制定符合预设需求的智能合约。
智能合约部署模块300,用于通过变色龙哈希函数对智能合约进行预处理,并将预处理结果部署于区块链中。
进一步地,每个属性授权中心aaj独立完成初始化过程,对每个属性域中的属性ai,生成公私钥对(pkj,skj),其中,pkj是用于属性加密的加密密钥,skj是用于属性密钥计算的主密钥。
进一步地,将属性密钥通过公私钥对加密后分发给相应的实体,包括:
每个实体提交对应的用户全局标识符gid,并向属性授权中心aaj申请属性ai的属性密钥;
属性授权中心aaj为每个实体计算属性ai的属性密钥ki,gid,并将ki,gid加密发送给每个实体;
属性授权中心aaj向每个实体加密发送用于属性加密的加密密钥pkj。
进一步地,还包括:
智能合约更新与终止模块,用于对智能合约进行更新或终止;
更新广播与确认模块,用于将更新后的智能合约进行广播。
需要说明的是,前述对基于区块链的智能合约动态部署与演化方法实施例的解释说明也适用于该实施例的装置,此处不再赘述。
根据本发明实施例提出的基于区块链的智能合约动态部署与演化装置,通过对智能合约的模块化处理,来实现智能合约的动态组合以及定制,进而提高智能合约的编写效率,并且利用变色龙哈希、多授权中心的密文策略属性基加密等密码学方案,以实现在合法场景下的智能合约的演化,进而避免智能合约中由于编写错误带来的经济损失或由于预定义功能不完善导致的使用缺陷,所述的合约演化过程是指合约的升级和更新过程。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。