System and method for committing to a set
First Claim
1. A 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;
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.
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.
83 Citations
27 Claims
-
1. A 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;
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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 22)
-
-
15. A system for committing to a data set, comprising:
-
a graph module adapted to form 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;
a commitment module adapted to commit to the directed acyclic graph to produce a committed-to data set; and
a proof module adapted to produce 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. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
-
23. A computer program for committing to a data set, comprising:
-
a tangible medium;
a graph module stored on the tangible medium, the graph module adapted to form 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;
a commitment module stored on the tangible medium, the commitment module adapted to commit to the directed acyclic graph to produce a committed-to data set; and
a proof module stored on the tangible medium, the proof module adapted to produce 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.
-
-
24. A method of verifying a plurality of proofs about a committed-to data set, comprising:
-
receiving hashes of at least one root node from a hash-based directed acyclic graph, the hash-based directed acyclic graph adapted to encode a data set, the hash-based directed acyclic graph having a plurality of pointers and a plurality of nodes wherein at least one node has multiple parents;
receiving a plurality of proofs about the hash-based directed acyclic graph 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; and
verifying the proofs. - View Dependent Claims (25, 26, 27)
-
Specification