CN116800771A - Block chain digital asset batch sharing and verifying method, device and storage medium - Google Patents

Block chain digital asset batch sharing and verifying method, device and storage medium Download PDF

Info

Publication number
CN116800771A
CN116800771A CN202310752920.8A CN202310752920A CN116800771A CN 116800771 A CN116800771 A CN 116800771A CN 202310752920 A CN202310752920 A CN 202310752920A CN 116800771 A CN116800771 A CN 116800771A
Authority
CN
China
Prior art keywords
data
verifiable
node
verification
blockchain
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202310752920.8A
Other languages
Chinese (zh)
Other versions
CN116800771B (en
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.)
Shandong University
Original Assignee
Shandong University
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 Shandong University filed Critical Shandong University
Priority to CN202310752920.8A priority Critical patent/CN116800771B/en
Publication of CN116800771A publication Critical patent/CN116800771A/en
Application granted granted Critical
Publication of CN116800771B publication Critical patent/CN116800771B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

The application relates to a blockchain digital asset batch sharing and verifying method, a blockchain digital asset batch sharing and verifying device and a storage medium. The application models batch digital assets by taking category as a unit, and aggregates all attribute hashes in the similar assets into an aggregate abstract through an accumulator and stores the aggregate abstract in a blockchain; constructing a verifiable data structure AD-MHT based on the aggregation abstract as a digital asset; the digital asset holder inquires the needed shared data and performs data minimization sharing in batches; constructing a verifiable proof for the shared data by the block chain full node according to the verifiable data structure AD-MHT; the data receiver performs a minimized shared bulk verification of the authenticity of the shared data based on the verifiable proof. The application generates the aggregate abstract for all the attribute hashes of each type of asset through the accumulator, realizes batch verification of whether the data value of the similar asset is tampered or not, designs the verifiable data structure AD-MHT, and supports efficient sharing processing and verification.

Description

