一种基于智能合约的权限可控的智能合约升级方法技术

技术编号:20389089 阅读:20 留言:0更新日期:2019-02-20 02:32
本发明专利技术公开一种基于智能合约的权限可控的智能合约升级方法,此方法首先部署合约升级智能合约,再部署包含合约参与者信息和通过此合约相关提案所需的最少同意数量信息的待升级智能合约;然后任意区块链节点接收用户向合约升级智能合约提出的携带待升级的智能合约地址、新合约二进制信息的合约升级提案,经合约升级智能合约判定通过后,生成提出事件,并转发给所有参与该合约的用户客户端,客户端收到后接收用户的投票并反馈至合约升级智能合约;如果同意数量超过预设,此提案被通过并应用,进行合约二进制的替换,完成合约升级。本发明专利技术解决了传统合约升级方式的中心化问题,解决了单点故障问题,提升了合约升级的安全性。

【技术实现步骤摘要】
一种基于智能合约的权限可控的智能合约升级方法
本专利技术涉及智能合约技术,尤其涉及一种基于智能合约的权限可控的智能合约升级方法.
技术介绍
智能合约是1990年代由尼克萨博提出的理念,几乎与互联网同龄。由于缺少可信的执行环境,智能合约并没有被应用到实际产业中,自比特币诞生后,人们认识到比特币的底层技术区块链天生可以为智能合约提供可信的执行环境。智能合约是编程在区块链上的汇编语言。通常人们不会自己编写字节码,但是会从更高级的语言来编译它。而传统区块链智能合约升级采用的是部署者发起升级请求,合约就直接能够升级。在联盟链系统中,这样的设计有以下问题:存在单点故障问题,如果部署者丢失其私钥,此份合约便再不能升级;存在作恶问题,一份智能合约可能有多个参与方,但是这种设计中,部署者可以在没有征得其余参与方的同意的情况下,单方面进行合约的升级。
技术实现思路
本专利技术的目的是针对现有技术的不足,提供一种基于智能合约的权限可控的智能合约升级方法,提供了智能合约升级的权限控制,增强了安全性。具体技术方案如下:一种基于智能合约的权限可控的智能合约升级方法,所述的区块链包括区块链节点和客户端,其特征在于,该方法具体包括如下步骤:S1:将合约升级智能合约部署在区块链节点上;S2:将包含合约参与者信息和通过此合约相关提案所需的最少同意数量信息的待升级的智能合约部署在区块链节点上;S3:任意区块链节点接收用户向合约升级智能合约提出的携带待升级的智能合约地址、新合约二进制信息的合约升级提案,合约升级智能合约检查待升级的智能合约地址是否合法、提案发起者是否属于合约的参与者,确认其是否合法,如果不合法,拒绝此次升级,如果合法,合约升级智能合约生成合约升级提案提出事件,并转发该事件至所有参与该合约的用户客户端;S4:用户客户端收集到所述的合约升级提案提出事件后,接收用户根据相应信息判定后的投票信息,并将该投票信息反馈至合约升级智能合约;S5:合约升级智能合约进行同意数量的收集,当超过所需最少同意数量,此提案通过,生成通过事件通知所有区块链节点;如果超时还未收集足够同意,放弃此提案,不进行升级;S6:所有区块链节点进行合约二进制替换,完成智能合约升级。进一步地,所述的合约升级智能合约通过增加映射的方式同时处理多个合约的升级提案,同一时间一个合约的升级提案只能处理一个。进一步地,所述的S3中,所述的合约升级智能合约在检查待升级的智能合约提案发起者是否属于合约的参与者时,通过使用内置合约的方式,根据给定的待升级合约的地址查询相应的合约参与者信息。进一步地,所述的待升级的智能合约的合约参与者信息和通过此合约相关提案所需的最少同意数量信息也可以通过提案投票的方式进行更新,以适应合约用户增加或减少的情况。进一步地,所述的S2的待升级的智能合约部署过程中,所有待升级的智能合约的合约参与者信息和通过此合约相关提案所需的最少同意数量信息需要冗余备份于所有区块链节点中。本专利技术的有益效果如下:本专利技术的基于智能合约的权限可控的智能合约升级方法进行了合约升级的权限控制,需要征得预定数量合约参与方的同意后才能进行合约升级,避免了单点故障和作恶可能,提高了安全性。附图说明图1为本专利技术的基于智能合约的权限可控的智能合约升级方法的详细流程图。具体实施方式下面根据附图和优选实施例详细描述本专利技术,本专利技术的目的和效果将变得更加明白,以下结合附图和实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。如图1所示,本专利技术的基于智能合约的权限可控的智能合约升级方法,所述的区块链包括区块链节点和客户端,其特征在于,该方法具体包括如下步骤:S1:将合约升级智能合约部署在区块链节点上;S2:将包含合约参与者信息和通过此合约相关提案所需的最少同意数量信息的待升级的智能合约部署在区块链节点上;S3:任意区块链节点接收用户向合约升级智能合约提出的携带待升级的智能合约地址、新合约二进制信息的合约升级提案,合约升级智能合约检查待升级的智能合约地址是否合法、提案发起者是否属于合约的参与者,确认其是否合法,如果不合法,拒绝此次升级,如果合法,合约升级智能合约生成合约升级提案提出事件,并转发该事件至所有参与该合约的用户客户端;S4:用户客户端收集到所述的合约升级提案提出事件后,接收用户根据相应信息判定后的投票信息,并将该投票信息反馈至合约升级智能合约;S5:合约升级智能合约进行同意数量的收集,当超过所需最少同意数量,此提案通过,生成通过事件通知所有区块链节点;如果超时还未收集足够同意,放弃此提案,不进行升级。S6:所有区块链节点进行合约二进制替换,完成智能合约升级。优选地,所述的合约升级智能合约通过增加映射的方式同时处理多个合约的升级提案,同一时间一个合约的升级提案只能处理一个,以适应系统多合约的情况。优选地,所述的S3中,所述的合约升级智能合约在检查待升级的智能合约提案发起者是否属于合约的参与者时,通过使用内置合约的方式,根据给定的待升级合约的地址查询相应的合约参与者信息。优选地,所述的待升级的智能合约的合约参与者信息和通过此合约相关提案所需的最少同意数量信息也可以通过提案投票的方式进行更新,以适应合约用户增加或减少的情况。优选地,所述的S2的待升级的智能合约部署过程中,所有待升级的智能合约的合约参与者信息和通过此合约相关提案所需的最少同意数量信息需要冗余备份于所有区块链节点中。本领域普通技术人员可以理解,以上所述仅为专利技术的优选实例而已,并不用于限制专利技术,尽管参照前述实例对专利技术进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在专利技术的精神和原则之内,所做的修改、等同替换等均应包含在专利技术的保护范围之内。本文档来自技高网...

