一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种区块链跨链交互数据计算结果的正确性验证方法

2022-11-19 08:15:56 来源:中国专利 TAG:


1.本发明涉及云计算安全以及数据审计技术领域,具体为一种区块链跨链交互数据计算结果的正确性验证方法。


背景技术:

2.随着区块链在底层技术方案上趋于完善,区块链呈现出广阔的应用发展前景。然而,随着区块链上存储和交易吞吐量的增加,区块链的存储和计算性能,特别是单链的存储和计算性能,逐渐成为制约区块链网络进一步发展的瓶颈。为了解决区块链中的性能问题,“多链并行”的思想被提出。应用跨链技术进行链间交互,实现了区块链性能的拓展,突破了单链架构的性能瓶颈。
3.当前,讨论较多的跨链方案有公证人方法、中继、侧链、哈希锁定和分布式密钥控制等。跨链技术能够连通分散的区块链孤岛,成为区块链性能拓展的桥梁纽带。虽然多链架构扩展了区块链的性能,但也带来了新的安全问题。现有的技术一般侧重于跨链的技术实现,缺乏对跨链交互中数据的正确性验证等问题的深入研究。
4.当区块链请求另一条区块链的数据计算结果时,请求数据的链无法确定计算结果的正确性。因此,需要设计跨链数据计算结果的正确性审计机制,以保证跨链交互过程中计算是可靠且安全的。


技术实现要素:

