CN113297223B - 一种基于区块链的电子数据实时存证系统及方法 - Google Patents

一种基于区块链的电子数据实时存证系统及方法 Download PDF

Info

Publication number
CN113297223B
CN113297223B CN202110596580.5A CN202110596580A CN113297223B CN 113297223 B CN113297223 B CN 113297223B CN 202110596580 A CN202110596580 A CN 202110596580A CN 113297223 B CN113297223 B CN 113297223B
Authority
CN
China
Prior art keywords
data
hash value
storage
anchor point
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110596580.5A
Other languages
English (en)
Other versions
CN113297223A (zh
Inventor
张金琳
高航
孙宽慰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Shuqin Technology Co Ltd
Original Assignee
Zhejiang Shuqin Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Shuqin Technology Co Ltd filed Critical Zhejiang Shuqin Technology Co Ltd
Priority to CN202110596580.5A priority Critical patent/CN113297223B/zh
Publication of CN113297223A publication Critical patent/CN113297223A/zh
Application granted granted Critical
Publication of CN113297223B publication Critical patent/CN113297223B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2291User-Defined Types; Storage management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2315Optimistic concurrency control
    • G06F16/2322Optimistic concurrency control using timestamps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及区块链技术领域,具体涉及一种基于区块链的电子数据实时存证系统及方法,包括:数据缓冲模块,具有若干个数据缓冲区;数据存证模块,当数据缓冲模块的缓冲区被写满时取出其中的电子数据,关联电子设备的编号及时间戳作为数据块,将数据块及上一个数据块的哈希值一起提取哈希值,存储所提取的哈希值;上链模块,将周期内数据存证模块产生的全部哈希值打包为存证包,将存证包的哈希值关联编号及时间戳后上传到区块链存储;数据存储模块,获得并以线性存储方式存储数据块、哈希值、存证包、区块高度以及区块哈希值。本发明的实质性效果是:有力提升了电子设备的运行数据的可信度,通过工作量证明,为电子数据的真实性提供了可靠保证。

Description

一种基于区块链的电子数据实时存证系统及方法
技术领域
本发明涉及区块链技术领域,具体涉及一种基于区块链的电子数据实时存证系统及方法。
背景技术
随着电子技术及信息技术的发展,越来越多的电子设备被应用在生产和生活中的各个领域。电子设备能够自动甚至智能的独立完成工作内容,并且执行过程中会产生运行数据,电子设备的运行数据包括控制数据或监控数据,控制数据和监控数据能够记录并复原设备运行的状态。这些数据不仅为改进电子设备提供了数据参考,同时也是出现故障或事故后,查找事故原因或判定事故责任的重要依据。虽然电子化的运行数据具有数据量丰富、存储读取方便和便于流通的优点,但也有容易丢失和被篡改的缺点。导致目前电子设备的运行数据公信力较差,且掌握在电子设备的提供商中,在出现事故后往往不能起到令人信服的判定事故原因和责任划分。区块链技术是一种去中心化的可信存储账本,其能够提供天然的可信力,在数据存证和鉴伪中得到越来越多的应用。但目前缺乏将区块链技术应用在提高电子设备的实时运行数据的公信力的技术方案。
中国专利CN110990879A,公开日2020年4月10日,一种基于区块链的数据存证方法,包括如下两个阶段:阶段一、生成合约文件:第一步、选择合约模板;用户根据实际应用场景按需选择如下五个合约模板:身份注册模板、数据发布模板、数据更新模板、数据评价模板、数据查验模板;第二步、配置合约模板;第三步、生成合约代码;第四步、安装部署智能合约;阶段二、智能合约调用:智能合约部署成功后,用户调用智能合约提供的方法,运行智能合约,完成数据上链存证。虽然其技术方案能够为用户提供简单的模板配置就可完成数据存证智能合约开发,但其不能解决电子设备的运行数据实时存证问题。
发明内容
本发明要解决的技术问题是:目前缺乏将电子数据实时存证的技术方案的问题。提出了一种基于区块链的电子数据实时存证系统及方法,本系统及方法能够几乎实时的将电子设备产生的运行数据立即存证,有效提高了电子数据的可信度。
为解决上述技术问题,本发明所采取的技术方案为:一种基于区块链的电子数据实时存证系统,本系统安装于电子设备中,将电子设备的运行数据实时存证,所述电子设备具有唯一的编号,包括:
数据缓冲模块,电子设备运行数据的增量电子数据被实时写入数据缓冲模块,数据缓冲模块具有若干个数据缓冲区;
数据存证模块,与数据缓冲模块连接,当数据缓冲模块的缓冲区被写满时取出其中的电子数据,关联电子设备的编号及时间戳作为数据块,将数据块及上一个数据块的哈希值一起提取哈希值,存储所提取的哈希值;
上链模块,与数据存证模块连接,以预设的周期,将周期内所述数据存证模块产生的全部哈希值打包为存证包,提取存证包的哈希值,将存证包的哈希值关联编号及时间戳后上传到区块链存储,获得区块链返回的区块高度和区块哈希值;
数据存储模块,与数据存证模块及上链模块连接,获得并以线性存储方式存储数据块、哈希值、存证包、区块高度以及区块哈希值,完成电子数据的存证。
作为优选,还包括锚点生成模块,所述锚点生成模块与数据存储模块连接,所述锚点生成模块在存档存储区紧随已被使用空间之后建立锚点,所述锚点占用预设长度的存储空间,将锚点和上一个锚点之间存储的数据块、哈希值以及上一个锚点哈希值一起提取哈希值,作为锚点哈希值,建立猜测值,使锚点哈希值和猜测值的哈希值满足预设工作量证明条件,将锚点哈希值和猜测值写入锚点占用的存储空间内,在获得满足条件的猜测值期间,数据存储模块存入了新的数据,此时所述锚点生成模块再次在已被使用的存储空间的末尾建立锚点,并再次尝试获得满足工作量证明的猜测值,所述上链模块产生存证包时,将锚点哈希值加入存证包。
作为优选,还包括交叉锚定模块,所述电子设备与其他电子设备建立通信连接,所述交叉锚定模块在所述锚点生成模块产生锚点哈希值后,将锚点哈希值关联电子设备的编号及时间戳后,发送给若干个其他电子设备的交叉锚定模块,其他电子设备的交叉锚定模块收到锚点哈希值后,将收到的锚点哈希值、编号和时间戳存储在已使用存储空间之后,所述的其他电子设备在随后生成锚点哈希值时,将锚点哈希值及锚点哈希值产生的时间戳反馈给所述电子设备,所述电子设备收到所述的其他电子设备反馈的锚点哈希值及锚点哈希值产生的时间戳时,将收到的所述的其他电子设备反馈的锚点哈希值、锚点哈希值产生的时间戳及所述的其他电子设备的编号存储到对应锚点占用的存储空间内。
作为优选,所述电子设备连接数据服务器,所述数据存储模块划分有至少两块存储区,当存储区内数据存储量达到设定值时,所述数据存储模块将其存储的数据上传到数据服务器,而后将存储区清空以供再次使用。
作为优选,还包括备份存储模块,所述备份存储模块与数据存储模块连接,所述数据存储模块存入数据时制作数据的副本发送至所述备份存储模块;
所述备份存储模块包括数据接收单元和若干个数据存储单元,所述数据接收单元与所述数据存储模块连接,接收数据存储单元发送的数据,若干个所述数据存储单元均与数据接收单元连接,所述数据存储单元将其存储空间划分出预设大小的空间段,为所述空间段建立地址表,所述地址表记录空间段的真实地址及指代地址,指代地址和真实地址一一对应,所述指代地址为十六进制数,所述数据存储单元将指代地址发送给数据接收单元,所述数据接收单元将数据存储单元发送的数据划分为与空间段长度匹配的数据段,赋予数据段唯一标识,为数据段分配指代地址并将数据段和指代地址发送给数据存储单元,而后将数据段唯一标识与对应的指代地址关联存储,所述数据存储单元收到数据段和指代地址后,将数据段存入所述指代地址对应的空间段,使用变换函数将所述指代地址进行变换并更新地址表,所述数据接收单元和数据存储单元约定若干个变换函数,所述数据存储单元从约定的若干个变换函数中随机选取一个变换函数对所述指代地址进行变换;读取数据时,所述数据接收单元将数据段对应的指代地址进行变换,将变换后的指代地址发送给数据存储单元,若数据存储单元能够从地址表中找到所述变换后的指代地址,则将对应真实地址的空间段内的数据反馈给所述数据接收单元,所述数据接收单元遍历全部变换函数,能够确保读取出数据段,所述数据接收单元读取出全部数据段时,即读取出完整的数据。
一种基于区块链的电子数据实时存证方法,使用如前述的一种基于区块链的电子数据实时存证系统,包括:
将增量电子数据写入数据缓冲区,若干个数据缓冲区轮流使用;
当数据缓冲区被写满时,取出其中的电子数据,关联分配的唯一的编号及时间戳作为数据块,将数据块及上一个数据块的哈希值一起提取哈希值,将数据块及所提取的哈希值存储在临时存储区;
达到预设的周期时,将临时存储区内存储的全部哈希值打包为存证包,提取存证包的哈希值,将存证包的哈希值关联编号及时间戳后上传到区块链存储,获得区块链返回的区块高度和区块哈希值;
将临时存储区内的数据块、对应的哈希值、存证包、区块高度以及区块哈希值按产生时间顺序排列,以线性存储方式存储在存档存储区。
作为优选,还包括以下步骤:在存档存储区的起始位置设置锚点,所述锚点占据预设长度的存储空间,所述锚点存储预设的随机数作为锚点哈希值,等待预设时长;
在存档存储区已被使用存储空间之后建立锚点,将锚点和上一个锚点之间存储的数据块、哈希值以及上一个锚点哈希值一起提取哈希值,作为当前锚点的锚点哈希值;
建立猜测值,使锚点哈希值与猜测值的提取哈希值满足预设工作量证明条件,将锚点哈希值和猜测值写入锚点占用的存储空间内;
在获得满足条件的猜测值期间,数据存储模块存入了新的数据,此时再次在已被使用的存储空间的末尾建立锚点,并再次尝试获得满足工作量证明的猜测值;
达到预设的周期时,将周期内存储的全部哈希值及锚点哈希值打包入存证包。
作为优选,当锚点哈希值产生后,将锚点哈希值关联编号,发送给若干个其他电子设备;
所述的其他电子设备将收到的锚点哈希值、编号和时间戳存储在已使用存储空间之后;
所述的其他电子设备在随后生成锚点哈希值时,将锚点哈希值及锚点哈希值产生的时间戳反馈给所述电子设备;
所述电子设备收到所述的其他电子设备反馈的锚点哈希值及锚点哈希值产生的时间戳时,将收到的所述的其他电子设备反馈的锚点哈希值、锚点哈希值产生的时间戳及所述的其他电子设备的编号存储到对应锚点占用的存储空间内。
作为优选,当所述存档存储区内的数据存储量达到预设值时,提取存档存储区存储数据的哈希值;
将存档存储区内的数据上传到数据服务器,并重置所述存档存储区;
在重置后的所述存档存储区的开头设置锚点,将提取获得的存档存储区存储数据的哈希值写入所述的锚点。
本发明的实质性效果是:1)通过将数据输入缓冲区,并在缓冲区被写满时即将缓冲区内存储数据及上一次获得哈希值一起提取哈希值,在电子设备本地即形成哈希值链,上传区块链前即达到了大幅提高了篡改数据的难度的效果,有力提升了电子设备的运行数据的可信度;2)通过工作量证明,进一步大幅提高了对电子数据篡改的难度,使事后更改电子数据而不留痕迹几乎不可能完成,进一步提高了电子数据的可信度;3)通过交叉锚定,在电子设备之间形成哈希值网,攻破和修改一个电子设备不能无痕迹的修改电子数据,为电子数据的真实性提供了可靠保证;4)通过将数据存储到数据服务器和备份存储模块,提高了电子数据的安全性,避免电子数据的丢失损毁,提高了电子数据安全性。
附图说明
图1为实施例一电子数据实时存证系统结构示意图。
图2为实施例一数据存储模块存储数据的结构示意图。
图3为实施例一电子数据实时存证方法流程示意图。
图4为实施例一生成锚点方法流程示意图。
图5为实施例一交叉存储锚点方法流程示意图。
图6为实施例二备份存储模工作方法流程示意图。
其中:11、数据缓冲模块,12、数据存证模块,13、数据存储模块,14、上链模块,15、备份存储模块,16、锚点生成模块,17、交叉锚定模块,20、区块链,30、数据服务器,101、锚点,102、数据块,103、数据块哈希值,104、存证包,105、存证包哈希值,151、数据接收单元,152、数据存储单元。
具体实施方式
下面通过具体实施例,并结合附图,对本发明的具体实施方式作进一步具体说明。
实施例一:
一种基于区块链20的电子数据实时存证系统,本系统安装于电子设备中,将电子设备的运行数据实时存证,电子设备具有唯一的编号,请参阅附图1,本实施例包括:
数据缓冲模块11,电子设备运行数据的增量电子数据被实时写入数据缓冲模块11,数据缓冲模块11具有若干个数据缓冲区。若干个数据缓冲区交叉使用,对于实时产生的数据流,能够不遗漏的接收数据,保证电子数据接收的流畅和完整。
数据存证模块12,与数据缓冲模块11连接,当数据缓冲模块11的缓冲区被写满时取出其中的电子数据,关联电子设备的编号及时间戳作为数据块102,将数据块102及上一个数据块102的哈希值一起提取哈希值,存储所提取的哈希值。将数据块102和上一个数据块102的哈希值一起提取哈希值作为当前数据块102的哈希值,形成了哈希值的连接,随着时间的推移,恶意修改数据块102中的内容,会导致其后的全部数据块102的哈希值都发生改变,需要全部重新提取哈希值,给恶意修改数据块102带来极高的算力成本。且缩小数据缓冲区的存储空间,更为频繁的生成数据块102,以更为频繁的产生数据块102的哈希值,并不会给实时存证系统带来明显的运算压力,但能够大幅提高数据恶意修改的成本。如表1所示,本实施例用于视频监控设备的监控数据的实时存证,将每3分钟产生的视频监控文件作为数据块102,提取数据块102的哈希值。本实施例采用SHA265函数进行哈希值的提取。
表1 本实施例产生的数据块102和数据块102的哈希值
数据块102 数据块哈希值103
数据块10250:视频监控50.cif|6002352|1620832032 4a43ba7fb761410119b894ead1fdb213033a2afa7760d12c1e363aa6f23ced46
数据块10251:视频监控51.cif|6002352|1620832211 77e1ef41a3b1c90b55225b06bc8944b27f9b9fe376f56ad95f626a752076609a
数据块10252:视频监控52.cif|6002352|1620832395 e02be95b03a4dabe0a386803fe1dffe709fe66e333c35ed0287393535164bd37
数据块10253:视频监控53.cif|6002352|1620832575 2f31338125b5e8bb1795ca33c49bb5ee202bd5f9bd53f3a93ea0c44fae0a664b
上链模块14,与数据存证模块12连接,以预设的周期,将周期内数据存证模块12产生的全部哈希值打包为存证包104,提取存证包104的哈希值,将存证包104的哈希值关联编号及时间戳后上传到区块链20存储,获得区块链20返回的区块高度和区块哈希值。将周期内的数据存证模块12产生的全部哈希值打包成存证包104,并将存证包104的哈希值上传到区块链20后,即能够保证存证包104内的数据不能被无痕迹的修改。本实施例的周期为9分钟,即每产生3个数据块102,进行上链处理。本实施例所指周期并非严格时间上的9分钟周期,而是以数据块102数量为周期,即3个数据块102为一个周期。如表2所示,为本实施例在第18个周期时产生的存证包104的内容,即包含了数据块10251至数据块10253的哈希值,将这些数据一起使用SHA256提取哈希值,获得存证包104的哈希值为:561a6461be8123d9ca0a4f225e0ad649d34bae483d2df9fb1eb4b97d402c0dc4,将该哈希值关联电子设备的编号6002352和对应的时间戳1620832595,即将数据:“561a6461be8123d9ca0a4f225e0ad649d34bae483d2df9fb1eb4b97d402c0dc4|6002352|1620832595”上传到区块链20存储。从区块链20获得反馈的区块高度和区块哈希值。将其存入数据存储模块13。
表2 第18个周期所产生的存证包104包含的内容
77e1ef41a3b1c90b55225b06bc8944b27f9b9fe376f56ad95f626a752076609a
e02be95b03a4dabe0a386803fe1dffe709fe66e333c35ed0287393535164bd37
2f31338125b5e8bb1795ca33c49bb5ee202bd5f9bd53f3a93ea0c44fae0a664b
数据存储模块13,与数据存证模块12及上链模块14连接,获得并以线性存储方式存储数据块102、哈希值、存证包104、区块高度以及区块哈希值,完成电子数据的存证。如表3所示,为第18个周期所产生的数据。
表3 第18个周期内数据存储模块13存储的内容
数据块10251 哈希值51 数据块10252 哈希值52 数据块10253 哈希值53 存证包10418 存证包哈希值10518|区块高度|区块哈希值 锚点101
锚点生成模块16,锚点生成模块16与数据存储模块13连接,锚点生成模块16在存档存储区紧随已被使用空间之后建立锚点101,锚点101占用预设长度的存储空间,将锚点101和上一个锚点101之间存储的数据块102、哈希值以及上一个锚点哈希值一起提取哈希值,作为锚点哈希值,建立猜测值,使锚点哈希值和猜测值的哈希值满足预设工作量证明条件,将锚点哈希值和猜测值写入锚点101占用的存储空间内,在获得满足条件的猜测值期间,数据存储模块13存入了新的数据,此时锚点生成模块16再次在已被使用的存储空间的末尾建立锚点101,并再次尝试获得满足工作量证明的猜测值,上链模块14产生存证包104时,将锚点哈希值加入存证包104。由于在区块链20上存储数据,需要支付相应费用,若频繁的将存证包104的哈希值上链存储,虽然能提高电子数据的可信度,但同时也抬高了电子数据存证的成本。尤其是在有大量设备同时运行的情况下,会带来成本过高的问题。
工作量证明(Proof-of-Work,PoW)是一种对应服务与资源滥用、或是阻断服务攻击的经济对策。一般是要求用户进行一些耗时适当的复杂运算,并且答案能被服务方快速验算,以此耗用的时间、设备与能源做为担保成本,以确保服务与资源是被真正的需求所使用。工作量证明最常用的技术原理是散列函数。由于输入散列函数hash()的任意值n,会对应到一个hash(n)结果,而n只要变动一个比特,就会引起雪崩效应,所以几乎无法从hash(n)反推回n,因此借由指定查找hash(n)的特征,让用户进行大量的穷举运算,就可以达成工作量证明。比如若指定16进制值的哈希值的前4位必须为0,求满足哈希值的前4位为0的n。这种运算的统计学平均穷举次数约要运行2的16次方次hash(n)散列运算,才会得到答案,但验算只要进行一次就可以了。通过工作量证明,能够大幅延长恶意修改数据时,抹去修改痕迹所需要的时间,通过建立锚点生成模块16,在数据块102之间填入锚点101,并在锚点101中填入符合预设工作量证明条件的随机数,当数据块102内的内容被恶意修改时,修改者不仅需要更新每个数据块102的哈希值,还需要更新被修改的数据块102之后的每个锚点101内的内容,即使被修改的数据块102还没有被打包入存证包104,也已经具有了很高的抗修改性,对其恶意修改会带来非常高的算力成本,且不能保证修改能够在多长的时间内完成,大幅提高了恶意修改数据块102的风险成本。
为方便锚点101的定位,本实施例中锚点生成模块16总是在某个周期的末尾之后添加锚点101。在第1个周期之前添加的锚点101为初始锚点101,而后在第18个周期之后添加了第二个锚点101。第二个锚点101记录了一个哈希值,该哈希值为从第1个周期开始,直到第18个周期内的全部数据提取获得的哈希值,记为锚点哈希值。而后锚点101还记录了一个猜测值,猜测值和锚点哈希值一起提取获得哈希值的前5位取值为0,每个猜测值满足前5位取值为0的概率为1/1048576。能够足够提高篡改数据的难度。尤其是篡改数据跨越多个锚点101时。
交叉锚定模块17,电子设备与其他电子设备建立通信连接,交叉锚定模块17在锚点生成模块16产生锚点哈希值后,将锚点哈希值关联电子设备的编号及时间戳后,发送给若干个其他电子设备的交叉锚定模块17,其他电子设备的交叉锚定模块17收到锚点哈希值后,将收到的锚点哈希值、编号和时间戳存储在已使用存储空间之后,的其他电子设备在随后生成锚点哈希值时,将锚点哈希值及锚点哈希值产生的时间戳反馈给电子设备,电子设备收到的其他电子设备反馈的锚点哈希值及锚点哈希值产生的时间戳时,将收到的的其他电子设备反馈的锚点哈希值、锚点哈希值产生的时间戳及的其他电子设备的编号存储到对应锚点101占用的存储空间内。将锚点101内的锚点哈希值与其他电子设备之间进行交叉存储,并记录交叉存储其锚点哈希值的电子设备编号,能够从其他电子设备的对应时间内的存储数据内找到相应的锚点哈希值。从而使得即使成功的修改了本电子设备的存储数据,也会因交叉锚定而暴露修改痕迹。同时控制并修改多个电子设备的存储数据成本将是十分高昂的,从而使得电子数据在未被上链前,就可以形成几乎不可被修改的可信度。请参阅附图2,为数据存储模块13存储的数据的结构示意图。本实施例提供的方案能够降低上链存储的频率,从而降低电子数据存证的成本,并同时保证了电子数据存证的可信度,适合大量投入使用的且产生大量运行数据的电子设备的数据的实施存证。如表4记载了位于第18个周期后的锚点101内存储的内容,第二个锚点101内存储了3个其他设备的编号、锚点哈希值及时间戳,即在产生第二个锚点101时,本电子设备将锚点哈希值发生给了3个其他电子设备,进行交叉锚定。第二个锚点101所占用的存储空间还存在部分空间未被使用。
表4 位于第18个周期后的锚点101内存储的内容
锚点哈希值 猜测值 编号1|锚点哈希值1|时间戳1 编号2|锚点哈希值2|时间戳2 编号3|锚点哈希值3|时间戳3 NULL
电子设备连接数据服务器30,数据存储模块13划分有至少两块存储区,当存储区内数据存储量达到设定值时,数据存储模块13将其存储的数据上传到数据服务器30,而后将存储区清空以供再次使用。
一种基于区块链20的电子数据实时存证方法,请参阅附图3,包括:
步骤A)将增量电子数据写入数据缓冲区,若干个数据缓冲区轮流使用;
步骤B)当数据缓冲区被写满时,取出其中的电子数据,关联分配的唯一的编号及时间戳作为数据块102;
步骤C)将数据块102及上一个数据块102的哈希值一起提取哈希值,将数据块102及所提取的哈希值存储在临时存储区;
步骤D)达到预设的周期时,将临时存储区内存储的全部哈希值打包为存证包104,提取存证包104的哈希值,将存证包104的哈希值关联编号及时间戳后上传到区块链20存储,获得区块链20返回的区块高度和区块哈希值;
步骤E)将临时存储区内的数据块102、对应的哈希值、存证包104、区块高度以及区块哈希值按产生时间顺序排列,以线性存储方式存储在存档存储区。
请参阅附图4,生成锚点101的方法包括:
步骤F1)在存档存储区的起始位置设置锚点101,锚点101占据预设长度的存储空间,锚点101存储预设的随机数作为锚点哈希值,等待预设时长;
步骤F2)在存档存储区已被使用存储空间之后建立锚点101,将锚点101和上一个锚点101之间存储的数据块102、哈希值以及上一个锚点哈希值一起提取哈希值,作为当前锚点101的锚点哈希值;
步骤F3)建立猜测值,使锚点哈希值与猜测值的提取哈希值满足预设工作量证明条件,将锚点哈希值和猜测值写入锚点101占用的存储空间内;
在获得满足条件的猜测值期间,数据存储模块13存入了新的数据,此时再次在已被使用的存储空间的末尾建立锚点101,并再次尝试获得满足工作量证明的猜测值;
达到预设的周期时,将周期内存储的全部哈希值及锚点哈希值打包入存证包104。
请参阅附图5,进行交叉锚定的方法包括:
步骤G1)当锚点哈希值产生后,将锚点哈希值关联编号,发送给若干个其他电子设备;
步骤G2)其他电子设备将收到的锚点哈希值、编号和时间戳存储在已使用存储空间之后;
步骤G3)其他电子设备在随后生成锚点哈希值时,将锚点哈希值及锚点哈希值产生的时间戳反馈给电子设备;
步骤G4)电子设备收到的其他电子设备反馈的锚点哈希值及锚点哈希值产生的时间戳时,将收到的的其他电子设备反馈的锚点哈希值、锚点哈希值产生的时间戳及的其他电子设备的编号存储到对应锚点101占用的存储空间内。
为方便数据的汇集,本实施例还设置了数据服务器30。当存档存储区内的数据存储量达到预设值时,提取存档存储区存储数据的哈希值,将存档存储区内的数据上传到数据服务器30,并重置存档存储区,在重置后的存档存储区的开头设置锚点101,将提取获得的存档存储区存储数据的哈希值写入的锚点101。虽然数据被写入了数据服务器30,但数据之间存在的哈希值链接关系并未被改变,因而上传到数据服务器30的电子数据同样具有非常高的抗修改性,且具有上传到区块链20的存证包哈希值105,能够证明数据的真实性。
本实施例应用在网络监控摄像头中,将网络监控摄像头产生的监控视频数据实时的进行存证。
具体过程包括:
为每个网络摄像头分配编号,如编号为6002352的网络摄像头,在监控过程中其不间断的产生监控视频数据,即待存证的电子数据,将不间断产生的监控视频数据输入到数据缓冲区,但一个数据缓冲区被写满时,输入到另一个数据缓冲区,被写满的数据缓冲区内的数据被数据存证模块12取出,取出后重置数据缓冲区,从而轮流使用两个数据缓冲区,不间断的读取网络摄像头的监控视频数据。
数据存证模块12取出数据缓冲区内的视频监控数据后,将视频监控数据关联网络摄像头的编号6002352以及当前时间戳关联后,作为数据块102,提取数据块102的哈希值。将数据块102和数据块102的哈希值存储起来。
当产生三个数据块102时,到达存证周期,将三个数据块102的哈希值打包为存证包104,将存证包104存储,并将存证包104的哈希值与编号6002352及时间戳,上传到区块链20存储,获得区块链20反馈的当前区块高度和区块哈希值,将存证包哈希值105、区块高度以及区块哈希值存储起来。
当完成第18个存证包104的获取和存储时,在其后设置锚点101,锚点101占用预设长度的存储空间,锚点101记录了一个哈希值,该哈希值为从第1个周期开始,直到第18个周期内的全部数据提取获得的哈希值,记为锚点哈希值。锚点101还存储了一个猜测值,猜测值和锚点哈希值一起提取获得哈希值的前5位取值为0,每个猜测值满足前5位取值为0的概率为1/1048576,因而需要锚点生成模块16进行大量的穷举猜测。
当产生锚点哈希值后,将锚点哈希值发送给任意的其他网络摄像头,本实施例的第二个锚点101发送给了3个其他的网络摄像头,并在收到3个其他网络摄像头反馈回来的编号、锚点哈希值及时间戳后,将其填入锚点101占用的存储空间内。本实施例中锚点101占用的存储空间还剩余一段未使用,若参与交叉锚定其他的网络摄像头较多,则丢弃无法完整存储的网络摄像头反馈的编号、锚点哈希值及时间戳。
当数据存储模块13的存储空间将要被用完时,数据存储模块13将其内存储的数据上传到数据服务器30,腾出相应的空间循环使用。
本实施例的有益技术效果是:将电子设备实时产生的运行数据输入缓冲区,并在缓冲区被写满时即将缓冲区内存储数据及上一次获得哈希值一起提取哈希值,在电子设备本地即形成哈希值链,上传区块链20前即达到了大幅提高了篡改数据的难度的效果,有力提升了电子设备的运行数据的可信度。
附加了工作量证明,进一步大幅提高了对电子数据篡改的难度,使事后更改电子数据而不留痕迹几乎不可能完成。再结合交叉锚定技术,在电子设备之间形成哈希值网,攻破和修改一个电子设备不能无痕迹的修改电子数据,为电子数据的真实性提供了可靠保证。将数据存储到数据服务器30和备份存储模块15,提高了电子数据的安全性,避免电子数据的丢失损毁,使电子设备不需要配备大容量的存储设备,降低电子设备的运行成本。
实施例二:
一种基于区块链20的电子数据实时存证系统,本实施例在实施例一的基础上增加了备份存储模块15,以进一步提高电子数据的安全性,避免电子数据的丢失。请参阅附图6,备份存储模块15与数据存储模块13连接,数据存储模块13存入数据时制作数据的副本发送至备份存储模块15。
备份存储模块15的工作方法包括:
步骤E1)备份存储模块15包括数据接收单元151和若干个数据存储单元152,数据接收单元151与数据存储模块13连接,接收数据存储单元152发送的数据,若干个数据存储单元152均与数据接收单元151连接,数据存储单元152将其存储空间划分出预设大小的空间段,为空间段建立地址表,地址表记录空间段的真实地址及指代地址,指代地址和真实地址一一对应,指代地址为十六进制数,数据存储单元152将指代地址发送给数据接收单元151。如表5所示,为本实施例中数据存储单元152建立的地址表。
表5 数据存储单元152建立的地址表
指代地址 真实地址
1A25C512H (62,13,8)
5DC4250EH (62,13,9)
6A586EF1H (62,13,10)
步骤E2)数据接收单元151和数据存储单元152约定若干个变换函数。变换函数双方约定一致即可,对其形式无任何约束,如按位取反、按位循环左移/右移、仅取前32位、丢弃最后4位、将最后8位向前挪移16位、最后8位取反或与一个预设值按位异或。只要双方约定一致,即可保证能够获得正确的变换结果。将指代地址更新后,原指代地址将不能操作任何数据,数据接收单元151以原指代地址进行读取、修改或删除操作,都不会产生任何实际数据的变化,从而使得备份存储模块15具有极高的安全性。
步骤E3)数据接收单元151将数据存储单元152发送的数据划分为与空间段长度匹配的数据段,赋予数据段唯一标识。
步骤E4)为数据段分配指代地址并将数据段和指代地址发送给数据存储单元152,而后将数据段唯一标识与对应的指代地址关联存储。
步骤E5)数据存储单元152收到数据段和指代地址后,将数据段存入指代地址对应的空间段。
步骤E6)使用变换函数将指代地址进行变换并更新地址表,数据接收单元151和数据存储单元152约定若干个变换函数,数据存储单元152从约定的若干个变换函数中随机选取一个变换函数对指代地址进行变换。如表6所示,真实地址对应的存储空间被存入数据后,相应的指代地址即被变换。表6中可见同样的真实地址,其指代地址已发生变化。使得数据接收单元151无法再对数据存储单元152的数据进行读取、修改和删除,从而保护了数据的安全。
表6 数据存储单元152进行变换后的地址表
指代地址 真实地址
25C512H (62,13,8)
9AE4250EH (62,13,9)
6E6A58F1H (62,13,10)
步骤E7)读取数据时,数据接收单元151将数据段对应的指代地址进行变换,将变换后的指代地址发送给数据存储单元152。
步骤E8)若数据存储单元152能够从地址表中找到变换后的指代地址,则将对应真实地址的空间段内的数据反馈给数据接收单元151。数据存储单元152仅将其地址表中存在的指代地址对应的数据反馈给数据接收单元151。
步骤E9)数据接收单元151遍历全部变换函数,能够确保读取出数据段,数据接收单元151不断重复,读取出全部数据段时,即能够读取出完整的数据。其余步骤同实施例一。
相对于实施例一,本实施例在电子设备处配备了能够快速写入,但读取却十分缓慢的备份存储模块15,使得对备份存储模块15的读取、修改或删除,都会十分缓慢。当约定的变换函数足够多时,或者数据段足够短,会导致对备份存储模块15的修改需要消耗极大的算力和时间成本,从而能够有效的保护电子数据的安全。当数据服务器30上的电子数据丢失时,通过备份存储模块15虽然缓慢,但能够复原出数据,从而提供最为真实的电子设备运行产生的电子数据,助于事后查证。
以上所述的实施例只是本发明的一种较佳的方案,并非对本发明作任何形式上的限制,在不超出权利要求所记载的技术方案的前提下还有其它的变体及改型。

