一种区块链交易的执行方法及装置制造方法及图纸

技术编号:33861292 阅读:21 留言:0更新日期:2022-06-18 10:51
一种区块链交易的执行方法及装置,由区块链节点中的可信执行环境TEE执行,TEE中存储有第一集合,第一集合包括多个账户的最新状态,该方法包括:接收第一交易,第一交易包括对第一账户的访问操作;在确定第一集合中不包括所述第一账户的状态的情况中,从第一集合中获取多个第二账户;从TEE外部读取第一账户和多个第二账户的第一状态,以用于执行所述第一交易。易。易。

【技术实现步骤摘要】
一种区块链交易的执行方法及装置


[0001]本说明书实施例属于区块链
,尤其涉及一种区块链交易的执行方法及装置。

技术介绍

[0002]区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链系统中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。由于区块链具有去中心化、信息不可篡改、自治性等特性,区块链也受到人们越来越多的重视,已在众多的领域中进行了广泛的应用。

技术实现思路

[0003]本专利技术的目的在于提供一种区块链交易的执行方法及装置,达到提高区块链交易执行的安全性的效果。
[0004]本说明书第一方面提供一种区块链交易的执行方法,由区块链节点中的可信执行环境TEE执行,所述TEE中存储有第一集合,所述第一集合包括多个账户的最新状态,所述方法包括:
[0005]接收第一交易,所述第一交易包括对第一账户的访问操作;
[0006]在确定所述第一集合中不包括所述第一账户的状态的情况中,从所述第一集合中获取多个第二账户;
[0007]从所述TEE外部读取所述第一账户和所述多个第二账户的第一状态,以用于执行所述第一交易。
[0008]本说明书第二方面提供一种区块链交易的执行装置,部署于区块链节点中的可信执行环境TEE,所述TEE中存储有第一集合,所述第一集合包括多个账户的最新状态,所述装置包括:
[0009]交易接收单元,配置为,接收第一交易,所述第一交易包括对第一账户的访问操作;
[0010]账户确定单元,配置为,在确定所述第一集合中不包括所述第一账户的状态的情况中,从所述第一集合中获取多个第二账户;
[0011]账户访问单元,配置为,从所述TEE外部读取所述第一账户和所述多个第二账户的第一状态,以用于执行所述第一交易。
[0012]第三方面,提供一种计算机可读存储介质,其上存储有计算机程序或指令,当所述计算机程序或指令在计算机中执行时,令计算机执行第一方面所述的方法。
[0013]第四方面,提供一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序或指令,所述处理器在执行所述计算机程序或指令时,实现第一方面所述的方法。
附图说明
[0014]为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0015]图1示出一实施例中的区块链架构图;
[0016]图2是一种交易执行方法的示意图;
[0017]图3是本说明书一实施例中第一集合不包括交易写入账户时交易执行的示意图;
[0018]图4是本说明书一实施例中第一集合包括交易写入账户时交易执行的示意图;
[0019]图5是本说明书一实施例中区块链交易的执行方法的流程图;
[0020]图6是本说明书一实施例中区块链交易的执行装置的架构图。
具体实施方式
[0021]为了使本
的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
[0022]图1示出一实施例中的区块链架构图。如图1所示,区块链100中例如包含6个节点。节点之间的连线示意性的表示P2P(Peer to Peer,点对点)连接。这些节点上可存储全量的账本,即存储全部区块和全部账户的状态。其中,区块链中的每个节点通过执行相同的交易而产生区块链中的相同的状态,区块链中的每个节点存储相同的状态数据库。可以理解,图1中虽然示出了区块链中包括6个节点,本说明书实施例不限于此,而是可以包括其他数目的节点。具体是,区块链中包含的节点可以满足拜占庭容错(Byzantine Fault Tolerance,BFT)要求。所述的拜占庭容错要求可以理解为在区块链内部可以存在拜占庭节点,而区块链对外不体现拜占庭行为。一般的,一些拜占庭容错算法中要求节点个数大于3f+1,f为拜占庭节点个数,例如实用拜占庭容错算法PBFT(Practical Byzantine Fault Tolerance)。
[0023]区块链领域中的交易可以指在区块链中执行并记录在区块链中的任务单元。交易中通常包括发送字段(From)、接收字段(To)和数据字段(Data)。其中,在交易为转账交易的情况中,From字段表示发起该交易(即发起对另一个账户的转账任务)的账户地址,To字段表示接收该交易(即接收转账)的账户地址,Data字段中包括转账金额。在交易调用区块链中的智能合约的情况中,From字段表示发起该交易的账户地址,To字段表示交易所调用的合约的账户地址,Data字段中包括调用合约中的函数名、及对该函数的传入参数等数据,以用于在交易执行时从区块链中获取该函数的代码并执行该函数的代码。
[0024]现有的区块链交易执行方案,通常是由执行交易的节点,读取交易的写入账户的账户状态,然后根据获取的账户状态执行交易,再根据交易的执行结果,更新交易的写入账户。图2是一种交易执行方法的示意图。如图2所示,例如交易的执行节点接收到希望执行的交易1,该交易1包括对于账户x的写入,例如是对于账户x进行的一笔转账交易。可以理解,一个区块链交易可能包括对于多个账户的写入,为了简化描述,这里仅以其写入的账户x为
例,说明该方法。在接收交易1之后,执行节点可以读取x账户的状态(例如余额为5个交易币),然后执行交易1,例如交易1为给x账户转账10个交易币,则可以将转账的10个交易币加上之前x账户的余额5,得到该交易执行后x账户应有的新状态(余额为15)。然后将x账户的状态,更新为余额15。但是,这种方案也存在如下问题:在一些应用场景中,当交易的执行节点本身不被信任时,或者说其可能被攻击者攻击时,交易的具体账户则可以被攻击者获知,从而造成用户账户的隐私泄密。在另一些应用场景中,如果希望进行隐私交易,例如期望隐藏账户转账行为,不希望区块链交易平台的管理者能够准确观测到哪些账户之间进行过转账交易。这种方案也无法实现针对平台管理者,隐藏具体的交易账户。
[0025]为了解决上述技术问题,本说明书实施例提供了一种区块链交易的执行方法。其核心思想是:在区块链的执行节点上的可信执行环境TEE中,保存由全部区块链账户中的一部分账户的最新状态构成的集合,例如称之为第一集合。对于要执行的交易,将其发送到TEE中,确定该交易的写入账户(例如为第一账户),是否在包含在第一集合中。如果第一账户不包含在第一集合中,则可以利用随机算法从第一集合的账户中,选取预定数量的账户,然后,从本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链交易的执行方法,由区块链节点中的可信执行环境TEE执行,所述TEE中存储有第一集合,所述第一集合包括多个账户的最新状态,所述方法包括:接收第一交易,所述第一交易包括对第一账户的访问操作;在确定所述第一集合中不包括所述第一账户的状态的情况中,从所述第一集合中获取多个第二账户;从所述TEE外部读取所述第一账户和所述多个第二账户的第一状态,以用于执行所述第一交易。2.根据权利要求1所述的方法,其中,所述访问操作包括写操作,所述方法还包括:基于所述第一账户的第一状态和所述第一交易得到所述第一账户的更新的第二状态;在所述第一集合中添加所述第一账户的第二状态;基于预设触发条件,将所述第一集合中的多个第三账户的状态更新到所述TEE外部。3.根据权利要求1所述的方法,还包括:在确定所述第一集合中包括所述第一账户的状态的情况中,从所述第一集合中获取多个第四账户;从所述TEE外部读取所述多个第四账户的第一状态;基于所述第一账户在第一集合中的当前状态和所述第一交易得到所述第一账户的第三状态;将第一集合中的第一账户更新为所述第三状态。4.根据权利要求1所述的方法,其中,从所述第一集合中获取多个第二账户,包括:计算所述多个账户各自的账户名称的哈希值,对得到的多个哈希值进行排序,根据TEE中预先存储的伪随机种子生成若干伪随机数,根据所述排序的多个哈希值和所述若干伪随机数,从所述多个账户中确定所述若干第二账户。5.根据权利要求2所述的方法,其中,所述多个第三账户中包括所述第一账户。6.根据权利要求2所述的方法,其中,所述第一集合还包括待处理子集合,所述第一集合在所述区块链创建时构建,且其构建时其中的待处理子集合为空集;在所述第一集合中添加所述第一账户的第二状态,包括:在所述待处理集合中添加所述第一账户的第二状态。7.根据权利要求2所述的方法,其中,所述预定触发条件,包括,第一集合中包括的账户的数量超过预定阈值;将所述第一集合中的多个第三账户的状态更新到所述TEE外部,包括,从所述第一集合中,确定出第二预定数量的第三账户,将所述第三账户的状态,更新到所述TEE外部。8.根据权利要求...

【专利技术属性】
技术研发人员:刘晓建
申请(专利权)人:蚂蚁区块链科技上海有限公司
类型:发明
国别省市:

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

1