【技术保护点】
1.一种基于智能合约的权限可控的智能合约升级方法,所述的区块链包括区块链节点和客户端,其特征在于,该方法具体包括如下步骤:S1:将合约升级智能合约部署在区块链节点上;S2:将包含合约参与者信息和通过此合约相关提案所需的最少同意数量信息的待升级的智能合约部署在区块链节点上;S3:任意区块链节点接收用户向合约升级智能合约提出的携带待升级的智能合约地址、新合约二进制信息的合约升级提案,合约升级智能合约检查待升级的智能合约地址是否合法、提案发起者是否属于合约的参与者,确认其是否合法,如果不合法,拒绝此次升级,如果合法,合约升级智能合约生成合约升级提案提出事件,并转发该事件至所有参与该合约的用户客户端。S4:用户客户端收集到所述的合约升级提案提出事件后,接收用户根据相应信息判定后的投票信息,并将该投票信息反馈至合约升级智能合约;S5:合约升级智能合约进行同意数量的收集,当超过所需最少同意数量,此提案通过,生成通过事件通知所有区块链节点;如果超时还未收集足够同意,放弃此提案,不进行升级;S6:所有区块链节点进行合约二进制替换,完成智能合约升级。

【技术特征摘要】
1.一种基于智能合约的权限可控的智能合约升级方法,所述的区块链包括区块链节点和客户端,其特征在于,该方法具体包括如下步骤:S1:将合约升级智能合约部署在区块链节点上;S2:将包含合约参与者信息和通过此合约相关提案所需的最少同意数量信息的待升级的智能合约部署在区块链节点上;S3:任意区块链节点接收用户向合约升级智能合约提出的携带待升级的智能合约地址、新合约二进制信息的合约升级提案,合约升级智能合约检查待升级的智能合约地址是否合法、提案发起者是否属于合约的参与者,确认其是否合法,如果不合法,拒绝此次升级,如果合法,合约升级智能合约生成合约升级提案提出事件,并转发该事件至所有参与该合约的用户客户端。S4:用户客户端收集到所述的合约升级提案提出事件后,接收用户根据相应信息判定后的投票信息,并将该投票信息反馈至合约升级智能合约;S5:合约升级智能合约进行同意数量的收集,当超过所需最少同意数量,此提案通过,生成通过事件通知所有区块链节点;如果超时还未收集足够同意,放弃此提案,不进行升级;S...

【专利技术属性】
技术研发人员:李启雷李伟梁秀波邱炜伟尹可挺戎佳磊吴志强
申请(专利权)人:杭州趣链科技有限公司
类型:发明
国别省市:浙江,33

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

1