5.本发明为解决上述问题,提出了一种区块链跨链交互数据计算结果的正确性验证方法,所述验证方法包括以下步骤:
6.步骤1:主链的用户a从主链获取当前时间戳,并将数据计算请求和时间戳送入侧链的用户b和监管链;
7.步骤2:侧链的用户b根据数据计算请求,从侧链获取相关数据,对数据进行计算,对参与计算的数据进行paillier加密处理,用户b将计算和处理结果送回侧链进行存储,并将用于解密计算结果的私钥送给用户a;
8.步骤3:侧链对数据计算结果进行加密处理,将加密处理后的结果送入主链存储;
9.步骤4:主链的用户a从主链获取加密后的数据计算结果,根据拥有的私钥对密文计算结果进行解密,获取所需的数据计算结果的明文;
10.步骤5:侧链生成用于正确性验证的审计信息,并将审计信息送入监管链。监管链根据智能合约中设计好的正确性验证方法对审计信息进行验证,以确定跨链交互数据结算结果的正确性,如果审计信息验证通过,则表明此次跨链交互数据计算结果是正确的,否则,表明此次跨链交互数据计算结果存在问题。验证结束后,监管链将验证结果送入主链。
11.优选的,步骤2中,侧链用户b根据主链用户a的数据计算请求,操作过程如下:
12.数据计算:侧链用户b根据用户a的计算请求,从侧链上获取用于计算的数据并进行计算,得到结果m,其中,k是参与运算的数据的个数;
13.同态处理:用户b生成用于paillier同态加密的公钥n和私钥对(λ,μ),并对参与对参与计算的数据进行paillier同态加密得到密文计算公式为其中,g为随机大素数,t为从主链获取的时间戳,n为paillier加密算法的公钥,哈希函数表示有n2个元素的整数集合。
14.数据传递:侧链用户b将用于解密数据的私钥(λ,μ)送给主链用户a,将数据计算结果m,n,h送入侧链存储。
15.优选的,步骤3中,侧链将数据计算结果跨链传递给主链存储,操作过程如下:
16.隐私处理:侧链对即将跨链传递的计算结果m进行paillier同态加密生成密文c,以防止明文计算结果m在跨链传递过程中泄露隐私或被篡改,计算公式为:c=gm·
h(t)n(modn2)。
17.数据传递:侧链将密文c传递给主链。
18.优选的,步骤4中,主链的用户a拥有获取数据明文信息的私钥对(λ,μ),从主链上获取来自侧链的密文c,使用私钥(λ,μ)对密文c进行解密处理,以恢复数据计算结果的明文,计算公式为:mr=l(c
λ
(modn2))
·
μmodn,其中l(u)=(u-1)/n,n为paillier加密算法的公钥。
19.优选的,步骤5中,监管链对侧链传递的审计信息进行正确性验证,操作过程如下:
20.审计信息生成:侧链在进行跨链数据传递后需要将用于正确性验证的审计信息送入监管链,包括参与运算的数据的密文对计算结果m的同态计算结果c,用于判断参与运算数据的实时性的布隆过滤器的集合b和bs。其中,用于复现计算过程,c用于和密文计算结果比对以判断运算的正确性,b和bs用于判断参与运算的数据是否是链上存储的最新数据。为保证参与运算的数据都是存储在侧链上的最新的数据,侧链上的实时数据都被映射到布隆过滤器的集合b中,并将集合b存储在侧链最新区块的块头中。在生成正确性审计信息时,侧链将参与运算的数据进行映射到新的集合bs中,并将集合b和bs作为正确性审计的一部分送入监管链。
21.正确性审计:监管链对收到的侧链的审计信息进行正确性验证,首先复现密文的计算过程以获取密文的计算结果δ,如果δ=c,则证明跨链数据计算结果是正确的;对集合b和bs中的每一位进行比对,如果对于所有的bs[i]≠0,都有b[i]≠0,则表明参与计算的数据是侧链上存储的最新的数据,其中,i∈[1,n],n是集合b和bs的长度。两项验证都通过,则表明此次跨链交互数据计算结果是正确的。审计结束后,监管链将审计结果送入主链。
[0022]
相对于现有技术,本发明的有益效果:
[0023]
本发明提供了一种区块链跨链交互数据计算结果的正确性验证方法,引入监管区块链对跨链交互过程进行审计,保证了区块链系统的去中心化特性不被影响。设计使用paillier同态加密计算、布隆过滤器技术对计算过程和结果进行处理,实现了跨链交互过程中数据结算结果的正确性审计,同时保证了跨链交互过程的隐私性。
附图说明
[0024]
图1是本发明的模型角色示意图;
[0025]
图2是本发明的系统流程示意图;
[0026]
图3是本发明的验证过程流程示意图;
具体实施方式
[0027]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0028]
一种区块链跨链交互数据计算结果的正确性验证方法,如图1所示,参与者包括三条区块链和两个链下用户。主链是计算请求的发起方,侧链存储参与运算的数据,侧链的用户b根据主链的计算请求进行数据计算,并将结果跨链传递给主链,监管链负责接收来自侧链的审计信息,对跨链交互数据计算结果的正确性进行验证。如图2所示,本方法具体包括以下步骤:
[0029]
当主链的用户a需要侧链进行数据计算时,从主链获取当前时间戳t,并将数据计算请求r和时间戳t送入侧链的用户b和监管链。
[0030]
侧链的用户b根据用户a的数据计算请求r,进行如下操作:
[0031]
(1)从侧链上获取用于计算的数据集合并进行数据计算,得到数据计算结果m,其中,k是参与运算的数据的个数;
[0032]
(2)生成用于paillier同态加密的参数:选择三个大素数p,q,g,计算公钥n=pq,计算私钥λ=lcm(p-1,q-1),μ=(l(g
λ
(modn2)))-1
(modn2),l(u)=(u-1)/n,随机选择一个哈希函数是有n2个元素的整数集合;
[0033]
(3)对参与计算的数据进行paillier同态加密得到密文计算公式为
[0034]
(4)侧链用户b将用于解密数据的私钥(λ,μ)送给主链的用户a,将数据计算结果m,n,h送入侧链存储。
[0035]
侧链对即将跨链传递的计算结果m进行paillier同态加密生成密文c,以防止明文计算结果m在跨链传递过程中泄露隐私或被恶意篡改,加密计算公式为:c=gm·
h(t)n(modn2)。侧链将密文c跨链传递给主链存储。
[0036]
主链的用户a从主链上获取来自侧链的密文c,使用私钥(λ,μ)对密文c进行解密,恢复数据计算结果的明文,计算公式为:mr=l(c
λ
(modn2))
·
μmodn,其中,l(u)=(u-1)/n,n为paillier加密算法的公钥。
[0037]
为对跨链数据计算结果的正确性进行验证,在跨链数据交互完成时,侧链需要生成用于正确性验证的审计信息,具体过程如图3所示。为保证参与运算的数据都是存储在侧链上的最新的数据,侧链上的实时数据都被映射到布隆过滤器的集合b中,并将集合b存储在侧链最新区块的块头中。在生成正确性审计信息时,侧链将参与运算的数据进行映射到新的集合bs中,并将集合b和bs作为正确性审计的一部分送入监管链。侧链将审计信息的集
合送入监管链,其中,用于复现计算过程,c用于和密文计算结果比对以判断运算的正确性,b和bs用于判断参与运算的数据是否是链上存储的最新数据。
[0038]
监管链收到来自侧链的审计信息π,首先根据数据计算请求r复现密文的计算过程以获取密文的计算结果δ,对δ和c进行比对,如果δ=c,则证明跨链数据计算结果是正确的;对集合b和bs中的每一位进行比对,如果对于所有的bs[i]≠0,都有b[i]≠0,则表明参与计算的数据是侧链上存储的最新的数据,其中,i∈[1,n],n是集合b和bs的长度。两项验证都通过,则表明此次跨链交互数据计算结果是正确的。审计结束后,监管链将审计结果送入主链。
[0039]
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献