一种区块链中的数据处理方法及区块链节点技术

技术编号:34275720 阅读:11 留言:0更新日期:2022-07-24 17:06
本说明书实施例中提供了一种区块链中的数据处理方法及区块链节点。该方法由第一区块链中的第一节点执行,包括:依时间顺序依次执行N个交易集合中的交易,N个交易集合中的交易的执行使得M个第一账户的状态变化;获取每个第一账户对其状态的签名信息;根据第一世界状态的树根、第二世界状态的树根、M个签名信息,生成第一证明,第一证明用于证明第一世界状态是在第二世界状态的基础上执行N个交易集合中的交易后生成,第二世界状态为执行N个交易集合中的交易前的世界状态;将第一世界状态的树根和第一证明存储到第二区块链中。该方法在提升区块链网络的整体扩容时,可以不限制参与方数量,且拥有无限的数据压缩比。且拥有无限的数据压缩比。且拥有无限的数据压缩比。

A data processing method and blockchain node in blockchain

【技术实现步骤摘要】
一种区块链中的数据处理方法及区块链节点


[0001]本说明书实施例属于区块链
,尤其涉及一种区块链中的数据处理方法及区块链节点。

技术介绍

[0002]区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链系统中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证数据不可篡改和不可伪造。由于区块链具有去中心化、信息不可篡改、自治性等特性,区块链也受到人们越来越多的重视和应用。
[0003]目前,区块链网络中所有的交易及状态数据都需要在所有节点中同步并存储,其存储成本远大于传统数据库的存储成本。因此,将所有数据全部存储于一个区块链网络是不现实的。一般的,可以通过二层网络(Layer2)的方案减少一层网络(Layer1)上的数据存储,以提升Layer1的扩展性及吞吐量。

技术实现思路

