CN109635595B - 一种基于区块链的数据防篡改方法 - Google Patents

一种基于区块链的数据防篡改方法 Download PDF

Info

Publication number
CN109635595B
CN109635595B CN201811636084.2A CN201811636084A CN109635595B CN 109635595 B CN109635595 B CN 109635595B CN 201811636084 A CN201811636084 A CN 201811636084A CN 109635595 B CN109635595 B CN 109635595B
Authority
CN
China
Prior art keywords
data
error
record
tamper
user
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
CN201811636084.2A
Other languages
English (en)
Other versions
CN109635595A (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.)
Hangzhou Qulian Technology Co Ltd
Original Assignee
Hangzhou Qulian 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 Hangzhou Qulian Technology Co Ltd filed Critical Hangzhou Qulian Technology Co Ltd
Priority to CN201811636084.2A priority Critical patent/CN109635595B/zh
Publication of CN109635595A publication Critical patent/CN109635595A/zh
Application granted granted Critical
Publication of CN109635595B publication Critical patent/CN109635595B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于区块链的数据防篡改方法。通过对数据存储结构进行链式设计,使用区块链技术作为数据备份的手段,将存储和验证分离,达到公开信息可共用同时防篡改的效果。本发明实现了基于区块链的防篡改系统,解决了数据不透明以及篡改后难以恢复的问题。

Description

