应用于区块链的DAPP的状态数据的管理方法及装置制造方法及图纸

技术编号:32973623 阅读:13 留言:0更新日期:2022-04-09 11:45
本发明专利技术公开了一种应用于区块链的DAPP的状态数据的管理方法及装置,其中方法为:获取多个交易以及多个交易的零知识证明;将多个交易发送至EVM服务;在确定多个交易在EVM服务上执行成功后,根据多个交易,将链下的第一默克尔状态树更新为第二默克尔状态树;将多个交易处理为一个聚合交易;根据多个交易的零知识证明,生成聚合零知识证明;在区块链的智能合约验证聚合零知识证明通过后,存储根节点,上述方法可以应用于金融科技(Fintech)时,可以将多个交易先行在链下的EVM服务中执行,并将得到的聚合交易、聚合零知识证明和根节点发送至区块链,用于状态数据的管理,从而实现了状态数据管理与业务逻辑的分离。数据管理与业务逻辑的分离。数据管理与业务逻辑的分离。

【技术实现步骤摘要】
应用于区块链的DAPP的状态数据的管理方法及装置


[0001]本专利技术涉及金融科技(Fintech)领域中的区块链(Blockchain)领域,尤其涉及一种应用于区块链的DAPP的状态数据的管理方法及装置。

技术介绍

[0002]随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。目前,基于区块链的不可篡改性,金融科技领域中的交易常通过区块链进行记录,而交易需要证明合法性后才能上链。
[0003]已有技术中,常在区块链上通过默克尔树维护用户的状态数据,如用户的余额、交易次数等。当每条交易执行完后,会涉及到一些用户的状态数据变化,那么默克尔树也需要随之变化。已有技术中会在交易执行完成后,通过零知识证明来证明并记录用户的状态数据的变化,并在验证成功后对默克尔树进行更新。
[0004]然而,由于目前用户的状态数据均存储在区块链上,随着用户和交易增多,用户的状态数据会变得非常庞大,每一个交易执行后都需要生成零知识证明以证明其合法性,并且要对零知识证明进行验证,带来的计算开销都会随着默克尔树变大而增大。因此,如何降低应用于区块链的DAPP的状态数据的管理开销,这是一个亟待解决的问题。

技术实现思路

