CN111899019A - Method and system for cross validation and sharing of blacklist and multiple parties - Google Patents

Method and system for cross validation and sharing of blacklist and multiple parties Download PDF

Info

Publication number
CN111899019A
CN111899019A CN202010737235.4A CN202010737235A CN111899019A CN 111899019 A CN111899019 A CN 111899019A CN 202010737235 A CN202010737235 A CN 202010737235A CN 111899019 A CN111899019 A CN 111899019A
Authority
CN
China
Prior art keywords
blacklist
data
block
bloom filter
nodes
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.)
Pending
Application number
CN202010737235.4A
Other languages
Chinese (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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN202010737235.4A priority Critical patent/CN111899019A/en
Publication of CN111899019A publication Critical patent/CN111899019A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种黑名单多方交叉验证和共享的系统,包括Bloom Filter黑名单共享库模块,用于获取黑名单数据进行基于Bloom Filter的运算和存储,以及对所存储黑名单数据的检索查询;黑名单提交记录共享账本模块,用于记录提交的黑名单数据明细信息,并发送到区块链上的记账节点,以供记账节点打包成区块传递到各个节点;公链共识管理模块用于在公链上部署智能合约以对区块链上进行节点管理和共识机制管理;本发明利用Bloom Filter技术在空间效率、查询效率以及安全性上的优势,结合区块链技术实现无损隐私的黑名单共享和高效检索功能,且突破了区块链的存储容量限制;并通过智能合约对参与节点之间数据共享、共识进行约束,自动化执行,实现可信的数据共享系统。

Figure 202010737235

The invention discloses a system for multi-party cross-validation and sharing of blacklists, including a Bloom Filter blacklist shared library module, which is used to obtain blacklist data for calculation and storage based on Bloom Filter, and to retrieve and query the stored blacklist data. ;The blacklist submission record sharing ledger module is used to record the submitted blacklist data details, and send it to the accounting nodes on the blockchain, so that the accounting nodes can be packaged into blocks and passed to each node; public chain consensus management The module is used to deploy smart contracts on the public chain for node management and consensus mechanism management on the blockchain; the present invention utilizes the advantages of Bloom Filter technology in space efficiency, query efficiency and security, combined with blockchain technology to achieve lossless The private blacklist sharing and efficient retrieval functions break through the storage capacity limitation of the blockchain; and through smart contracts, data sharing and consensus among participating nodes are constrained, and automated execution is implemented to achieve a credible data sharing system.

Figure 202010737235

Description

一种黑名单多方交叉验证和共享的方法及系统A method and system for multi-party cross-validation and sharing of blacklists

技术领域technical field

本发明涉及区块链应用技术领域,具体而言,为一种黑名单多方交叉验证和共享的方法及系统。The present invention relates to the technical field of blockchain applications, in particular, to a method and system for multi-party cross-validation and sharing of blacklists.

背景技术Background technique

区块链是比特币带来的一种底层技术,其中包括一系列技术,例如非对称加密签名、分布式账本、共识机制、点对点协议、智能合约等。区块链可以实现点对点网络环境下的价值转移、数据共识、合约自动化执行等。区块链分为公链和联盟链,公链是开放结构,任何陌生节点都可加入;联盟链是许可加入结构,只有经过许可的节点才可参与共识和记账。Blockchain is an underlying technology brought by Bitcoin, which includes a series of technologies, such as asymmetric encrypted signatures, distributed ledgers, consensus mechanisms, peer-to-peer protocols, smart contracts, etc. Blockchain can realize value transfer, data consensus, automatic contract execution, etc. in a peer-to-peer network environment. The blockchain is divided into a public chain and a consortium chain. The public chain is an open structure, and any unfamiliar node can join it; the consortium chain is a permissioned joining structure, and only permissioned nodes can participate in consensus and bookkeeping.

在多个机构间或在行业内实现黑名单共享一直是一个难题,既有在多方分享数据并达成数据一致性的技术困难,也有泄漏敏感数据和侵犯隐私的担忧。基于区块链技术做黑名单共享,也存在隐私问题,即便采用哈希值上链,也存在检索效率问题,以及区块链本身的容量限制问题。这些问题致使针对黑名单共享,业界虽有紧迫需求,却难以在各行各业得以落地应用。Achieving blacklist sharing among multiple institutions or within the industry has always been a difficult problem. There are both technical difficulties in sharing data among multiple parties and achieving data consistency, as well as concerns about leaking sensitive data and violating privacy. Blacklist sharing based on blockchain technology also has privacy issues. Even if the hash value is used to upload the chain, there are still retrieval efficiency issues and the capacity limitation of the blockchain itself. These problems make it difficult for the blacklist sharing to be applied in all walks of life despite the urgent needs of the industry.

有鉴于此,特提出本发明。In view of this, the present invention is proposed.

发明内容SUMMARY OF THE INVENTION

针对现有技术中的缺陷,本发明提供一种黑名单多方交叉验证和共享的方法及系统,旨在利用Bloom Filter数据结构实现无损隐私的黑名单共享和高效检索功能,并使用区块链技术在联盟内实现Bloom Filter数据和黑名单提交记录数据的共识和一致。节点间构成联盟链的共识机制和数据一致,通过依赖可信的公链达成。In view of the defects in the prior art, the present invention provides a method and system for multi-party cross-validation and sharing of blacklists, aiming to use the Bloom Filter data structure to achieve privacy-free blacklist sharing and efficient retrieval functions, and to use blockchain technology. Realize the consensus and consistency of Bloom Filter data and blacklist submission record data within the alliance. The consensus mechanism and data that constitute the alliance chain between nodes are consistent, and are achieved by relying on a trusted public chain.

为实现上述目的,本申请的技术方案如下:To achieve the above object, the technical scheme of the application is as follows:

一种黑名单多方交叉验证和共享的系统,其特征在于,包括A system for multi-party cross-validation and sharing of blacklists, characterized by comprising:

Bloom Filter黑名单共享库模块,用于获取黑名单数据进行基于Bloom Filter的运算和存储,以及对所存储黑名单数据的检索查询;The Bloom Filter blacklist shared library module is used to obtain the blacklist data for operation and storage based on Bloom Filter, and to retrieve and query the stored blacklist data;

黑名单提交记录共享账本模块,用于记录提交到所述Bloom Filter黑名单共享库模块的明细信息,并发送到区块链上的记账节点,以供记账节点打包成为区块传递到各个节点;The blacklist submission record shared ledger module is used to record the detailed information submitted to the Bloom Filter blacklist shared library module, and send it to the accounting node on the blockchain, so that the accounting node can be packaged into a block and transmitted to each node;

公链共识管理模块,用于在公链上部署智能合约以对区块链上的节点进行节点管理和共识机制管理;The public chain consensus management module is used to deploy smart contracts on the public chain for node management and consensus mechanism management of nodes on the blockchain;

接口模块,用于提供标准化程序接口供业务系统访问,以提交所述黑名单数据和查询黑名单数据。The interface module is used to provide a standardized program interface for the business system to access, so as to submit the blacklist data and query the blacklist data.

进一步的,上述的黑名单多方交叉验证和共享的系统中,所述Bloom Filter黑名单共享库模块,具体用于Further, in the above-mentioned blacklist multi-party cross-validation and sharing system, the Bloom Filter blacklist shared library module is specifically used for

对获取的黑名单数据进行多种哈希运算,得到的运算结果映射到该模块BloomFilter数据结构的Bit位,以验证该黑名单是否存在、以及该黑名单提交次数,并返回验证结果;Perform various hash operations on the obtained blacklist data, and the obtained operation results are mapped to the Bit bits of the BloomFilter data structure of the module to verify whether the blacklist exists and the number of submissions of the blacklist, and return the verification result;

以及,对经过运算验证的每条黑名单数据进行存储,形成基于Bloom Filter数据结构的黑名单共享库,并在每个黑名单数据的运算验证后更新该共享库,以供查询;And, each piece of blacklist data that has been verified by the operation is stored to form a blacklist shared library based on the Bloom Filter data structure, and the shared library is updated after the operation verification of each blacklist data for query;

在接收到黑名单查询请求时,该模块至少返回所请求查询的黑名单是否存在、以及该黑名单提交次数两种结果。When receiving a blacklist query request, the module returns at least two results, whether the requested query blacklist exists and the number of times the blacklist is submitted.

进一步的,上述的黑名单多方交叉验证和共享的系统中,所述Bloom Filter为带计数器的Bloom Filter,通过计数器记录Bloom Filter数据结构的Bit位增加元素的个数,以及黑名单提交次数。Further, in the above-mentioned system for multi-party cross-validation and sharing of blacklists, the Bloom Filter is a Bloom Filter with a counter, and the counter records the number of elements added to the Bit bit of the Bloom Filter data structure and the number of blacklist submissions.

进一步的,上述的黑名单多方交叉验证和共享的系统中,所述黑名单提交记录共享账本模块存储所述明细信息时,按照如下数据结构构造交易:Further, in the above blacklist multi-party cross-validation and sharing system, when the blacklist submission record sharing ledger module stores the detailed information, the transaction is constructed according to the following data structure:

黑名单数据的多种哈希值、将该多种哈希值拼串后做加密运算所得到的哈希值、该黑名单在Bloom Filter上的计数值、时间戳、公钥、以及该节点的私钥数字签名。The various hash values of the blacklist data, the hash value obtained by concatenating the various hash values and performing the encryption operation, the count value of the blacklist on the Bloom Filter, the timestamp, the public key, and the node private key digital signature.

进一步的,上述的黑名单多方交叉验证和共享的系统中,所述区块链包括联盟链本地节点主体和联盟链公链智能合约主体;Further, in the above-mentioned blacklist multi-party cross-validation and sharing system, the blockchain includes the local node main body of the alliance chain and the main body of the smart contract of the alliance chain public chain;

其中联盟链本地节点主体包括所述Bloom Filter黑名单共享库模块和黑名单提交记录共享账本模块,并与接口模块共同部署在所有节点的本地;The main body of the local node of the alliance chain includes the Bloom Filter blacklist shared library module and the blacklist submission record shared ledger module, and is deployed locally on all nodes together with the interface module;

所述联盟链公链智能合约主体包括公链共识管理模块,公链共识管理模块以程序方式在公链上部署至少三个智能合约,包括身份认证智能合约、共识管理智能合约和存证智能合约。The main body of the alliance chain public chain smart contract includes a public chain consensus management module, and the public chain consensus management module deploys at least three smart contracts on the public chain in a procedural manner, including an identity authentication smart contract, a consensus management smart contract and a certificate smart contract .

进一步的,上述的黑名单多方交叉验证和共享的系统中,身份认证智能合约用于联盟链参与节点的身份认证管理,联盟链的上述公钥存储在智能合约中;共识管理智能合约用于随机分配联盟链中节点的记账权,并维持记账历史;存证智能合约用于保存联盟链的关于黑名单的区块数据以及投票节点针对该区块数据的数字签名。Further, in the above-mentioned blacklist multi-party cross-validation and sharing system, the identity authentication smart contract is used for the identity authentication management of the participating nodes of the alliance chain, and the public key of the alliance chain is stored in the smart contract; the consensus management smart contract is used for randomization. Allocate the accounting rights of the nodes in the alliance chain and maintain the accounting history; the smart contract for depository is used to save the block data of the alliance chain about the blacklist and the digital signature of the voting nodes for the block data.

进一步的,上述的黑名单多方交叉验证和共享的系统中,所述黑名单提交记录共享账本模块每隔预设时间段生成一个数据区块,由当前负责记账的节点收集预设时间段内所有节点提交的所有交易信息,进行验证、打包生成区块数据,附上前一个区块的哈希值,加密运算生成本区块的区块哈希值,生成区块头信息;之后将区块发送至投票节点,由半数以上节点验证并签名的区块,进入确定状态。Further, in the above system for multi-party cross-validation and sharing of blacklists, the blacklist submission record sharing ledger module generates a data block every preset time period, and the node currently responsible for bookkeeping collects data within the preset time period. All transaction information submitted by all nodes is verified, packaged to generate block data, attached with the hash value of the previous block, encrypted to generate the block hash value of this block, and block header information; The block that is sent to the voting nodes and verified and signed by more than half of the nodes enters the confirmed state.

本发明还提供了一种黑名单多方交叉验证和共享的方法,包括步骤:The present invention also provides a method for multi-party cross-validation and sharing of the blacklist, comprising the steps of:

获取黑名单数据,基于Bloom Filter对其进行运算和存储,并对所存储的黑名单数据检索查询,确定共享库中是否存在所述黑名单数据;Obtaining blacklist data, calculating and storing it based on Bloom Filter, and retrieving and querying the stored blacklist data to determine whether the blacklist data exists in the shared library;

记录所述黑名单数据的提交明细信息,并发送到区块链上的记账节点,以供记账节点打包成为区块传递到各个节点;Record the submission details of the blacklist data, and send it to the accounting node on the blockchain, so that the accounting node can be packaged into a block and transmitted to each node;

部署智能合约,对所述区块链上的节点以及共识机制进行管理。Deploy smart contracts to manage nodes and consensus mechanisms on the blockchain.

进一步的,上述的黑名单多方交叉验证和共享的方法中,获取黑名单数据,基于Bloom Filter对其进行运算和存储,并对所存储的黑名单数据检索查询,确定共享库中是否存在所述黑名单数据,具体包括:Further, in the above-mentioned blacklist multi-party cross-validation and sharing method, blacklist data is obtained, calculated and stored based on Bloom Filter, and the stored blacklist data is retrieved and queried to determine whether the shared library exists. Blacklist data, including:

S1.获取疑似或确定黑名单数据,取该黑名单数据的有效标识数据;S1. Obtain suspected or confirmed blacklist data, and obtain valid identification data of the blacklist data;

S2.在本地环境,对获取的有效标识数据进行10种哈希运算,包括APHash,BKDRHash,BPHash,DJBHash,DEKHash,FNVHash,JSHash,PJWHash,RSHash以及SDBMHash这10种哈希运算,继而获得10个哈希值;S2. In the local environment, perform 10 hash operations on the acquired valid identification data, including APHash, BKDRHash, BPHash, DJBHash, DEKHash, FNVHash, JSHash, PJWHash, RSHash and SDBMHash, and then obtain 10 hash operations. hash value;

S3.对基于所述Bloom Filter数据结构的黑名单共享库提交10个哈希值,其中:S3. Submit 10 hash values to the blacklist shared library based on the Bloom Filter data structure, wherein:

S31.如果这10个哈希值映射到Bloom Filter数据结构中其对应位上都是1,则判断已经有其他节点提交过该黑名单;进入步骤S4.;S31. If these 10 hash values are mapped to the corresponding bits in the Bloom Filter data structure are all 1, then it is judged that other nodes have submitted the blacklist; go to step S4.;

S32.如果这10个哈希值映射到Bloom Filter数据结构中其对应位上都是0,则将该位设置为1;进入步骤S5.;S32. If these 10 hash values are mapped to the corresponding bits in the Bloom Filter data structure are all 0, set the bit to 1; enter step S5.;

S4.通过Bloom Filter计数器,获得该10个位的计数,从而获知之前共有几次对该黑名单的提交;并对计数器的10个位分别加1;S4. Obtain the 10-bit count through the Bloom Filter counter, so as to know that there have been several submissions to the blacklist before; and add 1 to the 10 bits of the counter respectively;

S5.把Bloom Filter数据结构中对应的10个位的值设置为1;并对计数器的10个位分别加1。S5. Set the value of the corresponding 10 bits in the Bloom Filter data structure to 1; and add 1 to the 10 bits of the counter respectively.

进一步的,上述的黑名单多方交叉验证和共享的方法中,部署智能合约,对所述区块链上的节点以及共识机制进行管理,具体包括:Further, in the above-mentioned blacklist multi-party cross-validation and sharing method, smart contracts are deployed to manage nodes and consensus mechanisms on the blockchain, including:

在公链上部署三个智能合约,包括身份认证智能合约、共识管理智能合约和存证智能合约,其中身份认证智能合约用于联盟链参与节点的身份认证管理;共识管理智能合约用于随机分配联盟链中节点的记账权,并维持记账历史;存证智能合约用于保存联盟链的关于黑名单的区块数据以及投票节点针对该区块数据的数字签名;Three smart contracts are deployed on the public chain, including identity authentication smart contracts, consensus management smart contracts and certificate storage smart contracts. The identity authentication smart contracts are used for the identity authentication management of the participating nodes in the alliance chain; the consensus management smart contracts are used for random allocation The accounting rights of the nodes in the alliance chain and maintaining the accounting history; the smart contract for depository is used to save the block data of the alliance chain about the blacklist and the digital signature of the voting nodes for the block data;

联盟链每隔预设时间段生成一个数据区块,由当前负责记账的节点收集预设时间段内所有节点提交的所有交易信息,进行验证、打包生成区块数据,附上前一个区块的哈希值,加密运算生成本区块的区块哈希值,生成区块头信息;之后将区块发送至投票节点,由半数以上节点验证并签名的区块,进入确定状态;The alliance chain generates a data block every preset time period, and the node currently responsible for bookkeeping collects all transaction information submitted by all nodes within the preset time period, verifies, packs and generates block data, and attaches the previous block. After the block is sent to the voting node, the block that is verified and signed by more than half of the nodes enters the confirmed state;

共识管理智能合约每隔预设时间段从所有联盟节点的公钥地址中随机选取一个地址,指定该地址为下一轮记账节点,预设时间段内该节点提交该轮区块头信息至存证智能合约做存证;否则共识管理智能合约随机选取另一个公钥地址作为本轮记账节点。The consensus management smart contract randomly selects an address from the public key addresses of all alliance nodes every preset time period, designates this address as the next round of billing nodes, and the node submits the block header information of this round to the storage within the preset time period. The certificate smart contract is used for deposit; otherwise, the consensus management smart contract randomly selects another public key address as the accounting node for this round.

本发明的有益效果体现在:The beneficial effects of the present invention are embodied in:

本发明系统及方法,利用Bloom Filter技术在空间效率、查询效率以及安全性上的优势,结合区块链技术实现无损隐私的黑名单共享和高效检索功能,且突破了区块链的存储容量限制;并且本发明采用区块链技术,通过智能合约对参与联盟的节点之间数据共享、共识进行约束,且自动化执行,从而实现可信、可靠的数据共享系统。The system and method of the present invention utilizes the advantages of the Bloom Filter technology in space efficiency, query efficiency and security, and combines the blockchain technology to achieve privacy-free blacklist sharing and efficient retrieval functions, and break through the storage capacity limitation of the blockchain. ; and the present invention adopts blockchain technology to constrain data sharing and consensus among nodes participating in the alliance through smart contracts, and automate execution, thereby realizing a credible and reliable data sharing system.

附图说明Description of drawings

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。In order to illustrate the specific embodiments of the present invention or the technical solutions in the prior art more clearly, the following briefly introduces the accompanying drawings that are required to be used in the description of the specific embodiments or the prior art. Similar elements or parts are generally identified by similar reference numerals throughout the drawings. In the drawings, each element or section is not necessarily drawn to actual scale.

图1为本发明一种黑名单多方交叉验证和共享的系统在一个具体实施例中的架构图;FIG. 1 is an architecture diagram of a blacklist multi-party cross-validation and sharing system in a specific embodiment of the present invention;

图2为图1所示系统中利用Bloom Filter数据结构和联盟连进行黑名单提交和验证的流程图;Fig. 2 is the flow chart that utilizes Bloom Filter data structure and alliance to carry out blacklist submission and verification in the system shown in Fig. 1;

图3为图1所示系统中带计数器的Bloom Filter对黑名单数据存储、验证和检索的原理示意图。FIG. 3 is a schematic diagram of the principle of storing, verifying and retrieving blacklist data by a Bloom Filter with a counter in the system shown in FIG. 1 .

具体实施方式Detailed ways

下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。Embodiments of the technical solutions of the present invention will be described in detail below with reference to the accompanying drawings. The following examples are only used to more clearly illustrate the technical solutions of the present invention, and are therefore only used as examples, and cannot be used to limit the protection scope of the present invention.

需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。It should be noted that, unless otherwise specified, the technical or scientific terms used in this application should have the usual meanings understood by those skilled in the art to which the present invention belongs.

本发明中的相关名词解释:Explanation of relevant terms in the present invention:

Bloom Filter:布隆过滤器,是一种数据存储和检索技术,由布隆(Burton HowardBloom)在1970年提出。Bloom Filter的数据结构是由一个很长的二进制向量构成,每个二进制位可置为0或者1。Bloom Filter技术使用一系列的随机映射函数,例如哈希函数,对数据元素做运算,然后映射到对应的二进制位上,将该位设为1。若是一个元素所映射的位的值都为1,则说明该元素存在。Bloom Filter的空间效率和运算效率均超过一般检索算法。Bloom Filter: Bloom filter is a data storage and retrieval technology, proposed by Bloom (Burton HowardBloom) in 1970. The data structure of Bloom Filter is composed of a long binary vector, and each binary bit can be set to 0 or 1. Bloom Filter technology uses a series of random mapping functions, such as hash functions, to operate on data elements, and then map them to the corresponding binary bit, setting the bit to 1. If the values of the bits mapped by an element are all 1, it means that the element exists. The space efficiency and computational efficiency of Bloom Filter are higher than general retrieval algorithms.

如图1-2所示,本发明一种黑名单多方交叉验证和共享的系统,包括As shown in Figure 1-2, the present invention is a blacklist multi-party cross-validation and sharing system, including

Bloom Filter黑名单共享库模块,用于获取黑名单数据进行基于Bloom Filter的运算和存储,以及对所存储黑名单数据的检索查询;The Bloom Filter blacklist shared library module is used to obtain the blacklist data for operation and storage based on Bloom Filter, and to retrieve and query the stored blacklist data;

黑名单提交记录共享账本模块,用于记录提交到所述Bloom Filter黑名单共享库模块的明细信息,并发送到区块链上的记账节点,以供记账节点打包成为区块传递到各个节点;The blacklist submission record shared ledger module is used to record the detailed information submitted to the Bloom Filter blacklist shared library module, and send it to the accounting node on the blockchain, so that the accounting node can be packaged into a block and transmitted to each node;

公链共识管理模块,用于在公链上部署智能合约以对区块链上的节点进行节点管理和共识机制管理。The public chain consensus management module is used to deploy smart contracts on the public chain to manage nodes on the blockchain and manage the consensus mechanism.

本发明提供的黑名单多方交叉验证和共享的系统,使用Bloom Filter数据结构存储、验证和检索黑名单,实现对黑名单的交叉验证,并且不泄露隐私,采用联盟链的形式在参与共享的多方之间分享存储在Bloom Filter黑名单共享库上的数据,并达成共识,共识的机制和管理依赖以太坊等公链上部署的智能合约实现,不可篡改,确保执行,可靠性高。The blacklist multi-party cross-validation and sharing system provided by the present invention uses the Bloom Filter data structure to store, verify and retrieve the blacklist, realizes the cross-validation of the blacklist without revealing privacy, and adopts the form of alliance chain among the multi-party participating in the sharing. Share the data stored on the Bloom Filter blacklist shared library and reach a consensus. The consensus mechanism and management depend on the implementation of smart contracts deployed on public chains such as Ethereum, which cannot be tampered with, ensuring execution and high reliability.

在本发明给出的一个具体实施例中,系统还包括SDK接口模块,用于提供标准化接口的SDK模块,供其他机构的业务系统访问,以提交所述黑名单数据和查询黑名单数据。In a specific embodiment provided by the present invention, the system further includes an SDK interface module, which is used to provide an SDK module with a standardized interface for access by the business systems of other organizations to submit the blacklist data and query the blacklist data.

所述Bloom Filter黑名单共享库模块获取来自上述SDK模块的黑名单数据(可以是身份证等通用的唯一身份标识),并对获取的数据进行多种哈希运算,得到的运算结果映射到该模块Bloom Filter数据结构的Bit位,以验证该黑名单是否存在、以及该黑名单提交次数,并返回验证结果;对经过运算验证的每条黑名单数据进行存储,形成基于BloomFilter数据结构的黑名单共享库,并在每个黑名单数据的运算验证后更新该共享库,以供查询;并且在其他业务系统发起黑名单查询请求时,该模块返回请求查询的黑名单是否存在、以及该黑名单提交次数两种结果。The Bloom Filter blacklist shared library module obtains blacklist data from the above-mentioned SDK module (which can be a universal unique identifier such as an ID card), and performs various hash operations on the obtained data, and the obtained operation result is mapped to the The Bit bit of the Bloom Filter data structure of the module is used to verify whether the blacklist exists and the number of submissions of the blacklist, and returns the verification result; each piece of blacklist data verified by the operation is stored to form a blacklist based on the BloomFilter data structure. Shared library, and update the shared library for query after the operation verification of each blacklist data; and when other business systems initiate a blacklist query request, the module returns whether the blacklist requested for query exists, and the blacklist There are two results for the number of submissions.

具体的,结合图3,本发明中所述Bloom Filter采用带计数器的Bloom Filter,可优选采用dlCBF(d-Left Counting Bloom Filter),该结构可通过计数器记录Bit位增加元素的个数,从而可以实现元素删除,且可以计算出一个黑名单多方提交的次数;继而在黑名单查询的时候,不仅可以返回是否存在该元素,且可以返回该元素提交的次数,对于黑名单共享中黑名单的多方验证和确认而言,具有重要的意义。Specifically, with reference to FIG. 3 , the Bloom Filter described in the present invention adopts a Bloom Filter with a counter, preferably a dlCBF (d-Left Counting Bloom Filter), which can increase the number of elements by recording the Bit bits of the counter, so that the number of elements can be increased. Implement element deletion, and can calculate the number of times that a blacklist is submitted by multiple parties; then when the blacklist is queried, it can not only return whether the element exists, but also return the number of times the element was submitted. It is important for verification and validation.

在一个具体示例中,所述Bloom Filter黑名单共享库模块进行运算和共享的程序步骤如下:In a specific example, the procedure steps of the Bloom Filter blacklist shared library module performing computation and sharing are as follows:

S1.获取疑似(或确定)黑名单数据,取该黑名单数据的有效标识数据,例如该有效标识数据为身份证数据;S1. Obtain suspected (or confirmed) blacklist data, and obtain valid identification data of the blacklist data, for example, the valid identification data is ID card data;

S2.在本地环境,对获取的身份证数据进行10种哈希运算,包括APHash,BKDRHash,BPHash,DJBHash,DEKHash,FNVHash,JSHash,PJWHash,RSHash以及SDBMHash这10种哈希运算,继而获得10个哈希值;S2. In the local environment, perform 10 hash operations on the acquired ID card data, including APHash, BKDRHash, BPHash, DJBHash, DEKHash, FNVHash, JSHash, PJWHash, RSHash and SDBMHash, and then obtain 10 hash operations. hash value;

S3.对基于所述Bloom Filter数据结构的黑名单共享库提交10个哈希值,其中:S3. Submit 10 hash values to the blacklist shared library based on the Bloom Filter data structure, wherein:

S31.如果这10个哈希值映射到Bloom Filter数据结构中其对应位上都是1,则说明已经有其他节点提交过该黑名单;则进入步骤S4.;S31. If these 10 hash values are mapped to the corresponding bits in the Bloom Filter data structure are all 1, it means that other nodes have submitted the blacklist; then go to step S4.;

S32.如果这10个哈希值映射到Bloom Filter数据结构中其对应位上都是0,则将该位设置为1;进入步骤S5.;S32. If these 10 hash values are mapped to the corresponding bits in the Bloom Filter data structure are all 0, set the bit to 1; enter step S5.;

S4.通过Bloom Filter计数器,获得该10个位的计数,从而获知之前共有几次对该黑名单的提交;计数越多,则该黑名单的严重程度越高;并对计数器的10个位分别加1;S4. Obtain the 10-bit count through the Bloom Filter counter, so as to know how many times the blacklist has been submitted before; the more the count, the higher the severity of the blacklist; plus 1;

S5.把Bloom Filter数据结构中对应的10个位的值设置为1;并对计数器的10个位分别加1。S5. Set the value of the corresponding 10 bits in the Bloom Filter data structure to 1; and add 1 to the 10 bits of the counter respectively.

本实施例中,Bloom Filter所设置的位m共计20亿,哈希运算种类数k取10,按照Bloom Filter存储率不超过50%,则可容纳黑名单元素为1亿,存储容量很大。In this embodiment, the total number of bits m set by the Bloom Filter is 2 billion, the number of hash operation types k is 10, and if the storage rate of the Bloom Filter does not exceed 50%, the blacklist elements that can be accommodated are 100 million, and the storage capacity is large.

所述黑名单提交记录共享账本模块记录提交黑名单数据到Bloom Filter黑名单共享库模块的明细信息,存储到本地,并发送到记账节点,以供记账节点将其打包成为区块数据,之后传递到各个节点,达成节点间的数据一致,并与Bloom Filter黑名单共享库形成可验证的一致性;此处的提交记录,可视为区块链中的交易。The blacklist submission record shared ledger module records the detailed information of the submitted blacklist data to the Bloom Filter blacklist shared library module, stores it locally, and sends it to the accounting node, so that the accounting node can package it into block data, It is then passed to each node to achieve data consistency between nodes, and form verifiable consistency with the Bloom Filter blacklist shared library; the submission record here can be regarded as a transaction in the blockchain.

其中,所述黑名单提交记录共享账本模块存储提交记录明细时,按照如下数据结构构造交易:Wherein, when the blacklist submission record sharing ledger module stores the submission record details, the transaction is constructed according to the following data structure:

黑名单数据的10种哈希值、将该10种哈希值拼串后做SHA 256所得哈希值、该黑名单在Bloom Filter上的计数值、时间戳、公钥、以及该节点的私钥数字签名。The 10 hash values of the blacklist data, the hash value obtained by concatenating the 10 hash values and doing SHA 256, the count value of the blacklist on the Bloom Filter, the timestamp, the public key, and the private key of the node key digital signature.

黑名单提交记录共享账本模块将上述数据结构构成的数据区块发送到记账节点,以进行后续的区块上链验证操作。The blacklist submission record sharing ledger module sends the data block formed by the above data structure to the accounting node for subsequent verification operations on the blockchain.

在本发明系统中,通过公链共识管理模块在公链上部署智能合约以对节点间的交易与共识过程,进行身份认证、共识管理和/或存证。In the system of the present invention, the smart contract is deployed on the public chain through the public chain consensus management module to carry out identity authentication, consensus management and/or certificate storage for the transaction and consensus process between nodes.

本发明中的区块链包括联盟链本地节点主体和联盟链公链智能合约主体;其中联盟链本地节点主体包括所述Bloom Filter黑名单共享库模块和黑名单提交记录共享账本模块,并与SDK接口模块共同部署在所有节点的本地。The blockchain in the present invention includes the local node main body of the alliance chain and the intelligent contract main body of the alliance chain public chain; wherein the local node main body of the alliance chain includes the Bloom Filter blacklist shared library module and the blacklist submission record shared ledger module, and is connected with the SDK. The interface modules are jointly deployed locally on all nodes.

联盟链的节点之间通过Gossip协议实现点对点的数据共享,共享的数据即包括Bloom Filter黑名单共享库模块和黑名单提交记录共享账本模块上的数据。The peer-to-peer data sharing is realized between the nodes of the alliance chain through the Gossip protocol. The shared data includes the data on the Bloom Filter blacklist shared library module and the blacklist submission record shared ledger module.

本实施例给出的一个优选实施方式中,Bloom Filter黑名单共享库模块与黑名单提交记录共享账本模块采用go语言开发;其中Bloom Filter基于Bitset数据结构,并使用MarshalBinary进行持久化的文件存储。黑名单提交记录共享账本模块的数据采用Leveldb存储;节点间通过gRPC传输数据。In a preferred implementation given in this embodiment, the Bloom Filter blacklist shared library module and the blacklist submission record shared ledger module are developed in go language; the Bloom Filter is based on the Bitset data structure and uses MarshalBinary for persistent file storage. The data of the blacklist submission record shared ledger module is stored in Leveldb; data is transmitted between nodes through gRPC.

所述联盟链公链智能合约主体包括公链共识管理模块,公链共识管理模块以程序方式在以太坊等公链上部署三个智能合约,包括身份认证智能合约、共识管理智能合约和存证智能合约,以实现对联盟链本地节点主体的节点管理和共识机制管理。The main body of the alliance chain public chain smart contract includes a public chain consensus management module, and the public chain consensus management module deploys three smart contracts on public chains such as Ethereum in a programmatic way, including an identity authentication smart contract, a consensus management smart contract and a certificate deposit. Smart contract to realize node management and consensus mechanism management of the local node main body of the alliance chain.

其中身份认证智能合约用于联盟链参与节点的身份认证管理,联盟链的上述公钥存储在智能合约中;共识管理智能合约用于随机分配联盟链中节点的记账权,并维持记账历史;存证智能合约用于保存联盟链的关于黑名单的区块数据以及投票节点针对该区块数据的数字签名。Among them, the identity authentication smart contract is used for the identity authentication management of the participating nodes of the alliance chain, and the public key of the alliance chain is stored in the smart contract; the consensus management smart contract is used to randomly assign the accounting rights of the nodes in the alliance chain and maintain the accounting history ; The smart contract for depository is used to save the block data about the blacklist of the alliance chain and the digital signature of the voting node for the block data.

本实施例给出的一个优选实施方式中,共识管理模块基于以太坊公链,使用Solidity语言开发三个智能合约;In a preferred implementation given in this example, the consensus management module is based on the Ethereum public chain, and uses Solidity language to develop three smart contracts;

在另外的可选实施方式中,也可采用中心化的共识管理模块,即使用go语言开发程序实现身份认证、共识管理和存证功能,在一台中心化服务器上运行。In another optional embodiment, a centralized consensus management module can also be used, that is, using the go language development program to realize the functions of identity authentication, consensus management and certificate storage, and run on a centralized server.

黑名单提交记录共享账本模块每20分钟生成一个数据区块,即联盟链(下亦称为“黑名单联盟链”)每20分钟生成一个区块,由该轮负责记账的节点收集20分钟里所有节点提交的所有交易信息(即黑名单提交记录的明细信息),进行验证、打包生成区块数据,附上前一个区块的哈希值,运算SHA256生成本区块的区块哈希值,生成区块头信息,区块头信息包括:前一个区块的区块哈希值、本区块的哈希值、时间戳、本区块交易数量、记账节点的私钥签名;之后将区块发送至其他节点(投票节点),由半数以上节点验证并签名的区块,进入确定状态。The blacklist submission record sharing ledger module generates a data block every 20 minutes, that is, the consortium chain (also referred to as the "blacklist consortium chain") generates a block every 20 minutes, which is collected by the node responsible for bookkeeping in this round for 20 minutes All transaction information submitted by all nodes (that is, the detailed information of the blacklist submission record), verify, package and generate block data, attach the hash value of the previous block, and calculate SHA256 to generate the block hash of this block. value, and generate block header information. The block header information includes: the block hash value of the previous block, the hash value of this block, the timestamp, the number of transactions in this block, and the private key signature of the accounting node; The block is sent to other nodes (voting nodes), and the block that is verified and signed by more than half of the nodes enters the confirmed state.

其中记账节点的打包工作包括:The packaging work of the accounting node includes:

1)将所有交易信息按照时间顺序排序后拼串;1) Arrange all transaction information in chronological order and put them together;

