【技术实现步骤摘要】
一种动态跨链数据一致性审计方法
[0001]本专利技术涉及跨链数据交互以及动态数据审计
,尤其涉及一种动态跨链数据一致性审计方法。
技术介绍
[0002]区块链主要是由分布式系统,计算机网络,数据库以及分布式账本这些技术相互组合而诞生的系统,其具有高度去中心化,透明性和开放性,信息不可篡改和匿名性这些特性。基于这些特性,区块链如今受到了越来越多企业和个人的关注,它也被广泛运用在不同的领域,包括金融,医疗,通信传输等。区块链的广泛运用带来了大量的交易存储,这给现如今的区块链带来了巨大的存储压力同时也对链上数据的查询计算的效率造成了极大的影响。为了能够缓解如今区块链上的存储压力,将数据存放在不同的区块链上并利用跨链技术将这些异构的区块链连接起来,能够在一定程度上缓解区块链的存储压力。
[0003]当前,主流的跨链技术分为以下几种:公证人机制,侧链技术,中继链技术以及哈希锁定。通过将单独的区块链连接起来,跨链技术很好的实现了异构区块链之间的交互。但是区块链上存储的信息在某些时候需要更新迭代,例如,一些恶意的交易信息被 ...
【技术保护点】
【技术特征摘要】
1.一种动态跨链数据一致性审计方法,其特征在于,包括以下步骤:步骤1),源链中的用户节点对原始数据进行预处理,和源链协同生成盲化数据、文件签名、数据标签并构建动态的默克尔哈希树;步骤2),源链生成数据上传交易,所述数据上传交易包含盲化数据、文件签名和数据标签;同时源链利用AGMS对生成的数据上传交易进行签名,将签名的数据上传交易发送给目标链;步骤3),目标链在收到数据上传交易后,对其签名进行验证,签名验证不通过时拒绝存储数据,签名验证通过则接着对其中的文件签名、数据标签以及盲化数据进行一致性验证,一致性验证通过则进行存储,否则拒绝存储;步骤4),当源链中的用户节点希望对数据进行动态更新时,首先,源链根据数据更新请求与用户节点协同对存储的盲化数据、文件签名、数据标签以及动态的默克尔哈希树进行更新,并根据数据更新请求生成数据更新请求交易,所述数据更新请求交易包含数据更新请求以及数据更新的内容,数据更新内容包含更新后的盲化数据、文件签名和数据标签;然后,源链利用AGMS对数据更新请求交易进行签名,将签名的数据更新请求交易发送给目标链;步骤5),目标链在收到数据更新请求交易后,对其签名进行验证,签名验证不通过时拒绝进行数据更新,签名验证通过则接着对其中数据更新内容中的文件签名、数据标签和盲化数据进行一致性验证,一致性验证通过时目标链根据数据更新请求进行更新并生成审计证明发送给源链进行验证,否则拒绝进行数据更新;步骤6),当审计链对源链和目标链之间的跨链动态数据更新一致性进行审计时,其生成质询挑战分别发送给源链和目标链;目标链和源链生成相应的存储证明和审计证明发送给审计链;审计链根据证明来验证跨链数据动态更新的一致性。2.根据权利要求1所述的动态跨链数据一致性审计方法,其特征在于,步骤1)的详细步骤为:步骤1.1),证书授权机构CA生成相应的系统参数其中,G1、G
T
均是阶为p的循环加法群,是阶为q的正整数域,g∈G1是一个随机生成元,Y是系统主公钥,p和q均是1024位的大素数;步骤1.2),源链、目标链、审计链中的用户节点进行身份注册;步骤1.2.1),用户节点DO将身份表示为:步骤1.2.2),用户节点DO与证书授权机构CA协同生成其公私钥对:[pk
DO
,(sk
DO
,x
DO
)];步骤1.2.3),最后用户节点DO进行身份注册,当其身份通过区块链中其余节点的验证后,用户节点DO身份注册成功,否则注册失败;步骤1.3),源链中的用户节点DO与源链协同对原始数据F进行预处理;步骤1.3.1),用户节点DO对F进行分块处理并对其进行盲化处理,生成盲化数据集合其中B表示F被分成的区块个数,其中每个区块被分成了S个分片;步骤1.3.2),源链根据数据集合F
*
生成动态默克尔哈希树并获得相应的h
Root
;步骤1.3.3),源链和目标链协同生成文件签名以及数据标签{{σ
i
}
i∈[1,B]
,α
d
},其中
{σ
i
}
i∈[1,B]
是数据标签,{α
d
}是文件签名。3.根据权利要求2所述的动态跨链数据一致性审计方法,其特征在于,步骤2)的详细步骤为:步骤2.1),源链生成数据上传交易Tx1,数据上传交易Tx1包含盲化数据集合文件签名{α
d
}以及数据标签{σ
i
}
i∈[1,B]
;步骤2.2),源链利用AGMS对数据上传交易进行签名,生成签名(c,Sig);步骤2.3),源链将数据上传交易Tx1以及签名(c,Sig)一起发送给目标链。4.如权利要求3所述的动态跨链数据一致性审计方法,其特征在于,步骤3)的详细步骤为:步骤3.1),当目标链收到来自源链的数据上传交易Tx1以及签名(c,Sig)后,根据以下公式验证签名(c,Sig)的正确性:其中h1是哈希函数,是聚合的承诺值,是聚合的公钥,hs=h1(m)是对签名数据m哈希后计算后生成的哈希值,是聚合签名的领导用户节点,由源链中的用户节点随机选出;步骤3.1.1),若签名(c,Sig)验证失败,目标链拒绝对此交易内容进行存储;步骤3.1.2),若签名(c,Sig)验证通过,目标链根据以下公式对文件签名进行验证:e(α
d
,g)=e(H3(α0||h
Root
),pk
DO
)
·
e(H3(name||id(DO)),R
d
)其中,e:G1×
G
→
G
T
是一个双线性映射,H3是哈希函数,α0=id(DO)||S||ts,ts是时间戳标识,是随机值,是一个随机值,是盲化数据集标识;步骤3.1.2.1),如果对文件签名验证失败,目标链拒绝对此交易内容进行存储;步骤3.1.2.2),如果对文件签名验证通过,目标链继续根据以下公式进行数据标签和盲化数据一致性的验证:其中,是随机值,区块f
i*
的哈希值,H4是哈希函数,是生成的随机值;步骤3.1.2.2.1),若验证通过,目标链对此交易内容进行存储;步骤3.1.2.2.1),若验证失败,目标链拒绝对此交易内容进行存储。5.如权利要求4所述的动态跨链数据一致性审计方法,其特征在于,步骤4)的具体步骤如下:当源链中的用户节点DO进行数据动态更新时,DO发送一个数据更新请求req给源链,其中包含需要进行的数据更新操作、数据更新内容以及更新的数据位置,所述数据更新操作包含修改操作,插入操作和删除操作;步骤4.1),若用户节点DO进行修改操作,ts1时刻修改第i个位置的区块;步骤4.1.1),用户节点DO对新区块进行分区以及盲化处理,得到盲化数据集f
ij
'=(f
i
'1,f
i
'2,...,f
i
'
S
),其中步骤4.1.2),用户节点DO生成数据更新请求req,其中包含修改操作、f
ij
'=(f
i
'1,f
i
'2,...,f
i
'
S
)和i;步骤4.1.3),用户节点DO将req发送给源链;步骤4.1.4),源链根据req中的数据更新内容修改动态默克尔哈希树中第i个位置的区块,并重新生成哈希根h'
Root
;步骤4.1.5),源链与用户节点DO协同对文件签名、数据标签进行更新,生成新的文件签名{α'
d
}和新的数据标签{σ'};步骤4.1.6),源链生成数据更新请求交易Tx2,数据更新请求交易Tx2中包含req、{α'
d
}和{σ'...
【专利技术属性】
技术研发人员:赵佳豪,张玉书,蒋佳佳,焦建博,邵震哲,
申请(专利权)人:南京航空航天大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。