Claims (7)

1.一种基于区块链的电子数据实时存证系统,本系统安装于电子设备中,将电子设备的运行数据实时存证,所述电子设备具有唯一的编号,其特征在于,包括:
数据缓冲模块,电子设备运行数据的增量电子数据被实时写入数据缓冲模块,数据缓冲模块具有若干个数据缓冲区;
数据存证模块,与数据缓冲模块连接,当数据缓冲模块的缓冲区被写满时取出其中的电子数据,关联电子设备的编号及时间戳作为数据块,将数据块及上一个数据块的哈希值一起提取哈希值,存储所提取的哈希值;
上链模块,与数据存证模块连接,以预设的周期,将周期内所述数据存证模块产生的全部哈希值打包为存证包,提取存证包的哈希值,将存证包的哈希值关联编号及时间戳后上传到区块链存储,获得区块链返回的区块高度和区块哈希值;
数据存储模块,与数据存证模块及上链模块连接,获得并以线性存储方式存储数据块、哈希值、存证包、区块高度以及区块哈希值,完成电子数据的存证;
还包括锚点生成模块,所述锚点生成模块与数据存储模块连接,所述锚点生成模块在存档存储区紧随已被使用空间之后建立锚点,所述锚点占用预设长度的存储空间,将锚点和上一个锚点之间存储的数据块、哈希值以及上一个锚点哈希值一起提取哈希值,作为锚点哈希值,建立猜测值,使锚点哈希值和猜测值的哈希值满足预设工作量证明条件,将锚点哈希值和猜测值写入锚点占用的存储空间内,在获得满足条件的猜测值期间,数据存储模块存入了新的数据,此时所述锚点生成模块再次在已被使用的存储空间的末尾建立锚点,并再次尝试获得满足工作量证明的猜测值,所述上链模块产生存证包时,将锚点哈希值加入存证包;
还包括交叉锚定模块,所述电子设备与其他电子设备建立通信连接,所述交叉锚定模块在所述锚点生成模块产生锚点哈希值后,将锚点哈希值关联电子设备的编号及时间戳后,发送给若干个其他电子设备的交叉锚定模块,其他电子设备的交叉锚定模块收到锚点哈希值后,将收到的锚点哈希值、编号和时间戳存储在已使用存储空间之后,所述的其他电子设备在随后生成锚点哈希值时,将锚点哈希值及锚点哈希值产生的时间戳反馈给所述电子设备,所述电子设备收到所述的其他电子设备反馈的锚点哈希值及锚点哈希值产生的时间戳时,将收到的所述的其他电子设备反馈的锚点哈希值、锚点哈希值产生的时间戳及所述的其他电子设备的编号存储到对应锚点占用的存储空间内。
2.根据权利要求1所述的一种基于区块链的电子数据实时存证系统,其特征在于,
所述电子设备连接数据服务器,所述数据存储模块划分有至少两块存储区,当存储区内数据存储量达到设定值时,所述数据存储模块将其存储的数据上传到数据服务器,而后将存储区清空以供再次使用。
3.根据权利要求1或2所述的一种基于区块链的电子数据实时存证系统,其特征在于,
还包括备份存储模块,所述备份存储模块与数据存储模块连接,所述数据存储模块存入数据时制作数据的副本发送至所述备份存储模块;
所述备份存储模块包括数据接收单元和数据存储单元,所述数据接收单元与所述数据存储模块连接,接收数据存储单元发送的数据,所述数据存储单元与数据接收单元连接,所述数据存储单元将其存储空间划分出预设大小的空间段,为所述空间段建立地址表,所述地址表记录空间段的真实地址及指代地址,指代地址和真实地址一一对应,所述指代地址为十六进制数,所述数据存储单元将指代地址发送给数据接收单元,所述数据接收单元将数据存储单元发送的数据划分为与空间段长度匹配的数据段,赋予数据段唯一标识,为数据段分配指代地址并将数据段和指代地址发送给数据存储单元,而后将数据段唯一标识与对应的指代地址关联存储,所述数据存储单元收到数据段和指代地址后,将数据段存入所述指代地址对应的空间段,使用变换函数将所述指代地址进行变换并更新地址表,所述数据接收单元和数据存储单元约定若干个变换函数,所述数据存储单元从约定的若干个变换函数中随机选取一个变换函数对所述指代地址进行变换;读取数据时,所述数据接收单元将数据段对应的指代地址进行变换,将变换后的指代地址发送给数据存储单元,若数据存储单元能够从地址表中找到所述变换后的指代地址,则将对应真实地址的空间段内的数据反馈给所述数据接收单元,所述数据接收单元遍历全部变换函数,能够确保读取出数据段,所述数据接收单元不断重复该过程,能够读取出完整的数据。
4.一种基于区块链的电子数据实时存证方法,使用如权利要求1至3任一项所述的一种基于区块链的电子数据实时存证系统,其特征在于,
包括:
将增量电子数据写入数据缓冲区,若干个数据缓冲区轮流使用;
当数据缓冲区被写满时,取出其中的电子数据,关联分配的唯一的编号及时间戳作为数据块,将数据块及上一个数据块的哈希值一起提取哈希值,将数据块及所提取的哈希值存储在临时存储区;
达到预设的周期时,将临时存储区内存储的全部哈希值打包为存证包,提取存证包的哈希值,将存证包的哈希值关联编号及时间戳后上传到区块链存储,获得区块链返回的区块高度和区块哈希值;
将临时存储区内的数据块、对应的哈希值、存证包、区块高度以及区块哈希值以线性存储方式存储在存档存储区。
5.根据权利要求4所述的一种基于区块链的电子数据实时存证方法,其特征在于,
还包括以下步骤:
在存档存储区的起始位置设置锚点,所述锚点占据预设长度的存储空间,所述锚点存储预设的随机数作为锚点哈希值,等待预设时长;
在存档存储区已被使用存储空间之后建立锚点,将锚点和上一个锚点之间存储的数据块、哈希值以及上一个锚点哈希值一起提取哈希值,作为当前锚点的锚点哈希值;
建立猜测值,使锚点哈希值与猜测值的提取哈希值满足预设工作量证明条件,将锚点哈希值和猜测值写入锚点占用的存储空间内;
在获得满足条件的猜测值期间,数据存储模块存入了新的数据,此时再次在已被使用的存储空间的末尾建立锚点,并再次尝试获得满足工作量证明的猜测值;
达到预设的周期时,将周期内存储的全部哈希值及锚点哈希值打包入存证包。
6.根据权利要求5所述的一种基于区块链的电子数据实时存证方法,其特征在于,
当锚点哈希值产生后,将锚点哈希值关联编号,发送给若干个其他电子设备;
所述的其他电子设备将收到的锚点哈希值、编号和时间戳存储在已使用存储空间之后;
所述的其他电子设备在随后生成锚点哈希值时,将锚点哈希值及锚点哈希值产生的时间戳反馈给所述电子设备;
所述电子设备收到所述的其他电子设备反馈的锚点哈希值及锚点哈希值产生的时间戳时,将收到的所述的其他电子设备反馈的锚点哈希值、锚点哈希值产生的时间戳及所述的其他电子设备的编号存储到对应锚点占用的存储空间内。
7.根据权利要求5或6所述的一种基于区块链的电子数据实时存证方法,其特征在于,
当所述存档存储区内的数据存储量达到预设值时,提取存档存储区存储数据的哈希值;
将存档存储区内的数据上传到数据服务器,并重置所述存档存储区;
在重置后的所述存档存储区的开头设置锚点,将提取获得的存档存储区存储数据的哈希值写入所述的锚点。
CN202110596580.5A 2021-05-31 2021-05-31 一种基于区块链的电子数据实时存证系统及方法 Active CN113297223B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110596580.5A CN113297223B (zh) 2021-05-31 2021-05-31 一种基于区块链的电子数据实时存证系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110596580.5A CN113297223B (zh) 2021-05-31 2021-05-31 一种基于区块链的电子数据实时存证系统及方法