2)加入前一个区块的哈希值;2) Add the hash value of the previous block;

3)对1)、2)两步的数据运算SHA 256生成本区块的区块哈希值;3) SHA 256 of the two-step data operation to generate the block hash value of this block;

4)生成区块头信息,区块头信息包括:前一个区块的区块哈希值、本区块的哈希值、时间戳、区块中的交易数、记账节点的私钥签名。4) Generate block header information. The block header information includes: the block hash value of the previous block, the hash value of the current block, the timestamp, the number of transactions in the block, and the private key signature of the accounting node.

打包后的区块,由记账节点发送至其他节点,经过半数以上节点验证并签名的区块进入确定状态,其区块哈希值可被下一个区块引用。The packaged block is sent by the accounting node to other nodes, and the block that has been verified and signed by more than half of the nodes enters the confirmed state, and its block hash value can be referenced by the next block.

进一步的,本发明验证共识过程中,在所述身份认证智能合约中保存着所有联盟节点的注册信息和公钥地址,可通过该智能合约添加新的联盟节点,也可删除某个现有联盟节点。Further, during the consensus verification process of the present invention, the registration information and public key addresses of all alliance nodes are stored in the identity authentication smart contract, and new alliance nodes can be added through the smart contract, and an existing alliance can also be deleted. node.

