System and method for committing to a set
First Claim
1. A computer-implemented method of committing to a data set, comprising:
- forming, by said computer, a directed acyclic graph adapted to encode the data set, the directed acyclic graph having a plurality of pointers and a plurality of nodes wherein at least one node has multiple parents from the directed acyclic graph, the directed acyclic graph having at least one root node and a plurality of leaf nodes;
committing to the directed acyclic graph to produce, by said computer, a committed-to data set; and
producing, by said computer, a plurality of proofs about the committed-to data set such that a combination of the plurality of proofs does not reveal information about which nodes have multiple parents, each proof comprising a trace from one of the plurality of nodes to at least one different node, the trace comprising the identities of the nodes and pointers traversed,wherein producing a plurality of proofs comprises producing multiple proofs each showing that a different given element is not present in the committed-to data set and limiting a number of these proofs produced per committed-to data set.
1 Assignment
0 Petitions
Accused Products
Abstract
The disclosed embodiments relate to a system and method of committing to a data set, comprising forming a directed acyclic graph adapted to encode the data set, the directed acyclic graph having a plurality of pointers and a plurality of nodes wherein at least one node has multiple parents, the directed acyclic graph having at least one root node and a plurality of leaf nodes. Further, disclosed embodiments comprise committing to the directed acyclic graph to produce a committed-to data set and producing a plurality of proofs about the committed-to data set such that a combination of the plurality of proofs does not reveal information about which nodes have multiple parents, each proof comprising a trace from one of the plurality of nodes to at least one different node, the trace comprising the identities of the nodes and pointers traversed.
103 Citations
49 Claims
-
1. A computer-implemented method of committing to a data set, comprising:
-
forming, by said computer, a directed acyclic graph adapted to encode the data set, the directed acyclic graph having a plurality of pointers and a plurality of nodes wherein at least one node has multiple parents from the directed acyclic graph, the directed acyclic graph having at least one root node and a plurality of leaf nodes; committing to the directed acyclic graph to produce, by said computer, a committed-to data set; and producing, by said computer, a plurality of proofs about the committed-to data set such that a combination of the plurality of proofs does not reveal information about which nodes have multiple parents, each proof comprising a trace from one of the plurality of nodes to at least one different node, the trace comprising the identities of the nodes and pointers traversed, wherein producing a plurality of proofs comprises producing multiple proofs each showing that a different given element is not present in the committed-to data set and limiting a number of these proofs produced per committed-to data set. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer-implemented method of determining whether an item of information is included in a data set, the method configured to be stored on a tangible medium and comprising:
-
grouping, by said computer, binary values into a set comprising values that have the same first K bits ((1≦
K), wherein the set comprises a first subset of values associated with encoded items of information and a second subset of values not associated with encoded items of information; andproviding, by said computer, a proof that is used to test whether a value in the set is associated with the item of information, wherein K is selected such that a different proof can be used for each value in the set, wherein providing the proof comprises producing multiple proofs each showing that a different given element is not present in the group and limiting a number of these proofs produced per set. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A system comprising
a bus; -
a processor coupled to the bus; and a memory unit coupled to the bus, said memory unit containing instructions configured to be stored on a tangible medium that when executed provide a computational method comprising; encoding items of information as a first subset of a set of binary L-bit values, wherein the complement of the first subset forms a second subset of binary L-bit values not associated with encoded items of information; identifying a group of values comprising the values in the first and second subsets that have the same first K kits (1≦
K≦
L); andproviding a proof that is used to test whether a value is associated with the item of information, wherein K is selected such that a different proof can be used for each value in the group, wherein providing the proof comprises producing multiple proofs each showing that a different given element is not present in the group and limiting a number of these proofs produced per group. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43)
-
-
36. A non-transitory computer readable medium containing application instructions where the instructions, when executed, effect a method of determining whether an item of information is included in a data set, the method comprising:
-
accessing binary L-bit values associated with encoded items of information; grouping the binary values into a set comprising values that have the same first K bits ((1≦
K≦
L)), the set also comprising the L-bit values not associated with encoded items of information; andproviding a proof that is used to test whether a value in the set is associated with the item of information, wherein K is selected such that a different proof can be used for each value in the set, wherein providing the proof comprises producing multiple proofs each showing that a different given element is not present in the group and limiting a number of these proofs produced per set. - View Dependent Claims (44)
-
-
45. A system for determining whether an item of information is included in a data set, the system comprising:
-
means for encoding items of information as binary values; means for grouping the binary values into a set comprising values that have the same first K bits (1≦
K), wherein the set comprises a first subset of values associated with encoded items of information and a second subset of values not associated with encoded items of information; andmeans for providing a proof that is used to test whether a value in the set is associated with the item of information, wherein K is selected such that a different proof can be used for each value in the set, wherein providing the proof comprises producing multiple proofs each showing that a different given element is not present in the group and limiting a number of these proofs produced per set. - View Dependent Claims (46, 47, 48, 49)
-
Specification