一种智能合约的管理方法及系统技术方案

技术编号:21898952 阅读:26 留言:0更新日期:2019-08-17 18:25
本发明专利技术公开了一种智能合约的管理方法及系统,该方法包括:S1:在联盟链节点中设置若干管理节点,将其余节点设置为普通节点;S2:为管理节点和普通节点设置相应的权限,其中普通节点有共享数据的权限,管理节点有共享数据和管理智能合约以及联盟链节点的权限;S3:管理节点对联盟链上任一节点上传的安装或更新智能合约的申请信息进行审核,并在联盟链上进行审核结果的广播;S4:若所有管理节点均同意安装或更新智能合约,则自动触发执行智能合约的安装或更新。本发明专利技术通过管理节点对即将要升级的智能合约安装包和代码进行审核和校验,且需要联盟内的所有管理员同意安装升级后才能执行安装升级操作,保证智能合约升级包的真实性和安全性。

An Intelligent Contract Management Method and System

【技术实现步骤摘要】
一种智能合约的管理方法及系统
本专利技术涉及区块链
,特别涉及一种智能合约的管理方法及系统。
技术介绍
区块链被认为是一种可以带来重大变革和突破的技术,它可能会彻底改变或者颠覆某些产业的运作方式,就像云计算、物联网、大数据的出现和发展。区块链技术并不是一种单一的信息技术,而是依托于现有技术,加以独创性的组合及创新,从而实现以前未实现的功能。联盟链是指由若干个机构共同参与管理的区块链,每个机构都运行着一个或多个节点,其中的数据只允许系统内不同的机构进行读写和发送交易,并且共同来记录交易数据。智能合约是运行在可复制、共享的账本上的计算机程序,可以处理操作区块链账本信息。从本质上讲,智能合约的工作原理类似于其它计算机程序的if-then语句。当一个预先编好的条件被触发时,智能合约执行相应的合同条款。智能合约程序不仅仅只是一个可以自动执行的计算机程序,它更像是一个系统的参与者,负责临时保管资产,并且严格按照事先商定好的规则执行操作。在目前区块链系统中,只要节点接入区块链系统中,该节点就可以安装升级智能合约。当其他节点不知道升级的智能合约内容,又不能对升级操作做出限制的情况下,将导致智能合约升级失去安全性和可靠性。鉴于智能合约在区块链中的重要地位,如何保证区块链内的多个用户共同参与制定一份智能合约已成为区块链参与方需要重点解决的问题。
技术实现思路
为了解决现有技术的问题,本专利技术实施例提供了一种智能合约的管理方法及系统,以克服现有技术中某节点安装升级智能合约时,其他节点不知道升级的智能合约内容,又不能对升级操作做出限制,从而导致智能合约升级失去安全性和可靠性等问题。为解决上述一个或多个技术问题,本专利技术采用的技术方案是:一方面,提供了一种智能合约的管理方法,该方法包括如下步骤:S1:在联盟链节点中设置若干管理节点,将其余节点设置为普通节点;S2:为所述管理节点和所述普通节点设置相应的权限,其中所述普通节点有共享数据的权限,所述管理节点有共享数据和管理智能合约以及所述联盟链节点的权限;S3:所述管理节点对联盟链上任一节点上传的安装或更新智能合约的申请信息进行审核,并在所述联盟链上进行审核结果的广播;S4:若所有管理节点均同意安装或更新所述智能合约,则自动触发执行所述智能合约的安装或更新。进一步的,所述申请信息包括智能合约的代码、安装包、第一代码哈希值、第一安装包哈希值以及签名信息,所述步骤S3具体包括:S3.1:所述管理节点使用上传所述申请信息的节点的公钥验证所述签名信息,验证所述上传申请信息的节点的身份,若验证通过则执行步骤S3.2,否则结束流程;S3.2:所述管理节点验证所述第一代码哈希值以及第一安装包哈希值,若验证通过则执行步骤S3.3,否则结束流程;S3.3:所述管理节点验证所述智能合约的代码的真实性,若验证通过则执行步骤S3.4,否则结束流程;S3.4:将所述管理节点的审核结果在所述联盟链上进行广播。进一步的,所述步骤S3还包括:所述上传申请信息的节点对所述智能合约的代码以及安装包进行哈希运算,获取第一代码哈希值和第一安装包哈希值。进一步的,所述管理节点验证所述第一代码哈希值以及第一安装包哈希值包括:所述管理节点对所述智能合约的代码以及安装包进行哈希运算,获取第二代码哈希值以及第二安装包哈希值,将所述第一代码哈希值与所述第二代码哈希值、所述第一安装包哈希值与所述第二安装包哈希值进行比较,若均一致,则验证通过,否则不通过。进一步的,所述步骤S3还包括:所述上传申请信息的节点使用自己的私钥对所述第一代码哈希值和第一安装包哈希值进行签名,获取签名信息。进一步的,所述步骤S4具体包括:若所有管理节点均同意安装或更新所述智能合约,则触发所述联盟链上所有节点安装所述智能合约的安装包,并指定其中一个节点对所述智能合约做升级操作。另一方面,提供了一种智能合约的管理系统,所述系统包括:节点管理模块,用于在联盟链节点中设置若干管理节点,将其余节点设置为普通节点;权限管理模块,用于为所述管理节点和所述普通节点设置相应的权限,其中所述普通节点有共享数据的权限,所述管理节点有共享数据和管理智能合约以及所述联盟链节点的权限;信息上传模块,用于联盟链上任一节点上传的安装或更新智能合约的申请信息;信息审核模块,用于所述管理节点对联盟链上任一节点上传的安装或更新智能合约的申请信息进行审核,并在所述联盟链上进行审核结果的广播;安装或更新模块,用于若所有管理节点均同意安装或更新所述智能合约,则自动触发执行所述智能合约的安装或更新。进一步的,所述信息审核模块包括:验签单元,用于所述管理节点使用上传所述申请信息的节点的公钥验证所述签名信息,验证所述上传申请信息的节点的身份;哈希值验证单元,用于所述管理节点验证所述第一代码哈希值以及第一安装包哈希值;代码验证单元,用于所述管理节点验证所述智能合约的代码的真实性;结果广播单元,用于将所述管理节点的审核结果在所述联盟链上进行广播。进一步的,所述信息上传模块包括:计算单元,用于所述上传申请信息的节点对所述智能合约的代码以及安装包进行哈希运算,获取第一代码哈希值和第一安装包哈希值。进一步的,所述哈希值验证单元具体用于:所述管理节点对所述智能合约的代码以及安装包进行哈希运算,获取第二代码哈希值以及第二安装包哈希值,将所述第一代码哈希值与所述第二代码哈希值、所述第一安装包哈希值与所述第二安装包哈希值进行比较,若均一致,则验证通过,否则不通过。进一步的,所述信息上传模块还包括:签名单元,用于所述上传申请信息的节点使用自己的私钥对所述第一代码哈希值和第一安装包哈希值进行签名,获取签名信息。进一步的,所述安装或更新模块具体用于:若所有管理节点均同意安装或更新所述智能合约,则触发所述联盟链上所有节点安装所述智能合约的安装包,并指定其中一个节点对所述智能合约做升级操作。。本专利技术实施例提供的技术方案带来的有益效果是:1、本专利技术实施例提供的智能合约的管理方法及系统,引入智能合约安装升级管理机制,通过管理节点对即将要升级的智能合约安装包和代码进行审核和校验,且需要联盟内的所有管理员同意安装升级后才能执行安装升级操作,保证智能合约升级包的真实性和安全性;2、本专利技术实施例提供的智能合约的管理方法及系统,引入联盟会员级别标签机制,标签包括普通节点和管理节点,管理节点具有管理职能的权限,联盟管理委员会中的机构拥有管理节点资格,保证联盟管理的权威性;3、本专利技术实施例提供的智能合约的管理方法及系统,引入联盟会员管理机制,对申请加入联盟的机构需要管理节点对其申请信息进行审核,对联盟会员的准入、级别进行控制,一方面,保证加入联盟的会员的质量,另一方面保证只有联盟内的会员才能申请智能合约安装升级。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人节点来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据一示例性实施例示出的智能合约的管理方法的流程图;图2是根据一示例性实施例示出的管理节点对联盟链上任一节点上传的安装或更新智能合约的申请信息进行审核,并在联盟链上进行审核结果的广播的流程图;本文档来自技高网...