[0005]本专利技术提供一种应用于区块链的DAPP的状态数据的管理方法及装置,解决了现有技术中降低应用于区块链的DAPP的状态数据的管理开销的问题。
[0006]第一方面,本专利技术提供一种应用于区块链的DAPP的状态数据的管理方法,包括:
[0007]获取多个交易以及所述多个交易的零知识证明,任一交易的零知识证明用于证明该交易的合法性;
[0008]将所述多个交易发送至以太坊虚拟机EVM服务;在确定所述多个交易在所述EVM服务上执行成功后,根据所述多个交易,将链下的第一默克尔状态树更新为第二默克尔状态树,第一默克尔状态树为所述多个交易执行成功前的默克尔状态树,第二默克尔状态树为所述多个交易执行成功后的默克尔状态树;
[0009]将所述多个交易处理为一个聚合交易;根据所述多个交易的零知识证明,生成聚合零知识证明,所述聚合零知识证明的证明内容与所述多个交易的零知识证明的总证明内容等价;
[0010]将所述聚合交易、所述聚合零知识证明和所述第二默克尔状态树的根节点发送至区块链,使得所述区块链执行所述聚合交易,且在所述区块链的智能合约验证所述聚合零知识证明通过后,存储所述根节点。
[0011]上述方式下,将所述多个交易发送至以太坊虚拟机EVM服务,预先在EVM服务上执行成功,由于聚合零知识证明是根据多个交易的零知识证明得到的,而且所述聚合零知识
证明的证明内容与所述多个交易的零知识证明的总证明内容等价,所以聚合零知识证明的验证通过便能说明这多个交易均是合法交易,而区块链也可以仅通过一个聚合零知识证明,仅进行一次性验证,验证多个交易合法,且链上不涉及生成零知识证明的复杂运算,也不需要将整个更新的第二默克尔状态树存在链上,只需要在链上存储每次默克尔状态树更新的根节点,从而降低了应用于区块链的DAPP的状态数据的管理开销。
[0012]可选的,所述根据所述多个交易的零知识证明,生成聚合零知识证明,包括:
[0013]根据所述多个交易在所述第一默克尔状态树对应的零知识证明,生成第一聚合零知识证明;
[0014]根据所述多个交易在所述第二默克尔状态树对应的零知识证明,生成第二聚合零知识证明;
[0015]根据所述第一聚合零知识证明和所述第二聚合零知识证明,生成所述聚合零知识证明。
[0016]上述方法中,通过分别对多个交易中每个交易默克尔状态树的零知识证明进行聚合,可以一次性确定多个交易执行前后的零知识证明。
[0017]可选的,所述根据所述多个交易在所述第一默克尔状态树对应的零知识证明,生成第一聚合零知识证明,包括:
[0018]根据所述多个交易在所述第一默克尔状态树对应的零知识证明,基于所述多个交易对应的用户在所述第一默克尔状态树对应的叶子节点至所述第一默克尔状态树的根节点的路径信息,迭代生成零知识证明,直至生成所述第一聚合零知识证明;
[0019]所述根据所述多个交易在所述第二默克尔状态树对应的零知识证明,生成第二聚合零知识证明,包括:
[0020]根据所述多个交易对应的用户在所述第二默克尔状态树对应的零知识证明,基于所述多个交易在所述第二默克尔状态树对应的叶子节点至所述第二默克尔状态树的根节点的路径信息,迭代生成零知识证明,直至生成所述第二聚合零知识证明。
[0021]可选的,根据所述多个交易在所述第一默克尔状态树对应的叶子节点,生成所述多个交易在所述第一默克尔状态树对应的第一状态承诺,所述第一状态承诺用于证明:所述多个交易中每个交易在所述第一默克尔状态树对应的零知识证明与该交易在所述第一默克尔状态树对应的叶子节点绑定;
[0022]根据所述多个交易在所述第二默克尔状态树对应的叶子节点,生成所述多个交易在所述第二默克尔状态树对应的第二状态承诺,所述第二状态承诺用于证明:所述多个交易中每个交易在所述第二默克尔状态树对应的零知识证明与该交易在所述第二默克尔状态树对应的叶子节点绑定。
[0023]上述方式下,第一状态承诺可以追溯交易与所述第一默克尔状态树对应的叶子节点绑定的关系,第二状态承诺可以追溯交易与所述第二默克尔状态树对应的叶子节点绑定的关系,从而提升了所述多个交易的可追溯性。
[0024]可选的,所述根据所述多个交易在所述第一默克尔状态树对应的叶子节点,生成所述多个交易在所述第一默克尔状态树对应的第一状态承诺,包括:
[0025]根据所述多个交易在所述第一默克尔状态树对应的叶子节点、所述多个交易的交易执行状态、所述多个交易的交易序号和所述第一默克尔状态树的第一根节点,生成所述
第一状态承诺;
[0026]所述根据所述多个交易在所述第二默克尔状态树对应的叶子节点,生成所述多个交易在所述第二默克尔状态树对应的第二状态承诺,包括:
[0027]根据所述多个交易在所述第二默克尔状态树对应的叶子节点、所述多个交易的交易执行状态、所述多个交易的交易序号和所述第二默克尔状态树的第二根节点,生成所述第二状态承诺。
[0028]可选的,针对第一交易和第二交易,所述第一交易和所述第二交易为所述多个交易中任意两个交易,所述第一交易的零知识证明包括与所述第一默克尔状态树对应的第一零知识证明,所述第二交易的零知识证明包括与所述第一默克尔状态树对应的第二零知识证明;
[0029]所述第一零知识证明和所述第二零知识证明按照以下方式生成:
[0030]生成所述第一交易在所述第一默克尔状态树中对应的第一叶子节点的第一默克尔证明,所述第一默克尔证明用于证明所述第一叶子节点在所述第一默克尔状态树中的位置信息;
[0031]根据所述第一交易、所述第一叶子本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用于区块链的DAPP的状态数据的管理方法,其特征在于,包括:获取多个交易以及所述多个交易的零知识证明,任一交易的零知识证明用于证明该交易的合法性;将所述多个交易发送至以太坊虚拟机EVM服务;在确定所述多个交易在所述EVM服务上执行成功后,根据所述多个交易,将链下的第一默克尔状态树更新为第二默克尔状态树,第一默克尔状态树为所述多个交易执行成功前的默克尔状态树,第二默克尔状态树为所述多个交易执行成功后的默克尔状态树;将所述多个交易处理为一个聚合交易;根据所述多个交易的零知识证明,生成聚合零知识证明,所述聚合零知识证明的证明内容与所述多个交易的零知识证明的总证明内容等价;将所述聚合交易、所述聚合零知识证明和所述第二默克尔状态树的根节点发送至区块链,使得所述区块链执行所述聚合交易,且在所述区块链的智能合约验证所述聚合零知识证明通过后,存储所述根节点。2.如权利要求1所述的方法,其特征在于,所述根据所述多个交易的零知识证明,生成聚合零知识证明,包括:根据所述多个交易在所述第一默克尔状态树对应的零知识证明,生成第一聚合零知识证明;根据所述多个交易在所述第二默克尔状态树对应的零知识证明,生成第二聚合零知识证明;根据所述第一聚合零知识证明和所述第二聚合零知识证明,生成所述聚合零知识证明。3.如权利要求2所述的方法,其特征在于,所述根据所述多个交易在所述第一默克尔状态树对应的零知识证明,生成第一聚合零知识证明,包括:根据所述多个交易在所述第一默克尔状态树对应的零知识证明,基于所述多个交易对应的用户在所述第一默克尔状态树对应的叶子节点至所述第一默克尔状态树的根节点的路径信息,迭代生成零知识证明,直至生成所述第一聚合零知识证明;所述根据所述多个交易在所述第二默克尔状态树对应的零知识证明,生成第二聚合零知识证明,包括:根据所述多个交易在所述第二默克尔状态树对应的零知识证明,基于所述多个交易对应的用户在所述第二默克尔状态树对应的叶子节点至所述第二默克尔状态树的根节点的路径信息,迭代生成零知识证明,直至生成所述第二聚合零知识证明。4.如权利要求2所述的方法,其特征在于,还包括:根据所述多个交易在所述第一默克尔状态树对应的叶子节点,生成所述多个交易在所述第一默克尔状态树对应的第一状态承诺,所述第一状态承诺用于证明:所述多个交易中每个交易在所述第一默克尔状态树对应的零知识证明与该交易在所述第一默克尔状态树对应的叶子节点绑定;根据所述多个交易在所述第二默克尔状态树对应的叶子节点,生成所述多个交易在所述第二默克尔状态树对应的第二状态承诺,所述第二状态承诺用于证明:所述多个交易中每个交易在所述第二默克尔状态树对应的零知识证明与该交易在所述第二默克尔状态树
对应的叶子节点绑定。5.如权利要求4所述的方法,其特征在于,所述根据所述多个交易在所述第一默克尔状态树对应的叶子节点,生成所述多个交易在所述第一默克尔状态树对应的第一状态承诺,包括:根据所述多个交易在所述第一默克尔状态树对应的叶子节点、所述多个交易的交易执行状态、所述多个交易的交易序号和所述第一默克尔状态树的第一根节点,生成所述第一状态承诺;所述根据所述多个交易在所述第二默克尔状态树对应的叶子节点,生成所述多个交易在所述第二默克尔状态树对应的第二状态承诺,包括:根据所述多个交易在所述第二默克尔状态树对应的叶子节点、所述多个交易的交易执行状态、所述多个交易的交易序号和所述第二默克尔状态树的第二根节点,生成所述第二状态承诺。6.如权利要求1至5任一项所述的方法,其特征在于,针对第一交易和第二交易,所述第一交易和所述第二交易为所述多个交易中任意两个交易,所述第一交易的零知识证明包括与所...

【专利技术属性】
技术研发人员:冼祥斌周禄张开翔范瑞彬
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:

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

1