Pipelined algorithms to detect cheating in long-term grid computations

This paper studies pipelined algorithms for protecting distributed grid computations from cheating participants, who wish to be rewarded for tasks they receive but don't perform. We present improved cheater detection algorithms that utilize natural delays that exist in long-term grid computations. In particular, we partition the sequence of grid tasks into two interleaved sequences of task rounds, and we show how to use those rounds to devise the first general-purpose scheme that can catch all cheaters, even when cheaters collude. The main idea of this algorithm might at first seem counter-intuitive-we have the participants check each other's work. A naive implementation of this approach would, of course, be susceptible to collusion attacks, but we show that by, adapting efficient solutions to the parallel processor diagnosis problem, we can tolerate collusions of lazy cheaters, even if the number of such cheaters is a fraction of the total number of participants. We also include a simple economic analysis of cheaters in grid computations and a parameterization of the main deterrent that can be used against them-the probability of being caught.

[1]  Richard J. Lipton,et al.  New Directions In Testing , 1989, Distributed Computing And Cryptography.

[2]  Kurt Mehlhorn,et al.  Checking priority queues , 1999, SODA '99.

[3]  Kurt Mehlhorn,et al.  Certifying algorithms for recognizing interval graphs and permutation graphs , 2003, SODA '03.

[4]  Gerald M. Masson,et al.  Certification trails for data structures , 1991, [1991] Digest of Papers. Fault-Tolerant Computing: The Twenty-First International Symposium.

[5]  Doug Szajda,et al.  Hardening functions for large scale distributed computations , 2003, 2003 Symposium on Security and Privacy, 2003..

[6]  R. Beigel,et al.  Fault diagnosis in a flash , 1995, Proceedings of IEEE 36th Annual Foundations of Computer Science.

[7]  Manuel Blum,et al.  Self-testing/correcting with applications to numerical problems , 1990, STOC '90.

[8]  Sampath Kannan,et al.  Program Checkers for Probability Generation , 1991, ICALP.

[9]  Giuseppe Liotta,et al.  Checking the convexity of polytopes and the planarity of subdivisions , 1998, Comput. Geom..

[10]  Wenliang Du,et al.  Uncheatable grid computing , 2004, 24th International Conference on Distributed Computing Systems, 2004. Proceedings..

[11]  Ronitt Rubinfeld,et al.  Designing checkers for programs that run in parallel , 1996, Algorithmica.

[12]  Manuel Blum,et al.  Checking the correctness of memories , 2005, Algorithmica.

[13]  Philippe Golle,et al.  Uncheatable Distributed Computations , 2001, CT-RSA.

[14]  Rafail Ostrovsky,et al.  Fast Verification of Any Remote Procedure Call: Short Witness-Indistinguishable One-Round Proofs for NP , 2000, ICALP.

[15]  Silvio Micali,et al.  Computationally Private Information Retrieval with Polylogarithmic Communication , 1999, EUROCRYPT.

[16]  Philippe Golle,et al.  Secure Distributed Computing in a Commercial Environment , 2002, Financial Cryptography.

[17]  Wenliang Du,et al.  Searching for High-Value Rare Events with Uncheatable Grid Computing , 2005, ACNS.

[18]  Gerald M. Masson,et al.  Using certification trails to achieve software fault tolerance , 1990, [1990] Digest of Papers. Fault-Tolerant Computing: 20th International Symposium.

[19]  Daniel A. Spielman,et al.  Fault diagnosis in a small constant number of parallel testing rounds , 1993, SPAA '93.