共识管理智能合约每20分钟从所有联盟节点的公钥地址中随机选取一个地址,指定该地址为下一轮记账节点,20分钟内该节点提交该轮区块头信息至存证智能合约做存证,如果20分钟内该记账节点没有提交区块头信息,则共识管理智能合约随机选取另一个公钥地址作为本轮记账节点,确保合约执行。The consensus management smart contract randomly selects an address from the public key addresses of all alliance nodes every 20 minutes, and designates this address as the next round of billing nodes. Within 20 minutes, the node submits the block header information of this round to the smart contract for depositing the certificate for storage. If the accounting node does not submit the block header information within 20 minutes, the consensus management smart contract randomly selects another public key address as the accounting node for this round to ensure the execution of the contract.

联盟链中本轮记账节点要向存证智能合约提交本轮区块的区块头信息进行存证,本轮区块的区块头信息即包括:前一个区块的区块哈希值、本区块的哈希值、时间戳、本区块交易数量、记账节点的私钥签名。The current round of bookkeeping nodes in the alliance chain should submit the block header information of the current round of blocks to the certification smart contract for certification. The block header information of the current round of blocks includes: the block hash value of the previous block, the current block The hash value of the block, the timestamp, the number of transactions in this block, and the private key signature of the accounting node.

本轮非记账节点(投票节点)收到区块,对交易和区块进行验证,验证无误后,向存证智能合约提交对该区块的私钥数字签名,以用作审核投票。This round of non-bookkeeping nodes (voting nodes) receives the block, verifies the transaction and the block, and after the verification is correct, submits the private key digital signature of the block to the smart contract for verification to be used for audit voting.

