一种区块零知识证明并行优化方法、设备及存储介质技术

技术编号:35527309 阅读:20 留言:0更新日期:2022-11-09 14:49
本发明专利技术属于计算机技术领域,尤其涉及一种区块零知识证明并行优化方法、设备及存储介质,本发明专利技术所提供的区块零知识证明并行优化方法,提出了利用将为不同的高度生成对应的默克尔账户树,然后采用状态信息与默克尔账户树结合的方式快速地生成认证信息计算中的输入信息,从而使得认证信息的计算可以并行化,有效提升见证信息的计算效率,同时见证信息计算在链下计算,不会占用区块链Tps,生成见证信息后上链并计算零知识证明所需计算量少,有效提升区块链的处理吞吐能力。区块链的处理吞吐能力。区块链的处理吞吐能力。

【技术实现步骤摘要】
一种区块零知识证明并行优化方法、设备及存储介质


[0001]本专利技术属于计算机
,尤其涉及一种区块零知识证明并行优化方法、设备及存储介质。

技术介绍

[0002]基于零知识证明的区块链二层解决方案,能够实现相对于一层区块链10倍以上的性能提升,同时具有相同的安全性。现在的方案整体性能不够理想,因为在基于zkp的区块链二层方案中,在执行交易的同时,需要计算相关的证明材料用来下一步计算zkp的证明输入信息,如果将其放置在交易执行过程中,就会延长每笔交易的执行处理时间,进而影响整个区块的处理时间,这样的话,就不能保证二层区块链系统的高tps,即处理吞吐能力。
[0003]虽然申请人已有相关专利将认证信息的计算从区块链流程中脱离出来,以提升处理吞吐量,然而因为后续的零知识的证明的计算和作为准备材料的认证信息的计算中,每个区块的认证信息的计算较区块的增长速度慢挺多,如果不能使得认证信息的计算进行并行化加速,这将进而影响到最后零知识证明的并行化计算。

技术实现思路

