1. A method comprising: providing an abstract tree structure comprising a root node, a plurality of tree nodes, and a plurality of leaf nodes, wherein each leaf node corresponds to at least a portion of data; mapping, in accordance with a first mapping function, a plurality of first network nodes of a distributed network to the plurality of tree nodes of the abstract tree structure; mapping, in accordance with a second mapping function, a plurality of second network nodes of the distributed network to the plurality of leaf nodes of the abstract tree structure; assigning a unique identifier to the root node, each tree node, and each leaf node; storing, at each first network node, the unique identifier of the corresponding tree node, the unique identifier of a parent of that tree node, and the unique identifiers of children of that tree node; storing, at each second network node, the corresponding at least a portion of data and path information comprising a path of nodes from the corresponding leaf node to the root node; providing a distributed hash tree corresponding to the abstract tree structure, wherein the distributed hash tree comprises a corresponding hash value for each node of the abstract tree structure, wherein the corresponding hash value for the root node comprises a top hash value; signing the top hash value of the distributed hash tree; and storing, at each second network node, the corresponding hash value of the corresponding tree node and the corresponding hash values of children of that tree node.