Ancestral Colorings of Perfect Binary Trees With Applications in Private Retrieval of Merkle Proofs
We introduce a novel tree coloring problem in which each node of a rooted tree of height h is assigned one of the h colors under the condition that any two nodes that are ancestor and descendant of each other must have different colors and moreover, the numbers of nodes in any two distinct color classes differ by at most one. We refer to such a coloring as a balanced ancestral coloring. Our key contribution is to characterize, based on majorizations, all color sequences (not only the balanced ones) for which there exists an ancestral coloring for perfect binary trees. We then develop an almost linear time (in the number of tree nodes) divide-and-conquer algorithm to generate such a coloring for every perfect binary tree of height h≥ 1. The existence of a balanced ancestral coloring reveals an interesting fact about combinatorial batch code: when the batch follows a special pattern (consisting of nodes along a root-to-leaf path in a tree), the total storage capacity required can be reduced by a factor of Θ(h) compared to when the batch is arbitrary while keeping a balanced storage capacity across h servers. Furthermore, our result also identifies an infinite family of graphs for which the equitable chromatic number can be explicitly determined. As far as we know, this family has not been discovered before in the literature. As a practical application, we show that a balanced ancestral coloring can be employed to speed up the private retrieval of a Merkle proof in a Merkle tree by a factor of Θ(h/2) compared to a straightforward parallel implementation of SealPIR, a state-of-the-art private information retrieval scheme.
READ FULL TEXT