[发明专利]在区块链网络中执行事务的方法和装置有效
申请号: | 201910276160.1 | 申请日: | 2019-04-08 |
公开(公告)号: | CN109981679B | 公开(公告)日: | 2021-08-10 |
发明(设计)人: | 刘辉 | 申请(专利权)人: | 上海点融信息科技有限责任公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08;H04L9/32 |
代理公司: | 北京永新同创知识产权代理有限公司 11376 | 代理人: | 杨胜军 |
地址: | 200023 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 区块 网络 执行 事务 方法 装置 | ||
本公开的实施例涉及在区块链网络中执行事务的方法和装置。该方法包括:从客户端接收事务请求,事务请求是向多个背书节点发送的,与应用智能合约相关联并且涉及对外部数据源的访问;模拟执行应用智能合约;在模拟执行应用智能合约的过程中执行系统智能合约,以生成事务的第一模拟执行结果,其包括:向区块链网络外部的代理节点发送访问请求,从代理节点接收请求结果以及对请求结果的签名,根据请求结果以及签名来更新第一模拟执行结果的读集合;将第一模拟执行结果返回至客户端。本公开的实施例提供了在区块链中支持多个背书节点访问同一外部数据源的方案,使得能够通过在多个背书节点处产生的与外部数据源相关的读集合的一致性来确保事务的执行。
技术领域
概括地说,本公开的实施例涉及信息技术领域,更具体地说,涉及在区块链网络中执行事务的方法、装置及计算机可读存储介质。
背景技术
区块链是用分布式数据库识别、传播和记载信息的智能化对等网络,也称为价值互联网。区块链具有去中心化、反篡改、数据一致性存储、过程透明可追踪等技术优势,其被认为在金融、征信、物联网、经济贸易结算、资产管理等众多领域都拥有广泛的应用前景。
智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议,其能够表现为在区块链上准确运行的计算机程序。用户通过使用智能合约进行事务、共享数据、建立信任,并由区块链技术的特性而保障数据的存储、读取以及执行整个过程透明可跟踪、不可篡改。
在区块链中,一种方式是通过调用智能合约来完成区块链事务。在一些情况下,智能合约的执行会依赖于区块链外部的数据源。在这种情况下,现有的方案是智能合约直接调用预言机(Oracle)服务,预言机服务从真实世界中获取数据,然后返回结果给智能合约。然而,在例如事务需要多个参与方背书来执行的场景中,当多个背书节点同时访问同一个外部数据源时,无法确保各自返回一致的结果,导致该事务因无法通过一致性验证而失败。
因此,需要一种改进的在区块链网络中执行事务的方法。
发明内容
总体上,本公开的实施例提供了在区块链网络中执行事务的方法、装置及计算机可读存储介质以至少部分地解决现有技术的上述及其它潜在问题。
在本公开的实施例的第一方面,提供了一种用于在区块链网络中执行事务的方法,所述方法包括:
从客户端接收事务请求,所述事务请求是由所述客户端向所述区块链网络的多个背书节点发送的,所述事务请求与应用智能合约相关联并且所述事务请求涉及对位于所述区块链网络外部的数据源的访问;
模拟执行所述应用智能合约;
将所述第一模拟执行结果返回至所述客户端;
其中,所述在模拟执行所述应用智能合约的过程中执行系统智能合约,以生成所述事务的第一模拟执行结果包括以下子步骤:
向位于所述区块链网络外部的代理节点发送访问请求;
从所述代理节点接收对应于所述访问请求的请求结果以及所述代理节点对所述请求结果的签名,所述请求结果是经所述代理节点证明来自所述数据源的;以及
根据所述请求结果以及所述代理节点对所述请求结果的签名来更新所述第一模拟执行结果的读集合。
在本公开的实施例的第二方面,提供了一种用于在区块链网络中执行事务的装置,所述装置包括:
处理器;以及
存储器,其用于存储指令,当所述指令被执行时使得所述处理器执行以下步骤:
从客户端接收事务请求,所述事务请求是由所述客户端向区块链网络的多个背书节点发送的,所述事务请求与应用智能合约相关联并且所述事务请求涉及对位于所述区块链网络外部的数据源的访问;
模拟执行所述应用智能合约;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海点融信息科技有限责任公司,未经上海点融信息科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910276160.1/2.html,转载请声明来源钻瓜专利网。