一种基于区块链的数据防篡改方法
技术领域
本发明涉及一种基于区块链技术的数据存储协议,尤其涉及一种基于区块链的数据防篡改方法。
背景技术
区块链技术,区块链是一种新型去中心化分布式账本技术,能安全地存储数字货币交易或其他数据,特点是存储在区块链上的信息不可伪造和篡改,区块链共识算法驱动区块链上的每个节点都参与到交易的验证过程中,保证区块链上交易都是经过确认可信的,区块链上每个节点都维护一个公共的账本,用于存储区块链网络上所有用户的余额和智能合约数据,任何一个节点对自己所维护的账本的修改都将不被其他节点所承认,从而保证公共账本不可被伪造和篡改。
由于区块链本身的公开不可篡改的特性,一些不愿公开的数据无法存储在区块链中,同时存储在区块链中的数据需要通过共识这一环节,导致完成存储时间过长,效率低下。
数据库能够存储所需的数据,但是在频繁的读写操作中,难以发现数据是否被篡改,滞后性严重,一旦发现问题可能已经造成无法挽回的损失。
通过查询数据库日志虽然能够发现数据是否被篡改,面对大量的操作日志可读性差,操作难度高,难以区分正常修改和恶意篡改。直接查询获取区块链中的数据进行对比,虽然也能发现数据篡改,但是耗时长效率低下。
发明内容
本发明的目的是针对现有技术的不足,提供一种基于区块链的数据防篡改方法。
本发明的目的是通过以下技术方案来实现的:一种基于区块链的数据防篡改方法,增加数据的透明度,及时发现矛盾数据并修改,具体包括如下步骤:
(1)使用者将数据保存在自己管理的数据库;
(2)将存储的数据做一定的计算,转换成可以公开的真实数据,发送到防篡改节点;
(3)将步骤(2)中的可公开数据做一次统一结构化处理,作为一条记录,存放在记录池中;
(4)当步骤(3)中记录池到达一定数量,或者到达最晚打包时间时,将记录打包成记录表,记录表中包含表号,随机表签名,最后表签名,错误表序列;
(5)验证随机表和最后表的正确性,将步骤(4)的表添加自身签名,合并错误表序列和错误数据,添加错误表序列签名,将产生的表添加到准备发布的区块中;
(6)将步骤(5)中验证出来错误的记录表号添加到错误数组中,并将区块发布到区块链网络中;
(7)当步骤(5)产生的区块被共识后,返回块中记录相关的区块号和表号;
(8)从最新表往前验证表正确性,错误表号添加到错误数组,错误数组与所有表中的错误表序列合并,更新错误表序列签名;
(9)重复步骤(3)-步骤(8)直至处理完记录池中所有记录,最终将使用者所有可公开记录备份在区块链网络中,并且无法被篡改,同时使用者可以通过对比防篡改节点中的数据验证数据。
进一步地,步骤(1)中用户将完整的数据保存在自己管理的数据库中,无需向外界公开。
进一步地,步骤(2)中用户对数据进行自定义的处理,制定规则将收到的数据做一层封装,将可以公开的信息展示出来作为一条记录存在防篡改节点中。
进一步地,步骤(3)中多条记录构成记录表,记录表中数据不重复,最新表中包含上一个表的签名,以及随机表的签名,构成了链式结构,同时错误表序列不参与自身签名的产生。
进一步地,步骤(4)中将记录表写入区块中,参与共识,保证了可公开数据的真实性。
进一步地,步骤(5)中发现表被篡改后不影响后续表的产生。
进一步地,步骤(6)中迅速扩散错误表信息,增加篡改难度。
进一步地,步骤(7)中返回给使用者公开信息所在的区块号和表号,能够快速查询公开数据的在区块链网络中的位置。
进一步地,步骤(8)中对记录表进行完整的审计,检测在防篡改节点对应的本地数据有无被篡改。
进一步地,针对防篡改节点可以获取错误表序列,通过区块链网络中出错表所在区块来恢复防篡改节点的本地数据;针对使用者需要对某一数据进行操作前,可与防篡改节点中的数据进行对比,恢复正确数据。
本发明的有益效果是:通过对数据存储结构进行链式设计,使用区块链技术作为数据备份的手段,将存储和验证分离,达到公开信息可共用同时防篡改的效果。
附图说明
图1是防篡改方法基本流程;
图2是打包记录表流程。
具体实施方式
下面根据附图和具体实施例详细描述本发明,本发明的目的和效果将变得更加明显。
如图1所示,一种基于区块链的数据防篡改方法,增加数据的透明度,及时发现矛盾数据并修改,具体包括如下步骤:
(1)使用者将数据保存在自己管理的数据库;
(2)将存储的数据做一定的计算,转换成可以公开的真实数据,发送到防篡改节点;
(3)将步骤(2)中的可公开数据做一次统一结构化处理,处理后的数据至少包含数据内容,使用者ID,数据ID,数据内容序列化为JSON或protobuf的形式保存在新的数据结构中,作为一条记录,存放在记录池中;
(4)当步骤(3)中记录池到达一定数量,或者到达最晚打包时间时,将记录打包成记录表,记录表中包含表号,随机表签名,最后表签名,错误表序列;
(5)验证随机表和最后表的正确性,将步骤(4)的表添加自身签名,合并错误表序列和错误数据,添加错误表序列签名,将产生的表添加到准备发布的区块中;通过本地存储的所有记录表来验证随机表和最后表的正确性,给步骤(4)的表添加自身签名,通过表号,随机表签名,最后表签名,打包的记录共同产生最新记录表的签名,错误表相关信息不参与签名;将错误表数组中的内容合并到错误表序列,添加错误表序列签名,将产生的表添加到准备发布的区块中,最初的错误表数组来源于链上最后一块中的记录表的错误表序列。
(6)将步骤(5)中验证出来错误的记录表号添加到错误数组中,并将区块发布到区块链网络中;区块等待共识。
(7)当步骤(5)产生的区块被共识后,返回块中记录相关的区块号和表号;共识成功的结果至少包含区块号和表号,共识失败也需要将失败信息传回。
(8)从最新表往前验证表正确性,错误表号添加到错误数组,数组保持有序,防止随机审计出现遗漏,错误数组与所有表中的错误表序列合并,更新错误表序列签名;
(9)重复步骤(3)-步骤(8)直至处理完记录池中所有记录,最终将使用者所有可公开记录备份在区块链网络中,并且无法被篡改,同时使用者可以通过对比防篡改节点中的数据验证数据。
进一步地,步骤(1)中用户将完整的数据保存在自己管理的数据库中,无需向外界公开,使用者保存的原始数据本身就是正确的,不包含错误信息。
进一步地,步骤(2)中用户对数据进行自定义的处理,制定规则将收到的数据做一层封装,将可以公开的信息展示出来作为一条记录存在防篡改节点中。处理操作可以包括剪裁,加密,处理过后的数据可以被任何人获取,处理后的数据也是不包含任何错误的,同一个数据有且仅有一个数据ID。
进一步地,步骤(3)中多条记录构成记录表,记录表中数据不重复,最新表中包含上一个表的签名,以及随机表的签名,构成了链式结构,同时错误表序列不参与自身签名的产生。制定合理的协议,将使用者处理过后的数据进行封装,过程是可逆的,记录生成后会尽快打包成记录表一定程度防止恶意篡改。另外,随机表签名和最后表签名增加篡改难度,同时也能快速发现被篡改表,随机表签名是正确的表的签名,当随机数在错误数组中时会重新生成随机数。
进一步地,步骤(4)中将记录表写入区块中,参与共识,保证了可公开数据的真实性。
进一步地,步骤(5)中发现表被篡改后不影响后续表的产生。虽然有可能不断更新错误数组,但由于不参与签名不会影响记录表的打包。同样错误表序列也不参与共识。
进一步地,步骤(6)中迅速扩散错误表信息,增加篡改难度。
进一步地,步骤(7)中返回给使用者公开信息所在的区块号和表号,能够快速查询公开数据的在区块链网络中的位置,有助于数据恢复,最好是与原始数据相关联,以便日后需要时审计。
进一步地,步骤(8)中对记录表进行完整的审计,检测在防篡改节点对应的本地数据有无被篡改,从表尾开始逐一检验是为了防止漏验,增加数据安全性,发现被篡改块,从链上将正确数据取出替换错误数据。
进一步地,针对防篡改节点可以获取错误表序列,通过区块链网络中出错表所在区块来恢复防篡改节点的本地数据;针对使用者需要对某一数据进行操作前,可与防篡改节点中的数据进行对比,恢复正确数据。在防篡改系统中,使用者自行管理的数据与防篡改系统存储的数据进行对比时,从记录表尾往前查找,最先查到的数据是本系统备份的最新数据。
另外,若在步骤(3)中对数据进行篡改,虽然错误数据会被共识,当使用者操作该数据与防篡改系统中存储的数据对比发现异常时,通过链上的信息,可以定位到数据发送者,发送者通过查看自身数据库日志,证明数据在步骤(3)时已被篡改,同时将最新数据再次发送至其他防篡改节点同步到区块链中;若将处理后的数据中的使用者ID也一并篡改,则使用者无法获取共识后的结果,将会重新发起请求。
若在步骤(4)中篡改数据,有概率在步骤(4)发现,必定会在步骤(8)中发现。若是验证发现最后一个记录表被篡改,将先通过区块链恢复被篡改的记录表后继续打包记录表。若是发现随机表被篡改,重新选择随机表,不会影响新表的产生。
若记录表中的错误表序列被篡改,可以通过检验错误表序列签名来判断,直接改成错误表数组的内容;若错误表序列签名一并被修改,在合并错误表数组的同时检测所有独有的表是否被篡改。错误表序列的内容来源于被共识的最后记录表的错误表序列。
若使用者自己管理的数据被篡改,在对比时会产生错误,可以通过查询自身的数据库日志恢复,也可以通过查询数据ID来恢复最后的正确版本的数据。
下面用一个基于区块链的数据防篡改方法实例来说明具体的实施方式:
模拟一个使用数据防篡改方法的流程,如图1所示,使用者将已经存储的数据处理成可公开形式将数据发送到防篡改节点。
防篡改节点从本地获取节点本地已经存储的记录表,从链上获取最新的错误表数组。同时开始合并本地所有记录表中的错误表序列字段。
防篡改节点从最后表往前开始逐一检验,发现篡改的记录表要更新错误表数组。
防篡改节点接收使用者发来的数据,经过统一风格的处理存入本地的记录池中。
当记录池中记录到达一定数量,或者到了最晚出表时间,将记录池中的记录打包成记录表,打包过程如图2所示,生成表号,验证最后表正确性,验证随机表正确性,对最新记录表中的数据进行签名,产生最新记录表。
将记录表存入区块中,将最新块发送到区块链网络中等待共识。
将共识后的结果不论成功还是失败均把结果发送给使用者。
使用者对公开数据存疑时,通过查看本地记录表查找数据最后被备份的记录,如果对比发现可能被篡改,使用者需要查看自己管理的数据库日志,确定链上同步数据为正确数据。使用者可以通过记录表中的记录来恢复被篡改的数据,同时也可以上传最新的数据来覆盖记录。