存证智能合约保存每个区块来自非记账节点的私钥数字签名,并记录审核投票数,投票数过半,则将该区块状态置为最终状态(Finalized)。只有处于“最终状态”的区块,其哈希值才可以被下一个区块引用。The certificate-storing smart contract saves the digital signature of the private key of each block from the non-accounting node, and records the number of audit votes. If more than half of the votes are voted, the block status will be set to the final status (Finalized). Only blocks in the "final state" can have their hash value referenced by the next block.

其中,非记账节点对交易的验证工作包括:1)交易信息的格式正确性、2)交易中的10种哈希值与Bloom Filter数据结构状态变更的一致性、3)交易信息中私钥数字签名的正确性验证。Among them, the verification of the transaction by the non-accounting node includes: 1) the correctness of the format of the transaction information, 2) the consistency of the 10 hash values in the transaction and the state change of the Bloom Filter data structure, 3) the private key in the transaction information Verification of correctness of digital signatures.

非记账节点对区块的验证工作包括:1)区块中交易顺序与时间戳的一致性、2)区块中所有交易执行与Bloom Filter数据结构最终状态的一致性、3)区块数据格式的正确性、4)区块头哈希值的正确性、5)记账节点的私钥数字签名正确性。The verification of the block by the non-bookkeeping node includes: 1) the consistency of the transaction order and timestamp in the block, 2) the consistency of all transaction execution in the block and the final state of the Bloom Filter data structure, 3) the block data The correctness of the format, 4) the correctness of the hash value of the block header, and 5) the correctness of the digital signature of the private key of the accounting node.