Publications (2)

Publication Number Publication Date
CN113297223A CN113297223A (zh) 2021-08-24
CN113297223B true CN113297223B (zh) 2022-08-02

Family

ID=77326195

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110596580.5A Active CN113297223B (zh) 2021-05-31 2021-05-31 一种基于区块链的电子数据实时存证系统及方法

Country Status (1)

Country Link
CN (1) CN113297223B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113729512B (zh) * 2021-09-13 2022-07-22 浙江旅游职业学院 一种基于区块链的分子料理监控系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815530A (zh) * 2016-12-26 2017-06-09 北京爱接力科技发展有限公司 数据存证方法、数据校验方法及装置
CN110347645A (zh) * 2019-06-19 2019-10-18 阿里巴巴集团控股有限公司 一种电子文件存证方法及装置
CN111177172A (zh) * 2019-12-31 2020-05-19 江苏荣泽信息科技股份有限公司 一种基于区块链的电子存证系统
CN112100460A (zh) * 2020-11-06 2020-12-18 腾讯科技(深圳)有限公司 基于区块链的网络页面存证方法、装置、介质及电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10965466B2 (en) * 2018-08-03 2021-03-30 National Taiwan University Estimable proof-of-work for blockchain

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815530A (zh) * 2016-12-26 2017-06-09 北京爱接力科技发展有限公司 数据存证方法、数据校验方法及装置
CN110347645A (zh) * 2019-06-19 2019-10-18 阿里巴巴集团控股有限公司 一种电子文件存证方法及装置
CN111177172A (zh) * 2019-12-31 2020-05-19 江苏荣泽信息科技股份有限公司 一种基于区块链的电子存证系统
CN112100460A (zh) * 2020-11-06 2020-12-18 腾讯科技(深圳)有限公司 基于区块链的网络页面存证方法、装置、介质及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于私有链的存证云盘系统方案设计;黄永洪等;《信息技术与标准化》;20180731;第16-20页 *

