CN109542883B - 一种基于区块链的信息查重方法 - Google Patents
一种基于区块链的信息查重方法 Download PDFInfo
- Publication number
- CN109542883B CN109542883B CN201811277965.XA CN201811277965A CN109542883B CN 109542883 B CN109542883 B CN 109542883B CN 201811277965 A CN201811277965 A CN 201811277965A CN 109542883 B CN109542883 B CN 109542883B
- Authority
- CN
- China
- Prior art keywords
- information
- block
- block chain
- check
- transaction message
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Accounting & Taxation (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于区块链的信息查重方法,方法包括:将第一信息上传至区块链,并将所述第一信息的信息指纹填写到事务消息中;将事务消息广播至区块链网络;通过区块链网络中的节点对接收到的事务消息进行分析,获取事务消息中的信息指纹;节点根据获取到的信息指纹,读取第一信息;根据节点中存储的第二信息,将第二信息与第一信息进行比对查重校验;根据比对查重校验的结果,通过POW共识算法对通过查重校验的事务消息进行打包出块,以得到使区块合法有效的随机数;根据随机数组装区块,并根据该区块对区块链进行延长。本发明解决了现有POW共识机制浪费计算资源而不产生实际生产价值的缺陷,可广泛应用于区块链技术领域。
Description
技术领域
本发明涉及区块链技术领域,尤其是一种基于区块链的信息查重方法。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,本质上是一个去中心化的体系结构。狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。
哈希(Hash)算法,即散列函数算法。它是一种单向密码体制,即它是一个从明文到密文的不可逆的映射,只有加密过程,没有解密过程。同时,哈希函数可以将任意长度的输入经过变化以后得到固定长度的输出。哈希函数的这种单向特征和输出数据长度固定的特征使得它可以生成消息或者数据。哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个二进制值就称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文,哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性,一般用于快速查找和加密算法。
共识机制是区块链的一个核心技术,是所有记账节点之间达成共识、认定一个事务消息有效性的方法。目前,最成功的区块链项目比特币(Bitcoin)使用的就是工作量证明(Proof Of Work,POW)共识机制,所有的矿工节点都将自己收集到的所有事务消息和一个随机数组装成为一个区块,使用哈希函数来计算出一个目标哈希值,如果某个矿工节点计算得到的目标哈希值满足整个Bitcoin网络对区块的目标难度要求,则对应矿工竞争得到了本轮挖矿的记账权,其组装的区块是合法有效的,该矿工将获得相应的收益;如果计算得到的目标哈希值不满足整个Bitcoin网络对区块的目标难度要求,则需尝试使用另一个随机数进行计算。如果网络中一旦某个矿工计算得到了一个合法有效的区块,会迅速广播给其他矿工,所有矿工都会将该区块链接到本地区块链的末尾,从而延长本地区块链条。整个网络以最长的区块链条为有效链条,所以所有矿工都会竞相地尝试延长区块链。
特别地,Bitcoin网络为了控制平均每10分钟出一个区块,会依据一套规则对区块的目标难度进行动态调整,使得无论全网算力上升还是下降,依然能够保持平均每10分钟出一个区块。Bitcoin网络对区块的目标难度要求会被标识在该区块中。
POW共识机制已经在众多区块链项目中得到应用。
信息查重是指判断两个信息是否重复、雷同,信息可以是文字、文章、图片、视频等,这对学术研究、文献出版等行业都有重大意义,是判断侵权与否的通用方法。更具体地,判断侵权与否的依据是后出现的数据是否与之前出现的数据雷同,将后出现的数据与之前的数据进行比对,查看是否存在重复雷同的情况,就可以判断后出现的数据是否侵犯前人的权利,比如论文查重、图片查重等。
信息查重,当累计的信息数据量庞大时,每出现一个新的数据,都必须将其与之前已经出现的数据一一比对,这通常需要耗费巨大的计算工作量。目前,信息查重都是依靠中心化机构投入巨额资源来对外提供服务。
信息查重具有重要意义,但是,信息查重需要中心化机构投入大量的计算资源进行计算比对。而同时,区块链项目的POW(Proof Of Work)共识机制能耗巨大,这一直备受诟病,POW共识机制主要进行哈希运算,对实际生产没有意义,浪费了大量的计算资源未能产生实际价值。
发明内容
为解决上述技术问题,本发明的目的在于:提供一种计算资源耗费量小的基于区块链的信息查重方法。
本发明一方面所采取的技术方案为:
一种基于区块链的信息查重方法,包括以下步骤:
将第一信息上传至区块链,并将所述第一信息的信息指纹填写到事务消息中;
将事务消息广播至区块链网络;
通过区块链网络中的节点对接收到的事务消息进行分析,获取事务消息中的信息指纹;
节点根据获取到的信息指纹,读取第一信息;
根据节点中存储的第二信息,将第二信息与第一信息进行比对查重校验;
根据比对查重校验的结果,通过POW共识算法对通过查重校验的事务消息进行打包出块,以得到使区块合法有效的随机数;
根据随机数组装区块,并根据该区块对区块链进行延长。
进一步,所述将所述第一信息的信息指纹填写到事务消息中这一步骤中,所述信息指纹通过加密算法计算得到,所述加密算法包括哈希运算方法。
进一步,所述将事务消息广播至区块链网络这一步骤中,所述广播的方法包括P2P广播。
进一步,所述根据节点中存储的第二信息,将第二信息与第一信息进行比对查重校验这一步骤,其具体为:
判断第二信息与第一信息是否重复,若是,则拒绝接收事务消息;反之,则接收事务消息并执行通过POW共识算法对通过查重校验的事务消息进行打包出块,以得到使区块合法有效的随机数的步骤。
进一步,所述根据比对查重校验的结果,通过POW共识算法对通过查重校验的事务消息进行打包出块,以得到使区块合法有效的随机数这一步骤,包括以下步骤:
根据区块的事务消息数量,对区块的目标难度要求进行动态调整;
基于区块的目标难度要求,通过POW共识算法对事务消息进行打包出块,得到满足目标难度要求的随机数。
进一步,所述根据随机数组装区块,并根据该区块对区块链进行延长这一步骤,包括以下步骤:
根据随机数组装区块;
将生成的区块广播至区块链网络;
通过区块链网络中的节点对生成的区块进行合法性验证;
根据合法性验证结果对区块链进行延长。
进一步,所述通过区块链网络中的节点对生成的区块进行合法性验证这一步骤,包括以下步骤:
判断区块是否满足目标难度要求,若是,则执行下一步骤;反之,则判定生成的区块不合法;
判断区块中的所有事务消息是否完成比对查重,若是,则判定生成的区块合法;反之,则判定生成的区块不合法。
进一步,所述根据合法性验证结果对区块链进行延长这一步骤,其具体为:
若生成的区块合法,则将所述区块链接至本地区块链条的末尾,并对链接区块后的本地区块链条进行延长;
若生成的区块不合法,则丢弃所述区块,并直接对本地区块链条进行延长。
本发明的有益效果是:本发明的区块链节点在进行比对查重的同时还进行了POW共识计算,解决了现有POW共识机制浪费计算资源而不产生实际生产价值的缺陷,使区块链网络在实现分布式共识的同时能够产生实际生产价值。
附图说明
图1为本发明实施例的步骤流程图。
具体实施方式
下面结合说明书附图和具体实施例对本发明作进一步解释和说明。对于本发明实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
面对分布式网络的POW共识机制浪费计算资源的缺陷,以及现在信息查重需要中心化机构投入巨大计算资源的弊病,本发明提出了一种基于区块链的信息查重方法。本发明要求矿工节点在进行POW共识计算的同时也进行信息查重工作,即将POW共识计算与信息查重计算结合在一起,能够解决纯粹的POW共识机制浪费计算资源且不产生实际价值的缺陷;同时本发明使信息查重工作可以分布式地完成,规避了需要中心化机构投入巨大计算资源的弊病。
参照图1,本发明实施例提供了一种基于区块链的信息查重方法,包括以下步骤:
S1、作者将第一信息上传到区块链上,并将所述第一信息的信息指纹填写到事务消息中;
具体地,所述第一信息是指作者准备发布的原始信息,本实施例将第一信息存储到数据库中,而信息指纹则存储到事务消息(Transaction)中,所述数据库可以是中心化数据库,也可以是分布式数据库。
S2、作者将事务消息(Transaction)广播到整个区块链网络;
具体地,本实施例的区块链网络采用P2P信息传播机制,可以高效地将信息在整个区块链网络中广播出去。
S3、区块链网络中的矿工节点将所有尚未被打包进区块的Transaction进行收集;
S4、矿工节点依次分析每一个收集到的Transaction,并根据其中的信息指纹,从数据库中取出原始信息(即第一信息),将该原始信息与历史上被上传的信息(即第二信息)进行比对查重,如果发现信息发生重复,则拒绝该Transaction;否则,将该Transaction加入到新区块中;
S5、矿工节点运行POW共识算法,尝试对通过信息查重查询校验的Transaction进行打包出块,寻找符合网络对区块的目标难度要求的随机数。
进一步作为步骤S5的优选实施方式,所述步骤S5包括以下步骤:
S51、根据区块的事务消息数量,对区块的目标难度要求进行动态调整;
S52、基于区块的目标难度要求,通过POW共识算法对事务消息进行打包出块,得到满足目标难度要求的随机数。
具体地,本发明为保证区块链网络保存均匀的出块速度,目标难度将会动态调整。特别地,如果当前区块包含的Transaction比较多,说明该矿工节点已经进行了大量的信息查重工作,所以目标难度要求会降低;相反,如果当前区块包含的Transaction较少,说明该矿工节点进行的信息查重工作较少,所以目标难度要求会较高。即矿工节点付出的工作量包含两部分,一部分是根据Transaction的查重工作,另一部分就是通过哈希运算方法计算随机数,通过综合考虑这两部分来调整目标难度要求,以使网络保存均匀的出块速度。
进一步作为优选的实施方式,所述哈希运算方法是SHA-1、SHA-224、SHA-256、SHA-384、SHA-512以及SM3哈希算法中任一种或多种的组合。
S6、矿工节点通过哈希运算方法计算得到符合目标难度要求的随机数后,组装区块,并将对应的区块广播给整个网络,以方便其他矿工节点进行验证并基于当前区块去构建下一个区块,从而延长区块链条;
S7、矿工节点接收到其他节点广播过来的区块,验证其合法性。如果区块合法,则将该区块链接到本地区块链条的末尾,并基于最新的区块链条进行延长;如果区块不合法,则丢弃该区块,而基于本地原有的区块链条进行延长。
进一步作为优选的实施方式,所述通过区块链网络中的节点对生成的区块进行合法性验证这一步骤,包括以下步骤:
判断区块是否满足目标难度要求,若是,则执行下一步骤;反之,则判定生成的区块不合法;
判断区块中的所有事务消息是否完成比对查重,若是,则判定生成的区块合法;反之,则判定生成的区块不合法。
具体地,本实施例的矿工节点在验证区块的合法性过程中,除了验证区块是否符合目标难度要求之外,还将验证区块中的Transaction是否已经在所有矿工节点进行了信息查重,只有符合目标难度要求和进行了信息查重的区块才是合法的。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (6)
1.一种基于区块链的信息查重方法,其特征在于:包括以下步骤:
将第一信息上传至区块链,并将所述第一信息的信息指纹填写到事务消息中;
将事务消息广播至区块链网络;
通过区块链网络中的节点对接收到的事务消息进行分析,获取事务消息中的信息指纹;
节点根据获取到的信息指纹,读取第一信息;
根据节点中存储的第二信息,将第二信息与第一信息进行比对查重校验;
根据比对查重校验的结果,通过POW共识算法对通过查重校验的事务消息进行打包出块,以得到使区块合法有效的随机数;
根据随机数组装区块,并根据该区块对区块链进行延长;
其中,所述根据比对查重校验的结果,通过POW共识算法对通过查重校验的事务消息进行打包出块,以得到使区块合法有效的随机数这一步骤,包括以下步骤:
根据区块的事务消息数量,对区块的目标难度要求进行动态调整;
基于区块的目标难度要求,通过POW共识算法对事务消息进行打包出块,得到满足目标难度要求的随机数;
其中,所述根据随机数组装区块,并根据该区块对区块链进行延长这一步骤,包括以下步骤:
根据随机数组装区块;
将生成的区块广播至区块链网络;
通过区块链网络中的节点对生成的区块进行合法性验证;
根据合法性验证结果对区块链进行延长;
其中,所述通过区块链网络中的节点对生成的区块进行合法性验证这一步骤,包括以下步骤:
判断区块是否满足目标难度要求,若是,则执行下一步骤;反之,则判定生成的区块不合法;
判断区块中的所有事务消息是否完成比对查重,若是,则判定生成的区块合法;反之,则判定生成的区块不合法。
2.根据权利要求1所述的一种基于区块链的信息查重方法,其特征在于:所述将所述第一信息的信息指纹填写到事务消息中这一步骤中,所述信息指纹通过加密算法计算得到,所述加密算法包括哈希运算方法。
3.根据权利要求1所述的一种基于区块链的信息查重方法,其特征在于:所述将事务消息广播至区块链网络这一步骤中,所述广播的方法包括P2P广播。
4.根据权利要求1所述的一种基于区块链的信息查重方法,其特征在于:所述根据节点中存储的第二信息,将第二信息与第一信息进行比对查重校验这一步骤,其具体为:
判断第二信息与第一信息是否重复,若是,则拒绝接收事务消息;反之,则接收事务消息并执行通过POW共识算法对通过查重校验的事务消息进行打包出块,以得到使区块合法有效的随机数的步骤。
5.根据权利要求1所述的一种基于区块链的信息查重方法,其特征在于:所述根据合法性验证结果对区块链进行延长这一步骤,其具体为:
若生成的区块合法,则将所述区块链接至本地区块链条的末尾,并对链接区块后的本地区块链条进行延长;
若生成的区块不合法,则丢弃所述区块,并直接对本地区块链条进行延长。
6.根据权利要求2所述的一种基于区块链的信息查重方法,其特征在于:所述哈希运算方法是SHA-1、SHA-224、SHA-256、SHA-384、SHA-512以及SM3哈希算法中任一种或多种的组合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811277965.XA CN109542883B (zh) | 2018-10-30 | 2018-10-30 | 一种基于区块链的信息查重方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811277965.XA CN109542883B (zh) | 2018-10-30 | 2018-10-30 | 一种基于区块链的信息查重方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109542883A CN109542883A (zh) | 2019-03-29 |
CN109542883B true CN109542883B (zh) | 2021-06-01 |
Family
ID=65845529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811277965.XA Active CN109542883B (zh) | 2018-10-30 | 2018-10-30 | 一种基于区块链的信息查重方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109542883B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110290113B (zh) * | 2019-06-03 | 2023-09-01 | 深圳巴克云网络科技有限公司 | 基于PoW算法的设备标识构造方法、装置及计算机可读存储介质 |
CN110727964B (zh) * | 2019-10-22 | 2023-10-31 | 北京国联视讯信息技术股份有限公司 | 一种区块链大数据处理方法及系统 |
CN111143874A (zh) * | 2019-12-16 | 2020-05-12 | 广州粤建三和软件股份有限公司 | 基于区块链的起重设备监测方法、系统及存储介质 |
CN111199504B (zh) * | 2019-12-29 | 2023-09-26 | 杭州拓深科技有限公司 | 一种基于区块链的去中心化消防维保监管方法 |
CN112365938A (zh) * | 2020-09-21 | 2021-02-12 | 贵州电网有限责任公司 | 采用区块链技术实现电网it资产数据管理的方法 |
CN112199716B (zh) * | 2020-09-30 | 2024-04-02 | 卓望数码技术(深圳)有限公司 | 区块链的出块方法、装置、设备及存储介质 |
CN112838953A (zh) * | 2021-01-11 | 2021-05-25 | 绵阳沸尔特科技有限公司 | 一种区块链打包节点共识推举方法 |
CN112910873B (zh) * | 2021-01-27 | 2022-08-23 | 广东工业大学 | 用于区块链事务异常检测的有用工作量证明方法及系统 |
CN113553627B (zh) * | 2021-09-23 | 2022-01-04 | 四川大学 | 基于区块链的数据完整性验证方法、系统、设备及介质 |
CN115034794B (zh) * | 2022-08-09 | 2023-01-13 | 北京航天奥祥通风科技股份有限公司 | 一种区块链系统的节点共识方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106789908B (zh) * | 2016-11-23 | 2019-09-06 | 江苏通付盾科技有限公司 | 区块链中区块共识建立方法及系统 |
GB2559398A (en) * | 2017-02-04 | 2018-08-08 | PQ Solutions Ltd | Controlled and verifiable information destruction |
CN108320160A (zh) * | 2018-02-02 | 2018-07-24 | 张超 | 区块链系统、区块共识方法和装置 |
-
2018
- 2018-10-30 CN CN201811277965.XA patent/CN109542883B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109542883A (zh) | 2019-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109542883B (zh) | 一种基于区块链的信息查重方法 | |
Xie et al. | zkbridge: Trustless cross-chain bridges made practical | |
Kiayias et al. | Proofs of proofs of work with sublinear complexity | |
US6701434B1 (en) | Efficient hybrid public key signature scheme | |
US5673318A (en) | Method and apparatus for data authentication in a data communication environment | |
CN111949672B (zh) | 一种支持物联网数据增量更新的区块链存储方法 | |
US10754848B2 (en) | Method for registration of data in a blockchain database and a method for verifying data | |
JP3554765B2 (ja) | ドキュメントをユニークに特定し認証する証明書を発行するデジタルドキュメント証明システム | |
CN108038184B (zh) | 一种基于区块链的数据存储方法及系统、一种智能区块链 | |
Reyzin et al. | Improving authenticated dynamic dictionaries, with applications to cryptocurrencies | |
US11706035B2 (en) | Signature verification using blockchain | |
JP2023506634A (ja) | 部分的に順序付けられたブロックチェーン | |
Pulls et al. | Balloon: A forward-secure append-only persistent authenticated data structure | |
KR20190068799A (ko) | 서비스 존 기반의 계층적 합의 방법 및 장치 | |
US20010043616A1 (en) | Transcoding in data communications | |
Ramkumar | Executing large-scale processes in a blockchain | |
Wu et al. | Robust and auditable distributed data storage with scalability in edge computing | |
Xu et al. | Towards efficient verifiable multi-keyword search over encrypted data based on blockchain | |
CN111756545A (zh) | 一种基于区块链数字签名技术的合同认证方法 | |
CN114553604B (zh) | 一种物联网终端节点访问控制方法 | |
Buldas et al. | Do broken hash functions affect the security of time-stamping schemes? | |
Li et al. | Sepow: Secure and efficient proof of work sidechains | |
Kandele et al. | Message-locked encryption with file update | |
CN111651795A (zh) | 一种基于区块链的投标文件公示方法、系统及存储介质 | |
Chen et al. | A second preimage attack on zipper hash |
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 |