[0004]本说明书实施例旨在提供一种区块链中的数据处理方法及区块链节点,在提升区块链网络的整体扩容时,可以不限制参与方数量,且拥有无限的数据压缩比。
[0005]为实现上述目的,本说明书第一方面提供一种区块链中的数据处理方法,所述方法由第一区块链中的第一节点执行,所述方法包括:
[0006]依时间顺序依次执行N个交易集合中的交易,N≥1,所述N个交易集合中的交易的执行使得M个第一账户的状态变化,M≥1;
[0007]获取每个所述第一账户对其状态的签名信息;
[0008]根据第一世界状态的树根、第二世界状态的树根、M个所述签名信息,生成第一证明,所述第一证明用于证明第一世界状态是在第二世界状态的基础上执行N个所述交易集合中的交易后生成,所述第二世界状态为执行N个所述交易集合中的交易前的世界状态;
[0009]将所述第一世界状态的树根和所述第一证明存储到第二区块链中。
[0010]本说明书第二方面提供一种区块链节点,包括:
[0011]处理单元,配置为依时间顺序依次执行N个交易集合中的交易,N≥1,所述N个交易集合中的交易的执行使得M个第一账户的状态变化,M≥1;
[0012]获取单元,配置为获取每个所述第一账户对其状态的签名信息;
[0013]所述处理单元,还配置为根据第一世界状态的树根、第二世界状态的树根、M个所述签名信息,生成第一证明,所述第一证明用于证明第一世界状态是在第二世界状态的基础上执行N个所述交易集合中的交易后生成,所述第二世界状态为执行N个所述交易集合中的交易前的世界状态;
[0014]存储单元,配置为将所述第一世界状态的树根和所述第一证明存储到第二区块链中。
[0015]本说明书第三方面提供一种区块链系统,包括:第一区块链和第二区块链,其中,所述第一区块链中的第一节点用于本说明书实施例第一方面中提供的方法,所述第二区块链用于存储所述第一节点传输的所述第一世界状态的树根和所述第一证明。
[0016]本说明书第四方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算设备中执行时,计算设备执行上述第一方面所述的方法。
[0017]本说明书第五方面提供一种计算设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现上述第一方面所述的方法。
[0018]通过本说明书一个或多个实施例中提供的方法及节点,可以在一个区块链中通过基于产生状态变化的账户对其自身资产信息的签名信息生成状态转换证明,并将该转换证明和最新的世界状态树的树根传输至另一个区块链中存储。由此实现了不限制参与方数量,以及拥有与Layer1一样的安全性,且拥有无限的数据压缩比,为区块链网络的整体扩容带来无限的可能。
附图说明
[0019]为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0020]图1是本说明书一实施例中基于状态通道的数据传输示意图;
[0021]图2是本说明书一实施例中区块链网络的网络示意图;
[0022]图3是本说明书一实施例中的一个简化版的状态树示意图;
[0023]图4是本说明书一实施例中一种区块链中的数据传输方法的流程示意图;
[0024]图5是本说明书一实施例中一种区块链节点的结构示意图;
[0025]图6为本说明书一实施例中一种区块链系统的架构示意图。
具体实施方式
[0026]为了使本
的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
[0027]示例性的,Layer2方案是指在链下扩容,其是在主链之外建立第二层交易网络,因此称为“Layer2”。其中,主链可以称之为“Layer1”。在Layer2方案中,可以在Layer2中执行交易,并在Layer1中存储与交易相关的数据。一般的,在Layer2的方案中可以采用状态通道(State Channel)和Rollup等方案。
[0028]其中,对于状态通道方案,以Alice和Bob间进行交易为例,如图1所示,可以描述为以下步骤:首先,Alice和Bob在Layer1上的智能合约中各存储一笔钱,分别记录了两人的余额:{Alice:10元,Bob:5元}。接着,Alice和Bob之间可以发生交易,比如:Alice要向Bob支付一笔2元的交易,于是他们将两人余额更新为:{Alice:8元,Bob:7元,Date:XXX},并且两人
都对这个余额分配方案进行了签名。之后,Bob又要向Alice支付3元,于是他们将两人余额更新为:{Alice:11元,Bob:4元,Date:XXX},并且两人都对这个余额分配方案进行了签名。如此往复,只要Alice和Bob支付的金额在通道中的余额够用,他们彼此之间又一直很配合进行签名,他们可以一直这样支付。最后,当两者中的一个,比如Bob打算取出余额,此时,Bob可以将带有两方签名的余额分配方案提交至区块链中的智能合约,智能合约在签名验证通过后按照最新的余额为两方转账完成结算。由此,可以看出状态通道的方案几乎有无限的压缩比,Alice和Bob理论上可以在链下做可以无限笔交易(无限个不同的余额分配方案),并最终在链上结算一笔即可,且区块链中的智能合约可以忠实的按照最新的余额分配方案进行结算,即Layer2的双向支付通道的安全性由Layer1保证。但采用状态通道的方案时,参与方容易受限,因为余额分配方案的更新需要所有人的签名,那么就不太可能有太多的参与方,否则复杂度将本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链中的数据处理方法,所述方法由第一区块链中的第一节点执行,所述方法包括:依时间顺序依次执行N个交易集合中的交易,N≥1,所述N个交易集合中的交易的执行使得M个第一账户的状态变化,M≥1;获取每个所述第一账户对其状态的签名信息;根据第一世界状态的树根、第二世界状态的树根、M个所述签名信息,生成第一证明,所述第一证明用于证明第一世界状态是在第二世界状态的基础上执行N个所述交易集合中的交易后生成,所述第二世界状态为执行N个所述交易集合中的交易前的世界状态;将所述第一世界状态的树根和所述第一证明存储到第二区块链中。2.根据权利要求1所述的方法,其中,N=1,所述根据第一世界状态的树根、第二世界状态的树根、M个所述签名信息,生成第一证明,包括:将所述第一世界状态的树根、所述第二世界状态的树根、M个所述签名信息输入预设证明函数,生成所述第一证明。3.据权利要求1所述的方法,其中,N≥2,所述根据第一世界状态的树根、第二世界状态的树根、M个所述签名信息,生成第一证明,包括:执行第N个交易集合中的交易,以及,获取Q个所述第一账户的签名信息;根据Q个所述第一账户的签名信息、通过第(N

1)个交易集合生成的第二证明、所述第一世界状态的树根、所述第三世界状态的树根,生成所述第一证明,所述第二证明用于证明所述第三世界状态是在执行第(N

2)个交易集合得到的世界状态的基础上执行所述第(N

1)个交易集合中的交易后生成,所述第三世界状态为执行所述第(N

1)个交易集合中的交易得到的世界状态。4.根据权利要求3所述的方法,其中,根据Q个所述第一账户的签名信息、通过第(N

1)个交易集合生成的第二证明、所述第一世界状态的树根、所述第三世界状态的树根,生成所述第一证明,包括:将Q个所述第一账户的签名信息、所述第二证明、所述第一世界状态的树根、所述第三世界状态的树根输入预设证明函数,生成所述第一证明。5.根据权利要求1至4任一项所述的方法,其中,N个所述交易集合中包括第一交易集合,所述第一交易集合所包含的交易的执行使得S个所述第一账户的状态变化,1≤S≤M,所述获取每个所述第一账户对其状态的签名信息,包括:根据所述第一交易集合所包含的交易、第四世界状态和第五世界状态,生成第三证明,所述第四世界状态为执行所述第一交易集合中的交易后得到的世界状态,所述第五世界状态为执行所述第一交易集合中的交易之前最新得到的世界状态,所述第三证明用于证明所述第四世界状态是在所述第五世界状态的基础上执行所述第一交易集合中交易生成;向S个所述第一账户中每个账户对应的终端均发送用于获取所述签名信息的第一请求,所述第一请求中包括所述第三证明;获取S个所述第一账户中每个账户对应的终端返回的签名信息。6.一种区块链节点,包括:处理单元,配置为依时间顺序依次执行N个交易集合中的交易,N≥1,所述N个交易集合中的交易的执行使得M个第一账户的状态变化,M≥1;
获取单元,配置为获取每个所述第一账户对其状态的签名信息;所述处理单元,还配置为根据第一世界...

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

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

1