【技术保护点】
1.一种智能合约的管理方法,其特征在于,所述方法包括如下步骤:S1:在联盟链节点中设置若干管理节点,将其余节点设置为普通节点;S2:为所述管理节点和所述普通节点设置相应的权限,其中所述普通节点有共享数据的权限,所述管理节点有共享数据和管理智能合约以及所述联盟链节点的权限;S3:所述管理节点对联盟链上任一节点上传的安装或更新智能合约的申请信息进行审核,并在所述联盟链上进行审核结果的广播;S4:若所有管理节点均同意安装或更新所述智能合约,则自动触发执行所述智能合约的安装或更新。

【技术特征摘要】
1.一种智能合约的管理方法,其特征在于,所述方法包括如下步骤:S1:在联盟链节点中设置若干管理节点,将其余节点设置为普通节点;S2:为所述管理节点和所述普通节点设置相应的权限,其中所述普通节点有共享数据的权限,所述管理节点有共享数据和管理智能合约以及所述联盟链节点的权限;S3:所述管理节点对联盟链上任一节点上传的安装或更新智能合约的申请信息进行审核,并在所述联盟链上进行审核结果的广播;S4:若所有管理节点均同意安装或更新所述智能合约,则自动触发执行所述智能合约的安装或更新。2.根据权利要求1所述的智能合约的管理方法,其特征在于,所述申请信息包括智能合约的代码、安装包、第一代码哈希值、第一安装包哈希值以及签名信息,所述步骤S3具体包括:S3.1:所述管理节点使用上传所述申请信息的节点的公钥验证所述签名信息,验证所述上传申请信息的节点的身份,若验证通过则执行步骤S3.2,否则结束流程;S3.2:所述管理节点验证所述第一代码哈希值以及第一安装包哈希值,若验证通过则执行步骤S3.3,否则结束流程;S3.3:所述管理节点验证所述智能合约的代码的真实性,若验证通过则执行步骤S3.4,否则结束流程;S3.4:将所述管理节点的审核结果在所述联盟链上进行广播。3.根据权利要求2所述的智能合约的管理方法,其特征在于,所述步骤S3还包括:所述上传申请信息的节点对所述智能合约的代码以及安装包进行哈希运算,获取第一代码哈希值和第一安装包哈希值。4.根据权利要求2或3所述的智能合约的管理方法,其特征在于,所述管理节点验证所述第一代码哈希值以及第一安装包哈希值包括:所述管理节点对所述智能合约的代码以及安装包进行哈希运算,获取第二代码哈希值以及第二安装包哈希值,将所述第一代码哈希值与所述第二代码哈希值、所述第一安装包哈希值与所述第二安装包哈希值进行比较,若均一致,则验证通过,否则不通过。5.根据权利要求2所述的智能合约的管理方法,其特征在于,所述步骤S3还包括:所述上传申请信息的节点使用自己的私钥对所述第一代码哈希值和第一安装包哈希值进行签名,获取签名信息。6.根据权利要求1或2所述的智能合约的管理方法,其特征在于,所述步骤S4具体包括:若所有管理节点均同意安装或更新所述智能合约,则触发所述联盟链上所有节点安装所述智能合约的安装包,并指定其中一...

【专利技术属性】
技术研发人员:盛伟郑志探
申请(专利权)人:苏宁易购集团股份有限公司
类型:发明
国别省市:江苏,32

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

1