[0004]为了解决上述问题,本专利技术提供一种区块零知识证明并行优化方法、设备及存储介质,可以实现认证信息计算的并行化,显著地提升计算效率。
[0005]本专利技术采用以下技术方案:
[0006]第一方面,本专利技术提供一种区块零知识证明并行优化方法,所述方法适用于二层区块链网络,所述二层区块链网络包括第一层区块链网络和第二层区块链网络,所述第一层区块链网络和第二层区块链网络各自独立打包和执行区块,所述二层区块链网络部署有多个见证信息生成器,所述见证信息生成器用于在链下计算生成零知识证明所需的见证信息,所述方法包括:
[0007]第二层区块链网络的出块节点从第二层区块链网络中打包交易生成区块并执行区块内交易;
[0008]在执行区块时,第二层区块链网络保留该区块的状态更新信息;
[0009]多个见证信息生成器并发生成多个区块对应的见证信息;
[0010]生成的见证信息按顺序依次写入数据库中;
[0011]其中,多个见证信息生成器并发生成多个区块对应的见证信息的具体包括:
[0012]各个见证信息生成器加载已完成的区块信息,获取各自需要计算见证信息的区块及其状态信息;
[0013]各个见证信息生成器执行以下步骤:
[0014]判断获取的区块是否为所述第二层区块链网络的首个区块,是则新建第二层区块链网络的默克尔账户树,否则加载数据库中最新的第二层区块链网络的默克尔账户树,反向获取前序区块及其状态更新信息,根据获取的前序区块及对应状态更新信息更新所加载
的默克尔账户树;所述前序区块为区块高度在加载的默克尔账户树对应区块至证信息生成器需要计算见证信息的区块之间的所有区块,所述默克尔账户树为双层默克尔树架构,其第一层为用户树层,第二层为资产树层,所述用户树的叶子节点与第二层区块链网络的各个账户一一对应,所述用户树的叶子节点均配置有对应的资产树,所述资产树的叶子节点与对应的账户的各类资产信息相对应,所述用户树的根哈希根据第二层区块链网络的各个账户的根哈希生成,所述第二层区块链网络的各个账户的根哈希根据各自对应的资产树根哈希计算生成;
[0015]依据新建或更新的默克尔账户树计算对应的见证信息。
[0016]作为优选,根据获取的前序区块及对应状态更新信息更新所加载的默克尔账户树具体包括:根据获取的前序区块对加载的默克尔账户树进行解码并对用户树叶子节点和资产树叶子节点进行更新,同时更新通过地址进行索引的用户树叶子节点,完成对加载的默克尔账户树的更新。
[0017]作为优选,所述的各个见证信息生成器设置有基于区块高度的步长间隔。
[0018]作为优选,所述数据库预设有自动删除机制,所述自动删除机制具体包括为所述数据库中的默克尔账户树设置删除高度间隔,所述默克尔账户树对应的区块高度每达到删除高度间隔就进行一次自动删除,删除最新已确认区块高度之前的区块对应的默克尔账户树。
[0019]第二方面,提供一种计算机设备,包括一个或多个处理器;
[0020]存储器,用于存储一个或多个程序,
[0021]当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如上述第一方面所述的方法。
[0022]第三方面,提供一种存储有计算机程序的存储介质,该程序被处理器执行时实现如上述第一方面所述的方法。
[0023]本专利技术的有益效果在于本专利技术所提供的区块零知识证明并行优化方法,提出了利用将为不同的高度生成对应的默克尔账户树,然后采用状态信息与默克尔账户树结合的方式快速地生成认证信息计算中的输入信息,从而使得认证信息的计算可以并行化,有效提升见证信息的计算效率,同时见证信息计算在链下计算,不会占用区块链Tps,生成见证信息后上链并计算零知识证明所需计算量少,有效提升区块链的处理吞吐能力。
附图说明
[0024]图1为本专利技术一实施例提供的一种区块零知识证明并行优化方法的流程图。
[0025]图2为本专利技术一实施例提供的一种计算机设备的结构示意图。
具体实施方式
[0026]以下结合具体实施例和说明书附图对本专利技术作出进一步清楚详细的描述说明。本领域普通技术人员在基于这些说明的情况下将能够实现本专利技术。此外,下述说明中涉及到的本专利技术的实施例通常仅是本专利技术一部分的实施例,而不是全部的实施例。因此,基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施
例及实施例中的特征可以相互组合。如无特殊说明,本专利技术实施例所简述的方法均为本领域技术人员所掌握的方法。
[0027]作为本专利技术的一实施例,如图1所示,提供一种区块零知识证明并行优化方法,所述方法适用于二层区块链网络,所述二层区块链网络包括第一层区块链网络和第二层区块链网络,所述第一层区块链网络和第二层区块链网络各自独立打包和执行区块,所述二层区块链网络部署有多个见证信息生成器,所述见证信息生成器用于在链下计算生成零知识证明所需的见证信息,所述方法包括:
[0028]第二层区块链网络的出块节点从第二层区块链网络中打包交易生成区块并执行区块内交易;
[0029]在执行区块时,第二层区块链网络保留该区块的状态更新信息;
[0030]多个见证信息生成器并发生成多个区块对应的见证信息;
[0031]生成的见证信息按顺序依次写入数据库中;
[0032]其中,多个见证信息生成器并发生成多个区块对应的见证信息的具体包括:
[0033]各个见证信息生成器加载已完成的区块信息,获取各自需要计算见证信息的区块及其状态信息;
[0034]各个见证信息生成器执行以下步骤:
[0035]判断获取的区块是否为所述第二层区块链网络的首个区块,是则新建第二层区块链网络的默克尔账户树,否则加载数据库中最新的第二层区块链本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块零知识证明并行优化方法,其特征在于,所述方法适用于二层区块链网络,所述二层区块链网络包括第一层区块链网络和第二层区块链网络,所述第一层区块链网络和第二层区块链网络各自独立打包和执行区块,所述二层区块链网络部署有多个见证信息生成器,所述见证信息生成器用于在链下计算生成零知识证明所需的见证信息,所述方法包括:第二层区块链网络的出块节点从第二层区块链网络中打包交易生成区块并执行区块内交易;在执行区块时,第二层区块链网络保留该区块的状态更新信息;多个见证信息生成器并发生成多个区块对应的见证信息;生成的见证信息按顺序依次写入数据库中;其中,多个见证信息生成器并发生成多个区块对应的见证信息的具体包括:各个见证信息生成器加载已完成的区块信息,获取各自需要计算见证信息的区块及其状态信息;各个见证信息生成器执行以下步骤:判断获取的区块是否为所述第二层区块链网络的首个区块,是则新建第二层区块链网络的默克尔账户树,否则加载数据库中最新的第二层区块链网络的默克尔账户树,反向获取前序区块及其状态更新信息,根据获取的前序区块及对应状态更新信息更新所加载的默克尔账户树;所述前序区块为区块高度在加载的默克尔账户树对应区块至证信息生成器需要计算见证信息的区块之间的所有区块,所述默克尔账户树为双层默克尔树架构,其第一层为用户树层,第二层为资产树层,所述用户树的叶子节点与第二层区块链网络的各个账户一一对应,所述用户树的叶子节点均配置有对应的资产树,所述资产树的叶子节点与...

【专利技术属性】
技术研发人员:何正军王志文吴思进
申请(专利权)人:杭州复杂美科技有限公司
类型:发明
国别省市:

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

1