System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据片段链上验证方法、系统、设备及介质技术方案_技高网

数据片段链上验证方法、系统、设备及介质技术方案

技术编号:40960714 阅读:2 留言:0更新日期:2024-04-18 20:39
本申请提供一种数据片段链上验证方法、系统、设备及介质,该方法应用于区块链的智能合约,通过接收整体数据的第一数据指纹及对应的KZG承诺,所述整体数据包括若干数据片段,所述KZG承诺是基于所述整体数据的各数据片段的第二数据指纹生成的;接收待验证数据片段及对应的KZG证明,所述KZG证明是基于所述KZG承诺和所述待验证数据片段的第二数据指纹生成的;根据所述KZG承诺及所述KZG证明来对所述待验证数据片段进行验证,以确定所述待验证数据片段是否属于所述整体数据。利用本申请,既可以在低成本的情况下保证数据全文的不可篡改性,又可以将整体数据中的部分数据片段的原文导入区块链,同时保证这部分数据内容不被篡改。

【技术实现步骤摘要】

本申请涉及区块链,特别涉及一种数据片段链上验证方法、系统、设备及介质


技术介绍

1、区块链是一种去中心化的分布式账本技术,通过共识算法来保证参与节点之间的数据一致性。然而,由于共识机制要求所有参与节点保存所有链上数据,区块链的存储容量有限,不适合保存大规模的数据。目前常用的方法是将数据保存在链下的分布式文件系统或云存储中,而将数据指纹(如hash)保存在链上,以实现数据的完整性验证,这样可以在下载完整数据后,使用链上的数据指纹来校验数据的正确性,这种方式可以保证链下保存的数据是不会被篡改的,在保存成本和数据安全之间达到了平衡。

2、然而,现有技术存在一个问题,即当需要在链上使用部分数据原文时,是无法将这部分数据可信地导入链上,只能将数据全文导入链上,才能验证数据内容与之前链上保存的数据指纹是对应的,即导入的数据内容属于原始数据且未篡改,这就会导致上链成本的增加,并且数据全文越大,所需的上链成本越高。

3、因此,寻找一种能够在低成本的情况下,既保证数据全文的不可篡改性,又让数据的部分内容可以被导入到链上进行验证,同时保证这部分数据内容不被篡改的数据片段链上验证方法是亟需解决的问题。


技术实现思路

1、本申请的目的在于提供一种数据片段链上验证方法、系统、设备及介质,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。

2、为实现上述目的及其他相关目的,本申请提供一种数据片段链上验证方法,应用于区块链的智能合约,所述验证方法包括

3、接收整体数据的第一数据指纹及对应的kzg承诺,所述整体数据包括若干数据片段,所述kzg承诺是基于所述整体数据的各数据片段的第二数据指纹生成的;

4、接收待验证数据片段及对应的kzg证明,所述kzg证明是基于所述kzg承诺和所述待验证数据片段的数据指纹生成的;

5、根据所述kzg承诺及所述kzg证明来对所述待验证数据片段进行验证,以确定所述待验证数据片段是否属于所述整体数据。

6、在本申请的一可选实施例中,根据所述kzg承诺及所述kzg证明来对所述待验证数据片段进行验证,以确定所述待验证数据片段是否属于所述整体数据,包括:

7、生成所述待验证数据片段的数据指纹;

8、根据所述kzg承诺及所述kzg证明验证所述待验证数据片段的数据指纹是否属于所述kzg承诺:

9、如果是,则表示所述待验证数据片段属于所述整体数据;

10、如果否,则表示所述待验证数据片段不属于所述整体数据。

11、在本申请的一可选实施例中,所述整体数据的第一数据指纹、所述整体数据的各数据片段的第二数据指纹及所述待验证数据片段的数据指纹均为哈希值。

12、在本申请的一可选实施例中,基于所述整体数据的各数据片段的第二数据指纹生成所述kzg承诺包括:

13、获取整体数据;

14、将所述整体数据划分为若干数据片段;

15、分别对所述整体数据的每个所述数据片段进行哈希计算,以获取每个所述数据片段的哈希值;

16、基于所述整体数据的各数据片段的哈希值,利用kzg算法生成所述kzg承诺。

17、在本申请的一可选实施例中,所述数据片段的大小满足区块链中单笔交易可输入的合适大小。