验证无误后,非记账节点向存证智能合约提交对本区块的私钥数字签名。After the verification is correct, the non-accounting node submits the digital signature of the private key of the block to the smart contract.

经过共识后的区块数据,即完成上链,联盟链的参与节点能够从链上获得可信的黑名单数据。The block data after consensus is completed on the chain, and the participating nodes of the alliance chain can obtain credible blacklist data from the chain.

本发明系统利用Bloom Filter技术在空间效率、查询效率以及安全性上的优势,结合区块链技术实现无损隐私的黑名单共享和高效检索功能,且突破了区块链的存储容量限制;并且本发明采用区块链技术,通过智能合约对参与联盟的节点之间数据共享、共识进行约束,且自动化执行,从而实现可信、可靠的数据共享系统。The system of the invention utilizes the advantages of the Bloom Filter technology in space efficiency, query efficiency and security, and combines the blockchain technology to realize the blacklist sharing and efficient retrieval functions without loss of privacy, and breaks through the storage capacity limitation of the blockchain; The invention adopts blockchain technology to constrain data sharing and consensus among nodes participating in the alliance through smart contracts, and automate execution, thereby realizing a credible and reliable data sharing system.

实施例2Example 2

本发明还提供了一种黑名单多方交叉验证和共享的方法,基于上述实施例1中的系统实施,如图2所示,具体包括如下步骤The present invention also provides a method for multi-party cross-validation and sharing of blacklists, which is implemented based on the system in Embodiment 1 above, as shown in FIG. 2, and specifically includes the following steps

获取黑名单数据,基于Bloom Filter对其进行运算和存储,并对所存储的黑名单数据检索查询,确定共享库中是否存在所述黑名单数据;Obtaining blacklist data, calculating and storing it based on Bloom Filter, and retrieving and querying the stored blacklist data to determine whether the blacklist data exists in the shared library;

记录所述黑名单数据的提交明细信息,并发送到区块链上的记账节点,以供记账节点打包成为区块传递到各个节点;Record the submission details of the blacklist data, and send it to the accounting node on the blockchain, so that the accounting node can be packaged into a block and transmitted to each node;

部署智能合约,对所述区块链上的节点以及共识机制进行管理。Deploy smart contracts to manage nodes and consensus mechanisms on the blockchain.

本发明方法旨在利用Bloom Filter技术实现区块链上的黑名单数据验证和共享,其实施原理可对应参考上述实施例1中的相关描述。The method of the present invention aims to use the Bloom Filter technology to realize the verification and sharing of blacklist data on the blockchain, and its implementation principle can refer to the relevant description in the above-mentioned Embodiment 1.

具体的,结合图1、3,本发明方法中,步骤“获取黑名单数据,基于Bloom Filter对其进行运算和存储,并对所存储的黑名单数据检索查询,确定共享库中是否存在所述黑名单数据”包括:Specifically, with reference to Figures 1 and 3, in the method of the present invention, the step "obtaining blacklist data, calculating and storing it based on Bloom Filter, and retrieving and querying the stored blacklist data, determines whether the shared library has the Blacklist data" includes:

获取来自其他机构提交的黑名单数据(可以是身份证等通用的唯一身份标识),并对获取的数据进行多种哈希运算,得到的运算结果映射到Bloom Filter数据结构的Bit位,以验证该黑名单是否存在、以及该黑名单提交次数,并返回验证结果;对经过运算验证的每条黑名单数据进行存储,形成基于Bloom Filter数据结构的黑名单共享库,并在每个黑名单数据的运算验证后更新该共享库,以供查询;并且在其他业务系统发起黑名单查询请求时,返回请求查询的黑名单是否存在、以及该黑名单提交次数两种结果。Obtain the blacklist data submitted by other institutions (it can be a universal unique identifier such as an ID card), and perform various hash operations on the obtained data, and the obtained operation results are mapped to the Bit bits of the Bloom Filter data structure to verify Whether the blacklist exists, and the number of submissions of the blacklist, and return the verification result; store each piece of blacklist data that has been verified by the operation to form a blacklist shared library based on the Bloom Filter data structure, and display the data in each blacklist data. The shared library is updated for query after the operation verification of the query; and when other business systems initiate a blacklist query request, two results are returned, whether the blacklist requested to be queried exists, and the number of times the blacklist has been submitted.

具体的,本发明通方法中所述Bloom Filter采用带计数器的Bloom Filter,可优选采用dlCBF(d-Left Counting Bloom Filter),该结构可通过计数器记录Bit位增加元素的个数,从而可以实现元素删除,且可以计算出一个黑名单多方提交的次数;继而在黑名单查询的时候,不仅可以返回是否存在该元素,且可以返回该元素提交的次数,对于黑名单共享中黑名单的多方验证和确认而言,具有重要的意义。Specifically, the Bloom Filter described in the general method of the present invention adopts a Bloom Filter with a counter, preferably a dlCBF (d-Left Counting Bloom Filter), which can increase the number of elements by recording the Bit bits of the counter, so as to realize the element Delete, and can calculate the number of times that a blacklist is submitted by multiple parties; then when the blacklist is queried, it can not only return whether the element exists, but also return the number of times the element was submitted. For the multi-party verification and Confirmation is important.

在一个具体示例中,所述“基于Bloom Filter对其进行运算和存储,并对所存储的黑名单数据检索查询,确定共享库中是否存在所述黑名单数据”步骤如下:In a specific example, the steps of "computing and storing it based on Bloom Filter, and retrieving and querying the stored blacklist data to determine whether the blacklist data exists in the shared library" are as follows:

S1.获取疑似(或确定)黑名单数据,取该黑名单数据的有效标识数据,例如该有效标识数据为身份证数据;S1. Obtain suspected (or confirmed) blacklist data, and obtain valid identification data of the blacklist data, for example, the valid identification data is ID card data;

S2.在本地环境,对获取的身份证数据进行10种哈希运算,包括APHash,BKDRHash,BPHash,DJBHash,DEKHash,FNVHash,JSHash,PJWHash,RSHash以及SDBMHash这10种哈希运算,继而获得10个哈希值;S2. In the local environment, perform 10 hash operations on the acquired ID card data, including APHash, BKDRHash, BPHash, DJBHash, DEKHash, FNVHash, JSHash, PJWHash, RSHash and SDBMHash, and then obtain 10 hash operations. hash value;

S3.对基于所述Bloom Filter数据结构的黑名单共享库提交10个哈希值,其中:S3. Submit 10 hash values to the blacklist shared library based on the Bloom Filter data structure, wherein:

S31.如果这10个哈希值映射到Bloom Filter数据结构中其对应位上都是1,则说明已经有其他节点提交过该黑名单;则进入步骤S4.;S31. If these 10 hash values are mapped to the corresponding bits in the Bloom Filter data structure are all 1, it means that other nodes have submitted the blacklist; then go to step S4.;

S32.如果这10个哈希值映射到Bloom Filter数据结构中其对应位上都是0,则将该位设置为1;进入步骤S5.;S32. If these 10 hash values are mapped to the corresponding bits in the Bloom Filter data structure are all 0, set the bit to 1; enter step S5.;

S4.通过Bloom Filter计数器,获得该10个位的计数,从而获知之前共有几次对该黑名单的提交;计数越多,则该黑名单的严重程度越高;并对计数器的10个位分别加1;S4. Obtain the 10-bit count through the Bloom Filter counter, so as to know how many times the blacklist has been submitted before; the more the count, the higher the severity of the blacklist; plus 1;

S5.把Bloom Filter数据结构中对应的10个位的值设置为1;并对计数器的10个位分别加1。S5. Set the value of the corresponding 10 bits in the Bloom Filter data structure to 1; and add 1 to the 10 bits of the counter respectively.

本实施例中,Bloom Filter所设置的位m共计20亿,哈希运算种类数k取10,按照Bloom Filter存储率不超过50%,则可容纳黑名单元素为1亿,存储容量很大。In this embodiment, the total number of bits m set by the Bloom Filter is 2 billion, the number of hash operation types k is 10, and if the storage rate of the Bloom Filter does not exceed 50%, the blacklist elements that can be accommodated are 100 million, and the storage capacity is large.

步骤“记录所述黑名单数据的提交明细信息,并发送到区块链上的记账节点,以供记账节点打包成为区块传递到各个节点”包括:The step of "recording the submission details of the blacklist data and sending it to the accounting node on the blockchain, so that the accounting node can be packaged into a block and transmitted to each node" includes:

