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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping 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技术在空间效率、查询效率以及安全性上的优势,结合区块链技术实现无损隐私的黑名单共享和高效检索功能,且突破了区块链的存储容量限制;并通过智能合约对参与节点之间数据共享、共识进行约束,自动化执行,实现可信的数据共享系统。
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.
Description
技术领域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
获取黑名单数据,基于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
具体的,结合图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)
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)
| 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)
| 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 |
-
2020
- 2020-07-28 CN CN202010737235.4A patent/CN111899019A/en active Pending
Patent Citations (6)
| 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)
| Title |
|---|
| 洪学海;汪洋;廖方宇;: "区块链安全监管技术研究综述", 中国科学基金, vol. 34, no. 1, 11 May 2020 (2020-05-11), pages 18 - 24 * |
Cited By (17)
| 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 |
