CN110971393A - 基于区块链动态社交外包数据关键词查询验证方法及装置 - Google Patents
基于区块链动态社交外包数据关键词查询验证方法及装置 Download PDFInfo
- Publication number
- CN110971393A CN110971393A CN201911200721.6A CN201911200721A CN110971393A CN 110971393 A CN110971393 A CN 110971393A CN 201911200721 A CN201911200721 A CN 201911200721A CN 110971393 A CN110971393 A CN 110971393A
- Authority
- CN
- China
- Prior art keywords
- auxiliary information
- block
- node
- data
- osn
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000012795 verification Methods 0.000 title claims abstract description 21
- 238000012946 outsourcing Methods 0.000 title claims abstract description 17
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 9
- 241000544061 Cuculus canorus Species 0.000 claims description 44
- 238000005516 engineering process Methods 0.000 claims description 14
- 238000010200 validation analysis Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 238000001914 filtration Methods 0.000 claims description 4
- 230000007246 mechanism Effects 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 claims description 3
- 230000008859 change Effects 0.000 abstract description 4
- 238000007689 inspection Methods 0.000 abstract 1
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3249—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3297—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Primary Health Care (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Economics (AREA)
- Software Systems (AREA)
- Marketing (AREA)
- Bioethics (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Power Engineering (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于区块链的动态社交外包数据关键词查询验证方法,OSN运营商将社交数据外包至数据提供商,数据提供商向数据消费者提供数据;OSN运营商构建辅助信息区块链网络并向所述的辅助信息区块链网络发布辅助信息,所述辅助信息区块链网络由辅助信息区块链中的节点构建区块链;所述的数据消费者通过辅助信息区块链来验证查询数据的真伪,本发明提出一种高效的自平衡Merkle哈希树数据结构,支持社交数据的动态变化,提出支持自平衡Merkle哈希树数据结构的更新算法,允许数据消费者对查询的数据结果的真实性进行高效率的检验,实现了保存辅助信息的去中心化,提升了保存辅助信息的安全性;本发明允许社交数据动态变化,增加了系统的可扩展性。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于区块链的动态社交外包数据关键词查询验证方法、装置及存储介质。
背景技术
随着互联网技术、移动设备以及通信技术的发展,社交网络服务对人们的日常生活产生了巨大影响。为了充分挖掘社交数据所蕴含的价值,获取完整社交数据是数据分析的基本前提。社交数据外包服务是目前获取完整社交数据的一种主要方式。社交数据外包服务模式包含三个实体:社交网路运营商(Online Social Network,OSN)、第三方数据提供商(Social Data Provider,SDP)以及数据消费者。在该外包服务中,在线社交网络运营商将社交数据外包给第三方社交数据提供商,并将其按需转售给数据消费者。第三方数据提供商在将数据转售给数据消费者的过程中,可能受到经济利益因素的影响对提供的数据进行增加、删除或者修改等行为。当数据消费者使用这些虚假数据必将损害其合法权益。为了验证数据消费者从第三方数据提供商查询得到的数据是否被进行篡改,进而提出了验证数据的真实性验证方法研究。当查询数据是完整的且满足查询条件,即表明该数据没有被第三方数据提供商所篡改,完成真实性的验证。目前问题解决方案的基本思路如下,首先由OSN运营商基于原始数据构造签名信息,然后将原始数据和辅助信息提供给SDP;当数据消费者向SDP查询数据时,后者返回查询数据以及对应的验证信息;最后数据消费者利用公钥检验签名信息,从而验证返回的查询结果的真实性。现有的方案主要分为基于签名链的查询验证方案以及基于MHT的查询方案,上述方案都需要OSN和SDP共同存储用于验证查询数据真实性的辅助信息,随着数据量增加对应的计算开销、存储开销随之增加。此外其他方案引入Bloom过滤器用于构建辅助信息降低其存储开销,但Bloom过滤器自身的假阳性问题会影响检测的效果。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明公开了一种基于区块链的动态社交外包数据关键词查询验证方法,OSN运营商将社交数据外包至数据提供商,所述数据提供商向数据消费者提供数据;所述OSN运营商构建辅助信息区块链网络并向所述的辅助信息区块链网络发布辅助信息,所述辅助信息区块链网络由辅助信息区块链中的节点构建区块链;所述的数据消费者通过辅助信息区块链来验证查询数据的真伪。
更进一步地,所述OSN运营商基于P2P技术构建辅助信息区块链网络,其中所述节点分为OSN节点和普通节点,通过所述普通节点向全网节点广播信息,生成新区块、验证查询信息;所述OSN节点具有普通节点的功能,同时使用RSA加密技术生成所述OSN节点的公钥和私钥并广播每个节点的辅助信息。
更进一步地,所述辅助信息的生成具体步骤包括:
步骤101:所述OSN节点将时间戳内产生的动态社交数据作为输入,然后更新自平衡Merkle哈希树,并将生成的根节点存入Cuckoo过滤器;
步骤102:OSN运营商对Cuckoo过滤器和时间戳进行hash处理后用私钥进行签名;
步骤103:OSN运营商将时间戳、Cuckoo过滤器、OSN公钥、OSN签名作为辅助信息,广播至全网节点。
更进一步地,更新自平衡Merkle哈希树步骤包括:
步骤201:若当前树为空树,进入步骤202,否则进入步骤203。
步骤202:记输入节点N为根结点ROOT,进入步骤209。
步骤203:以树的根结点ROOT和结点N分别为左右孩子,生成新的根结点并记为ROOT。
步骤204:若新的根结点ROOT平衡,进入步骤209,否则进入步骤205。
步骤205:记根结点ROOT为旋转结点RN。
步骤206:调用旋转算法,若RN的左子树高,传入参数1,否则传入参数-1。
步骤207:若RN平衡,则将RN的父结点设置为RN,进入步骤208,否则返回步骤206。
步骤208:若RN为空,进入步骤209,否则返回步骤207。
步骤209:返回根结点ROOT。
更进一步地,旋转算法包括:
步骤301:记旋转节点R的父结点为PR。
步骤302:若参数为1,进入步骤303-305,若为-1,则进入步骤306-308。
步骤303:将R的左孩子记为T。
步骤304:将T的右孩子设置为R的左孩子。
步骤305:将R设置为T的右孩子,进入步骤309。
步骤306:将R的右孩子记为T。
步骤307:将T的左孩子设置为R的右孩子。
步骤308:将R设置为T的左孩子。
步骤309:若PR为空,进入步骤311,否则进入步骤310。
步骤310:若R为PR的左孩子,则将PR的左孩子改为T,否则将PR的右孩子改为T。
步骤311:若R为空,进入步骤313,否则进入步骤312。
步骤312:更新R,判断PR是否为空,若为空,则记R为根结点ROOT,进入步骤313,否则设置PR为R,返回步骤311。
步骤313:返回根结点ROOT。
更进一步地,新区块生成步骤包括:
步骤401:所有节点通过工作量证明法争夺新区块的记账权;
步骤402:当某一节点争夺到记账权后将OSN运营商广播的辅助信息保存至新创建的区块,并使该区块与上一个区块链接形成辅助信息区块链。
更进一步地,验证方法包含如下步骤:
步骤501:当数据消费者需要验证查询数据的正确性和完整性时,通过辅助信息区块链网络的节点下载完整的区块链信息;
步骤502:依据时间戳在区块链中找到对应区块中保存的辅助信息;
步骤503:依据所述辅助信息中Cuckoo过滤器和时间戳验证该区块辅助信息中的签名信息;当验证通过时进行步骤504,否则从其他节点重新下载该区块的信息;
步骤504:数据消费者依据获得的查询数据重建Merkle树的根节点;
步骤505:判断根节点是否存在于Cuckoo过滤器,若存在则其判断该数据为正确且完整的;否则判断查询数据为潜在被篡改数据。
更进一步地,所述OSN节点对原始的社交信息进行辅助信息的生成,并将其进行全网广播,当全网超过预定数量的节点接收到该辅助信息后,进行下一个辅助信息的生成及广播;全网节点通过POW机制计算随机哈希散列的数值解争夺记账权,当某一节点争夺到新区块记账权后向全网广播;随后构建新区块并将其加入到所述的辅助信息区块链中,并再次进行广播,当全网超过预定数量的节点接收到区块的信息,则判断该区块信息已经被记录;所述数据消费者通过辅助信息区块链对查询结果的正确性和完整性进行验证。
更进一步地,所述的辅助信息生成进一步包括:
步骤111:OSN节点对某一时间戳内产生的原始社交信息进行预处理,通过非文字符号、停用词的过滤,得到每一条社交信息的关键词集合;
步骤112:根据所述的关键词集合将社交信息进行分类,形成基于关键词的社交信息集合,并根据社交信息发布的时间先后依次更新自平衡Merkle哈希树,进而构建得到根节点;
步骤113:将得到的所有根节点添加至Cuckoo过滤器;
步骤114:所述的OSN节点将Cuckoo过滤器和时间戳进行SHA256处理,并通过所述OSN节点的私钥进行签名;
步骤115:所述OSN节点将Cuckoo过滤器、时间戳、签名、该OSN节点公钥作为辅助信息进行全网广播。
更进一步地,新区块的构建进一步包括:
步骤211:得到记账权的节点将OSN节点广播的辅助信息保存至新创建的区块,
所述区块由区块头和区块体构成,所述区块头包括上一个区块的hash值、辅助信息对应时间戳、求解的问题以及对应的随机数,所述区块体包括Cuckoo过滤器、OSN公钥及辅助信息签名;
步骤212:新区块构建完毕后,该节点将区块链接到主链之上并广播至其他节点,当超过预定数量的节点返回接受表示该区块加入至主链。
本发明进一步公开了一种电子装置,包括:
处理器;以及,存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述的基于区块链的动态社交外包数据关键词查询验证方法。
本发明进一步公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的基于区块链的动态社交外包数据关键词查询验证方法。
本发明与现有技术相比,取得的有益效果:本发明目的是提供一种基于区块链的动态社交外包数据关键词查询验证方法。该方法采用区块链技术构建区块链网络,该网络中的所有节点保存辅助信息链的信息,实现了保存辅助信息的去中心化,提升了保存辅助信息的安全性;在构建验证查询数据辅助信息方面,首先,提出了一种自平衡Merkle哈希树结构,支持大规模数据的高效动态插入、删除和修改;其次,使用Cuckoo过滤器等技术构建了低存储空间、高效率的辅助信息。此外,该方法允许数据消费者对查询的数据结果的真实性进行高效率的检验。当查询结果满足以下两个要求即表示数据真实性被证明:1、数据正确性:查询数据满足数据消费者提供的查询条件;2、数据完整性:查询数据必须是完整的,不是满足查询条件下完整的查询数据集中截取的一段子集。本方法使用Cuckoo过滤器构建辅助信息,降低了存储开销,同时能够高效的检验查询结果,同时避免了Bloom过滤器假阳性问题,从而准确的验证数据的完整性和正确性;采用P2P技术构建辅助信息区块链,能够辅助信息存储的去中心化,除非攻破了其中50%以上的节点,才有可能对辅助信息区块链的区块信息进行篡改,具有较高的安全性。
附图说明
从以下结合附图的描述可以进一步理解本发明。图中的部件不一定按比例绘制,而是将重点放在示出实施例的原理上。在图中,在不同的视图中,相同的附图标记指定对应的部分。
图1是本发明的一种基于区块链的动态社交外包数据关键词查询验证方法的流程图;
图2是本发明的一实施例中区块链网络构建的流程图;
图3是本发明的一实施例中更新自平衡Merkle哈希树的顺时针旋转图;
图4是本发明的一实施例中更新自平衡Merkle哈希树的逆时针旋转图;
图5是本发明的一实施例中依据关键词集合对社交信息进行分类方法的流程图;
图6是本发明的一实施例中构建的区块链网络中的区块的组成图。
具体实施方式
实施例一
本实施例的模型架构如图1所示,OSN运营商社交数据外包至数据提供商,数据提供商向数据消费者提供数据;OSN运营商构建辅助信息区块链网络并向其中发布辅助信息,由辅助信息区块链中的节点构建区块链;数据消费者通过辅助信息区块链来验证查询数据的真实性。OSN基于P2P技术构建辅助信息区块链网络,其中节点分为OSN节点和普通节点(可由第三方协助构建,如数据消费者参与普通节点构建)。普通节点能够向全网节点广播信息,生成新区块、验证查询信息。OSN节点具有普通节点的功能,同时还能广播辅助信息(即只有源于OSN节点广播的辅助信息才被视为有效)。每个节点使用RSA加密技术生成该节点的公钥和私钥。该方法分为以下两个部分:辅助信息区块链的生成和验证。
辅助信息区块链的生成包括辅助信息生成和区块生成:
辅助信息生成具体步骤如下:
步骤1:OSN节点首先将时间戳内产生的社交数据依时间顺序作为自平衡Merkle哈希树的输入,更新树的结构并得到根节点,进而将其存入Cuckoo过滤器;
步骤2:OSN对Cuckoo过滤器和时间戳进行hash处理后用私钥进行签名;
步骤3:OSN将时间戳、Cuckoo过滤器、OSN公钥、OSN签名作为辅助信息,广播至全网节点。
区块生成步骤如下:
步骤1:所有节点通过工作量证明方法(Proof Of Work,简称POW)争夺新区块的记账权。
步骤2:当某一节点争夺到记账权后将OSN广播的辅助信息(该信息尚未保存至区块,且相对其他未保存的辅助信息产生时间戳最早)保存至新创建的区块,并使该区块与上一个区块链接形成辅助信息区块链。
验证方法包含如下步骤:
步骤1:当数据消费者需要验证查询数据的正确性和完整性,通过在辅助信息区块链网络的节点下载完整的区块链信息;
步骤2:依据时间戳在区块链中找到对应区块中保存的辅助信息;
步骤3:依据辅助信息中Cuckoo过滤器和时间戳验证区块辅助信息中的签名信息。当验证通过时进行步骤4,否则从其他节点重新下载该区块的信息。
步骤4:数据消费者依据获得的查询数据重建Merkle树的根节点。
步骤5:判断根节点是否存在于Cuckoo过滤器,如果在其中表示该数据是正确且完整的;否则表示查询数据可能被篡改。
实施例二
本实施例提供一种基于区块链的动态社交外包数据关键词查询验证方法,具体实施方式如下:
1:OSN节点对原始的社交信息进行辅助信息的生成,并将其进行全网广播,如图2所示。当全网超过50%的节点接收到该辅助信息,开始下一个辅助信息的生成及广播。
辅助信息生成的具体步骤如下:
1.1OSN节点对某一时间戳内产生的原始社交信息进行预处理,通过非文字符号、停用词的过滤,得到每一条社交信息的关键词集合。
1.2依据关键词集合将社交信息进行分类,形成基于关键词的社交信息集合,其中社交信息的排序方式是依据该信息发布的时间从前往后。将该集合数据依次输入自平衡Merkle哈希树的构建算法,当出现不平衡现象时,依情况分别调用顺、逆时针算法,算法分别如图3和4,进而得到自平衡Merkle哈希树的根节点,过程如图5所示。
1.3将得到的所有根节点添加至Cuckoo过滤器。
1.4OSN节点将Cuckoo过滤器和时间戳进行SHA256处理并用该OSN节点的私钥进行签名。
1.5该OSN节点将Cuckoo过滤器、时间戳、签名、该OSN节点公钥作为辅助信息进行全网广播。
2.全网节点通过POW机制计算随机哈希散列的数值解争夺记账权,当某一节点争夺到新区块记账权后向全网广播;随后构建新区块并将其加入到辅助信息区块链中,并再次进行广播,当全网超过50%的节点接收到区块的信息,表示该区块信息被记录。
新区块的构建步骤如下:
2.1得到记账权的节点将OSN节点广播的辅助信息(该信息尚未保存至区块,且相对其他未保存的辅助信息产生时间戳最早)保存至新创建的区块。
2.2区块的结构如图6所示,由区块头和区块体构成。区块头包括上一个区块的hash值、辅助信息对应时间戳、求解的问题以及对应的随机数。
2.3新区块构建完毕后,该节点将区块链接到主链之上并广播至其他节点,当超过50%的节点返回接受表示该区块加入至主链。
3.数据消费者通过辅助信息区块链对查询结果的正确性和完整性进行验证。其中步骤如下:
3.1数据消费者在辅助信息区块链网络中,通过任意节点发送请求下载辅助信息区块链的信息。
3.2依据查询信息的时间戳与区块链中对应区块。
3.3通过该区块Cuckoo过滤器、时间戳和公钥验证签名信息。如果验证通过进行3.4操作,否则从其他节点下载区块链信息。
3.4数据消费者依据查询信息重新构建Merkle树的根节点,判断其是否在Cuckoo过滤器。如果根节点在其中,表示数据的完整性和正确性得到保证。
本实施例采用区块链技术构建区块链网络,该网络中的所有节点保存辅助信息链的信息,实现了保存辅助信息的去中心化,提升了保存辅助信息的安全性;在构建验证查询数据辅助信息方面,使用Cuckoo过滤器等技术构建了低存储空间、高效率的辅助信息。
实施例三
本实施例提供一种基于区块链的动态社交外包数据关键词查询验证方法,OSN运营商将社交数据外包至数据提供商,所述数据提供商向数据消费者提供数据;所述OSN运营商构建辅助信息区块链网络并向所述的辅助信息区块链网络发布辅助信息,所述辅助信息区块链网络由辅助信息区块链中的节点构建区块链;所述的数据消费者通过辅助信息区块链来验证查询数据的真伪。
更进一步地,所述OSN运营商基于P2P技术构建辅助信息区块链网络,其中所述节点分为OSN节点和普通节点,通过所述普通节点向全网节点广播信息,生成新区块、验证查询信息;所述OSN节点具有普通节点的功能,同时使用RSA加密技术生成所述OSN节点的公钥和私钥并广播每个节点的辅助信息。
更进一步地,所述辅助信息的生成具体步骤包括:
步骤101:所述OSN节点将时间戳内产生的社交数据作为Merkle树的叶子节点,然后构建树的根节点并存入Cuckoo过滤器;
步骤102:OSN运营商对Cuckoo过滤器和时间戳进行hash处理后用私钥进行签名;
步骤103:OSN运营商将时间戳、Cuckoo过滤器、OSN公钥、OSN签名作为辅助信息,广播至全网节点。
更进一步地,新区块生成步骤包括:
步骤201:所有节点通过工作量证明法争夺新区块的记账权;
步骤202:当某一节点争夺到记账权后将OSN运营商广播的辅助信息保存至新创建的区块,并使该区块与上一个区块链接形成辅助信息区块链。
更进一步地,验证方法包含如下步骤:
步骤301:当数据消费者需要验证查询数据的正确性和完整性时,通过辅助信息区块链网络的节点下载完整的区块链信息;
步骤302:依据时间戳在区块链中找到对应区块中保存的辅助信息;
步骤303:依据所述辅助信息中Cuckoo过滤器和时间戳验证该区块辅助信息中的签名信息;当验证通过时进行步骤304,否则从其他节点重新下载该区块的信息;
步骤304:数据消费者依据获得的查询数据重建Merkle树的根节点;
步骤305:判断根节点是否存在于Cuckoo过滤器,若存在则其判断该数据为正确且完整的;否则判断查询数据为潜在被篡改数据。
更进一步地,所述OSN节点对原始的社交信息进行辅助信息的生成,并将其进行全网广播,当全网超过预定数量的节点接收到该辅助信息后,进行下一个辅助信息的生成及广播;全网节点通过POW机制计算随机哈希散列的数值解争夺记账权,当某一节点争夺到新区块记账权后向全网广播;随后构建新区块并将其加入到所述的辅助信息区块链中,并再次进行广播,当全网超过预定数量的节点接收到区块的信息,则判断该区块信息已经被记录;所述数据消费者通过辅助信息区块链对查询结果的正确性和完整性进行验证。
更进一步地,所述的辅助信息生成进一步包括:
步骤111:OSN节点对某一时间戳内产生的原始社交信息进行预处理,通过非文字符号、停用词的过滤,得到每一条社交信息的关键词集合;
步骤112:根据所述的关键词集合将社交信息进行分类,形成基于关键词的社交信息集合,并根据社交信息发布的时间先后进行排序,对所述社交信息集合进行Merkle树的构建得到根节点;
步骤113:将得到的所有根节点添加至Cuckoo过滤器;
步骤114:所述的OSN节点将Cuckoo过滤器和时间戳进行SHA256处理,并通过所述OSN节点的私钥进行签名;
步骤115:所述OSN节点将Cuckoo过滤器、时间戳、签名、该OSN节点公钥作为辅助信息进行全网广播。
更进一步地,新区块的构建进一步包括:
步骤211:得到记账权的节点将OSN节点广播的辅助信息保存至新创建的区块,
所述区块由区块头和区块体构成,所述区块头包括上一个区块的hash值、辅助信息对应时间戳、求解的问题以及对应的随机数,所述区块体包括Cuckoo过滤器、OSN公钥及辅助信息签名;
步骤212:新区块构建完毕后,该节点将区块链接到主链之上并广播至其他节点,当超过预定数量的节点返回接受表示该区块加入至主链。
实施例进一步公开了一种电子装置,包括:
处理器;以及,
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述的基于区块链的动态社交外包数据关键词查询验证方法。
本实施例进一步公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的基于区块链的动态社交外包数据关键词查询验证方法。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
虽然上面已经参考各种实施例描述了本发明,但是应当理解,在不脱离本发明的范围的情况下,可以进行许多改变和修改。因此,其旨在上述详细描述被认为是例示性的而非限制性的,并且应当理解,以下权利要求(包括所有等同物)旨在限定本发明的精神和范围。以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。
Claims (10)
1.一种基于区块链的动态社交外包数据关键词查询验证方法,其特征在于,OSN运营商将动态社交数据外包至数据提供商,所述数据提供商向数据消费者提供数据;所述OSN运营商构建辅助信息区块链网络并向所述的辅助信息区块链网络发布辅助信息,所述辅助信息区块链网络由辅助信息区块链中的节点构建区块链;所述的数据消费者通过辅助信息区块链来验证查询数据的真伪,其中,OSN节点对原始的社交信息进行辅助信息的生成,并将其进行全网广播,当全网超过预定数量的节点接收到该辅助信息后,进行下一个辅助信息的生成及广播;全网节点通过POW机制计算随机哈希散列的数值解争夺记账权,当某一节点争夺到新区块记账权后向全网广播;随后构建新区块并将其加入到所述的辅助信息区块链中,并再次进行广播,当全网超过预定数量的节点接收到区块的信息,则判断该区块信息已经被记录;所述数据消费者通过辅助信息区块链对查询结果的正确性和完整性进行验证。
2.如权利要求1所述的一种基于区块链的动态社交外包数据关键词查询验证方法,其特征在于,所述OSN运营商基于P2P技术构建辅助信息区块链网络,其中所述节点分为OSN节点和普通节点,通过所述普通节点向全网节点广播信息,生成新区块、验证查询信息;所述OSN节点具有普通节点的功能,同时使用RSA加密技术生成所述OSN节点的公钥和私钥并广播每个节点的辅助信息,其中,所述辅助信息的生成具体步骤包括:
步骤101:所述OSN节点将时间戳内产生的社交数据作为自平衡Merkle哈希树的输入,然后更新所述自平衡Merkle哈希树,直至时间戳截至,将树的根节点存入Cuckoo过滤器;
步骤102:OSN运营商对Cuckoo过滤器和时间戳进行hash处理后用私钥进行签名;
步骤103:OSN运营商将时间戳、Cuckoo过滤器、OSN公钥、OSN签名作为辅助信息,广播至全网节点。
3.如权利要求2所述的一种基于区块链的动态社交外包数据关键词查询验证方法,其特征在于,新区块生成步骤包括:
步骤201:所有节点通过工作量证明法争夺新区块的记账权;
步骤202:当某一节点争夺到记账权后将OSN运营商广播的辅助信息保存至新创建的区块,并使该区块与上一个区块链接形成辅助信息区块链。
4.如权利要求3所述的一种基于区块链的动态社交外包数据关键词查询验证方法,其特征在于,验证方法包含如下步骤:
步骤301:当数据消费者需要验证查询数据的正确性和完整性时,通过辅助信息区块链网络的节点下载完整的区块链信息;
步骤302:依据时间戳在区块链中找到对应区块中保存的辅助信息;
步骤303:依据所述辅助信息中Cuckoo过滤器和时间戳验证该区块辅助信息中的签名信息;当验证通过时进行步骤304,否则从其他节点重新下载该区块的信息;
步骤304:数据消费者依据获得的查询数据重建Merkle树的根节点;
步骤305:判断根节点是否存在于Cuckoo过滤器,若存在则其判断该数据为正确且完整的;否则判断查询数据为潜在被篡改数据。
5.如权利要求2所述的一种基于区块链的动态社交外包数据关键词查询验证方法,其特征在于,所述的辅助信息生成进一步包括:
步骤111:OSN节点对某一时间戳内产生的原始社交信息进行预处理,通过非文字符号、停用词的过滤,得到每一条社交信息的关键词集合;
步骤112:根据所述的关键词集合将社交信息进行分类,形成基于关键词的社交信息集合,并根据信息发布时间先后,将其作为自平衡Merkle哈希树的输入更新根节点,直至时间戳内;
步骤113:将得到的所有根节点添加至Cuckoo过滤器;
步骤114:所述的OSN节点将Cuckoo过滤器和时间戳进行SHA256处理,并通过所述OSN节点的私钥进行签名;
步骤115:所述OSN节点将Cuckoo过滤器、时间戳、签名、该OSN节点公钥作为辅助信息进行全网广播。
6.如权利要求5所述的一种基于区块链的动态社交外包数据关键词查询验证方法,其特征在于,自平衡Merkle哈希树构建进一步包括:
步骤211:若当前树为空树,进入步骤212,否则进入步骤213;
步骤212:记结点N为根结点ROOT,进入步骤219;
步骤213:以树的根结点ROOT和新节点N分别作为左、右孩子,生成新的根结点并记为ROOT;
步骤214:若新的根结点ROOT平衡,进入步骤219,否则进入步骤215;
步骤215:记根结点ROOT为旋转结点RN;
步骤216:调用旋转算法,若RN的左子树高,传入参数1,否则传入参数-1;
步骤217:若RN平衡,则将RN的父结点设置为RN,进入步骤218,否则返回步骤216;
步骤218:若RN为空,进入步骤219,否则返回步骤217;
步骤219:返回根结点ROOT。
7.如权利要求6所述的一种基于区块链的动态社交外包数据关键词查询验证方法,其特征在于,旋转算法进一步包括:
步骤311:记旋转节点R的父结点为PR;
步骤312:若旋转参数为1,运行步骤313-315,若为-1,则运行步骤316-318;
步骤313:将R的左孩子记为T;
步骤314:将T的右孩子设置为R的左孩子;
步骤315:将R设置为T的右孩子;
步骤316:将R的右孩子记为T;
步骤317:将T的左孩子设置为R的右孩子;
步骤318:将R设置为T的左孩子;
步骤319:若PR为空,进入步骤321,否则进入步骤320;
步骤320:若R为PR的左孩子,则将PR的左孩子改为T,否则将PR的右孩子改为T;
步骤321:若R为空,进入步骤323,否则进入步骤322;
步骤322:更新R,判断PR是否为空,若为空,则记R为根结点ROOT,进入步骤323,否则设置PR为R,返回步骤321;
步骤323:返回根结点ROOT。
8.如权利要求2所述的一种基于区块链的动态社交外包数据关键词查询验证方法,其特征在于,新区块的构建进一步包括:
步骤411:得到记账权的节点将OSN节点广播的辅助信息保存至新创建的区块,
所述区块由区块头和区块体构成,所述区块头包括上一个区块的hash值、辅助信息对应时间戳、求解的问题以及对应的随机数,所述区块体包括Cuckoo过滤器、OSN公钥及辅助信息签名;
步骤412:新区块构建完毕后,该节点将区块链接到主链之上并广播至其他节点,当超过预定数量的节点返回接受表示该区块加入至主链。
9.一种电子装置,其特征在于,包括:
处理器;以及,存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-8任一项所述的基于区块链的动态社交外包数据关键词查询验证方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-8任一项所述的基于区块链的动态社交外包数据关键词查询验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911200721.6A CN110971393B (zh) | 2019-11-29 | 2019-11-29 | 基于区块链动态社交外包数据关键词查询验证方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911200721.6A CN110971393B (zh) | 2019-11-29 | 2019-11-29 | 基于区块链动态社交外包数据关键词查询验证方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110971393A true CN110971393A (zh) | 2020-04-07 |
CN110971393B CN110971393B (zh) | 2020-11-06 |
Family
ID=70032106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911200721.6A Active CN110971393B (zh) | 2019-11-29 | 2019-11-29 | 基于区块链动态社交外包数据关键词查询验证方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110971393B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111949623A (zh) * | 2020-08-13 | 2020-11-17 | 广东省林业科学研究院 | 一种检验数据分析验证系统 |
CN113239260A (zh) * | 2021-05-18 | 2021-08-10 | 中南大学 | 基于布谷鸟过滤器的多属性外包数据查询验证方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630955A (zh) * | 2015-12-24 | 2016-06-01 | 华中科技大学 | 一种高效动态的数据集合成员管理方法 |
CN106230851A (zh) * | 2016-08-29 | 2016-12-14 | 中金云金融(北京)大数据科技股份有限公司 | 基于区块链的数据保全方法及系统 |
US20170235496A1 (en) * | 2016-02-11 | 2017-08-17 | Dell Products L.P. | Data deduplication with augmented cuckoo filters |
CN108111528A (zh) * | 2017-12-29 | 2018-06-01 | 中链科技有限公司 | 一种基于区块链的防钓鱼方法及系统 |
WO2018115567A1 (en) * | 2016-12-19 | 2018-06-28 | Nokia Technologies Oy | Method and apparatus for private data transfer between parties |
CN108985100A (zh) * | 2018-08-15 | 2018-12-11 | 百度在线网络技术(北京)有限公司 | 基于区块链的元素安全性证明方法、装置、设备和介质 |
CN109165224A (zh) * | 2018-08-24 | 2019-01-08 | 东北大学 | 一种在区块链数据库上针对关键字key的索引方法 |
CN109886675A (zh) * | 2019-02-01 | 2019-06-14 | 杭州电子科技大学 | 基于区块链的资源访问令牌的分发和资源使用监控方法 |
CN110011981A (zh) * | 2019-03-15 | 2019-07-12 | 湖北工程学院 | 一种基于区块链的可信云存储方法及系统 |
CN110503558A (zh) * | 2019-08-29 | 2019-11-26 | 深圳前海微众银行股份有限公司 | 一种基于区块链系统的处理方法及装置 |
-
2019
- 2019-11-29 CN CN201911200721.6A patent/CN110971393B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630955A (zh) * | 2015-12-24 | 2016-06-01 | 华中科技大学 | 一种高效动态的数据集合成员管理方法 |
US20170235496A1 (en) * | 2016-02-11 | 2017-08-17 | Dell Products L.P. | Data deduplication with augmented cuckoo filters |
CN106230851A (zh) * | 2016-08-29 | 2016-12-14 | 中金云金融(北京)大数据科技股份有限公司 | 基于区块链的数据保全方法及系统 |
WO2018115567A1 (en) * | 2016-12-19 | 2018-06-28 | Nokia Technologies Oy | Method and apparatus for private data transfer between parties |
CN108111528A (zh) * | 2017-12-29 | 2018-06-01 | 中链科技有限公司 | 一种基于区块链的防钓鱼方法及系统 |
CN108985100A (zh) * | 2018-08-15 | 2018-12-11 | 百度在线网络技术(北京)有限公司 | 基于区块链的元素安全性证明方法、装置、设备和介质 |
CN109165224A (zh) * | 2018-08-24 | 2019-01-08 | 东北大学 | 一种在区块链数据库上针对关键字key的索引方法 |
CN109886675A (zh) * | 2019-02-01 | 2019-06-14 | 杭州电子科技大学 | 基于区块链的资源访问令牌的分发和资源使用监控方法 |
CN110011981A (zh) * | 2019-03-15 | 2019-07-12 | 湖北工程学院 | 一种基于区块链的可信云存储方法及系统 |
CN110503558A (zh) * | 2019-08-29 | 2019-11-26 | 深圳前海微众银行股份有限公司 | 一种基于区块链系统的处理方法及装置 |
Non-Patent Citations (2)
Title |
---|
DAMIAN GRUBER 等: "Unifying Lightweight Blockchain Client Implementations", 《HTTPS://DX.DOI.ORG/10.14722/DISS.2018.23010》 * |
沈鑫 等: "区块链技术综述", 《网络与信息安全学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111949623A (zh) * | 2020-08-13 | 2020-11-17 | 广东省林业科学研究院 | 一种检验数据分析验证系统 |
CN111949623B (zh) * | 2020-08-13 | 2022-02-01 | 广东省林业科学研究院 | 一种检验数据分析验证系统 |
CN113239260A (zh) * | 2021-05-18 | 2021-08-10 | 中南大学 | 基于布谷鸟过滤器的多属性外包数据查询验证方法 |
CN113239260B (zh) * | 2021-05-18 | 2022-04-29 | 中南大学 | 基于布谷鸟过滤器的多属性外包数据查询验证方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110971393B (zh) | 2020-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108985757B (zh) | 信息处理方法、装置及系统、存储介质、电子设备 | |
JP7222036B2 (ja) | モデルトレーニングシステムおよび方法および記憶媒体 | |
CN110912707B (zh) | 基于区块链的数字证书处理方法、装置、设备及存储介质 | |
CN109933629B (zh) | 数据同步方法、装置、计算机设备以及可读存储介质 | |
US11475150B2 (en) | Methods and apparatus for implementing state proofs and ledger identifiers in a distributed database | |
KR20210003234A (ko) | 분할된 블록체인 네트워크에서 블록체인의 블록을 유지하는 것 | |
EP4216077A1 (en) | Blockchain network-based method and apparatus for data processing, and computer device | |
EP3709568A1 (en) | Deleting user data from a blockchain | |
CN111641712B (zh) | 区块链数据更新方法、装置、设备、系统及可读存储介质 | |
CN111127013A (zh) | 基于区块链的去中心化数据交易方法、装置、设备及介质 | |
US20120324229A1 (en) | System and method for generating keyless digital multi-signatures | |
CN110971393B (zh) | 基于区块链动态社交外包数据关键词查询验证方法及装置 | |
CN110457898A (zh) | 基于可信执行环境的操作记录存储方法、装置及设备 | |
CN111753014B (zh) | 基于区块链的身份认证方法及装置 | |
CN109634615B (zh) | 应用安装包的发布方法、验证方法和装置 | |
CN113422688B (zh) | 一种云存储数据的快速审计方法 | |
CN106991148B (zh) | 一种支持全更新操作的数据库验证系统及方法 | |
CN113474804A (zh) | 数字货币的交易和账户验证方法,装置及存储介质 | |
WO2022100946A1 (en) | Merkle proof entity | |
CN112035863B (zh) | 一种基于智能合约方式的电子合同取证方法及系统 | |
JP2023547716A (ja) | マークル証明エンティティ | |
CN111817859A (zh) | 基于零知识证明的数据共享方法、装置、设备及存储介质 | |
CN113037505A (zh) | 一种可信Web应用的实现方法及系统 | |
WO2020229922A1 (en) | Systems and methods for non-parallelised mining on a proof-of-work blockchain network | |
Shen et al. | Verifiable and redactable blockchains with fully editing operations |
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 |