记录提交黑名单数据到Bloom Filter黑名单共享库的明细信息,存储到本地,并发送到记账节点,以供记账节点将其打包成为区块数据,之后传递到各个节点,达成节点间的数据一致,并与Bloom Filter黑名单共享库形成可验证的一致性;此处的提交记录,可视为区块链中的交易。Record and submit the detailed information of the blacklist data to the Bloom Filter blacklist shared library, store it locally, and send it to the accounting node for the accounting node to package it into block data, and then pass it to each node to achieve inter-node communication. The data is consistent, and forms verifiable consistency with the Bloom Filter blacklist shared library; the submission record here can be regarded as a transaction in the blockchain.

其中,记录提交黑名单数据到Bloom Filter黑名单共享库的明细信息时,按照如下数据结构构造交易:Among them, when recording the detailed information of the submitted blacklist data to the Bloom Filter blacklist shared library, construct the transaction according to the following data structure:

黑名单数据的10种哈希值、将该10种哈希值拼串后做SHA 256所得哈希值、该黑名单在Bloom Filter上的计数值、时间戳、公钥、以及该节点的私钥数字签名。The 10 hash values of the blacklist data, the hash value obtained by concatenating the 10 hash values and doing SHA 256, the count value of the blacklist on the Bloom Filter, the timestamp, the public key, and the private key of the node key digital signature.

将上述数据结构构成的数据区块发送到记账节点,以进行后续的区块上链验证操作。The data block formed by the above data structure is sent to the accounting node for subsequent verification operations on the blockchain.

步骤“构建智能合约,对所述区块链上的节点以及共识机制进行管理”包括:The step "Building a smart contract to manage nodes and consensus mechanisms on the blockchain" includes:

在公链上部署智能合约以对节点间的交易与共识过程,进行身份认证、共识管理和/或存证。Deploy smart contracts on the public chain to perform identity authentication, consensus management, and/or deposit certificates for transactions and consensus processes between nodes.

本发明中构建的区块链包括联盟链本地节点主体和联盟链公链智能合约主体;其中联盟链本地节点主体包括所述Bloom Filter黑名单共享库模块和黑名单提交记录共享账本模块,并与SDK接口模块共同部署在所有节点的本地。The blockchain constructed in the present invention includes the main body of the local node of the alliance chain and the main body of the smart contract of the public chain of the alliance chain; wherein the main body of the local node of the alliance chain includes the Bloom Filter blacklist shared library module and the blacklist submission record shared ledger module, and is connected with the The SDK interface modules are jointly deployed locally on all nodes.

联盟链的节点之间通过Gossip协议实现点对点的数据共享,共享的数据即包括Bloom Filter黑名单共享库模块和黑名单提交记录共享账本模块上的数据。The peer-to-peer data sharing is realized between the nodes of the alliance chain through the Gossip protocol. The shared data includes the data on the Bloom Filter blacklist shared library module and the blacklist submission record shared ledger module.

所述联盟链公链智能合约主体包括公链共识管理模块,公链共识管理模块以程序方式在以太坊等公链上部署三个智能合约,包括身份认证智能合约、共识管理智能合约和存证智能合约,以实现对联盟链本地节点主体的节点管理和共识机制管理。The main body of the alliance chain public chain smart contract includes a public chain consensus management module, and the public chain consensus management module deploys three smart contracts on public chains such as Ethereum in a programmatic way, including an identity authentication smart contract, a consensus management smart contract and a certificate deposit. Smart contract to realize node management and consensus mechanism management of the local node main body of the alliance chain.

其中身份认证智能合约用于联盟链参与节点的身份认证管理,联盟链的上述公钥存储在智能合约中;共识管理智能合约用于随机分配联盟链中节点的记账权,并维持记账历史;存证智能合约用于保存联盟链的关于黑名单的区块数据以及投票节点针对该区块数据的数字签名。Among them, the identity authentication smart contract is used for the identity authentication management of the participating nodes of the alliance chain, and the public key of the alliance chain is stored in the smart contract; the consensus management smart contract is used to randomly assign the accounting rights of the nodes in the alliance chain and maintain the accounting history ; The smart contract for depository is used to save the block data about the blacklist of the alliance chain and the digital signature of the voting node for the block data.

本实施例给出的一个优选实施方式中,共识管理模块基于以太坊公链,使用Solidity语言开发三个智能合约;In a preferred implementation given in this example, the consensus management module is based on the Ethereum public chain, and uses Solidity language to develop three smart contracts;

在另外的可选实施方式中,也可采用中心化的共识管理模块,即使用go语言开发程序实现身份认证、共识管理和存证功能,在一台中心化服务器上运行。In another optional embodiment, a centralized consensus management module can also be used, that is, using the go language development program to realize the functions of identity authentication, consensus management and certificate storage, and run on a centralized server.

联盟链(下亦称为“黑名单联盟链”)每20分钟生成一个区块,由该轮负责记账的节点收集20分钟里所有节点提交的所有交易信息(即黑名单提交记录的明细信息),进行验证、打包生成区块数据,附上前一个区块的哈希值,运算SHA256生成本区块的区块哈希值,生成区块头信息,区块头信息包括:前一个区块的区块哈希值、本区块的哈希值、时间戳、本区块交易数量、记账节点的私钥签名;之后将区块发送至其他节点(投票节点),由半数以上节点验证并签名的区块,进入确定状态。The alliance chain (also referred to as the "blacklist alliance chain") generates a block every 20 minutes, and the node responsible for bookkeeping in this round collects all transaction information submitted by all nodes within 20 minutes (that is, the details of the blacklist submission records). ), verify, package and generate block data, attach the hash value of the previous block, calculate SHA256 to generate the block hash value of this block, generate block header information, and the block header information includes: The block hash value, the hash value of this block, the timestamp, the number of transactions in this block, and the private key signature of the accounting node; then the block is sent to other nodes (voting nodes), verified by more than half of the nodes and confirmed. The signed block enters the confirmation state.

其中记账节点的打包工作包括:The packaging work of the accounting node includes:

1)将所有交易信息按照时间顺序排序后拼串;1) Arrange all transaction information in chronological order and put them together;

2)加入前一个区块的哈希值;2) Add the hash value of the previous block;

3)对1)、2)两步的数据运算SHA 256生成本区块的区块哈希值;3) SHA 256 of the two-step data operation to generate the block hash value of this block;

4)生成区块头信息,区块头信息包括:前一个区块的区块哈希值、本区块的哈希值、时间戳、区块中的交易数、记账节点的私钥签名。4) Generate block header information. The block header information includes: the block hash value of the previous block, the hash value of the current block, the timestamp, the number of transactions in the block, and the private key signature of the accounting node.

打包后的区块,由记账节点发送至其他节点,经过半数以上节点验证并签名的区块进入确定状态,其区块哈希值可被下一个区块引用。The packaged block is sent by the accounting node to other nodes, and the block that has been verified and signed by more than half of the nodes enters the confirmed state, and its block hash value can be referenced by the next block.

进一步的,本发明验证共识过程中,在所述身份认证智能合约中保存着所有联盟节点的注册信息和公钥地址,可通过该智能合约添加新的联盟节点,也可删除某个现有联盟节点。Further, during the consensus verification process of the present invention, the registration information and public key addresses of all alliance nodes are stored in the identity authentication smart contract, and new alliance nodes can be added through the smart contract, and an existing alliance can also be deleted. node.

共识管理智能合约每20分钟从所有联盟节点的公钥地址中随机选取一个地址,指定该地址为下一轮记账节点,20分钟内该节点提交该轮区块头信息至存证智能合约做存证,如果20分钟内该记账节点没有提交区块头信息,则共识管理智能合约随机选取另一个公钥地址作为本轮记账节点,确保合约执行。The consensus management smart contract randomly selects an address from the public key addresses of all alliance nodes every 20 minutes, and designates this address as the next round of billing nodes. Within 20 minutes, the node submits the block header information of this round to the smart contract for depositing the certificate for storage. If the accounting node does not submit the block header information within 20 minutes, the consensus management smart contract randomly selects another public key address as the accounting node for this round to ensure the execution of the contract.

联盟链中本轮记账节点要向存证智能合约提交本轮区块的区块头信息进行存证,本轮区块的区块头信息即包括:前一个区块的区块哈希值、本区块的哈希值、时间戳、本区块交易数量、记账节点的私钥签名。The current round of bookkeeping nodes in the alliance chain should submit the block header information of the current round of blocks to the certification smart contract for certification. The block header information of the current round of blocks includes: the block hash value of the previous block, the current block The hash value of the block, the timestamp, the number of transactions in this block, and the private key signature of the accounting node.

本轮非记账节点(投票节点)收到区块,对交易和区块进行验证,验证无误后,向存证智能合约提交对该区块的私钥数字签名,以用作审核投票。This round of non-bookkeeping nodes (voting nodes) receives the block, verifies the transaction and the block, and after the verification is correct, submits the private key digital signature of the block to the smart contract for verification to be used for audit voting.

存证智能合约保存每个区块来自非记账节点的私钥数字签名,并记录审核投票数,投票数过半,则将该区块状态置为最终状态(Finalized)。只有处于“最终状态”的区块,其哈希值才可以被下一个区块引用。The certificate-storing smart contract saves the digital signature of the private key of each block from the non-accounting node, and records the number of audit votes. If more than half of the votes are voted, the block status will be set to the final status (Finalized). Only blocks in the "final state" can have their hash value referenced by the next block.

其中,非记账节点对交易的验证工作包括:1)交易信息的格式正确性、2)交易中的10种哈希值与Bloom Filter数据结构状态变更的一致性、3)交易信息中私钥数字签名的正确性验证。Among them, the verification of the transaction by the non-accounting node includes: 1) the correctness of the format of the transaction information, 2) the consistency of the 10 hash values in the transaction and the state change of the Bloom Filter data structure, 3) the private key in the transaction information Verification of correctness of digital signatures.