Claims (9)

1.一种基于区块链的数据防篡改方法,其特征在于,增加数据的透明度,及时发现矛盾数据并修改,具体包括如下步骤:
(1)使用者将数据保存在自己管理的数据库;
(2)将存储的数据做一定的计算,转换成可以公开的真实数据,发送到防篡改节点,具体为:用户对数据进行自定义的处理,制定规则将收到的数据做一层封装,将可以公开的信息展示出来作为一条记录存在防篡改节点中;处理操作包括剪裁和加密,处理过后的数据可以被任何人获取,处理后的数据是不包含任何错误的,同一个数据有且仅有一个数据ID;
(3)将步骤(2)中的可公开数据做一次统一结构化处理,作为一条记录,存放在记录池中;
(4)当步骤(3)中记录池到达一定数量,或者到达最晚打包时间时,将记录打包成记录表,记录表中包含表号,随机表签名,最后表签名,错误表序列;
(5)验证随机表和最后表的正确性,将步骤(4)的表添加自身签名,合并错误表序列和错误数据,添加错误表序列签名,将产生的表添加到准备发布的区块中;
(6)将步骤(5)中验证出来错误的记录表号添加到错误数组中,并将区块发布到区块链网络中;
(7)当步骤(5)产生的区块被共识后,返回块中记录相关的区块号和表号;
(8)从最新表往前验证表正确性,错误表号添加到错误数组,错误数组与所有表中的错误表序列合并,更新错误表序列签名;
(9)重复步骤(3)-步骤(8)直至处理完记录池中所有记录,最终将使用者所有可公开记录备份在区块链网络中,并且无法被篡改,同时使用者可以通过对比防篡改节点中的数据验证数据。
2.如权利要求1所述的一种基于区块链的数据防篡改方法,其特征在于,步骤(1)中用户将完整的数据保存在自己管理的数据库中,无需向外界公开。
3.如权利要求1所述的一种基于区块链的数据防篡改方法,其特征在于,步骤(3)中多条记录构成记录表,记录表中数据不重复,最新表中包含上一个表的签名,以及随机表的签名,构成了链式结构,同时错误表序列不参与自身签名的产生。
4.如权利要求1所述的一种基于区块链的数据防篡改方法,其特征在于,步骤(4)中将记录表写入区块中,参与共识,保证了可公开数据的真实性。
5.如权利要求1所述的一种基于区块链的数据防篡改方法,其特征在于,步骤(5)中发现表被篡改后不影响后续表的产生。
6.如权利要求1所述的一种基于区块链的数据防篡改方法,其特征在于,步骤(6)中迅速扩散错误表信息,增加篡改难度。
7.如权利要求1所述的一种基于区块链的数据防篡改方法,其特征在于,步骤(7)中返回给使用者公开信息所在的区块号和表号,能够快速查询公开数据的在区块链网络中的位置。
8.如权利要求1所述的一种基于区块链的数据防篡改方法,其特征在于,步骤(8)中对记录表进行完整的审计,检测在防篡改节点对应的本地数据有无被篡改。
9.如权利要求1所述的一种基于区块链的数据防篡改方法,其特征在于,针对防篡改节点可以获取错误表序列,通过区块链网络中出错表所在区块来恢复防篡改节点的本地数据;针对使用者需要对某一数据进行操作前,可与防篡改节点中的数据进行对比,恢复正确数据。
CN201811636084.2A 2018-12-29 2018-12-29 一种基于区块链的数据防篡改方法 Active CN109635595B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811636084.2A CN109635595B (zh) 2018-12-29 2018-12-29 一种基于区块链的数据防篡改方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811636084.2A CN109635595B (zh) 2018-12-29 2018-12-29 一种基于区块链的数据防篡改方法

