[发明专利]一种基于以太坊智能合约的用户数据完整性验证方法在审
申请号: | 202210698029.6 | 申请日: | 2022-06-20 |
公开(公告)号: | CN115314215A | 公开(公告)日: | 2022-11-08 |
发明(设计)人: | 邢萧飞;贺思齐;王国军 | 申请(专利权)人: | 广州大学 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;G06F21/64 |
代理公司: | 广州高炬知识产权代理有限公司 44376 | 代理人: | 孙明科 |
地址: | 510006 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 以太 智能 合约 用户 数据 完整性 验证 方法 | ||
本发明公开了一种基于以太坊智能合约的用户数据完整性验证方法,其包括如下步骤:S1:数据用户向服务方发起更新数据的请求,服务方将地址集合发送给数据用户;S2:数据用户构造出一个二元组集合,最后将二元组集合发送给智能合约;S3:智能合约构造出一个将来用于验证的四元组数组,将四元组数组存储在智能合约中;S4:用户从智能合约中提取出自己想要验证数据的数据库地址,构造二元组数组B,将二元组数组B发送给智能合约;S5:进行验证,最后将验证结果存储数组Result里;S6:智能合约为已经经过了验证的二元组数组A中的每个数据库地址构造出一个新的四元组,最后将四元组数组中对应的四元组元素替换为这个新的四元组。
技术领域
本发明涉及以太坊智能合约和数据存储安全技术领域,具体为一种基于以太坊智能合约的用户数据完整性验证方法。
背景技术
集中式数据库是一种是在单个位置定位、存储和维护数据的数据库。该位置通常是中央计算机或数据库系统,例如台式机或服务器CPU或其他大型计算机。自集中式数据库问世至今,以在市面上绝大多数的组织(例如商业公司)或机构(例如大学)里得到了应用。集中式数据库拥有较高的吞吐量、较好的数据可移植性以及易于管理等优点,但其过高的中心化程度使得用户无法探知到数据库私下恶意篡改数据的行为。在传统方案中,通常会引入第三方数据验证平台来帮助检测恶意行为,但第三方验证平台本身也是一个中心化的系统,也有可能会和服务方串通起来提高虚假的验证结果。
随着区块链的出现,让一个中心化的系统去中心化成为一种可能;区块链本身具有的不可篡改性也能保证存储在区块链上的数据不会被外来人员或黑客随意篡改。而以太坊区块链引入智能合约的概念更让区块链上的应用开发灵活了许多。因此,让以太坊智能合约作为一个去中心化的第三方验证平台来确保数据完整性验证结果的可靠性,成为了一个很值得我们去研究解决问题的方向,为此我们提出了一种基于以太坊智能合约的用户数据完整性验证方法。
发明内容
(一)解决的技术问题
针对现有技术的不足,本发明提供一种基于以太坊智能合约的用户数据完整性验证方法,以解决上述的问题。
(二)技术方案
为实现上述所述目的,本发明提供如下技术方案:
一种基于以太坊智能合约的用户数据完整性验证方法,包括以下步骤:
S1:数据用户向服务方发起更新数据的请求,并发送一个更新命令集合给服务方,服务方将地址集合发送给数据用户;
S2:数据用户在收到数据库地址集合后,基于更新命令集合以及地址集合,构造出一个二元组集合,最后将二元组集合发送给智能合约;
S3:智能合约在收到了二元组集合以后,生成种子值以及哈希值,构造出一个将来用于验证的四元组数组,将四元组数组存储在智能合约中;
S4:用户从智能合约中提取出自己想要验证数据的数据库地址,构造一个二元组数组A,根据二元组数组A构造出一个二元组数组B,最后将二元组数组B发送给智能合约;
S5:进行验证,最后将验证结果存储在一个bool类型的数组Result里,用户访问数组Result即可得知验证结果;
S6:智能合约为已经经过了验证的二元组数组A中的每个数据库地址对应的更新结果随机生成一个种子值,然后调用哈希加密函数来生成一个新的哈希值,并构造出一个新的四元组,最后将四元组数组中对应的四元组元素替换为这个新的四元组。
优选的,所述S1中地址集合的获取方式如下:服务方按照对应的更新命令集合里的所有更新命令,在所有更新命令执行完毕以后,将每条更新命令对应的数据库地址构造出一地址集合。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州大学,未经广州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210698029.6/2.html,转载请声明来源钻瓜专利网。