Block chain digital asset batch sharing and verifying method, device and storage medium
Technical Field
The present application relates to the field of blockchain data sharing verification technologies, and in particular, to a blockchain digital asset batch sharing and verification method, device, and storage medium.
Background
In recent years, the development of digital assets (such as electronic certificates, contracts and the like) is faster and faster, however, digital assets face serious privacy disclosure problems in the sharing process due to the fact that digital objects are easy to copy and tamper, and particularly in the current artificial intelligence field, the performance of some learning algorithms is generally proportional to the amount of data used, so that batch collection of data is required. However, digital assets are both important and sensitive as a new production element, where personal privacy, business confidentiality may be involved, and not all data may be shared directly.
Federal learning is used as a distributed machine learning algorithm, which stores data locally at nodes, realizes sharing of data in a non-domain form, effectively avoids privacy leakage caused by data sharing, but cannot ensure that participating nodes are completely honest, and data authenticity is difficult to verify when each node locally selects digital assets for training.
One common principle of many privacy protection regulations, "data minimization," requires that the sharing of bulk digital assets should reveal as little content as possible, while hiding other unnecessary data, while providing proof to ensure that the authenticity of the shared content is verifiable. However, for a complete digital asset, the authenticity of the digital asset is relatively easy to verify by means of an entity anti-counterfeit card or a full text digital signature, but when only part of the data is extracted to be publicly shared, how to verify the authenticity of the part of the data has certain difficulty on the premise that the content of the complete asset is not exposed. At the same time, for a batch of digital assets, simply repeating the application of a single object algorithm to each object naturally results in verification complexity that is linear with the number of objects. In addition, the batch assets can relate to various asset type data, and in the process of minimizing data sharing, the problems of multi-type asset splicing data results and confusion verification are very easy to occur due to benefit driving. This requires that the verification process not only recognize whether the data is authentic, but also verify the correspondence of the data to the asset, ensuring that the shared data comes from the asset type specified in the request, rather than the result of a similar type digital asset splice.
To achieve content verification in the asset minimization sharing process, a simple solution is to construct a conventional Merck Hash Tree (MHT) in each chunk as a verifiable data structure and apply the conventional MHT-based verification method. However, batch verification is more complex than single asset verification, and there are the following problems with using MHT in batch verification: MHT only supports point interrogation of the built tree, and the size of the proof increases as the number of leaf nodes increases; to support queries involving a bulk set of attributes, an exponential number of MHTs need to be constructed for each block, with low verification efficiency.
Thus, in light of the privacy protection and efficient verification requirements in digital asset sharing processes, there is a need for a blockchain digital asset batch sharing and verification method.
Disclosure of Invention
In order to solve the technical problems described above or at least partially solve the technical problems described above, the present application provides a blockchain digital asset batch sharing and verification method.
In a first aspect, the present application provides a blockchain digital asset batch sharing and verification method, comprising: modeling the batch of digital assets by taking the category as a unit, and aggregating all attribute hashes in the similar assets into an aggregate abstract through an accumulator and storing the aggregate abstract in a blockchain; constructing a verifiable data structure AD-MHT based on the aggregation abstract as a digital asset; the digital asset holder inquires the needed shared data and performs data minimization sharing in batches; constructing a verifiable proof for the shared data by the block chain full node according to the verifiable data structure AD-MHT; the data receiver performs a minimized shared bulk verification of the authenticity of the shared data based on the verifiable proof.
Preferably, modeling the batch of digital assets in category units includes: aggregating digital assets by category, represented as a series of objects { c } 1 ,c 2 …c n Each object c i =<cid,DType,n,H i >Represents a class of assets, where cid represents a unique identification of an asset class, type represents an asset class, and n represents object c i Number of assets contained of type DType, H i ={h_claim j The number of h_cells j Composed attribute hash sets, each h_class j Representation c i The value obtained by hashing the n attributes.
Preferably, the accumulator comprises: the accumulator includes: keyGen (), setup (), providistjoin (), verifydisjoin () functions, wherein KeyGen () is a key generation function for obtaining a private key and a public key; the function of Setup () includes implementing computation of aggregate digest, inputting multiple sets x= { X to Setup () 1 ,…x n And public key pk, output acc (X) = (d) A (X),d B (X)), wherein s is a random number, q is a large prime number, and g is a generator of a finite cyclic group.
Preferably, the constructing a verifiable data structure AD-MHT based on the aggregated digest for the digital asset comprises:
the block chain full node pairs various data in the blockLike being assigned to leaf nodes, leaf node fields are basic object fields comprising: object hash and attribute hash set H i And aggregate abstract AggDiget i
Calculating the maximum Jaccard similarity among the nodes;
iteratively merging nodes with the maximum Jaccard similarity at each layer from bottom to top, and creating a new father node at the upper layer corresponding to the two merged nodes; the formed non-leaf nodes n each include: aggregation abstract AggDiget n =acc(H n )、hash n =hash(hash(hash nl |hash nr )|AggDigest n )、H n =H nl ∪H nr Wherein nl and nr are the left and right child nodes of node n, respectively;
judging whether the current tree structure is balanced or not, if so, repeatedly merging similar nodes at the upper layer until a root node is created; if not, adjusting the nodes to ensure the balance of the tree;
the root node of the verifiable data structure AD-MHT is written into the block header.
Preferably, the querying the digital asset holder for the desired shared data and minimizing sharing of the data in bulk comprises: after receiving the data request, the data receiver verifies the identity of the requester according to the identity mark and the public key in the blockchain;
parsing request attribute hash set H req Hash set H according to request attributes req Confirming the shared data content;
completing data sharing authorization in the blockchain and uploading request information to the blockchain in a transaction form;
the result set R containing the query results is returned to the data requestor.
Preferably, the parsing request attribute hash set H req Hash set H according to request attributes req Confirming the shared data content includes: traversing each node layer by layer downwards from the root node of the verifiable data structure AD-MHT, if the attribute hash set H of the current node i Hash set H with request attribute req With intersections of all sub-conditions of (2), the sub-conditions will be further verifiedTree, while adding the corresponding AggDigest to the verifiable proof VO for reconstructing the verifiable data structure AD-MHT root during result verification; hash set H if request attributes req A sub-condition and attribute hash set H of the current node exist in the system i Without intersection, meaning that all underlying objects do not meet the condition, the blockchain full node will call providisjunction () in the accumulator to generate the mismatch proof pi for the current node with the corresponding aggregate digest AggDigest as input.
Preferably, the blockchain full node constructs a verifiable proof for shared data according to a verifiable data structure AD-MHT comprising: s41: after receiving the shared data, the data receiver initiates a verification request according to the data content;
s42: according to the verification request, the block chain all nodes start from the root node of the verifiable data structure AD-MHT and traverse from top to bottom;
s43: adding the root node into an empty queue;
s44: in the process of executing traversal, judging whether the current queue is empty, if not, entering a loop execution step S45 and subsequent steps, and if the queue is empty, exiting the loop execution step S415, wherein the completion of the proving construction can be verified;
s45: dequeuing the first element in the queue and performing a subsequent operation as the current node;
s46: judging whether the multiple sets of the current node meet the request condition, if so, executing S47 and subsequent steps, and if not, executing S411 and subsequent steps;
s47: judging whether the current node is a leaf node, if so, executing S410, and if not, executing S48 and S49;
s48: writing the aggregate digest of the node into the verifiable certificate VO;
s49: adding child nodes of the node into a queue;
s410: writing the node into a result R;
s411: resolving the request condition into a plurality of sub-conditions;
s412: finding a sub-condition that does not satisfy the verification request;
s413: to validate set H in a request i Calling a disjoint function ProveDisjoin (), wherein the sub-condition and the public key of the verification request are not met, and generating a proof pi;
s414: writing the current node information, the sub-condition unsatisfied and the proof pi into the verifiable proof VO;
s415: the VO construction can be verified.
Preferably, the minimizing the shared batch verification of the authenticity of the shared data by the data receiver according to the verifiable proof comprises:
s51: for each unmatched object in the verifiable proof, calling a verification disjoint function VerifyDisjoint () by taking the unmatched object as a parameter, and verifying the sub-condition and the set H in the request i Disjoint to account for the asset object not matching the query condition;
s52: for the nodes in the result set, reconstructing the corresponding aggregation abstract in the verifiable certificate to verify the root of the AD-MHT;
s53: decrypting the digital signature using the public key to obtain a root stored on the blockchain;
s54: judging whether the root stored in the block chain is the same as the calculated root, if so, executing the step S55, otherwise, executing the step S56;
s55: displaying that the verification is passed;
s56: the display data is not verified.
In a second aspect, the present application provides a blockchain digital asset batch sharing and verification device, comprising: the processing unit is connected with the storage unit through the bus unit, the storage unit stores a computer program, and the blockchain digital asset batch sharing and verification method is realized when the computer program is read and executed by the processing unit.
In a third aspect, the present application provides a computer readable storage medium storing a computer program which, when read and executed by a processor, implements the blockchain digital asset batch sharing and verification method.
Compared with the prior art, the technical scheme provided by the embodiment of the application has the following advantages:
1. the batch digital asset expression model provided by the application generates the aggregation digest for all the attribute hashes of each type of asset through the accumulator, and the aggregation digest is used for summarizing the attribute hash sets of the asset objects so as to realize batch verification of whether the data values of the similar assets are tampered or not, and the verification of single asset is expanded to the asset verification in a unit of class. In addition, the size of the aggregate digest remains unchanged regardless of the number of elements in the attribute hash set.
2. The application designs a verifiable data structure AD-MHT which can generate a verifiable certificate for a shared digital asset. The verifiable data structure AD-MHT realizes the aggregation of multi-class asset objects, the objects with the maximum similarity are aggregated to the same upper node, when the objects are not matched with the same verification condition at the same time, the verification and verification expenditure is further reduced, in addition, the verifiable data structure AD-MHT supports the dynamic aggregation of any query attribute, and the efficient sharing processing and verification are realized.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the application and together with the description, serve to explain the principles of the application.
In order to more clearly illustrate the embodiments of the application or the technical solutions of the prior art, the drawings which are used in the description of the embodiments or the prior art will be briefly described, and it will be obvious to a person skilled in the art that other drawings can be obtained from these drawings without inventive effort.
FIG. 1 is a flow chart of a blockchain digital asset batch sharing and verification method of the present application;
FIG. 2 is a schematic diagram of a batch asset expression model of the present application;
FIG. 3 is a schematic diagram of a verifiable data structure AD-MHT of the present application;
FIG. 4 is a flow chart of a method of generating an aggregate digest for a digital asset according to the present application;
FIG. 5 is a flow chart of a method of constructing a verifiable data structure AD-MHT for a digital asset in accordance with the present application;
FIG. 6 is a flow chart of the present application for a digital asset holder to query for desired shared data and to perform data minimization sharing in bulk;
FIG. 7 is a flow chart of a process of generating a verifiable proof for shared data by a blockchain full node of the present application;
FIG. 8 is a flow chart of the digital asset minimization shared batch verification process of the present application;
FIG. 9 is a schematic diagram of a blockchain digital asset batch sharing and verification device of the present application.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present application more apparent, the technical solutions of the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application, and it is apparent that the described embodiments are some embodiments of the present application, but not all embodiments of the present application. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
Example 1
As shown in fig. 1, the implementation flow of the blockchain digital asset batch sharing and verification method includes:
s1: modeling the batch of digital assets by category units, and aggregating all attribute hashes in the similar assets into an aggregate digest through an accumulator to be stored in a blockchain. The aggregate abstract is used for summarizing the attribute hash set of the asset object so as to verify whether the attribute values of the similar assets are tampered in batches. In addition, the size of the aggregate digest remains unchanged regardless of the number of elements in the attribute hash set. Referring to fig. 4, the process of step S1 includes:
s11, modeling the batch of digital assets by taking categories as units; specifically, an expression model of a batch of digital assets modeled in asset class units is shown in fig. 2. The application aggregates all digital assets by category, represented as a series of objects { c } 1 ,c 2 …c n Object c i =<cid,DType,n,H i >Represents a class of assets, where cid represents a unique identification of an asset class, type represents an asset class, and n represents object c i Number of assets contained of type DType, H i ={h_claim j The number of h_cells j Composed attribute hash sets, each h_class j Representation c i The value obtained by hashing n (batch) attributes.
S12, constructing an accumulator. The accumulator includes: keyGen (), setup (), providistjoin (), verifydisjoin () functions. Wherein:
KeyGen () is a key generation function for obtaining a private key and a public key. KeyGen (1) λ ) → (sk, pk): wherein, the method comprises the steps of, wherein,and->Is two cyclic multiplication groups with the same prime order p, e is bilinear pairing, g is the generator of the finite cyclic group. Inputting a safety parameter 1 λ Select a random number +.>Wherein (1)>Is a field under modulo-p addition and modulo-p multiplication operation, generates a key sk=(s), generates a public key +.>q is a large prime number.
Setup () can implement the computation of the aggregate digest, setup (X, pk) →acc (X): input multiple set x= { X 1 ,…x n And public key pk, output acc (X) = (d) A (X),d B (X)), wherein
The hash set of attributes in the batch asset gets an aggregate digest via Setup (X, pk):
AggDigest i =acc(H i )=Setup(H i ,pk)。
ProveDisjoint(X 1 ,X 2 pk) to pi: input public key pk and two multisets X 1 ,X 2 And (2) andthen->Wherein C is a non-0 constant. This means if->Proof of evidence
VerifyDisjoint(acc(X 1 ),acc(X 2 ) Pi, pk) → {0,1}: inputting multiple accumulation value acc (X) 1 ),acc(X 2 ) Proof pi and public key pk, verifier will acc (X 1 ),acc(X 2 ) Respectively construed as (d) A (X 1 ),d B (X 1 ) (d) A (X 2 ),d B (X 2 ) If and only if e (d) A (X 1 ),d B (X 2 ) Equation of =e (pi, g) holds, proving thatIs effective. Wherein providistjoin (), verifydisjoin () is used for the subsequent verification process.
S13, aggregating the hashes of the attributes in the batch assets, namely aggregating all the attribute hashes in the similar assets into a set H through an accumulator i ={h_claim j Mapping to the elements in the set cyclic multiplication group to obtain an aggregation abstract, namely: the hash set of attributes in the batch asset gets an aggregate digest via Setup (X, pk):
AggDigest i =acc(H i )=Setup(H i ,pk)。
s14, storing the aggregate abstract in a blockchain.
As an alternative embodiment, for the above method, they support aggregation of multiple accumulated values or set disjoint proofs based on bilinear pairs and q-DHE assumptions.
S2: the verifiable data structure AD-MHT is built on the basis of the aggregate abstract.
The construction of the verifiable data structure AD-MHT is performed by a full node block-based data object in a bottom-up manner, and comprises the following steps of:
firstly, S21, the block chain full node distributes various data objects in the block to leaf nodes, wherein the leaf node fields are basic object fields, and comprise object hash (used for constructing Merker hash tree) and attribute hash set H i And aggregate abstract AggDiget i
S22, calculating the maximum Jaccard similarity among the nodes.
S23, iteratively merging nodes with the maximum Jaccard similarity at each layer from bottom to top, and creating a new father node at the upper layer corresponding to the two merged nodes to realize the maximization of the similarity of child nodes under each node. In the implementation process, in order to maximally combine unmatched objects together during query verification to improve query efficiency, nodes with maximum Jaccard similarity are iteratively combined at each layer from bottom to top, and two combined nodes are used for creating a new father node at the upper layer, so that the similarity of child nodes under each node is maximized, and meanwhile, the similarity of child nodes under each node is ensuredBalance of the certificate tree to improve query efficiency. In constructing the verifiable data structure AD-MHT, each field of the formed non-leaf node n comprises: aggregation abstract AggDiget n =acc(H n )、hash n =hash(hash(hash nl |hash nr )|AggDigest n )、H n =H nl ∪H nr (nl and nr are the left and right child nodes of node n, respectively).
S24, judging whether the current tree structure is balanced, if so, executing the step S25, otherwise, executing the step S26. In the implementation process, whether the absolute value of the height difference of the left subtree and the right subtree of the current tree structure is smaller than or equal to 1 is judged, if so, the current tree structure is balanced, and if not, the current tree structure is unbalanced.
S25, repeatedly merging similar nodes in the upper layer until a root node is created;
s26, adjusting nodes to ensure the balance of the tree;
s27, writing the root node of the verifiable data structure AD-MHT into the block header.
Attribute hash set H of verifiable data structure AD-MHT similar objects i And aggregating at the father node, storing the aggregate abstract as data required for verification in each node, forming a tree structure by combining the merck hash tree principle, and finally writing the root of the verifiable data structure AD-MHT as one field of the block head.
S3: the digital asset holder inquires the needed shared data and performs data minimization sharing in batches; referring to fig. 6, the process of step S3 includes:
s31: after receiving the data request, the data receiver verifies the identity of the requester according to the identity mark and the public key in the blockchain;
s32: parsing request attribute hash set H req Hash set H according to request attributes req Confirming the shared data content; in the implementation process, the verification data structure AD-MHT can be verified to enable the verification process of the asset to be changed into the search verification process of the tree, if the current node meets the condition, the subtree is further verified, and if the current node does not meet the verification condition, all bottoms are meantThe layer objects do not meet the requirement, and because the objects with the maximum similarity are aggregated on the same upper layer node, when the objects are not matched with the same verification condition at the same time, the verification and verification expenditure can be saved, and the verification efficiency is improved. Specifically, hash set H according to request attributes req The process of validating a verifiable data structure AD-MHT as shared data includes: traversing each node layer by layer downwards from the root node of the verifiable data structure AD-MHT, if the attribute hash set H of the current node i Satisfies the condition (i.e. H i And H is req The subtrees of which will be further verified, while the corresponding AggDigest is added to the verifiable proof VO for reconstructing the AD-MHT root during the result verification. Hash set H if the attributes of the current node i Does not satisfy the condition (i.e. at H req There is a sub-condition and H i No intersection), it means that all underlying objects do not satisfy the condition, in which case the blockchain full node will call providisjunction () with the corresponding aggregate digest AggDigest as input to generate the mismatch proof pi for that current node. And once a leaf node is reached, H of that leaf node is indicated i Satisfying the query condition and adding the query condition into the result set.
S33: completing data sharing authorization in the blockchain and uploading request information to the blockchain in a transaction form;
s34: the result set R is returned to the data requestor.
S4: constructing a verifiable proof for the shared data by the block chain full node according to the verifiable data structure AD-MHT;
as shown in fig. 7, the process of generating a verifiable proof for shared data by a blockchain full node includes:
s41: after receiving the shared data, the data receiver initiates a verification request according to the data content;
s42: according to the verification request, the block chain all nodes start from the root node of the verifiable data structure AD-MHT and traverse from top to bottom;
s43: adding the root node into an empty queue;
s44: in the process of executing the traversal, whether the current queue is empty is judged, if not, the loop execution step S45 and the subsequent steps are entered, if the queue is empty, the loop execution step S415 is exited, and the completion of the proof construction can be verified.
S45: dequeuing the first element in the queue and performing a subsequent operation as the current node;
s46: judging whether the multiple sets of the current node meet the request condition, if yes, executing S47 and subsequent steps, and if not, executing S411 and subsequent steps.
S47: judging whether the current node is a leaf node, if so, executing S410, and if not, executing S48 and S49;
s48: writing the aggregate digest of the node into the verifiable certificate VO;
s49: adding child nodes of the node into a queue;
s410: writing the node into a result R;
s411: resolving the request condition into a plurality of sub-conditions;
s412: finding a sub-condition that does not satisfy the verification request;
s413: to validate set H in a request i Calling a disjoint function ProveDisjoin (), wherein the sub-condition and the public key of the verification request are not met, and generating a proof pi;
s414: writing the current node information, the sub-condition unsatisfied and the proof pi into the verifiable proof VO;
s415: the VO construction can be verified and proved to be completed;
s5: the data receiver performs a minimized shared bulk verification of the authenticity of the shared data based on the verifiable proof.
As shown in fig. 8, the digital asset minimization shared batch verification process is as follows:
s51: for each unmatched object in the verifiable proof, calling a verification disjoint function VerifyDisjoint () by taking the unmatched object as a parameter, and verifying the sub-condition and the set H in the request i Disjoint to account for the asset object not matching the query condition.
S52: for the nodes in the result set, reconstructing the corresponding aggregation abstract in the verifiable certificate to verify the root of the AD-MHT;
s53: decrypting the digital signature using the public key to obtain a root stored on the blockchain;
s54: judging whether the root stored in the block chain is the same as the calculated root, if so, executing the step S55, otherwise, executing the step S56;
s55: the verification process not only identifies whether the data is real, but also verifies the corresponding relation between the data and the asset object, and ensures that the shared data comes from the asset type appointed in the request, but not from the similar type digital asset pieced result;
s56: the display data is not verified.
Example 2
Referring to fig. 9, an embodiment of the present application provides a blockchain digital asset batch sharing and verification device, including: the processing unit is connected with the storage unit through the bus unit, the storage unit stores a computer program, and when the computer program is read and executed by the processing unit, the blockchain digital asset batch sharing and verification method is realized and comprises the following steps: modeling the batch of digital assets by taking the category as a unit, and aggregating all attribute hashes in the similar assets into an aggregate abstract through an accumulator and storing the aggregate abstract in a blockchain; constructing a verifiable data structure AD-MHT based on the aggregation abstract as a digital asset; the digital asset holder inquires the needed shared data and performs data minimization sharing in batches; constructing a verifiable proof for the shared data by the block chain full node according to the verifiable data structure AD-MHT; the data receiver performs a minimized shared bulk verification of the authenticity of the shared data based on the verifiable proof.
Example 3
The embodiment of the application provides a computer readable storage medium, which stores a computer program, and when the computer program is read and executed by a processor, the method for sharing and verifying blockchain digital assets in batches is realized, and comprises the following steps: modeling the batch of digital assets by taking the category as a unit, and aggregating all attribute hashes in the similar assets into an aggregate abstract through an accumulator and storing the aggregate abstract in a blockchain; constructing a verifiable data structure AD-MHT based on the aggregation abstract as a digital asset; the digital asset holder inquires the needed shared data and performs data minimization sharing in batches; constructing a verifiable proof for the shared data by the block chain full node according to the verifiable data structure AD-MHT; the data receiver performs a minimized shared bulk verification of the authenticity of the shared data based on the verifiable proof.
In the embodiments provided in the present application, it should be understood that the disclosed structures and methods may be implemented in other manners. For example, the structural embodiments described above are merely illustrative, and for example, the division of the units is merely a logical function division, and there may be other manners of division in actual implementation, for example, multiple units or components may be combined or integrated into another system, or some features may be omitted, or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via interfaces, structures or units, which may be in electrical, mechanical or other forms.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in the embodiments of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
The foregoing is only a specific embodiment of the application to enable those skilled in the art to understand or practice the application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the application. Thus, the present application is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (10)

1. A blockchain digital asset batch sharing and verification method, comprising: modeling the batch of digital assets by taking the category as a unit, and aggregating all attribute hashes in the similar assets into an aggregate abstract through an accumulator and storing the aggregate abstract in a blockchain; constructing a verifiable data structure AD-MHT based on the aggregation abstract as a digital asset; the digital asset holder inquires the needed shared data and performs data minimization sharing in batches; constructing a verifiable proof for the shared data by the block chain full node according to the verifiable data structure AD-MHT; the data receiver performs a minimized shared bulk verification of the authenticity of the shared data based on the verifiable proof.
2. The blockchain digital asset batch sharing and verification method of claim 1, wherein modeling batch digital assets in categories comprises: aggregating digital assets by category, represented as a series of objects { c } 1 ,c 2 …c n Each object c i =<cid,DType,n,H i >Represents a class of assets, where cid represents a unique identification of an asset class, type represents an asset class, and n represents object c i Number of assets contained of type DType, H i ={h_claim j The number of h_cells j Composed attribute hash sets, each h_class j Representation c i The value obtained by hashing the n attributes.
3. The blockchain digital asset batch sharing and verification method of claim 1, whereinThe accumulator includes: the accumulator includes: keyGen (), setup (), providistjoin (), verifydisjoin () functions, wherein KeyGen () is a key generation function for obtaining a private key and a public key; the function of Setup () includes implementing computation of aggregate digest, inputting multiple sets x= { X to Setup () 1 ,…x n And public key pk, output acc (X) = (d) A (X),d B (X)), wherein s is a random number, q is a large prime number, and g is a generator of a finite cyclic group.
4. The blockchain digital asset batch sharing and verification method of claim 1, wherein the constructing the verifiable data structure AD-MHT based on the aggregated digest based digital asset comprises:
the block chain full node distributes various data objects in the block to leaf nodes, and leaf node fields are basic object fields, comprising: object hash and attribute hash set H i And aggregate abstract AggDiget i
Calculating the maximum Jaccard similarity among the nodes;
iteratively merging nodes with the maximum Jaccard similarity at each layer from bottom to top, and creating a new father node at the upper layer corresponding to the two merged nodes; the formed non-leaf nodes n each include: aggregation abstract AggDiget n =acc(H n )、hash n
hash(hash(hash nl |hash nr )|AggDigest n )、H n =H nl ∪H nr Wherein nl and nr are the left and right child nodes of node n, respectively;
judging whether the current tree structure is balanced or not, if so, repeatedly merging similar nodes at the upper layer until a root node is created; if not, adjusting the nodes to ensure the balance of the tree;
the root node of the verifiable data structure AD-MHT is written into the block header.
5. The blockchain digital asset batch sharing and verification method of claim 1, wherein the digital asset holder querying for the desired shared data and performing data minimization sharing in batches comprises: after receiving the data request, the data receiver verifies the identity of the requester according to the identity mark and the public key in the blockchain;
parsing request attribute hash set H req Hash set H according to request attributes req Confirming the shared data content;
completing data sharing authorization in the blockchain and uploading request information to the blockchain in a transaction form;
the result set R containing the query results is returned to the data requestor.
6. The blockchain digital asset batch sharing and verification method of claim 5, wherein the parse request attribute hash set H req Hash set H according to request attributes req Confirming the shared data content includes: traversing each node layer by layer downwards from the root node of the verifiable data structure AD-MHT, if the attribute hash set H of the current node i Hash set H with request attribute req If all sub-conditions of (a) have intersections, then the subtree thereof will be further verified, while the corresponding AggDigest is added to the verifiable proof VO for reconstructing the verifiable data structure AD-MHT root during the result verification; hash set H if request attributes req A sub-condition and attribute hash set H of the current node exist in the system i Without intersection, meaning that all underlying objects do not meet the condition, the blockchain full node will call providisjunction () in the accumulator to generate the mismatch proof pi for the current node with the corresponding aggregate digest AggDigest as input.
7. The blockchain digital asset batch sharing and verification method of claim 1, wherein the blockchain full node constructs a verifiable proof for shared data according to a verifiable data structure AD-MHT comprising: s41: after receiving the shared data, the data receiver initiates a verification request according to the data content;
s42: according to the verification request, the block chain all nodes start from the root node of the verifiable data structure AD-MHT and traverse from top to bottom;
s43: adding the root node into an empty queue;
s44: in the process of executing traversal, judging whether the current queue is empty, if not, entering a loop execution step S45 and subsequent steps, and if the queue is empty, exiting the loop execution step S415, wherein the completion of the proving construction can be verified;
s45: dequeuing the first element in the queue and performing a subsequent operation as the current node;
s46: judging whether the multiple sets of the current node meet the request condition, if so, executing S47 and subsequent steps, and if not, executing S411 and subsequent steps;
s47: judging whether the current node is a leaf node, if so, executing S410, and if not, executing S48 and S49;
s48: writing the aggregate digest of the node into the verifiable certificate VO;
s49: adding child nodes of the node into a queue;
s410: writing the node into a result R;
s411: resolving the request condition into a plurality of sub-conditions;
s412: finding a sub-condition that does not satisfy the verification request;
s413: to validate set H in a request i Calling a disjoint function ProveDisjoin (), wherein the sub-condition and the public key of the verification request are not met, and generating a proof pi;
s414: writing the current node information, the sub-condition unsatisfied and the proof pi into the verifiable proof VO;
s415: the VO construction can be verified.
8. The blockchain digital asset batch sharing and verification method of claim 1, wherein the data receiver minimizing the shared batch verification of the authenticity of the shared data based on the verifiable proof comprises:
s51: for each unmatched object in the verifiable proof, calling a verification disjoint function VerifyDisjoint () by taking the unmatched object as a parameter, and verifying the sub-condition and the set H in the request i Disjoint to account for the asset object not matching the query condition;
s52: for the nodes in the result set, reconstructing the corresponding aggregation abstract in the verifiable certificate to verify the root of the AD-MHT;
s53: decrypting the digital signature using the public key to obtain a root stored on the blockchain;
s54: judging whether the root stored in the block chain is the same as the calculated root, if so, executing the step S55, otherwise, executing the step S56;
s55: displaying that the verification is passed;
s56: the display data is not verified.
9. A blockchain digital asset batch sharing and verification device, comprising: at least one processing unit, the processing unit is connected with the storage unit through the bus unit, the storage unit stores a computer program, and when the computer program is read and executed by the processing unit, the blockchain digital asset batch sharing and verification method according to any one of claims 1-8 is realized.
10. A computer readable storage medium storing a computer program which, when read by a processor for execution, implements the blockchain digital asset batch sharing and verification method of any of claims 1-8.
CN202310752920.8A 2023-06-25 2023-06-25 Block chain digital asset batch sharing and verifying method, device and storage medium Active CN116800771B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310752920.8A CN116800771B (en) 2023-06-25 2023-06-25 Block chain digital asset batch sharing and verifying method, device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310752920.8A CN116800771B (en) 2023-06-25 2023-06-25 Block chain digital asset batch sharing and verifying method, device and storage medium

Publications (2)

Publication Number Publication Date
CN116800771A true CN116800771A (en) 2023-09-22
CN116800771B CN116800771B (en) 2024-04-26

Family

ID=88034231

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310752920.8A Active CN116800771B (en) 2023-06-25 2023-06-25 Block chain digital asset batch sharing and verifying method, device and storage medium

Country Status (1)

Country Link
CN (1) CN116800771B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019035903A1 (en) * 2017-08-16 2019-02-21 Walmart Apollo, Llc Systems and methods for distributed data validation
CN111698322A (en) * 2020-06-11 2020-09-22 福州数据技术研究院有限公司 Medical data safety sharing method based on block chain and federal learning
CN116051276A (en) * 2022-11-13 2023-05-02 李军 Block chain-based decentralised digital asset trading system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019035903A1 (en) * 2017-08-16 2019-02-21 Walmart Apollo, Llc Systems and methods for distributed data validation
CN111698322A (en) * 2020-06-11 2020-09-22 福州数据技术研究院有限公司 Medical data safety sharing method based on block chain and federal learning
CN116051276A (en) * 2022-11-13 2023-05-02 李军 Block chain-based decentralised digital asset trading system

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CHENG XU等: "vChain: Enabling Verifiable Boolean Range Queries over Blockchain Databases", 《SIGMOD2019》 *
HAIXIN WANG等: "vChain+: Optimizing Verifiable Blockchain Boolean Range Queries", 《2022 IEEE 38TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING (ICDE)》 *
RUIJIAO TIAN等: "Authenticated Selective Disclosure of Credentials in Hybrid-Storage Blockchain", 《2022 IEEE 28TH INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED SYSTEMS》 *

Also Published As

Publication number Publication date
CN116800771B (en) 2024-04-26

Similar Documents

Publication Publication Date Title
Chepurnoy et al. Edrax: A cryptocurrency with stateless transaction validation
Chi et al. A secure and efficient data sharing scheme based on blockchain in industrial Internet of Things
US11893582B2 (en) Forcing the injection of a previous transaction&#39;s bytecode into a blockchain transaction
JP6903064B2 (en) Data transfer control method and system based on integrated blockchain
CN109314636B (en) Cryptographic method and system for secure extraction of data from blockchains
Zhou et al. Efficient certificateless multi-copy integrity auditing scheme supporting data dynamics
Khovratovich et al. Sovrin: digital identities in the blockchain era
KR20200106000A (en) System and method for implementing blockchain-based digital certificate
US9049185B1 (en) Authenticated hierarchical set operations and applications
CN115668194A (en) Cross-partition calls in a partition&#39;s tamper-resistant data store
Sakai et al. Attribute-based signatures for unbounded languages from standard assumptions
Tamassia et al. Certification and Authentication of Data Structures.
Huang et al. An Anonymous Authentication System for Pay-As-You-Go Cloud Computing $^* $
CN114781007A (en) Tree-based document batch signature and signature verification method and system
CN116800771B (en) Block chain digital asset batch sharing and verifying method, device and storage medium
Li et al. Concise mercurial subvector commitments: Definitions and constructions
CN113139209A (en) Verifiable credential implementation method and system based on atomic signature
CN109784094B (en) Batch outsourcing data integrity auditing method and system supporting preprocessing
Loporchio et al. A survey of set accumulators for blockchain systems
Cachin et al. Quick Order Fairness: Implementation and Evaluation
Zhu et al. Forward-secure edge authentication for graphs
Xue et al. Algebraic construction for zero-knowledge sets
Zhou et al. BCVSE: Verifiable Searchable Encryption Scheme With Blockchain Supporting Fuzzy Query
Kawamoto et al. Computationally sound symbolic anonymity of a ring signature
CN117909386A (en) Verifiable approximate nearest neighbor query method and system based on alliance chain

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant