[发明专利]一种基于以太坊智能合约的用户数据完整性验证方法在审
申请号: | 202210698029.6 | 申请日: | 2022-06-20 |
公开(公告)号: | CN115314215A | 公开(公告)日: | 2022-11-08 |
发明(设计)人: | 邢萧飞;贺思齐;王国军 | 申请(专利权)人: | 广州大学 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;G06F21/64 |
代理公司: | 广州高炬知识产权代理有限公司 44376 | 代理人: | 孙明科 |
地址: | 510006 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 以太 智能 合约 用户 数据 完整性 验证 方法 | ||
1.一种基于以太坊智能合约的用户数据完整性验证方法,其特征在于,包括以下步骤:
S1:数据用户向服务方发起更新数据的请求,并发送一个更新命令集合给服务方,服务方将地址集合发送给数据用户;
S2:数据用户在收到数据库地址集合后,基于更新命令集合以及地址集合,构造出一个二元组集合,最后将二元组集合发送给智能合约;
S3:智能合约在收到了二元组集合以后,生成种子值以及哈希值,构造出一个将来用于验证的四元组数组,将四元组数组存储在智能合约中;
S4:用户从智能合约中提取出自己想要验证数据的数据库地址,构造一个二元组数组A,根据二元组数组A构造出一个二元组数组B,最后将二元组数组B发送给智能合约;
S5:进行验证,最后将验证结果存储在一个bool类型的数组Result里,用户访问数组Result即可得知验证结果;
S6:智能合约为已经经过了验证的二元组数组A中的每个数据库地址对应的更新结果随机生成一个种子值,然后调用哈希加密函数来生成一个新的哈希值,并构造出一个新的四元组,最后将四元组数组中对应的四元组元素替换为这个新的四元组。
2.根据权利要求1所述的基于以太坊智能合约的用户数据完整性验证方法,其特征在于:所述S1中地址集合的获取方式如下:服务方按照对应的更新命令集合里的所有更新命令,在所有更新命令执行完毕以后,将每条更新命令对应的数据库地址构造出一地址集合。
3.根据权利要求1所述的基于以太坊智能合约的用户数据完整性验证方法,其特征在于:所述S2中二元组集合获取内容如下:首先从更新命令集合中挑选出自己觉得重要的、需要在将来进行多次验证的更新命令来构造出一个更新命令子集合,并根据更新命令子集合里的命令,从地址集合里挑选出对应的地址,构造出一个二元组集合。
4.根据权利要求1所述的基于以太坊智能合约的用户数据完整性验证方法,其特征在于:所述S3中四元组数组获取内容如下:首先将集合里每个二元组里的更新命令的对应更新结果提取出来,并为每个更新结果随机生成一个种子值,然后调用哈希加密函数,来为每个更新结果生成单独的哈希值,最后将所有的四个元素:更新命令、数据库地址、种子值和对应生成的哈希值收集起来,构造出四元组数组。
5.根据权利要求1所述的基于以太坊智能合约的用户数据完整性验证方法,其特征在于:所述S4中二元组数组B的获取内容如下:将每个数据库地址在四元组数组里面对应的种子值提取出来,构造出二元组数组A,将二元组数组A发送给服务方,将二元组数组A中每个二元组的数据库地址里数据提取出来,调用哈希加密函数来为每个数据生成哈希值,构造出二元组数组B。
6.根据权利要求1所述的基于以太坊智能合约的用户数据完整性验证方法,其特征在于:所述S5中的验证内容如下:智能合约根据二元组数组B中每个二元组里的地址,在四元组数组里找到地址对应的四元组,并对比四元组数组中四元组里的哈希值和二元组数组中二元组里的哈希值,若两者相等,则说明这个地址里的数据是完整的,没有经过篡改,反之则说明数据被篡改了。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州大学,未经广州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210698029.6/1.html,转载请声明来源钻瓜专利网。