【技术实现步骤摘要】
一种区块链跨链交互数据完整性验证方法
[0001]本专利技术涉及云计算安全以及数据审计
,具体为一种区块链跨链交互数据完整性验证方法。
技术介绍
[0002]随着区块链在底层技术方案上趋于完善,区块链呈现出广阔的应用发展前景。然而,由于目前区块链平台技术实现上存在多维异构性,无论是基于不同平台或者同一个平台构建的不同应用,都难以便捷地跨平台联通协作,链与链之间的“数据孤岛”问题极大地限制了区块链的应用和发展;为了应对这一挑战,搭建链与链之间可信交互的跨链技术逐渐成为业界关注的焦点。当前,业界在跨链领域已有初步的探索和积累,讨论较多的跨链方案有公证人方法、中继、侧链、哈希锁定和分布式密钥控制等。跨链技术能够连通分散的区块链孤岛,成为区块链拓展的桥梁纽带。然而,现有的技术一般侧重于跨链的技术实现,缺乏对跨链交互中存在的完整性验证等一致性问题的深入研究。
[0003]目前,数据完整性的验证方案主要应用于云存储中。为了减轻用户存储管理的负担,用户将本地大量数据外包给云,并通过互联网远程访问数据。用户一旦将数据外包到云, ...
【技术保护点】
【技术特征摘要】
1.一种区块链跨链交互数据完整性验证方法,其特征在于,所述验证方法包括以下步骤:步骤1:数据所有者对原始数据F进行处理,并将所述原始数据F和处理得到的第一数据组送入数据发送链;步骤2:数据发送链对交互数据进行处理,并将所述交互数据和处理得到的第二数据组送入数据接收链;步骤3:当监管链对跨链数据的完整性进行验证时,在所述监管链上生成挑战信息chal,并将所述挑战信息chal发送至所述数据发送链和所述数据接收链;步骤4:所述数据发送链和所述数据接收链收到所述挑战信息chal后,分别生成证据信息,并将所述证据信息送回所述监管链,所述监管链根据所述证据信息对跨链数据的完整性进行验证,如果所述数据发送链和所述数据接收链的证据验证都通过,则表明此次跨链交互数据是完整的,否则此次跨链交互数据是不完整的。2.根据权利要求1所述的一种区块链跨链交互数据完整性验证方法,其特征在于,步骤1中对原始数据F进行处理的方法包括:参数设置:G是乘法循环群,随机生成参数g1∈G,设定数据块大小blocksize和S,所述数据所有者对所述原始数据F按数据块大小blocksize进行分块,将所述原始数据F分成B块,B=F/blocksize,并将每个数据块分S个部分,得到每个部分的数据{d
i,j
}
i∈[0,B
‑
1],j∈[0,S
‑
1]
∈Z
p
,其中d
i,j
表示所述原始数据F第i个数据块第j部分的数据,集合Z
p
={0,1,2,...,p
‑
1}是模p的乘法循环群,p是任意素数;生成数据标签:对分好的数据块计算标签生成数据标签集合生成审计信息:构建默克尔树MT,树中结点标记为n
κ
=(l
κ
,h
κ
),其中,κ是每个结点唯一的索引标号,l
κ
是第κ个结点可以向下到达的结点数量的和,h
κ
是结点对应的哈希值;对于树中索引为κ
j
的叶子结点,对于其他非叶子结点,l
κ
=l
2κ
+l
2κ+1
,h
κ
=H(n
2κ
||n
2κ+1
),其中函数H是SHA256哈希生成算法;数据存储:将所述原始数据F,参数g1,以及默克尔树送MT入所述数据发送链。3.根据权利要求2所述的一种区块链跨链交互数据完整性验证方法,其特征在于,步骤2中对交互数据进行处理的方法包括:数据处理:所述数据发送链对即将交互数据按同样的方法分B块,每个数据块内分S个部分,得到分块后的数据其中表示所述交互数据第i个数据块第j部分的数据;生成密钥:随机生成参数g2∈G,计算私钥sk,sk由s和n组成,即sk=(s,n),公钥pk,pk由和组成,即其中和的值将s、n和j带入计算即可得到,私钥sk和公钥pk组成公私钥对(sk,pk),s∈Z
p
为所述原始数据F写入所述数据发送链时生成交易中的签名signature,n∈Z
p
为上述交易中包含的随机值nonce;
生成审计信息:对所述交互数据计算标记根据计算每个标记对应的签名其中,是应用多项式承诺算法对数据进行处理后得到的多项式;数据传递,将所述交互数据参数...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。