一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种智能合约变更方法和系统与流程

2022-02-22 18:14:58 来源:中国专利 TAG:


1.本技术涉及智能合约技术领域,具体而言,涉及一种智能合约变更方法和系统。


背景技术:

2.区块链技术的集成应用在新的技术革新和产业变革中起着重要作用,把区块链作为核心技术自主创新的重要突破口,明确主攻方向,加大投入力度,着力攻克一批关键核心技术,加快推动区块链技术和产业创新发展,区块链迎来了井喷式发展。智能合约作为运行在区块链网络中的程序也迎来了爆发式发展。智能合约继承了区块链:公开透明、可追溯、不可篡改等特性。
3.开发迭代过程中,需要对智能合约进行更改升级,由于不可篡改的特性需要重新部署新智能合约替代旧智能合约。在替代过程中旧智能合约存储的数据需要迁移到新智能合约当中。目前一般是通过读取旧智能合约再写入到新智能合约中方式进行数据迁移,此种方式消耗较多的资源。
4.一种区块链中智能合约升级的方法及装置(cn202011052815.6)。发明提供一种区块链中智能合约升级的方法及装置,包括:接收发起方发送的行为智能合约升级请求,判断发起方是否为行为智能合约的其中一个参与方,若是,则将行为智能合约升级请求发送至鉴权智能合约进行鉴权,鉴权智能合约预先通过参数化配置,以使得行为智能合约的参与方对行为智能合约升级请求进行鉴权,鉴权通过后,进行行为智能合约升级。这样,通过对发起方的判断,提高升级的安全性。而且由于预先对鉴权智能合约进行参数化配置,使得在对行为智能合约升级请求进行鉴权时,仅需智能合约中行为智能合约的参与方进行鉴权,无需智能合约中的所有参与方进行鉴权,提高智能合约升级的灵活性,实现智能合约升级与业务模式的结合。但是,采用上述的方式,智能合约每一次更新都要覆盖旧智能合约地址,不能很好的针对不同版本的智能合约进行管理。
5.一种智能合约权限控制方法及系统(专利号:cn 201911393674.1)。发明公开了一种智能合约权限控制方法及系统。该方法包括获取并解耦业务控制逻辑与业务数据,得到逻辑智能合约和数据智能合约;根据逻辑智能合约和数据智能合约的耦合关系生成逻辑智能合约访问数据智能合约的权限;获取注册者的注册信息;根据注册信息和逻辑智能合约访问数据智能合约的权限生成注册者权限;注册者权限为注册者读写业务数据的权限;获取访问者的访问信息;根据访问信息判断访问者是否具有注册者权限;若具有注册者权限,则允许访问者对业务数据进行读写操作;若不具有注册者权限,则禁止访问者对业务数据进行读写操作。采用本发明的方法及系统,通过智能合约权限控制能够保障区块链读写数据的安全性和合法性。但是,采用上述的方式,不能进行不同版本的智能合约管理。


技术实现要素:

6.本技术的主要目的在于提供一种智能合约变更方法和系统,以改善相关技术中,智能合约智能管理困难的问题。
7.为了实现上述目的,第一方面,本技术提供了一种智能合约变更方法,具体包括以下步骤:
8.s1、获取智能合约变更请求:对原有智能合约进行解耦,用户发起智能合约变更请求;
9.s2、判断智能合约请求是否需要增加新的智能合约:对变更智能合约请求进行判断,是否需要增加新的智能合约;
10.s3、若需要增加新的智能合约,判断发起请求的智能合约账户是否拥有增添智能合约的权限,若判断智能合约账户拥有增添智能合约的权限,查找智能合约仓库中是否有该新智能合约的地址,若没有该新智能合约的地址,则将此新智能合约地址添加到对应的智能合约仓库中,若有该新智能合约的地址,则将此新智能合约地址覆盖旧地址;
11.s4、若无需增加新的智能合约,判断发起请求的智能合约账户是否拥有切换智能合约的权限,若智能合约账户拥有切换智能合约的权限,则添加新智能合约替换原有智能合约;
12.s5、若拥有变更智能合约的权限和添加智能合约的权限,并成功添加新智能合约,则通过路由合约赋予新智能合约访问的权限并连接新旧智能合约。
13.在本技术的一种实施例中,对原有智能合约进行解耦的方式为,将原有智能合约解耦成一个或若干子智能合约。
14.在本技术的一种实施例中,所述s2中,判断智能合约请求是否需要增加新的智能合约的具体方式为:获取到合约变更请求后判断此请求是否携带新的合约地址,若携带新的合约地址,则需先将新的智能合约添加到合约仓库之中,随后再通过路由合约进行新旧智能合约直接的连接。
15.在本技术的一种实施例中,所述s3中,智能合约仓库进行智能合约的存储和版本管理,且智能合约仓库中包括合约地址、合约名称和合约类型。
16.在本技术的一种实施例中,合约名称确定唯一合约,且用户还可通过合约名称进行合约变更。
17.第二方面,本技术另提供一种智能合约变更系统,包括中央处理器和通讯模块,所述中央处理模块与所述通讯模块信号相连,所述中央处理器内置有权限管理模块、第一判断模块、第二判断模块、第三判断模块、智能合约仓库和路由连接模块,所述第一判断模块与所述权限管理模块信号相连,所述第二判断模块和第三判断模块分别与所述第一判断模块信号相连,所述第二判断模块信号连接有智能合约仓库,所述路由连接模块分别与所述智能合约仓库和所述第三判断模块信号相连,其中:
18.所述通讯模块用于用户进行通信,方便用户发起智能合约变更请求;
19.所述第一判断模块用于判断智能合约请求是否需要增加新的智能合约;
20.所述第二判断模块用于在需要增加新的智能合约时,判断发起请求的智能合约账户是否拥有增添智能合约的权限;
21.所述第三判断模块用于在无需增加新的智能合约时,判断发起请求的智能合约账户是否拥有切换智能合约的权限;
22.所述智能合约仓库用于进行智能合约的存储和版本管理,并存储合约地址、合约名称和合约类型;
23.所述路由连接模块用于成功添加新智能合约后,赋予新智能合约访问的权限并连接新旧智能合约。
24.在本技术的一种实施例中,所述智能合约仓库信号连接有预处理模块,所述预处理模块用于对原有智能合约进行解耦,将原有智能合约解耦成一个或若干子智能合约。
25.在本技术的一种实施例中,所述路由连接模块信号连接有路由合约模块,所述路由合约模块用于生产新旧智能合约连接的路由合约。
26.与现有技术相比,本技术的有益效果是:
27.1、通过上述设计的智能合约变更方法,通过预先对智能合约进行解耦,在更新智能合约时,仅需要更新解耦后的部分内容,避免了整体对合约进行更新,减少资源的占用;
28.2、通过上述设计的智能合约变更方法,对权限进行严格的验证,能够保障区块链读写数据的安全性和合法性,确保合约更新的安全;
29.3、通过上述设计的智能合约变更方法,通过路由合约进行连接,在需求更改后可以灵活进行合约的升级和变更,减少合约的部署。
附图说明
30.图1为根据本技术实施例提供的智能合约变更方法的流程示意框图;
31.图2为根据本技术实施例提供的智能合约变更系统的系统示意框图。
具体实施方式
32.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
33.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
34.在本技术中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本技术及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。
35.并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本技术中的具体含义。
36.另外,术语“多个”的含义应为两个以及两个以上。
37.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相
互组合。下面将参考附图并结合实施例来详细说明本技术。
38.实施例1
39.区块链是一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。
40.智能合约(英语:smart contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约概念于1995年由nick szabo首次提出。以太坊(英文ethereum)是一个开源的有智能合约功能的公共区块链平台。本专利中描述的智能合约不限于具体具备智能合约功能的公共区块链平台。
41.公有链上的各个节点可以自由加入和退出网络,并参加链上数据的读写,读写时以扁平的拓扑结构互联互通,网络中不存在任何中心化的服务端节点。像大家所熟悉的比特币和以太坊,都是一种公有链。公有链的好处是没有限制,可以自由参加。
42.请参阅图1,本技术提供了一种智能合约变更方法,具体包括以下步骤:
43.s1、获取智能合约变更请求:对原有智能合约进行解耦,将原有智能合约解耦成一个或若干子智能合约,用户发起智能合约变更请求;
44.s2、判断智能合约请求是否需要增加新的智能合约:对变更智能合约请求进行判断,是否需要增加新的智能合约,获取到合约变更请求后判断此请求是否携带新的合约地址,若携带新的合约地址,则需先将新的智能合约添加到合约仓库之中,随后再通过路由合约进行新旧智能合约直接的连接;
45.s3、若需要增加新的智能合约,判断发起请求的智能合约账户是否拥有增添智能合约的权限,若判断智能合约账户拥有增添智能合约的权限,查找智能合约仓库中是否有该新智能合约的地址,若没有该新智能合约的地址,则将此新智能合约地址添加到对应的智能合约仓库中,若有该新智能合约的地址,则将此新智能合约地址覆盖旧地址;
46.s4、若无需增加新的智能合约,判断发起请求的智能合约账户是否拥有切换智能合约的权限,若智能合约账户拥有切换智能合约的权限,则添加新智能合约替换原有智能合约;
47.s5、若拥有变更智能合约的权限和添加智能合约的权限,并成功添加新智能合约,则通过路由合约赋予新智能合约访问的权限并连接新旧智能合约。
48.在本实施例中,智能合约仓库进行智能合约的存储和版本管理,便于下次直接通过路由合约进行变更;且智能合约仓库中包括合约地址、合约名称和合约类型,合约名称确定唯一合约,且用户还可通过合约名称进行合约变更,避免因为变更时使用不具有含义的合约地址产生误操作的可能性;在通过合约名称进行合约变更时,对原有录入合约解耦后,由系统分配或自主命名的方式,对若干子智能合约进行命名,且更新时,需将更新后智能合约的命名调整成原有的命名方式。
49.需要说明的是,迭代开发过程中,因为业务需求的改变,需要进行智能合约的更新,智能合约由于区块链网络的特性一旦部署到区块链网络中就不可修改。因此将合约进行解耦就十分必要,在合约需要更新修改时只需更新或组合其中一个或几个子合约来实现对应功能;
50.由于智能合约一般部署在公有链中任何人都可以通过合约地址访问此智能合约,因此为保证智能合约内数据的安全性,需要进行权限的管理。通过权限管理对用户进行现在,保证智能合约内部数据和处理逻辑的安全;
51.每个智能合约对外访问都需要经过路由合约的权限审查,变更和添加合约成功后会赋予访问合约去调用被访问合约的权限,进一步保证合约中数据的安全。
52.请参阅图2,第二方面,本技术另提供一种智能合约变更系统,包括中央处理器和通讯模块,中央处理模块与通讯模块信号相连,中央处理器内置有权限管理模块、第一判断模块、第二判断模块、第三判断模块、智能合约仓库和路由连接模块,第一判断模块与权限管理模块信号相连,第二判断模块和第三判断模块分别与第一判断模块信号相连,第二判断模块信号连接有智能合约仓库,路由连接模块分别与智能合约仓库和第三判断模块信号相连,其中:
53.通讯模块用于用户进行通信,方便用户发起智能合约变更请求;
54.第一判断模块用于判断智能合约请求是否需要增加新的智能合约;
55.第二判断模块用于在需要增加新的智能合约时,判断发起请求的智能合约账户是否拥有增添智能合约的权限;
56.第三判断模块用于在无需增加新的智能合约时,判断发起请求的智能合约账户是否拥有切换智能合约的权限;
57.智能合约仓库用于进行智能合约的存储和版本管理,并存储合约地址、合约名称和合约类型,具体设置时,智能合约仓库信号连接有预处理模块,预处理模块用于对原有智能合约进行解耦,将原有智能合约解耦成一个或若干子智能合约;
58.路由连接模块用于成功添加新智能合约后,赋予新智能合约访问的权限并连接新旧智能合约,具体设置时,路由连接模块信号连接有路由合约模块,路由合约模块用于生产新旧智能合约连接的路由合约。
59.需要说明的是,智能合约仓库还可采用构建数据库的方式搭建,且数据库可存储于云空间,在数据量较大时,便于更新。
60.路由合约即现有的路由协议,一种指定数据包转送方式的网上协议。internet网络的主要节点设备是路由器,路由器通过路由表来转发接收到的数据。转发策略可以是人工指定的(通过静态路由、策略路由等方法)。在具有较小规模的网络中,人工指定转发策略没有任何问题。但是在具有较大规模的网络中(如跨国企业网络、isp网络),如果通过人工指定转发策略,将会给网络管理员带来巨大的工作量,并且在管理、维护路由表上也变得十分困难。为了解决这个问题,动态路由协议应运而生。动态路由协议可以让路由器自动学习到其他路由器的网络,并且网络拓扑发生改变后自动更新路由表。网络管理员只需要配置动态路由协议即可,相比人工指定转发策略,工作量大大减少。
61.综上所述,通过预先对智能合约进行解耦,在更新智能合约时,仅需要更新解耦后的部分内容,避免了整体对合约进行更新,减少资源的占用;对权限进行严格的验证,能够保障区块链读写数据的安全性和合法性,确保合约更新的安全;通过路由合约进行连接,在需求更改后可以灵活进行合约的升级和变更,减少合约的部署。
62.以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修
改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献