Publications (2)

Publication Number Publication Date
CN109635595A CN109635595A (zh) 2019-04-16
CN109635595B true CN109635595B (zh) 2020-10-23

Family

ID=66054673

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811636084.2A Active CN109635595B (zh) 2018-12-29 2018-12-29 一种基于区块链的数据防篡改方法

Country Status (1)

Country Link
CN (1) CN109635595B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110691079B (zh) * 2019-09-25 2021-07-13 东北大学 一种基于区块链加密的多副本可靠性验证方法
CN111931247A (zh) * 2020-07-04 2020-11-13 华电联合(北京)电力工程有限公司 一种检验数据验证方法、验证装置、验证系统及计算机可读存储介质
CN113343264A (zh) * 2021-06-24 2021-09-03 北京八分量信息科技有限公司 一种基于区块链的数据防篡改系统及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107122477A (zh) * 2017-05-02 2017-09-01 成都中远信电子科技有限公司 一种区块链存储系统
US20180285412A1 (en) * 2017-03-29 2018-10-04 Alibaba Group Holding Limited Method, apparatus, and system for blockchain consensus

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106487801B (zh) * 2016-11-03 2019-10-11 江苏通付盾科技有限公司 基于区块链的信息验证方法及装置
CN107181599B (zh) * 2017-07-18 2020-01-21 天津理工大学 基于区块链的路由位置数据保密存储及共享方法
CN108573438A (zh) * 2018-05-09 2018-09-25 深圳汇创联合自动化控制有限公司 一种基于区块链的用户电力自主交易系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180285412A1 (en) * 2017-03-29 2018-10-04 Alibaba Group Holding Limited Method, apparatus, and system for blockchain consensus
CN107122477A (zh) * 2017-05-02 2017-09-01 成都中远信电子科技有限公司 一种区块链存储系统