非记账节点对区块的验证工作包括:1)区块中交易顺序与时间戳的一致性、2)区块中所有交易执行与Bloom Filter数据结构最终状态的一致性、3)区块数据格式的正确性、4)区块头哈希值的正确性、5)记账节点的私钥数字签名正确性。The verification of the block by the non-bookkeeping node includes: 1) the consistency of the transaction order and timestamp in the block, 2) the consistency of all transaction execution in the block and the final state of the Bloom Filter data structure, 3) the block data The correctness of the format, 4) the correctness of the hash value of the block header, and 5) the correctness of the digital signature of the private key of the accounting node.

验证无误后,非记账节点向存证智能合约提交对本区块的私钥数字签名。After the verification is correct, the non-accounting node submits the digital signature of the private key of the block to the smart contract.

经过共识后的区块数据,即完成上链,联盟链的参与节点能够从链上获得可信的黑名单数据。The block data after consensus is completed on the chain, and the participating nodes of the alliance chain can obtain credible blacklist data from the chain.

需说明的是,本发明的实现和本文中提供的所有功能操作可以用数字电子电路、或者用计算机软件、固件或硬件,包括本说明书及其结构等同方案中所公开的结构、或者其中的一个或多个的组合来实现。本公开的实现可以实现为一个或多个计算机程序产品,即在计算机可读介质上编码的计算机程序指令的一个或多个模块,这些指令由数据处理装置来执行或者用以控制数据处理装置的操作。该计算机可读介质可以是机器可读存储设备、机器可读存储基片、存储器设备、影响机器可读传播信号的组合物或者其中的一个或多个的组合。术语“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或者多个处理器或计算机。除了硬件之外,该装置可以包括为所描述的计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统或者其中的一个或多个的组合的代码。It should be noted that the implementation of the present invention and all functional operations provided herein can be implemented by digital electronic circuits, or by computer software, firmware or hardware, including the structures disclosed in this specification and its structural equivalents, or one of them. or a combination of more than one. Implementations of the present disclosure may be implemented as one or more computer program products, ie, one or more modules of computer program instructions encoded on a computer-readable medium for execution by or to control the operation of a data processing apparatus. operate. The computer-readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition that affects a machine-readable propagated signal, or a combination of one or more thereof. The term "data processing apparatus" encompasses all apparatus, devices and machines for processing data, including, for example, a programmable processor, a computer, or multiple processors or computers. In addition to hardware, the apparatus may include code that creates an execution environment for the described computer program, such as code constituting processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more thereof.

计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言)来编写,并且计算机程序可以用任何形式来部署,包括作为独立程序或者作为模块、部件、子例程或者适合在计算环境中使用的其他单元。计算机程序并非必须对应于文件系统中的文件。程序可以存储在保持其他程序或数据(例如标记语言文档中所存储的一个或多个脚本)的文件的部分中,存储在专用于所描述的程序的单个文件中,或者存储在多个协同文件(例如存储一个或多个模块、子程序或者代码的部分的文件)中。计算机程序可以被部署成在一个计算机上来执行,或者在位于一个站点处或分布在多个站点处且通过通信网络互连的多个计算机上来执行。A computer program (also known as a program, software, software application, script, or code) may be written in any form of programming language, including compiled or interpreted languages, and a computer program may be deployed in any form, including as a stand-alone program or As a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. Programs may be stored in sections of files that hold other programs or data (such as one or more scripts stored in a markup language document), in a single file dedicated to the program being described, or in multiple collaborative files (for example, a file that stores one or more modules, subroutines, or portions of code). A computer program can be deployed to be executed on one computer, or on multiple computers that are located at one site or distributed at multiple sites and interconnected by a communication network.

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, but not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: The technical solutions described in the foregoing embodiments can still be modified, or some or all of the technical features thereof can be equivalently replaced; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the technical solutions of the embodiments of the present invention. The scope of the invention should be included in the scope of the claims and description of the present invention.

Claims (10)

1. A blacklist multiparty cross validation and sharing system is characterized by comprising
The system comprises a Bloom Filter blacklist shared library module, a BloomFilter blacklist database module and a BloomFilter database module, wherein the BloomFilter blacklist shared library module is used for acquiring blacklist data, performing calculation and storage based on the Bloom Filter, and searching and querying the stored blacklist data;
the blacklist submission record shared account book module is used for recording detailed information submitted to the Bloom Filter blacklist shared library module and sending the detailed information to the accounting nodes on the block chain, so that the accounting nodes can be packaged into blocks and transmitted to each node;
the public chain consensus management module is used for deploying an intelligent contract on a public chain so as to carry out node management and consensus mechanism management on the nodes on the blockchain;
and the interface module is used for providing a standardized program interface for a service system to access so as to submit the blacklist data and inquire the blacklist data.
2. The blacklisting multi-party cross validation and sharing system according to claim 1, wherein the BloomFilter blacklisting shared library module is specifically used for
Carrying out various Hash operations on the acquired blacklist data, mapping the obtained operation result to a Bit of the module Bloom Filter data structure to verify whether the blacklist exists and the submission times of the blacklist, and returning the verification result;
storing each blacklist data subjected to operation verification to form a blacklist shared library based on a Bloom Filter data structure, and updating the shared library after the operation verification of each blacklist data for query;
when a blacklist query request is received, the module at least returns two results, namely whether the blacklist requested to be queried exists and the submission times of the blacklist.
3. The system of claim 2, wherein the Bloom Filter is a Bloom Filter with a counter, and the number of Bit increment elements of a data structure of the Bloom Filter and the number of times of submission of the blacklist are recorded by the counter.
4. The system of claim 2, wherein the blacklist multiparty cross validation and sharing system is configured to construct a transaction according to the following data structure when the blacklist submission record shared ledger module stores the detail information:
the node comprises a plurality of hash values of blacklist data, hash values obtained by performing encryption operation after the plurality of hash values are spliced, count values of the blacklist on a Bloom Filter, a timestamp, a public key and a private key digital signature of the node.
5. The blacklisted multi-party cross validation and sharing system of claim 1, wherein the blockchain includes a federation chain local node principal and a federation chain public chain intelligent contract principal;
the local node main body of the alliance chain comprises the Bloom Filter blacklist shared library module and a blacklist submission record shared account book module, and is deployed locally on all nodes together with the interface module;
the alliance chain public chain intelligent contract main body comprises a public chain consensus management module, and the public chain consensus management module deploys at least three intelligent contracts on a public chain in a program mode, wherein the intelligent contracts comprise an identity authentication intelligent contract, a consensus management intelligent contract and a storage intelligent contract.
6. The blacklisted multi-party cross-validation and sharing system according to claim 5, wherein an identity authentication intelligent contract is used for identity authentication management of federation chain participant nodes, the public key of a federation chain being stored in an intelligent contract; the consensus management intelligent contract is used for randomly distributing the accounting right of the nodes in the alliance chain and maintaining the accounting history; the evidence-preserving intelligent contract is used for preserving block data of the alliance chain, wherein the block data are related to the blacklist, and digital signatures of voting nodes aiming at the block data are preserved.
7. The blacklist multiparty cross validation and sharing system according to claim 4, wherein the blacklist submission record sharing book module generates a data block every other preset time period, the node currently responsible for accounting collects all transaction information submitted by all nodes in the preset time period, performs validation and packaging to generate block data, attaches the hash value of the previous block, performs encryption operation to generate the block hash value of the cost block, and generates block header information; and then sending the block to a voting node, and entering a determined state by using more than half of the blocks verified and signed by the nodes.
8. A blacklist multiparty cross validation and sharing method is characterized by comprising the following steps:
acquiring blacklist data, calculating and storing the blacklist data based on Bloom Filter, retrieving and querying the stored blacklist data, and determining whether the blacklist data exists in a shared library;
recording the submission detailed information of the blacklist data, and sending the submission detailed information to the accounting nodes on the block chain, so that the accounting nodes can be packaged into blocks and transmitted to each node;
and deploying an intelligent contract, and managing the nodes on the blockchain and a consensus mechanism.
9. The method for cross-validation and sharing of blacklist and multiple parties as claimed in claim 8, wherein obtaining blacklist data, performing operation and storage based on Bloom Filter, and searching and querying the stored blacklist data to determine whether the blacklist data exists in a shared library, specifically comprises:
s1, obtaining suspected or determined blacklist data, and taking effective identification data of the blacklist data;
s2, in a local environment, performing 10 hash operations including 10 hash operations of APHash, BKDRHAsh, BPHash, DJBHASh, DEKHASh, FNVHASh, JSHHash, PJWHASh, RSHash and SDBMHash on the obtained effective identification data, and then obtaining 10 hash values;
s3, submitting 10 hash values to a blacklist shared library based on the Bloom Filter data structure, wherein:
s31, if the 10 hash values are mapped to corresponding bits of the Bloom Filter data structure to be 1, judging that other nodes submit the blacklist; entering a step S4;
s32, if the 10 hash values are mapped to corresponding bits of the Bloom Filter data structure and are all 0, setting the bits to be 1; entering a step S5;
s4, counting the 10 bits through a Bloom Filter counter, so that the submission of the blacklist for a plurality of times is known;
s5, setting the value of the corresponding 10 bits in the Bloom Filter data structure as 1; and 1 is added to 10 bits of the counter, respectively.
10. The blacklisting multi-party cross validation and sharing method according to claim 8, wherein deploying an intelligent contract to manage nodes and a consensus mechanism on the blockchain specifically comprises:
three intelligent contracts are deployed on the public chain, wherein the three intelligent contracts comprise an identity authentication intelligent contract, a consensus management intelligent contract and a storage intelligent contract, and the identity authentication intelligent contract is used for identity authentication management of the nodes participating in the public chain; the consensus management intelligent contract is used for randomly distributing the accounting right of the nodes in the alliance chain and maintaining the accounting history; the evidence-storing intelligent contract is used for storing block data of the alliance chain, which relates to the blacklist, and a digital signature of the voting node aiming at the block data;
the alliance chain generates a data block every other preset time period, all transaction information submitted by all nodes in the preset time period is collected by the node which is currently responsible for accounting, verification and packaging are carried out to generate block data, the hash value of the previous block is attached, the block hash value of the cost block is generated through encryption operation, and block header information is generated; then, the block is sent to a voting node, and more than half of the blocks verified and signed by the node enter a determined state;
randomly selecting an address from public key addresses of all alliance nodes every a preset time period by the consensus management intelligent contract, designating the address as a next round of accounting node, and submitting the round of block header information to a certificate-storing intelligent contract for certificate storage by the node within the preset time period; otherwise, the consensus management intelligent contract randomly selects another public key address as the accounting node of the current round.
CN202010737235.4A 2020-07-28 2020-07-28 Method and system for cross validation and sharing of blacklist and multiple parties Pending CN111899019A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010737235.4A CN111899019A (en) 2020-07-28 2020-07-28 Method and system for cross validation and sharing of blacklist and multiple parties

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010737235.4A CN111899019A (en) 2020-07-28 2020-07-28 Method and system for cross validation and sharing of blacklist and multiple parties

