一种区块链的智能合约调用方法、装置设备及存储介质与流程

文档序号:32050448发布日期:2022-11-03 08:50阅读:70来源:国知局
一种区块链的智能合约调用方法、装置设备及存储介质与流程

1.本发明属于区块链技术领域,具体涉及一种区块链的智能合约调用方法、装置、设备及存储介质。


背景技术:

2.区块链是在计算机网络的节点之间共享的分布式数据库,随着技术的不断发展,区块链技术已经可以允许用户写出更精密和智能的协议,也即智能合约,来自动化地对区块链中的数据进行调用、验证、处理和/或执行,以实现不同的业务功能以及业务之间的协同工作。
3.然而,虽然目前已经存在很多针对区块链数据的传输和访问进行加密的技术来保证数据的安全性,但是针对合约本身的隐私安全保护技术就相对匮乏。在一般情况下,部署在区块链上的智能合约可以被任何人访问,即其内部逻辑代码处于暴露状态,因而也就无法对合约所实现的业务功能本身做到良好的保密,导致这些业务存在被抄袭、被利用、或隐私泄露等风险因素。


技术实现要素:

4.为解决上述问题,提供一种区块链的智能合约调用方法、装置、设备及存储介质,本发明采用了如下技术方案:本发明提供了一种基于隐私保护的区块链智能合约调用,区块链中预先部署有隐私合约以及与其相配合的明文合约,其特征在于,方法包括以下步骤:当接收到访问隐私合约的访问请求时,确定访问账户的访问权限参数;根据访问请求获取相对应的隐私合约的访问验证信息,并通过明文合约判断访问权限参数与访问验证信息是否相匹配;若匹配,则明文合约将访问权限参数发送给隐私合约以获取调用隐私合约所需的执行参数清单;明文合约根据执行参数清单从区块链上获取对应的执行参数并发送给隐私合约;隐私合约根据执行参数完成调用并生成执行指示发送给明文合约;明文合约执行执行指示以完成隐私合约的调用。
5.本发明提供的基于隐私保护的区块链智能合约调用,还可以具有这样的技术特征,其中,隐私合约为基于访问权限参数进行加密后的加密合约。
6.本发明提供的基于隐私保护的区块链智能合约调用,还可以具有这样的技术特征,明文合约将访问权限参数发送给隐私合约以获取调用隐私合约所需的执行参数清单的步骤还包括:明文合约将访问权限参数发送给隐私合约,并在验证隐私合约的环境安全后对该隐私合约进行解密;解密后的隐私合约在初次运行时将执行参数清单发送给明文合约。
7.本发明提供的基于隐私保护的区块链智能合约调用,还可以具有这样的技术特征,明文合约执行执行指示以完成隐私合约的调用之后,方法的步骤还包括:明文合约根据访问权限参数对解密后的隐私合约进行加密。
8.本发明提供的基于隐私保护的区块链智能合约调用,还可以具有这样的技术特征,与隐私合约对应的存储区域中预先存储有访问验证信息,访问验证信息至少包含访问权限参数与权限有效信息的对应关系;明文合约根据权限有效信息验证访问权限参数是否与访问验证信息相匹配。
9.本发明提供的基于隐私保护的区块链智能合约调用,还可以具有这样的技术特征,权限有效信息为权限有效期或权限有效地址。
10.本发明还提供了一种区块链智能合约的调用装置,区块链中预先部署有隐私合约以及与其相配合的明文合约,其特征在于,包括:确定模块,当接收到访问所述隐私合约的访问请求时,确定访问账户的访问权限参数;验证模块,根据所述访问请求获取相对应的所述隐私合约的访问验证信息,并通过所述明文合约判断所述访问权限参数与所述访问验证信息是否相匹配;调用模块,若匹配,则所述明文合约将所述访问权限参数发送给所述隐私合约以获取调用所述隐私合约所需的执行参数清单;获取模块,所述明文合约根据所述执行参数清单从所述区块链上获取对应的所述执行参数并发送给所述隐私合约;隐私合约执行模块,所述隐私合约根据所述执行参数完成调用并生成执行指示发送给所述明文合约;以及明文合约执行模块,所述明文合约执行所述执行指示以完成所述隐私合约的调用。
11.本发明还提供了一种区块链智能合约的调用设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的区块链智能合约的调用程序,区块链智能合约的调用程序配置为实现上述任一项的基于隐私保护的区块链智能合约调用的步骤。
12.本发明还提供了一种计算机可读存储介质,其特征在于,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述任一项的方法。
13.发明作用与效果根据本发明的区块链的智能合约调用方法、装置、设备及存储介质,由于在验证访问账户具有访问权限后,明文合约通过访问权限参数从隐私合约获取到调用所需的执行参数清单,并由明文合约来从区块链中获取响应的执行参数并发送给隐私合约,接下来,还是由明文合约来执行调用隐私合约后生成的执行指示,来完成隐私合约所需要执行的事件。通过这样的方式,可以保证对隐私合约的调用、访问及执行均通过明文合约来进行,保证隐私条约的具体判断过程、条约内容均不可见,从而最大程度地避免了第三方获取到隐私合约的内容。
附图说明
14.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。
15.图1是本发明实施例中基于隐私保护的区块链智能合约调用的流程图;图2是本发明实施例中区块链智能合约的调用装置的框图。
具体实施方式
16.为了使本技术领域的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术
方案进行清楚、完整地描述。显然,所描述的实施例仅仅是一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
17.下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与本说明书的一些方面相一致的系统和方法的例子。
18.在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书中所使用的单数形式的“一种”、
“”
和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
19.《实施例》一般认为,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种分布式的基础架构与计算范式,根据所有权的区别可以被分为公有链、私有链、联盟链等等类型,根据是否支持编程则可以分为可编程区块链以及不可编程区块链。
20.其中,可编程区块链支持用户在可编程区块链网络中创建并调用一些复杂的逻辑,也即智能合约;不论是公有链、私有链还是联盟链,都可能提供智能合约的功能。区块链上的智能合约是在区块链上可以被交易触发执行的合约。智能合约可以通过代码的形式定义。
21.本实施例中,区块链上分别部署有隐私合约及明文合约,其中,隐私合约为用户需要隐藏执行的智能合约,明文合约则包括可以公开的业务逻辑以及用于让用户能够调用隐私合约的部分内容。
22.参考图1,图1是本发明实施例中基于隐私保护的区块链智能合约调用的流程图。本发明提供的基于隐私保护的区块链智能合约调用具体包括如下步骤s1至s6。
23.步骤s1,当接收到访问隐私合约的访问请求时,确定访问账户的访问权限参数。
24.步骤s2,根据访问请求获取相对应的隐私合约的访问验证信息,并通过明文合约判断访问权限参数与访问验证信息是否相匹配。
25.本实施例中,访问权限参数用于表示用户是否可以访问隐私合约,访问验证信息用于对访问权限参数进行验证。
26.在一种方案中,隐私合约可以是被加密的合约,即,其他用户既不具有对隐私合约进行访问的权限,也无法获取到隐私合约的代码。执行加密的密钥为用户的访问权限参数,隐私合约仅可以通过用户的访问权限参数解密后才能够被访问或执行。
27.可以理解的是,在其他方案中,访问权限参数可以不直接作为密钥使用,例如还可以通过访问验证信息对访问权限参数进行一定的处理来得到用于访问加密隐私合约的密钥。
28.在本实施例中,访问验证信息预先存储在与隐私合约对应的存储区域中。访问验证信息至少包含访问权限参数与权限有效信息的对应关系,该权限有效信息可以是权限有效期(例如年月日)或权限有效地址(例如ip地址)。明文合约可以通过权限有效信息来对访
问权限的有效性进行验证。
29.步骤s3,若匹配,则明文合约将访问权限参数发送给隐私合约以获取调用隐私合约所需的执行参数清单。
30.本实施例中,执行参数清单为执行隐私条约所必要的执行参数的清单。例如,隐私合约用于实现的业务逻辑为“当某物品的价格低于x元时执行购买”,则执行参数清单中则包含“某物品”的价格作为执行参数。在步骤s4中,明文合约就会根据该执行参数清单从区块链中获取执行参数。
31.特别地,在步骤s3中,由于隐私合约处于加密状态,因此当明文合约将访问权限参数发送给隐私合约时,还会验证隐私合约的环境是否安全(例如验证是否存在非法访问),并在验证安全后对该隐私合约进行解密,从而保证隐私合约在执行时处于安全环境下。当完成解密后,隐私合约在初次运行时会将自身所需的执行参数清单发送给明文合约。
32.步骤s4,明文合约根据执行参数清单从区块链上获取对应的执行参数并发送给隐私合约。
33.在具体实现中,还可以对明文合约获取到的执行参数进行加密,例如进行同态加密,从而保护用户信息在传输过程中的安全性。
34.步骤s5,隐私合约根据执行参数完成调用并生成执行指示发送给明文合约。
35.步骤s6,明文合约执行执行指示以完成隐私合约的调用。
36.本实施例中,隐私合约在安全环境下运行执行参数,并将需要执行的行为作为执行指示发送给明文合约,从而使得明文合约代为执行。通过这样的方式,可以保证对隐私合约的调用、访问及执行均通过明文合约来进行,从而最大程度地避免了第三方获取到隐私合约的内容。
37.另外,当完成隐私合约的调用之后,明文合约根据访问权限参数对解密后的隐私合约进行加密,保证隐私合约在没有调用时处于加密状态。
38.相对应地,本实施例还提供了一种与上述基于隐私保护的区块链智能合约调用相对应的区块链智能合约的调用装置。如图2所示,该区块链智能合约的调用装置10包括确定模块11、验证模块12、调用模块13、获取模块14、隐私合约执行模块15及明文合约执行模块16。
39.确定模块11用于在接收到访问隐私合约的访问请求时,确定访问账户的访问权限参数。
40.验证模块12根据访问请求获取相对应的隐私合约的访问验证信息,并通过明文合约判断访问权限参数与访问验证信息是否相匹配。
41.调用模块13用于在验证模块12判断匹配时,控制明文合约将访问权限参数发送给隐私合约以获取调用隐私合约所需的执行参数清单。
42.获取模块14,控制明文合约根据执行参数清单从区块链上获取对应的执行参数并发送给隐私合约。
43.隐私合约执行模块15控制隐私合约根据执行参数完成调用并生成执行指示发送给明文合约。
44.明文合约执行模块16控制明文合约执行执行指示以完成隐私合约的调用。
45.本实施例所提供的区块链智能合约的调用装置10,其实现原理及产生的技术效果
和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
46.本实施例提供了一种区块链智能合约的调用设备及可读存储介质,两者中存储有程序或指令,该程序或指令被处理器执行时实现如本文上述的基于隐私保护的区块链智能合约调用的步骤。
47.实施例作用与效果根据本实施例提供的基于隐私保护的区块链智能合约调用、装置、设备以及存储介质,由于在验证访问账户具有访问权限后,明文合约通过访问权限参数从隐私合约获取到调用所需的执行参数清单,并由明文合约来从区块链中获取响应的执行参数并发送给隐私合约,接下来,还是由明文合约来执行调用隐私合约后生成的执行指示,来完成隐私合约所需要执行的事件。通过这样的方式,可以保证对隐私合约的调用、访问及执行均通过明文合约来进行,保证隐私条约的具体判断过程、条约内容均不可见,从而最大程度地避免了第三方获取到隐私合约的内容。
48.最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1