一种区块链的数据生成及验证方法及装置制造方法及图纸

技术编号:32576698 阅读:11 留言:0更新日期:2022-03-09 17:06
本发明专利技术公开了一种区块链的数据生成及验证方法及装置,其中方法为:第一设备获取第一节点的第一哈希值和第二节点的第二哈希值;所述第一节点和所述第二节点为待生成默克尔树中同层次的节点;所述第一设备按照预设运算,根据所述第一哈希值和所述第二哈希值,获得第三哈希值;所述预设运算的运算输入的数据量大于所述预设运算的运算结果的数据量,且所述预设运算满足交换律;若所述第一设备不为所述待生成默克尔树的根节点对应的设备,所述第一设备将所述第三哈希值发送至第二设备,所述第二设备对应的节点包括所述第一节点与所述第二节点的父节点,上述方法可以应用于金融科技(Fintech)。(Fintech)。(Fintech)。

【技术实现步骤摘要】
一种区块链的数据生成及验证方法及装置


[0001]本专利技术涉及金融科技(Fintech)领域中的区块链(Blockchain)领域,尤其涉及一种区块链的数据生成及验证方法及装置。

技术介绍

[0002]随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。基于区块链的不可篡改性,金融科技领域中常通过区块链进行交易。目前区块中可以存储默克尔树,默克尔树可以作为区块中交易数据的数据摘要,默克尔树的叶子节点可以指向一个数据块(如一笔交易),每个叶子节点上存储着这个数据块的哈希值。在一些情形下,需要基于默克尔树进行数据传输,如默克尔树的根哈希值的生成以及默克尔树中某个节点的正确性。
[0003]目前生成默克尔树的根哈希值,或者验证默克尔树中某个节点的正确性时,需要按照顺序拼接哈希值,这会导致计算过程中数据传输量较大,导致数据生成或验证时效率较低。特别地,当区块链采用分布式部署时,默克尔树中叶子节点被拆分到多台设备上存储。默克尔树的根哈希值生成或验证时数据生成或验证时效率较低的问题更为明显,这个问题亟待解决。

技术实现思路

[0004]本专利技术提供一种区块链的数据生成及验证方法及装置,解决了现有技术中默克尔树的根哈希值生成或验证时效率较低的问题。
[0005]第一方面,本专利技术提供一种区块链的数据生成方法,包括:
[0006]第一设备获取第一节点的第一哈希值和第二节点的第二哈希值;所述第一节点和所述第二节点为默克尔树中同层次的节点;
[0007]所述第一设备按照预设运算,根据所述第一哈希值和所述第二哈希值,获得第三哈希值;所述预设运算的运算输入的数据量大于所述预设运算的运算结果的数据量,且所述预设运算满足交换律;所述第三哈希值用于生成所述默克尔树的根哈希值;
[0008]若所述第一设备不为所述默克尔树的根节点对应的设备,所述第一设备将所述第三哈希值发送至第二设备,所述第二设备对应的节点包括所述第一节点与所述第二节点的父节点。
[0009]上述方式下,由于所述预设运算的运算输入的数据量大于所述预设运算的运算结果的数据量,且满足交换律,因此,在采用预设运算的情况下,既能压缩所述预设运算的运算结果的数据量,也不影响待生成默克尔树最终的根节点计算结果,还可以在发送第三哈希值至第二设备的过程中降低传输开销,从而提升了待生成默克尔树的验证效率。
[0010]可选的,若所述第一设备为所述根节点对应的设备,且所述第一节点与所述第二节点为所述根节点的子节点,则所述第三哈希值为所述根哈希值。
[0011]上述方法中,若所述第一设备为所述根节点对应的设备,那么可以直接在第一设备本地得到根哈希值,从而可以在根哈希值生成的步骤中,进一步降低数据运算量,提升了数据生成效率。
[0012]可选的,所述第一节点和所述第二节点为所述待生成默克尔树中的叶子节点。
[0013]上述方法中,当所述第一节点和所述第二节点为所述待生成默克尔树中的叶子节点时,在最初的哈希值获取步骤中便采用预设运算,从而可以有效降低数据传输量,提升数据生成效率。
[0014]可选的,所述预设运算为加法运算。
[0015]上述方法中,加法运算的运算过程开销较少,且从而可以进一步提升数据生成效率。
[0016]第二方面,本专利技术提供一种区块链的数据验证方法,包括:
[0017]获取来自被验证设备的默克尔树的待验证节点的第四哈希值以及至少一个辅助哈希值,所述至少一个辅助哈希值中任一辅助哈希值为所述待验证节点的兄弟节点的哈希值或者所述待验证节点的父类节点的兄弟节点的哈希值;
[0018]根据所述第四哈希值、所述至少一个辅助哈希值以及所述默克尔树的已认证根哈希值,按照预设运算,验证所述第四哈希值;所述预设运算的运算输入的数据量大于所述预设运算的运算结果的数据量,且所述预设运算满足交换律;所述已认证根哈希值是基于所述默克尔树的叶子节点的哈希值按照所述预设预算得到的。
[0019]上述方式下,由于所述已认证根哈希值是基于所述默克尔树的叶子节点的哈希值按照所述预设预算得到的,那么当获取到待验证节点的第四哈希值以及至少一个辅助哈希值后,便可以按照预设运算验证所述第四哈希值,由于所述预设运算的运算输入的数据量大于所述预设运算的运算结果的数据量,从而可以逐步压缩数据量,进一步增加数据验证效率。
[0020]可选的,所述根据所述第四哈希值、所述至少一个辅助哈希值以及所述默克尔树的已认证根哈希值,按照预设运算,验证所述第四哈希值,包括:
[0021]根据所述第四哈希值和所述至少一个辅助哈希值,按照所述预设运算,获得第五哈希值;所述第五哈希值为所述根节点的待验证哈希值;
[0022]若确定所述第五哈希值与所述已认证根哈希值一致,则确定所述第四哈希值通过验证。
[0023]上述方式下,通过按照所述预设运算获得第五哈希值,从而只需要第五哈希值与已认证根哈希值比较一次,便可以确定第四哈希值的正确性,进一步提升了验证效率。
[0024]第三方面,本专利技术提供一种区块链的数据生成装置,所述装置为所述第一设备,所述装置包括:
[0025]获取模块,用于获取第一节点的第一哈希值和第二节点的第二哈希值;所述第一节点和所述第二节点为默克尔树中同层次的节点;
[0026]处理模块,用于按照预设运算,根据所述第一哈希值和所述第二哈希值,获得第三哈希值;所述预设运算的运算输入的数据量大于所述预设运算的运算结果的数据量,且所述预设运算满足交换律;所述第三哈希值用于生成所述默克尔树的根哈希值;
[0027]以及用于若所述第一设备不为所述默克尔树的根节点对应的设备,则将所述第三
哈希值发送至第二设备,所述第二设备对应的节点包括所述第一节点与所述第二节点的父节点。
[0028]可选的,若所述第一设备为所述根节点对应的设备,且所述第一节点与所述第二节点为所述根节点的子节点,则所述第三哈希值为所述根哈希值。
[0029]可选的,所述第一节点和所述第二节点为所述默克尔树中的叶子节点。
[0030]可选的,所述预设运算为加法运算。
[0031]第四方面,本专利技术提供一种区块链的数据验证装置,所述装置包括:
[0032]获取模块,用于获取来自被验证设备的默克尔树的待验证节点的第四哈希值以及至少一个辅助哈希值,所述至少一个辅助哈希值中任一辅助哈希值为所述待验证节点的兄弟节点的哈希值或者所述待验证节点的父类节点的兄弟节点的哈希值;
[0033]验证模块,用于根据所述第四哈希值、所述至少一个辅助哈希值以及所述默克尔树的已认证根哈希值,按照预设运算,验证所述第四哈希值;所述预设运算的运算输入的数据量大于所述预设运算的运算结果的数据量,且所述预设运算满足交换律;所述已认证根哈希值是基于所述默克尔树的叶子节点的哈希值按照所述预设预算得到的。...