Publications (1)

Publication Number Publication Date
CN111899019A true CN111899019A (en) 2020-11-06

Family

ID=73190255

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010737235.4A Pending CN111899019A (en) 2020-07-28 2020-07-28 Method and system for cross validation and sharing of blacklist and multiple parties

Country Status (1)

Country Link
CN (1) CN111899019A (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113472870A (en) * 2021-06-25 2021-10-01 南京航空航天大学 Contract supporting distributed account book consensus method and system based on directed acyclic graph
CN113592645A (en) * 2021-07-02 2021-11-02 中国人民银行数字货币研究所 Data verification method and device
CN113610528A (en) * 2021-08-24 2021-11-05 上海点融信息科技有限责任公司 Blockchain-based management system, method, device and storage medium
CN113986940A (en) * 2021-11-11 2022-01-28 建信金融科技有限责任公司 Contract processing method and device based on blockchain public chain
CN114386086A (en) * 2021-09-24 2022-04-22 浙江甲骨文超级码科技股份有限公司 Blacklist data sharing method and obtaining method
CN114978693A (en) * 2022-05-23 2022-08-30 深圳壹账通科技服务有限公司 Multi-mechanism blacklist secrecy verification method, device, equipment and storage medium
CN114971262A (en) * 2022-05-23 2022-08-30 深邦智能科技(青岛)有限公司 Blacklist management system and method for overtaking-preventing vehicle
CN115065503A (en) * 2022-05-11 2022-09-16 浪潮云信息技术股份公司 Method for preventing replay attack of API gateway
CN115130883A (en) * 2022-07-05 2022-09-30 北京哈希泰格信息科技有限公司 Address credit risk assessment method and system based on block chain
CN115858664A (en) * 2022-10-20 2023-03-28 辽宁省宇识科技有限公司 Block chain network architecture
CN115967697A (en) * 2022-12-27 2023-04-14 暨南大学 A blockchain-based mail blacklist sharing method
CN118246060A (en) * 2023-12-04 2024-06-25 北京师范大学 Method for calculating private set intersection of decentralised storage
CN118797735A (en) * 2023-11-06 2024-10-18 中国移动通信集团浙江有限公司 Data security control method, system and blockchain

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108549716A (en) * 2018-04-23 2018-09-18 广东奥园奥买家电子商务有限公司 A method of the processing of magnanimity blacklist is realized based on the grand algorithm of cloth
CN109858272A (en) * 2018-05-23 2019-06-07 深圳崀途科技有限公司 Blacklist data processing system based on block chain
CN110503558A (en) * 2019-08-29 2019-11-26 深圳前海微众银行股份有限公司 A processing method and device based on blockchain system
CN110532786A (en) * 2018-05-23 2019-12-03 深圳崀途科技有限公司 Using the block chain blacklist sharing method of Hash desensitization process
WO2020001105A1 (en) * 2018-06-29 2020-01-02 阿里巴巴集团控股有限公司 Blockchain-based data verification method and apparatus, and electronic device
CN110851862A (en) * 2019-10-31 2020-02-28 中电科大数据研究院有限公司 A Private and Private Data Protection Mechanism in Consortium Chain

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108549716A (en) * 2018-04-23 2018-09-18 广东奥园奥买家电子商务有限公司 A method of the processing of magnanimity blacklist is realized based on the grand algorithm of cloth
CN109858272A (en) * 2018-05-23 2019-06-07 深圳崀途科技有限公司 Blacklist data processing system based on block chain
CN110532786A (en) * 2018-05-23 2019-12-03 深圳崀途科技有限公司 Using the block chain blacklist sharing method of Hash desensitization process
WO2020001105A1 (en) * 2018-06-29 2020-01-02 阿里巴巴集团控股有限公司 Blockchain-based data verification method and apparatus, and electronic device
CN110503558A (en) * 2019-08-29 2019-11-26 深圳前海微众银行股份有限公司 A processing method and device based on blockchain system
CN110851862A (en) * 2019-10-31 2020-02-28 中电科大数据研究院有限公司 A Private and Private Data Protection Mechanism in Consortium Chain

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
洪学海;汪洋;廖方宇;: "区块链安全监管技术研究综述", 中国科学基金, vol. 34, no. 1, 11 May 2020 (2020-05-11), pages 18 - 24 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113472870A (en) * 2021-06-25 2021-10-01 南京航空航天大学 Contract supporting distributed account book consensus method and system based on directed acyclic graph
CN113592645B (en) * 2021-07-02 2023-11-14 中国人民银行数字货币研究所 Data verification methods and devices
CN113592645A (en) * 2021-07-02 2021-11-02 中国人民银行数字货币研究所 Data verification method and device
CN113610528A (en) * 2021-08-24 2021-11-05 上海点融信息科技有限责任公司 Blockchain-based management system, method, device and storage medium
CN113610528B (en) * 2021-08-24 2024-04-02 上海点融信息科技有限责任公司 Management system, method, equipment and storage medium based on block chain
CN114386086A (en) * 2021-09-24 2022-04-22 浙江甲骨文超级码科技股份有限公司 Blacklist data sharing method and obtaining method
CN114386086B (en) * 2021-09-24 2024-12-31 浙江甲骨文超级码科技股份有限公司 Blacklist data sharing method and acquisition method
CN113986940A (en) * 2021-11-11 2022-01-28 建信金融科技有限责任公司 Contract processing method and device based on blockchain public chain
CN115065503A (en) * 2022-05-11 2022-09-16 浪潮云信息技术股份公司 Method for preventing replay attack of API gateway
CN115065503B (en) * 2022-05-11 2024-05-31 浪潮云信息技术股份公司 A method for preventing API gateway from replay attacks
CN114971262A (en) * 2022-05-23 2022-08-30 深邦智能科技(青岛)有限公司 Blacklist management system and method for overtaking-preventing vehicle
CN114978693A (en) * 2022-05-23 2022-08-30 深圳壹账通科技服务有限公司 Multi-mechanism blacklist secrecy verification method, device, equipment and storage medium
CN115130883A (en) * 2022-07-05 2022-09-30 北京哈希泰格信息科技有限公司 Address credit risk assessment method and system based on block chain
CN115858664A (en) * 2022-10-20 2023-03-28 辽宁省宇识科技有限公司 Block chain network architecture
CN115967697A (en) * 2022-12-27 2023-04-14 暨南大学 A blockchain-based mail blacklist sharing method
CN118797735A (en) * 2023-11-06 2024-10-18 中国移动通信集团浙江有限公司 Data security control method, system and blockchain
CN118246060A (en) * 2023-12-04 2024-06-25 北京师范大学 Method for calculating private set intersection of decentralised storage

Similar Documents

Publication Publication Date Title
CN111899019A (en) Method and system for cross validation and sharing of blacklist and multiple parties
CN115210741B (en) partially ordered blockchain
TWI724391B (en) Node management method and device based on blockchain
US20230316273A1 (en) Data processing method and apparatus, computer device, and storage medium
CN110633963B (en) Electronic bill processing method, device, computer-readable storage medium and equipment
CN111556120B (en) Data processing method and device based on block chain, storage medium and equipment
CN111523890B (en) Block chain-based data processing method, device, storage medium and equipment
WO2021036545A1 (en) Smart contract-based data processing method, and device and storage medium
CN113255014B (en) Data processing method based on block chain and related equipment
CN113256297B (en) Data processing method, device and equipment based on block chain and readable storage medium
CN110866289B (en) Block chain-based data processing method, device, server and storage medium
CN109598147B (en) Blockchain-based data processing method and device, and electronic equipment
US20250328903A1 (en) Blockchain-based data processing method and apparatus, device, and medium
CN110599275A (en) Data processing method and device based on block chain network and storage medium
CN110910110B (en) A data processing method, device and computer storage medium
CN111324661A (en) User cooperation method, device and medium based on block chain
CN110738783A (en) System, method, device, equipment and readable storage medium for updating voting data
US20250356423A1 (en) Data processing method and apparatus based on blockchain, device, and storage medium
CN112163917B (en) Bill processing method and device based on blockchain, medium and electronic equipment
CN120020783A (en) Blockchain-based data processing method, device, equipment and readable storage medium
CN117171812A (en) Multi-source trusted data production method based on blockchain, blockchain node and system
CN117010890A (en) Block chain-based transaction processing method, related device, medium and program product
CN117061089B (en) Voting management method, device, equipment and storage medium
CN117040930B (en) Resource processing method, device, product, equipment and medium of block chain network
CN119892364A (en) Method, device, computer equipment and storage medium for using random numbers in blockchain

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20201106

RJ01 Rejection of invention patent application after publication