Also Published As

Publication number Publication date
CN109635595A (zh) 2019-04-16

Similar Documents

Publication Publication Date Title
US11797489B2 (en) System and method for using local storage to emulate centralized storage
US8234518B2 (en) Method for voting with secret shares in a distributed system
CN109635595B (zh) 一种基于区块链的数据防篡改方法
US9116903B2 (en) Method and system for inserting data records into files
TWI729880B (zh) 可信賴執行環境中基於錯誤校正編碼的共享區塊鏈資料儲存
CN109194646B (zh) 一种基于区块链的安全认证数据存取方法
CN107220559B (zh) 一种针对不可篡改文件的加密存储方法
TW202111586A (zh) 可信賴執行環境中基於錯誤校正編碼的共享區塊鏈資料儲存
CN111444196B (zh) 块链式账本中全局状态的哈希的生成方法、装置及设备
US11921748B1 (en) Method and apparatus for using representations of blocks of data when continuously comparing two databases which are actively being kept synchronized
CN105993043A (zh) 安全装置、其方法以及程序
US8554727B2 (en) Method and system of tiered quiescing
Frühwirt et al. Towards a forensic-aware database solution: Using a secured database replication protocol and transaction management for digital investigations
CN110555770A (zh) 一种基于增量哈希的区块链世界状态校验和恢复方法
CN113986143A (zh) 一种面向区块链日志存储的高可靠低开销数据存储方法
CN113362068B (zh) 一种轻节点验证区块链状态转移的方法
CN114787780A (zh) 用于基于区块链的备份和恢复的系统和方法
CN109271281B (zh) 一种防数据被篡改的数据备份方法及系统
CN109582646A (zh) 一种用于文件拆分的冗余和恢复方法及系统
Song et al. Techniques to audit and certify the long-term integrity of digital archives
CN111368003A (zh) 一种多链锚定数据的管理方法
US20220043928A1 (en) Method of constructing high-performance anti-tampering database based on blockchain
US20220253546A1 (en) System and method for representing and verifying a data set using a tree-based data structure
CN110147355B (zh) 数据同步方法、装置及服务器
CN116010524A (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