一种基于区块链技术的数据存证和溯源系统的制作方法

文档序号:37114261发布日期:2024-02-22 21:13阅读:19来源:国知局
一种基于区块链技术的数据存证和溯源系统的制作方法

本发明涉及数据存证和溯源,特别是涉及一种基于区块链技术的数据存证和溯源系统。


背景技术:

1、当前的电子数据存证和溯源系统中,电子数据的加密和签名通常与数据固定保存是在不同的平台中实现。而在这一系列数据加工和传输的过程中,电子证据也容易被人为篡改和伪造,同时在传输的过程中存在差错和故障的可能性,对司法取证和查验带来不确定性。

2、区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式证据;在公开专利中,cn116166894a公开了一种存证溯源方法,根据溯源请求携带的存证唯一标识,从所述区块链网络中查找出所述存证唯一标识所对应的存证摘要,所述溯源请求携带所述存证唯一标识;所述存证摘要中可信时空戳中的项目标识码和地理坐标,在所述区块链网络中查询出在所述地理坐标对应操作站点上传的所述项目标识码对应的所有存证摘要,提取时空戳通过溯源算法生成项目溯源时间链并反馈至用户侧;然而上述方法并未公开数据存证的具体流程以及基于区块链进行数据存证和溯源的机制。


技术实现思路

1、有鉴于此,本发明提供一种基于区块链技术的数据存证和溯源系统,实现数据存证和溯源。

2、本发明的具体技术方案如下:

3、一种基于区块链技术的数据存证和溯源系统,该系统自上而下包括:应用层、逻辑层、连接层和存储层。

4、所述应用层包括:存证访问模块和溯源访问模块;所述应用层用于接收判断用户的存证访问请求,并将请求信息和存证文件发送至逻辑层进行数据运算;所述应用层还用于接收用户的溯源访问请求,并将溯源结果反馈给用户。

5、所述逻辑层包括:加解密模块、哈希值校验模块和存储节点分配模块;所述逻辑层响应与所述用户的存证访问请求和所述存证文件,生成带有时间维度和用户ip信息的存证数据,并将所述存证数据随机拆分为至少两个数据片段,分别对所述数据片段进行加密和存储节点分配。

6、进一步的,所述加解密模块用于对用户的存证文件进行加密和解密,当所述应用层接收到用户的存证访问请求时,所述逻辑层首先基于存证访问的用户信息和存证文件生成带有时间维度和用户ip信息的存证数据;加解密模块将存证数据进行拆分后分别进行加密操作;

7、每一个数据片段对应生成一个哈希值并将所述哈希值保存在哈希值校验模块中,基于用户私钥对每一个数据片段生成公钥并进行数据签名。

8、进一步的,采用椭圆曲线法基于用户私钥生成公钥:随机选定一条椭圆曲线ep(a,b),并随机取椭圆曲线上一点作为基点g;用户的私钥为k,则公钥k=kg。

9、所述连接层用于将逻辑层的计算结果与存储层的存储区进行锚定,实现数据文件的上链和查询。

10、所述存储层采用区块链数据技术,包括:网络模块和数据存储模块;所述网络模块用于验证数据存储信息并生成新区块,所述数据存储模块用于根据存储节点分配的情况完成数据存储。

11、进一步的,当所述数据存储模块收到所述连接层的数据存储请求时,假定区块链系统之中存在n个节点,其中宕机节点有n个,n≥2n+1,根据整个数据存储系统中节点识别出其中的主节点和副节点;

12、当链接层向节点发送上链或查询请求request,如果该节点是主节点,则将请求封装成pre-prepare消息并广播消息,如果是副节点,则不做共识处理;

13、当主节点接受到pre-prepare消息,先验证是否是其他主节点发送的消息,如果不是其他主节点发送的pre-prepare消息,则抛弃消息,如果是,则向自身和其他节点发送prepare消息;

14、当某一主节点接受到2n+1个prepare消息,该主节点将请求同步到区块链上并向连接层发送reply消息,完成数据存储。

15、所述存储层中的区块链数据结构采用区块头加区块体的结构,所述区块头中包含有区块头由当前版本号version、前一区块hash值prev-hash、时间戳timestamp、难度值nonce以及merkle根merkle-root;在生成新区块时,若后一节点未获得前一区块的hash值,则不产生新区块,所述区块头的字节数为128。