18、在本申请的一可选实施例中,所述整体数据为物联网设备的设备数据。

19、在本申请的一可选实施例中,所述物联网设备为分布式发电设备或储能系统。

20、为实现上述目的及其他相关目的,本申请还提供一种数据片段链上验证系统,应用于区块链的智能合约,所述数据片段链上验证系统包括:

21、第一接收模块,用于接收整体数据的第一数据指纹及对应的kzg承诺,所述整体数据包括若干数据片段,所述kzg承诺是基于所述整体数据的各数据片段的第二数据指纹生成的;

22、第二接收模块,用于接收待验证数据片段及对应的kzg证明,所述kzg证明是基于所述kzg承诺和所述待验证数据片段的数据指纹生成的;

23、验证模块,用于根据所述kzg承诺及所述kzg证明来对所述待验证数据片段进行验证,以确定所述待验证数据片段是否属于所述整体数据。

24、为实现上述目的及其他相关目的,本申请还提供一种电子设备,所述电子设备包括:

25、一个或多个处理器;

26、存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如上述任一项所述的数据片段链上验证方法。

27、为实现上述目的及其他相关目的,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被计算机的处理器执行时,使计算机执行上述任一项所述的数据片段链上验证方法。

28、利用本申请,通过接收整体数据的第一数据指纹及对应的kzg承诺,所述整体数据包括若干数据片段,所述kzg承诺是基于所述整体数据的各数据片段的第二数据指纹生成的;接收待验证数据片段及对应的kzg证明,所述kzg证明是基于所述kzg承诺和所述待验证数据片段的数据指纹生成的;根据所述kzg承诺及所述kzg证明来对所述待验证数据片段进行验证,以确定所述待验证数据片段是否属于所述整体数据。利用本申请,既可以在低成本的情况下保证数据全文的不可篡改性,又可以将整体数据中的部分数据片段的原文导入区块链,同时保证这部分数据内容不被篡改。

本文档来自技高网...

【技术保护点】

1.一种数据片段链上验证方法,其特征在于,应用于区块链的智能合约,所述验证方法包括:

2.根据权利要求1所述的数据片段链上验证方法,其特征在于,根据所述KZG承诺及所述KZG证明来对所述待验证数据片段进行验证,以确定所述待验证数据片段是否属于所述整体数据包括:

3.根据权利要求1所述的数据片段链上验证方法,其特征在于,所述整体数据的第一数据指纹、所述整体数据的各数据片段的第二数据指纹及所述待验证数据片段的数据指纹均为哈希值。

4.根据权利要求3所述的数据片段链上验证方法,其特征在于,基于所述整体数据的各数据片段的第二数据指纹生成所述KZG承诺包括:

5.根据权利要求4所述的数据片段链上验证方法,其特征在于,所述数据片段的大小满足区块链中单笔交易可输入的合适大小。

6.根据权利要求1所述的数据片段链上验证方法,其特征在于,所述整体数据为物联网设备的设备数据。

7.根据权利要求6所述的数据片段链上验证方法,其特征在于,所述物联网设备为分布式发电设备或储能系统。

8.一种数据片段链上验证系统,其特征在于,应用于区块链的智能合约,所述数据片段链上验证系统包括:

9.一种电子设备,其特征在于,所述电子设备包括:

10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,当所述计算机程序被计算机的处理器执行时,使计算机执行权利要求1至7中任一项所述的数据片段链上验证方法。

...

【技术特征摘要】

1.一种数据片段链上验证方法,其特征在于,应用于区块链的智能合约,所述验证方法包括:

2.根据权利要求1所述的数据片段链上验证方法,其特征在于,根据所述kzg承诺及所述kzg证明来对所述待验证数据片段进行验证,以确定所述待验证数据片段是否属于所述整体数据包括:

3.根据权利要求1所述的数据片段链上验证方法,其特征在于,所述整体数据的第一数据指纹、所述整体数据的各数据片段的第二数据指纹及所述待验证数据片段的数据指纹均为哈希值。

4.根据权利要求3所述的数据片段链上验证方法,其特征在于,基于所述整体数据的各数据片段的第二数据指纹生成所述kzg承诺包括:

5.根据权利要求4所述的数据片段链上验证方...

【专利技术属性】
技术研发人员:毛岱山
申请(专利权)人:上海摩联信息技术有限公司
类型:发明
国别省市:

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

1