【技术实现步骤摘要】
在区块链网络中执行事务的方法和装置
概括地说,本公开的实施例涉及信息
,更具体地说,涉及在区块链网络中执行事务的方法、装置及计算机可读存储介质。
技术介绍
区块链是用分布式数据库识别、传播和记载信息的智能化对等网络,也称为价值互联网。区块链具有去中心化、反篡改、数据一致性存储、过程透明可追踪等技术优势,其被认为在金融、征信、物联网、经济贸易结算、资产管理等众多领域都拥有广泛的应用前景。智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议,其能够表现为在区块链上准确运行的计算机程序。用户通过使用智能合约进行事务、共享数据、建立信任,并由区块链技术的特性而保障数据的存储、读取以及执行整个过程透明可跟踪、不可篡改。在区块链中,一种方式是通过调用智能合约来完成区块链事务。在一些情况下,智能合约的执行会依赖于区块链外部的数据源。在这种情况下,现有的方案是智能合约直接调用预言机(Oracle)服务,预言机服务从真实世界中获取数据,然后返回结果给智能合约。然而,在例如事务需要多个参与方背书来执行的场景中,当多个背书节点同时访问同一个外部数据源时,无法确保各自返回一致的结果,导致该事务因无法通过一致性验证而失败。因此,需要一种改进的在区块链网络中执行事务的方法。
技术实现思路
总体上,本公开的实施例提供了在区块链网络中执行事务的方法、装置及计算机可读存储介质以至少部分地解决现有技术的上述及其它潜在问题。在本公开的实施例的第一方面,提供了一种用于在区块链网络中执行事务的方法,所述方法包括:从客户端接收事务请求,所述事务请求是由所述客户端向所述区块链网络的多个背书 ...
【技术保护点】
1.一种用于在区块链网络中执行事务的方法,其特征在于,所述方法包括:从客户端接收事务请求,所述事务请求是由所述客户端向所述区块链网络的多个背书节点发送的,所述事务请求与应用智能合约相关联并且所述事务请求涉及对位于所述区块链网络外部的数据源的访问;模拟执行所述应用智能合约;在模拟执行所述应用智能合约的过程中执行系统智能合约,以生成所述事务的第一模拟执行结果;将所述第一模拟执行结果返回至所述客户端;其中,所述在模拟执行所述应用智能合约的过程中执行系统智能合约,以生成所述事务的第一模拟执行结果包括以下子步骤:向位于所述区块链网络外部的代理节点发送访问请求;从所述代理节点接收对应于所述访问请求的请求结果以及所述代理节点对所述请求结果的签名,所述请求结果是经所述代理节点证明来自所述数据源的;以及根据所述请求结果以及所述代理节点对所述请求结果的签名来更新所述第一模拟执行结果的读集合。
【技术特征摘要】
1.一种用于在区块链网络中执行事务的方法,其特征在于,所述方法包括:从客户端接收事务请求,所述事务请求是由所述客户端向所述区块链网络的多个背书节点发送的,所述事务请求与应用智能合约相关联并且所述事务请求涉及对位于所述区块链网络外部的数据源的访问;模拟执行所述应用智能合约;在模拟执行所述应用智能合约的过程中执行系统智能合约,以生成所述事务的第一模拟执行结果;将所述第一模拟执行结果返回至所述客户端;其中,所述在模拟执行所述应用智能合约的过程中执行系统智能合约,以生成所述事务的第一模拟执行结果包括以下子步骤:向位于所述区块链网络外部的代理节点发送访问请求;从所述代理节点接收对应于所述访问请求的请求结果以及所述代理节点对所述请求结果的签名,所述请求结果是经所述代理节点证明来自所述数据源的;以及根据所述请求结果以及所述代理节点对所述请求结果的签名来更新所述第一模拟执行结果的读集合。2.根据权利要求1所述的方法,其特征在于,所述访问请求包括请求标识信息、所述数据源的访问地址以及背书策略,其中,所述请求标识信息用于标识所述访问请求并被记录在通道账本中。3.根据权利要求1所述的方法,其特征在于,根据所述请求结果以及所述代理节点对所述请求结果的签名来更新所述第一模拟执行结果的读集合包括:生成记录,所述记录的类型为链外类型,其中,所述记录包括以下各项:所述请求标识信息、所述数据源的访问地址、所述请求结果、所述代理节点对所述请求结果的签名;以及将所述记录写入所述第一模拟执行结果的读集合。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收包括所述事务的区块,所述事务包括分别来自所述多个背书节点的、对应于所述事务请求的多个模拟执行结果;验证所述事务中的多个读集合,所述多个读集合分别与所述多个模拟执行结果相对应;在验证通过的情况下,根据所述事务中的多个写集合来更新世界状态,所述多个写集合分别与所述多个模拟执行结果相对应。5.一种用于在区块链网络中执行事务的装置,其特征在于,所述装置包括:处理器;以及存储器,其用于存储指令,当所述指令被执行时使得所述处理器执行以下步骤:从客户端接收事务请求,所述事务请求是由所述客户端向所述区块链网络的多个背书节点发送的,所述事务请求与应用智能合约相关联并且所述事务请求涉及对位于所述区块链网络外部的数据源的访问;模拟执行所述应用智能合约;在模拟执行所述应用智能合约的过程中执行系统智能合约,以生成所述事务的第一模拟执行结果;将所述第一模拟执行结果返回至所述客户端;其中,所述在模拟执行所述应用智能合约的过程中执行系统智能合约,以生成所述事务的第一模拟执行结果包括以下子步骤:向位于所述区块链网络外部的代理节点发送访问请求;从所述代理节点接收对应于所述访问请求的请求结果以及所述代理节点对所述请求结果的签名,所述请求结果是经所述代理节点证明来自所述数据源的;以及根据所述请求结果以及所述代理节点对所述请求结果的签名来更新所述第一模拟执行结果的读集合。6.根据权利要求5所述的装置,其特征在于,所述访问请求包括请求标识信息、所述数据源的访问地址以及背书策略,其中,所述请求标识信息用于标识所述访问请求并被记录在通道账本中。7.根据权利要求5所述的装置,其特征在于,根据所述请求结果以及所述代理节点对所述请求结果的签名来更新所述第一模拟执行结果的读集合包括:生成记录,所述记录的...
【专利技术属性】
技术研发人员:刘辉,
申请(专利权)人:上海点融信息科技有限责任公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。