基于可信执行环境中执行的智能合约操作处理区块链数据制造技术

技术编号:23564311 阅读:27 留言:0更新日期:2020-03-25 08:38
本文公开了用于在可信执行环境(TEE)下处理区块链数据的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。所述方法之一包括区块链节点接收用于在TEE中执行一个或多个软件指令的请求,所述TEE在所述区块链节点上执行;所述TEE中的虚拟机确定与一个或多个区块链账户相关联的数据,以基于所述请求执行一个或多个软件指令;所述虚拟机遍历存储在所述TEE中的区块链的全局状态以定位数据;以及由所述虚拟机基于所述数据执行一个或多个软件指令。

Processing blockchain data based on smart contract operation executed in trusted execution environment

【技术实现步骤摘要】
【国外来华专利技术】基于可信执行环境中执行的智能合约操作处理区块链数据
本文涉及在可信执行环境下处理区块链数据。
技术介绍
分布式账本(DLS),也可称为共识网络和/或区块链网络,使参与的实体能够安全地且不可篡改地存储数据。在不引用任何特定用例的情况下,DLS通常被称为区块链网络。区块链网络的示例类型可以包括公有区块链网络、私有区块链网络和联盟区块链网络。联盟区块链网络针对选择的实体组群提供,该实体组群控制共识处理,并且该联盟区块链网络包括访问控制层。智能合约是在区块链上执行的程序。智能合约包含预定义规则集,根据该规则集,所述智能合约的各方同意彼此交互。智能合约可以由诸如以太坊的分布式计算平台执行。例如,以太坊虚拟机(EVM)可以为以太坊中的智能合约提供运行时环境。以太坊区块链可以被视为基于交易的状态机。以太坊可以拥有被称为世界状态的全局共享状态。世界状态包括以太坊账户地址和账户状态之间的映射。所述映射被存储在称为默克尔帕特里夏树(MerklePatriciaTree,MPT)的数据结构中。尽管以太坊账户状态经常被加密以保护账户隐私,但所使用的加密密钥对于所有账户都是相同的。这样,可以保留MPT的数据结构,使得所有区块链节点可以以相同的方式计算默克尔(Merkle)根,以用于默克尔证明或状态更新。然而,通过在所有账户中使用相同的密钥,不能隐藏世界状态的数据结构,并且攻击者可以分析与账户关系和行为相关联的隐私信息。因此,期望在可信执行环境中检索和更新区块链的账户值,并将相应的MPT存储在密文中以隐藏其数据结构。r>
技术实现思路
本文描述了用于基于在可信执行环境(TEE)中执行的智能合约操作处理区块链数据的技术。这些技术通常涉及接收用于在TEE中执行一个或多个软件指令的请求,所述TEE在所述区块链节点上执行;确定与一个或多个区块链账户相关联的数据,以基于所述请求执行一个或多个软件指令;遍历存储在所述TEE中的区块链的全局状态以定位数据;以及基于所述数据执行一个或多个软件指令。本文还提供了耦接到一个或多个处理器并且其上存储有指令的一个或多个非暂态计算机可读存储介质,当所述指令由所述一个或多个处理器执行时,所述指令将促使所述一个或多个处理器按照本文提供的方法的实施例执行操作。本文还提供了用于实施本文提供的所述方法的系统。所述系统包括一个或多个处理器以及耦接到所述一个或多个处理器并且其上存储有指令的计算机可读存储介质,当所述指令由所述一个或多个处理器执行时,所述指令将促使所述一个或多个处理器按照本文提供的方法的实施例执行操作。应了解,依据本文的方法可以包括本文描述的方面和特征的任意组合。也就是说,根据本文的方法不限于本文具体描述的方面和特征的组合,还包括所提供的方面和特征的任意组合。以下在附图和描述中阐述了本文的一个或多个实施例的细节。根据说明书和附图以及权利要求,本文的其他特征和优点将显现。附图说明图1是示出了可用于执行本文的实施例的环境的示例的图。图2是示出根据本文的实施例的架构的示例的图。图3是示出根据本文的实施例的与TEE的外部的数据库通信的TEE的结构的示例的图。图4是根据本文的实施例的处理的示例的流程图。图5描绘了根据本文的实施例的装置的模块的示例。各附图中相同的附图标记和名称表示相同的元件。具体实施方式本文描述了用于基于在可信执行环境(TEE)中执行的智能合约操作处理区块链数据的技术。这些技术通常涉及接收用于在TEE中执行一个或多个软件指令的请求,所述TEE在所述区块链节点上执行;确定与一个或多个区块链账户相关联的数据,以基于所述请求执行一个或多个软件指令;遍历存储在所述TEE中的区块链的全局状态以定位数据;以及基于所述数据执行一个或多个软件指令。为本文实施例提供进一步的背景,并且如上所述,分布式账本系统(DLS),又可称为共识网络(例如,由点对点节点组成)和区块链网络,使参与的实体能够安全地、不可篡改地进行交易和存储数据。尽管术语区块链通常与特定网络和/或用例相关联,但在不参考任何特定用例的情况下,本文使用“区块链”来一般地指代DLS。区块链是以交易不可篡改的方式存储交易的数据结构。因此,区块链上记录的交易是可靠且可信的。区块链包括一个或多个区块。链中的每个区块通过包含在链中紧邻其之前的前一区块的加密哈希值(cryptographichash)链接到该前一区块。每个区块还包括时间戳、自身的加密哈希值以及一个或多个交易。已经被区块链网络中的节点验证的交易经哈希处理并编入默克尔(Merkle)树中。默克尔树是一种数据结构,在该树的叶节点处的数据是经哈希处理的,并且在该树的每个分支中的所有哈希值在该分支的根处连接。此过程沿着树持续一直到整个树的根,在整个树的根处存储了代表树中所有数据的哈希值。可通过确定哈希值是否与树的结构一致而可快速验证该哈希值是否为存储在该树中的交易的哈希值。区块链是用于存储交易的去中心化或至少部分去中心化的数据结构,而区块链网络是通过广播、验证和确认交易等来管理、更新和维护一个或多个区块链的计算节点的网络。如上所述,区块链网络可作为公有区块链网络、私有区块链网络或联盟区块链网络被提供。本文中参考联盟区块链网络进一步详细描述了本文的实施例。然而,可以预期,本文实施例可以在任何适当类型的区块链网络中实现。通常,联盟区块链网络在参与实体之间是私有的。在联盟区块链网络中,共识处理由经授权的一组节点控制,所述节点可以被称为共识节点,一个或多个共识节点由各自的实体(例如,金融机构、保险公司)操作。例如,由十(10)个实体(例如,金融机构、保险公司)组成的联盟可以操作联盟区块链网络,每个实体可以操作联盟区块链网络中的至少一个节点。在一些示例中,在联盟区块链网络内,全局区块链作为跨所有节点复制的区块链被提供。也就是说,所有共识节点相对于全局区块链处于完全共识状态。为了达成共识(例如,同意向区块链添加区块),在联盟区块链网络内实施共识协议。例如,联盟区块链网络可以实现实用拜占庭容错(PBFT)共识,下面将进一步详细描述。图1是示出了可用于执行本文的实施例的环境100的示例的图。在一些示例中,环境100使得实体能够参与联盟区块链网络102。环境100包括计算设备106、108以及网络110。在一些示例中,网络110包括局域网(LAN)、广域网(WAN)、因特网或其组合,并且连接网络站点、用户设备(例如,计算设备)和后端系统。在一些示例中,可以通过有线和/或无线通信链路来访问网络110。在一些示例中,网络110使得与联盟区块链网络102通信或在联盟区块链网络102内通信成为可能。通常,网络110表示一个或多个通信网络。在一些情况下,计算系统106、108可以是云计算系统(未示出)的节点,或者每个计算系统106、108可以是单独的云计算系统,其包括通过网络互连的并且用作分布式处理系统的多个计算机。在所描绘的示例中,计算系统106、108可以各自包括能够作为本文档来自技高网...

