基于区块链的智能合约调用方法及装置、电子设备制造方法及图纸

技术编号:29207974 阅读:21 留言:0更新日期:2021-07-10 00:44
一种基于区块链的智能合约调用方法,包括:接收用于发起智能合约调用的目标交易;其中,目标交易包括调用数据;调用数据中的至少部分数据包括存储在与所述区块链对接的第三方存储系统中的目标数据的数据摘要;向第三方存储系统查询与数据摘要对应的目标数据,并接收第三方存储系统返回的查询结果;查询结果包括加密后的目标数据;获取用于对加密后的目标数据进行解密的密钥,基于密钥对加密后的目标数据进行解密,并对解密后的目标数据进行内容校验;如果目标数据校验通过,调用智能合约,对目标交易中的调用数据执行智能合约计算,并在智能合约计算执行完毕后将计算结果存储至区块链的分布式数据库。块链的分布式数据库。块链的分布式数据库。

【技术实现步骤摘要】
基于区块链的智能合约调用方法及装置、电子设备


[0001]本说明书一个或多个实施例涉及区块链
,尤其涉及一种基于区块链的智能合约调用方法及装置、电子设备。

技术介绍

[0002]区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术已在众多的领域中广泛的进行应用。

技术实现思路

[0003]本说明书提出一种基于区块链的智能合约调用方法,包括:
[0004]接收用于发起智能合约调用的目标交易;其中,所述目标交易包括调用数据;所述调用数据中的至少部分数据包括存储在与所述区块链对接的第三方存储系统中的目标数据的数据摘要;
[0005]向所述第三方存储系统查询与所述数据摘要对应的目标数据,并接收所述第三方存储系统返回的查询结果;所述查询结果包括加密后的所述目标数据;
[0006]获取用于对加密后的所述目标数据进行解密的密钥,基于所述密钥对加密后的所述目标数据进行解密,并对解密后的所述目标数据进行内容校验;
[0007]如果所述目标数据校验通过,调用所述智能合约,对所述目标交易中的调用数据执行智能合约计算,并在所述智能合约计算执行完毕后将计算结果存储至所述区块链的分布式数据库。
[0008]可选的,所述第三方存储系统中存储了所述目标数据与所述目标数据的数据摘要之间的对应关系;
[0009]所述向所述第三方存储系统查询与所述数据摘要对应的目标数据,包括:
[0010]将所述数据摘要作为查询索引向所述第三方存储系统发起查询,以查询与所述数据摘要对应的目标数据。
[0011]可选的,所述查询结果还包括与所述密钥对应的密钥元数据;
[0012]所述获取用于对加密后的所述目标数据进行解密的密钥,基于所述密钥对加密后的所述目标数据进行解密,包括:
[0013]将所述加密后的目标数据以及所述密钥元数据发送至与所述区块链对接的第三方解密系统,其中所述第三方解密系统维护了密钥与密钥元数据之间的映射关系,以由所述第三方解密系统查询所述映射关系获取与所述密钥元数据对应的密钥,并基于获取到的密钥对加密后的所述目标数据进行解密;
[0014]接收所述第三方解密系统返回的解密后的目标数据。
[0015]可选的,所述对所述目标数据进行内容校验,包括:
[0016]基于预设的摘要算法计算所述目标数据的数据摘要;
[0017]确定计算得到的数据摘要与所述目标交易中的所述目标数据的数据摘要是否一致;
[0018]如果计算得到的数据摘要与所述目标交易中的所述目标数据的数据摘要一致,确定针对所述目标数据的校验通过。
[0019]可选的,所述第三方存储系统包括中心化的内容可寻址存储CAS系统;或者,分布式的CAS存储系统。
[0020]可选的,所述区块链为由若干成员区块链组成的联盟链中的任一成员区块链。
[0021]可选的,所述第三方存储系统为所述联盟链中与所述区块链存在数据跨链引用关系的其它成员区块链。
[0022]本说明书提出一种基于区块链的智能合约调用装置,包括:
[0023]接收模块,接收用于发起智能合约调用的目标交易;其中,所述目标交易包括调用数据;所述调用数据中的至少部分数据包括存储在与所述区块链对接的第三方存储系统中的目标数据的数据摘要;
[0024]查询模块,向所述第三方存储系统查询与所述数据摘要对应的目标数据,并接收所述第三方存储系统返回的查询结果;所述查询结果包括加密后的所述目标数据;
[0025]解密模块,获取用于对加密后的所述目标数据进行解密的密钥,基于所述密钥对加密后的所述目标数据进行解密,并对解密后的所述目标数据进行内容校验;
[0026]调用模块,如果所述目标数据校验通过,调用所述智能合约,对所述目标交易中的调用数据执行智能合约计算,并在所述智能合约计算执行完毕后将计算结果存储至所述区块链的分布式数据库。
[0027]可选的,所述第三方存储系统中存储了所述目标数据与所述目标数据的数据摘要之间的对应关系;
[0028]所述查询模块:
[0029]将所述数据摘要作为查询索引向所述第三方存储系统发起查询,以查询与所述数据摘要对应的目标数据。
[0030]可选的,所述查询结果还包括与所述密钥对应的密钥元数据;
[0031]所述解密模块:
[0032]将所述加密后的目标数据以及所述密钥元数据发送至与所述区块链对接的第三方解密系统,其中所述第三方解密系统维护了密钥与密钥元数据之间的映射关系,以由所述第三方解密系统查询所述映射关系获取与所述密钥元数据对应的密钥,并基于获取到的密钥对加密后的所述目标数据进行解密;
[0033]接收所述第三方解密系统返回的解密后的目标数据。
[0034]可选的,所述查询模块:
[0035]基于预设的摘要算法计算所述目标数据的数据摘要;
[0036]确定计算得到的数据摘要与所述目标交易中的所述目标数据的数据摘要是否一致;
[0037]如果计算得到的数据摘要与所述目标交易中的所述目标数据的数据摘要一致,确定针对所述目标数据的校验通过。
[0038]可选的,所述第三方存储系统包括中心化的内容可寻址存储CAS系统;或者,分布式的CAS存储系统。
[0039]可选的,所述区块链为由若干成员区块链组成的联盟链中的任一成员区块链。
[0040]可选的,所述第三方存储系统为所述联盟链中与所述区块链存在数据跨链引用关系的其它成员区块链。
[0041]本说明书还提出一种电子设备,包括:
[0042]处理器;
[0043]用于存储机器可执行指令的存储器;
[0044]其中,通过读取并执行所述存储器存储的与基于区块链的基于区块链的智能合约调用的控制逻辑对应的机器可执行指令,所述处理器被促使:
[0045]接收用于发起智能合约调用的目标交易;其中,所述目标交易包括调用数据;所述调用数据中的至少部分数据包括存储在与所述区块链对接的第三方存储系统中的目标数据的数据摘要;
[0046]向所述第三方存储系统查询与所述数据摘要对应的目标数据,并接收所述第三方存储系统返回的查询结果;所述查询结果包括加密后的所述目标数据;
[0047]获取用于对加密后的所述目标数据进行解密的密钥,基于所述密钥对加密后的所述目标数据进行解密,并对解密后的所述目标数据进行内容校验;
[0048]如果所述目标数据校验通过,调用所述智能合约,对所述目标交易中的调用数据执行智能合约计算,并在所述智能合约计算执行完毕后将计算结果存储至所述区块链的分布式数据库。
[0049]通过以上实施例,通过在用于发起智能合约调用的交易中携带存储在第三方存储系本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的智能合约调用方法,包括:接收用于发起智能合约调用的目标交易;其中,所述目标交易包括调用数据;所述调用数据中的至少部分数据包括存储在与所述区块链对接的第三方存储系统中的目标数据的数据摘要;向所述第三方存储系统查询与所述数据摘要对应的目标数据,并接收所述第三方存储系统返回的查询结果;所述查询结果包括所述目标数据;对所述目标数据进行内容校验;如果所述目标数据校验通过,调用所述智能合约,对所述目标交易中的调用数据执行智能合约计算。2.根据权利要求1所述的方法,所述第三方存储系统中存储了所述目标数据与所述目标数据的数据摘要之间的对应关系;所述向所述第三方存储系统查询与所述数据摘要对应的目标数据,包括:将所述数据摘要作为查询索引向所述第三方存储系统发起查询,以查询与所述数据摘要对应的目标数据。3.根据权利要求1所述的方法,所述查询结果包括加密后的所述目标数据;所述对所述目标数据进行内容校验,包括:获取用于对加密后的所述目标数据进行解密的密钥;基于所述密钥对加密后的所述目标数据进行解密,并对解密后的所述目标数据进行内容校验。4.根据权利要求3所述的方法,所述查询结果还包括与所述密钥对应的密钥元数据;所述基于所述密钥对加密后的所述目标数据进行解密,并对解密后的所述目标数据进行内容校验,包括:将所述加密后的目标数据以及所述密钥元数据发送至与所述区块链对接的第三方解密系统,其中所述第三方解密系统维护了密钥与密钥元数据之间的映射关系,以由所述第三方解密系统查询所述映射关系获取与所述密钥元数据对应的密钥,并基于获取到的密钥对加密后的所述目标数据进行解密;接收所述第三方解密系统返回的解密后的目标数据。5.根据权利要求1所述的方法,所述对所述目标数据进行内容校验,包括:基于预设的摘要算法计算所述目标数据的数据摘要;确定计算得到的数据摘要与所述目标交易中的所述目标数据的数据摘要是否一致;如果计算得到的数据摘要与所述目标交易中的所述目标数据的数据摘要一致,确定针对所述目标数据的校验通过。6.根据权利要求1所述的方法,所述区块链为由若干成员区块链组成的联盟链中的任一成员区块链;所述第三方存储系统包括去中心化的CAS存储系统。7.根据权利要求6所述的方法,所述去中心化的CAS存储系统为与所述区块链存在数据跨链引用关系的其它区块链;所述去中心化的CAS存储系统为所述联盟链中与所述区块链存在数据跨链引用关系的其它成员区块链。8.根据权利要求6所述的方法,所述第三方存储系统还包括与所述区块链对接的中心化的CAS系统。
9.一种基于区块链的智能合约调用装置,包括:接收模块,接收用于发起智能合约调用的目标交易;其中,所述目标交易包括调用数据;所述调用数据中的至少部分数据包括存储在与所述区块链对接的第三方存储系统中的目标数据的数据摘要;查询模块,向所述第三方存储系...

【专利技术属性】
技术研发人员:邱鸿霖
申请(专利权)人:创新先进技术有限公司
类型:发明
国别省市:

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

1