【技术实现步骤摘要】
区块链系统中跨分片交易的处理方法和分片节点
[0001]本说明书实施例属于区块链
,尤其涉及一种区块链系统中跨分片交易的处理方法和分片节点。
技术介绍
[0002]区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链系统中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。由于区块链具有去中心化、信息不可篡改、自治性等特性,区块链也受到人们越来越多的重视和应用。
[0003]其中,区块链分片技术是一种用于对区块链进行扩容的方案。区块链分片的基本思路是将区块链网络中的节点分成若干个相对独立的子网络,每个子网络构成一个区块链,一个子网络也就是一个分片(shard)。通过多个分片的并行处理,可提升整个网络的吞吐量。
技术实现思路
[0004]本说明书的实施例描述了一种区块链系统中跨分片交易的处理方法和分片节点,将各分片中的智能合约被划分为多个合约方法,各合约方法在被执行时仅访问单个分片 ...
【技术保护点】
【技术特征摘要】
1.一种区块链系统中跨分片交易的处理方法,其中,所述区块链系统包括源分片和目的分片,各分片部署有相同的智能合约,所述智能合约被划分为第一合约方法和第二合约方法,各合约方法在被执行时访问单个分片的状态数据,所述方法包括:所述源分片接收第一交易,其中,所述第一交易为跨片交易,所述第一交易调用所述智能合约的第一合约方法,第一交易中包括与目的分片对应的目的账户;响应于对所述第一合约方法的执行,生成调用所述智能合约的第二合约方法的子交易,其中,所述子交易包括所述目的账户;将所述子交易发送给所述目的账户对应的目的分片;所述目的分片根据所述子交易执行所述第二合约方法。2.根据权利要求1所述的方法,其中,所述智能合约基于所述智能合约对应的顺序执行的第一执行步骤和第二执行步骤被划分为所述第一合约方法和所述第二合约方法。3.根据权利要求1或2所述的方法,其中,所述方法还包括:所述目的分片在执行完所述第二合约方法后,向所述源分片发送用于指示所述第二合约方法执行成功的消息;响应于接收到所述目的分片发送的用于指示所述第二合约方法执行成功的消息,所述源分片向所述目的分片发送提交消息,以及根据通过执行所述第一合约方法得到的第一执行写集更新本分片的状态数据;响应于接收到所述源分片发送的提交消息,所述目的分片根据通过执行所述第二合约方法得到的第二执行写集更新本分片的状态数据。4.根据权利要求3所述的方法,所述第一交易中还包括与所述源分片对应的源账户,所述源分片中在所述智能合约的合约状态中存储有与所述源账户对应的第一变量的状态,所述第一执行写集中包括所述第一变量的键值对,所述源分片根据所述第一执行写集更新本分片的状态数据包括:所述源分片根据所述第一执行写集更新所述第一变量的状态;所述目的分片中在所述智能合约的合约状态中存储有与所述目的账户对应的第二变量的状态,所述第二执行写集中包括所述第二变量的键值对,所述目的分片根据所述第二执行写集更新本分片的状态数据包括:所述目的分片根据所述第二执行写集更新所述第二变量的状态。5.根据权利要求3所述的方法,其中,所述方法还包括:所述源分片在开始执行所述第一合约方法时,对所述源分片中的状态数据加锁;所述源分片在接收到用于指示所述第二合约方法执行成功的消息后,将所述源分片中的状态数据解锁。6.根据权利要求3所述的方法,其中,所述方法还包括:所述目的分片在开始执行所述第二合约方法时,对所述目的分片中的状态数据加锁;以及,在接收到所述提交消息之后,将所述目的分片中的状态数据解锁。7.根据权利要求1所述的方法,其中,所述区块链还包括中继链;以及,所述将所述子交易发送给所述目的账户对应的目的分片,包括:所述源分片将所述子交易发送到所述中继链,以供所述中继链将所述子交易发送给所述目的账户对应的目的分片。8.根据权利要求1所述的方法,其中,所述源分片和所述目的分片还包括所述区块链中账户和分片之间的对应关系;以及,
所述将所述子交易发送给所述目的账户对应的目的分片,包括:所述源分片基于所述区块链中账户和分片之间的对应关系,将所述子交易发送给所述目的账户对应的目的分片。9.根据权利要求1所述的方法,其中,所述将所述子交易发送给所述目的账户对应的目的分片,包括:所述源分片将所述子交易按所包含的目的账户所属目的分片进行分类后,写入本分片的区块内;响应于写块完成,将区块中属于所述目的分片的各子交易发送给所述目的分片。10.根据权利要求1所述的方法,其中,所述所述目的分片根据所述子交易执行所述第二合约方法,包括:所述目的分片的共识节点对所述子交易进行共识,在共识完成后,根据所述子交易执行所述第二合约方法。11.一种区块链系统中跨分片交易的处理方法,其中,所述区块链系统包括源分片和目的分片,各分片部署有相同的智能合约,所述智能合约被划分为第一合约方法和第二合约方法,各合约方法在被执行时访问单个分片的状态数据,所述方法由源分片执行,所述方法包括:接收第一交易,其中,所述第一交易为跨片交易,所述第一交易调用...
【专利技术属性】
技术研发人员:周知远,
申请(专利权)人:蚂蚁区块链科技上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。