16、进一步的,所述哈希值校验模块用于对用户查询的文件进行完整性校验,当所述应用层接收到用户的溯源访问请求时,所述逻辑层基于用户的溯源文件获得文件拆分后的各个数据片段;对各个数据片段分别进行哈希值计算,将计算结果与所述哈希值校验模块中存储的哈希值进行一一比较,若全部都相同,则证明溯源文件未被其他因素所破坏或篡改数据。

17、进一步的,所述区块体中存储的数据作为merkle树的叶节点,通过自底向上的哈希计算得到merkle-root值;

18、当区块数据被篡改或破坏时,区块merkle-root值发生改变,则后一区块中区块头的pre-hash值将发生改变。

19、本发明的有益效果是:

20、本发明的数据存证和溯源系统自上而下分为四层,采用区块链技术,将存证数据进行数据随机拆分并分别加密,采用数据拆分方法保证存证的安全性,采用哈希算法保证存证的完整性,采用共识算法保障节点间数据一致性,根据用户私钥对每一个数据片段生成公钥并进行数据签名,当某一数据区块被篡改时,可以利用merkle树快速找出篡改部分,在确保电子数据的真实性、完整性和唯一性的同时,提高了数据溯源的效率,能够给司法鉴定工作提供参考。



技术特征:

1.一种基于区块链技术的数据存证和溯源系统,其特征在于,所述系统自上而下包括:应用层、逻辑层、连接层和存储层;

2.根据权利要求1所述的基于区块链技术的数据存证和溯源系统,其特征在于,所述加解密模块用于对用户的存证文件进行加密和解密,当所述应用层接收到用户的存证访问请求时,所述逻辑层首先基于存证访问的用户信息和存证文件生成带有时间维度和用户ip信息的存证数据;加解密模块将存证数据进行拆分后分别进行加密操作;

3.根据权利要求2所述的基于区块链技术的数据存证和溯源系统,其特征在于,采用椭圆曲线法基于用户私钥生成公钥:随机选定一条椭圆曲线ep(a,b),并随机取椭圆曲线上一点作为基点g;用户的私钥为k,则公钥k=kg。

4.根据权利要求3所述的基于区块链技术的数据存证和溯源系统,其特征在于,所述数据存储模块用于根据数据存储节点分配的情况完成数据存储,包括:当所述数据存储模块收到所述连接层的数据存储请求时,假定区块链系统之中存在n个节点,其中宕机节点有n个,n≥2n+1,根据整个数据存储系统中节点识别出其中的主节点和副节点;

5.根据权利要求1所述的基于区块链技术的数据存证和溯源系统,其特征在于,所述存储层中的区块链数据结构采用区块头加区块体的结构,所述区块头中包含有区块头由当前版本号version、前一区块hash值prev-hash、时间戳timestamp、难度值nonce以及merkle根merkle-root;在生成新区块时,若后一节点未获得前一区块的hash值,则不产生新区块。

6.根据权利要求5所述的基于区块链技术的数据存证和溯源系统,其特征在于,所述哈希值校验模块用于对用户查询的文件进行完整性校验,当所述应用层接收到用户的溯源访问请求时,所述逻辑层基于用户的溯源文件获得文件拆分后的各个数据片段;对各个数据片段分别进行哈希值计算,将计算结果与所述哈希值校验模块中存储的哈希值进行一一比较,若全部都相同,则证明溯源文件未被其他因素所破坏或篡改数据。

7.根据权利要求6所述的基于区块链技术的数据存证和溯源系统,其特征在于,所述区块体中存储的数据作为merkle树的叶节点,通过自底向上的哈希计算得到merkle-root值;

8.根据权利要求7所述的基于区块链技术的数据存证和溯源系统,其特征在于,所述区块头的字节数为128。


技术总结
本发明公开了一种基于区块链技术的数据存证和溯源系统,所述系统自上而下包括:应用层、逻辑层、连接层和存储层;所述应用层用于接收判断用户的存证和溯源访问请求,所述逻辑层响应与用户的访问请求对数据片段进行加密和存储节点分配;连接层用于将逻辑层的计算结果与存储层的存储区进行锚定,实现数据文件的上链和查询,所述存储层根据存储节点分配的情况完成数据存储。本发明在确保电子数据的真实性、完整性和唯一性的同时,提高了数据溯源的效率,能够给司法鉴定工作提供参考。

技术研发人员:叶如意,赵燕,周莉,李向华,贺芳芳
受保护的技术使用者:中国标准化研究院
技术研发日:
技术公布日:2024/2/21
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1