【技术保护点】
1.一种计算机实现的用于在可信执行环境TEE下处理区块链数据的方法,所述方法包括:/n区块链节点接收用于在TEE中执行一个或多个软件指令的请求,所述TEE在所述区块链节点上执行;/n所述TEE中的虚拟机确定与一个或多个区块链账户相关联的数据,以基于所述请求执行所述一个或多个软件指令;/n所述虚拟机遍历存储在所述TEE中的区块链的全局状态以定位所述数据;以及/n所述虚拟机基于所述数据执行所述一个或多个软件指令。/n

【技术特征摘要】
【国外来华专利技术】1.一种计算机实现的用于在可信执行环境TEE下处理区块链数据的方法,所述方法包括:
区块链节点接收用于在TEE中执行一个或多个软件指令的请求,所述TEE在所述区块链节点上执行;
所述TEE中的虚拟机确定与一个或多个区块链账户相关联的数据,以基于所述请求执行所述一个或多个软件指令;
所述虚拟机遍历存储在所述TEE中的区块链的全局状态以定位所述数据;以及
所述虚拟机基于所述数据执行所述一个或多个软件指令。


2.如权利要求1所述的计算机实现的方法,其中,在执行所述一个或多个软件指令期间更新存储在所述TEE中的区块链的全局状态以产生更新的全局状态,并且所述计算机实现的方法还包括:
响应于执行所述一个或多个软件指令,所述区块链节点生成所述更新的全局状态的加密表示;以及
所述区块链节点将所述更新的全局状态的所述加密表示存储在与所述TEE分离的存储位置。


3.如前述任一权利要求所述的计算机实现的方法,其中,所述请求包括一个或多个输入参数,并且所述请求是向所述TEE的接口功能做出的。


4.如前述任一权利要求所述的计算机实现的方法,其中,所述全局状态作为默克尔帕特丽夏树MPT存储在所述TEE中。


5.如前述任一权利要求所述的计算机实现的方法,其...

【专利技术属性】
技术研发人员:魏长征闫莺赵博然宋旭阳杜华兵
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1