Also Published As

Publication number Publication date
CN113297223A (zh) 2021-08-24

Similar Documents

Publication Publication Date Title
CN109542979B (zh) 一种区块链系统快速同步及简精数据存储的方式
CN110784495B (zh) 基于区块链的大数据集群系统的发现与配置信息管理方法
CN109542883B (zh) 一种基于区块链的信息查重方法
CN110995513B (zh) 物联网系统中的数据发送、接收方法、物联网设备及平台
CN108876384B (zh) 一种交易数据的处理方法及装置
CN111241569B (zh) 一种信息处理的方法、装置及设备
CN110597824B (zh) 一种基于区块链网络的数据存储方法以及装置
CN104104717A (zh) 投放渠道数据统计方法及装置
WO2023020242A1 (zh) 基于区块链的数据处理方法、装置、计算机设备、计算机可读存储介质及计算机程序产品
CN111522874B (zh) 区块链共识方法、装置、计算机设备和存储介质
CN111899019A (zh) 一种黑名单多方交叉验证和共享的方法及系统
CN108898440A (zh) 流量兑换方法和装置
CN113297223B (zh) 一种基于区块链的电子数据实时存证系统及方法
CN110866265A (zh) 一种基于区块链的数据存储方法、设备及存储介质
CN112328565A (zh) 一种基于区块链的资源共享的方法及装置
CN111984735A (zh) 一种数据归档方法、装置、电子设备和存储介质
CN111432009A (zh) 一种区块链数据的同步方法、装置及电子设备、存储介质
CN111865983A (zh) 一种基于区块链的数据安全追溯方法
CN110474968B (zh) 一种自适感知式的区块链混合共识机制架构及其方法
CN116910820A (zh) 数据报表处理方法、装置、计算机设备以及存储介质
CN112329029A (zh) 一种基于区块链的电子档案文件安全存储的方法及系统
CN113468574B (zh) 一种区块链数据上链方法和装置
CN115203327A (zh) 一种区块链安控系统事故追溯方法及系统
CN113111074B (zh) 基于区块链的交互数据监测方法及装置
CN113676314B (zh) 量子密钥管理方法、比对方法、输出方法、装置及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A blockchain-based real-time electronic data storage system and method

Effective date of registration: 20220825

Granted publication date: 20220802

Pledgee: Bank of Beijing Limited by Share Ltd. Hangzhou branch

Pledgor: ZHEJIANG SHUQIN TECHNOLOGY CO.,LTD.

Registration number: Y2022330001899

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Granted publication date: 20220802

Pledgee: Bank of Beijing Limited by Share Ltd. Hangzhou branch

Pledgor: ZHEJIANG SHUQIN TECHNOLOGY CO.,LTD.

Registration number: Y2022330001899

PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A real-time electronic data storage system and method based on blockchain technology

Granted publication date: 20220802

Pledgee: Zhejiang Hangzhou Yuhang Rural Commercial Bank Co.,Ltd. Science and Technology City Branch

Pledgor: ZHEJIANG SHUQIN TECHNOLOGY CO.,LTD.

Registration number: Y2024980042667