Distributed Computing Made Secure: A New Cycle Cover Theorem
Merav Parter, Eylon Yogev
IACR Cryptology ePrint Archive
In the area of distributed graph algorithms a number of network's entities with local views solve some computational task by exchanging messages with their neighbors. Quite unfortunately, an inherent property of most existing distributed algorithms is that throughout the course of their execution, the nodes get to learn not only their own output but rather learn quite a lot on the inputs or outputs of many other entities. This leakage of information might be a major obstacle in settings where
... e output (or input) of network's individual is a private information (e.g., distributed networks of selfish agents, decentralized digital currency such as Bitcoin). While being quite an unfamiliar notion in the classical distributed setting, the notion of secure multi-party computation (MPC) is one of the main themes in the Cryptographic community. The existing secure MPC protocols do not quite fit the framework of classical distributed models in which only messages of bounded size are sent on graph edges in each round. In this paper, we introduce a new framework for secure distributed graph algorithms and provide the first general compiler that takes any "natural" non-secure distributed algorithm that runs in r rounds, and turns it into a secure algorithm that runs in O(r • D • poly(∆)) rounds where ∆ is the maximum degree in the graph and D is its diameter. A "natural" distributed algorithm is one where the local computation at each node can be performed in polynomial time. An interesting advantage of our approach is that it allows one to decouple between the price of locality and the price of security of a given graph function f . The security of the compiled algorithm is information-theoretic but holds only against a semi-honest adversary that controls a single node in the network. This compiler is made possible due to a new combinatorial structure called private neighborhood trees: a collection of n trees T(u 1 ), . . . , T(u n ), one for each vertex u i ∈ V(G), such that each tree T(u i ) spans the neighbors of u i without going through u i . Intuitively, each tree T(u i ) allows all neighbors of u i to exchange a secret that is hidden from u i , which is the basic graph infrastructure of the compiler. In a (d, c)-private neighborhood trees each tree T(u i ) has depth at most d and each edge e ∈ G appears in at most c different trees. We show a construction of private neighborhood trees with d = O(∆ • D) and c = O(D), both these bounds are existentially optimal.