【技术保护点】

【技术特征摘要】
1.一种区块链的数据生成方法,其特征在于,包括:第一设备获取第一节点的第一哈希值和第二节点的第二哈希值;所述第一节点和所述第二节点为默克尔树中同层次的节点;所述第一设备按照预设运算,根据所述第一哈希值和所述第二哈希值,获得第三哈希值;所述预设运算的运算输入的数据量大于所述预设运算的运算结果的数据量,且所述预设运算满足交换律;所述第三哈希值用于生成所述默克尔树的根哈希值;若所述第一设备不为所述默克尔树的根节点对应的设备,所述第一设备将所述第三哈希值发送至第二设备,所述第二设备对应的节点包括所述第一节点与所述第二节点的父节点。2.如权利要求1所述的方法,其特征在于,若所述第一设备为所述根节点对应的设备,且所述第一节点与所述第二节点为所述根节点的子节点,则所述第三哈希值为所述根哈希值。3.如权利要求1所述的方法,其特征在于,所述第一节点和所述第二节点为所述默克尔树中的叶子节点。4.如权利要求1至3任一项所述的方法,其特征在于,所述预设运算为加法运算。5.一种区块链的数据验证方法,其特征在于,包括:获取来自被验证设备的默克尔树的待验证节点的第四哈希值以及至少一个辅助哈希值,所述至少一个辅助哈希值中任一辅助哈希值为所述待验证节点的兄弟节点的哈希值或者所述待验证节点的父类节点的兄弟节点的哈希值;根据所述第四哈希值、所述至少一个辅助哈希值以及所述默克尔树的已认证根哈希值,按照预设运算,验证所述第四哈希值;所述预设运算的运算输入的数据量大于所述预设运算的运算结果的数据量,且所述预设运算满足交换律;所述已认证根哈希值是基于所述默克尔树的叶子节点的哈希值按照所述预设预算得到的。6.如权利要求5所述的方法,其特征在于,所述根据所述第四哈希值、所述至少一个辅助哈希值以及所述默克尔树的已认证根哈希值,按照预设运算,验证所述第四哈希值,包括:根据所述第四哈希值和所述至少一个辅助哈希值,按照所述预设运算,获得第五哈希值;所述第五哈希值为所述根节点的待验证哈希值;若确定所述第五哈希值与所述已认证根哈希值一...

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

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

1