Designing programs that check their work
STOC '89 Proceedings of the twenty-first annual ACM symposium on Theory of computing
Checking the correctness of memories
SFCS '91 Proceedings of the 32nd annual symposium on Foundations of computer science
Fault diagnosis in a small constant number of parallel testing rounds
SPAA '93 Proceedings of the fifth annual ACM symposium on Parallel algorithms and architectures
Self-testing/correcting with applications to numerical problems
Journal of Computer and System Sciences - Special issue: papers from the 22nd ACM symposium on the theory of computing, May 14–16, 1990
Designing programs that check their work
Journal of the ACM (JACM)
Checking the convexity of polytopes and the planarity of subdivision
WADS '97 Selected papers presented at the international workshop on Algorithms and data structure
Proceedings of the tenth annual ACM-SIAM symposium on Discrete algorithms
Certifying algorithms for recognizing interval graphs and permutation graphs
SODA '03 Proceedings of the fourteenth annual ACM-SIAM symposium on Discrete algorithms
Uncheatable Distributed Computations
CT-RSA 2001 Proceedings of the 2001 Conference on Topics in Cryptology: The Cryptographer's Track at RSA
Program Checkers for Probability Generation
ICALP '91 Proceedings of the 18th International Colloquium on Automata, Languages and Programming
Secure Distributed Computing in a Commercial Environment
FC '01 Proceedings of the 5th International Conference on Financial Cryptography
FOCS '95 Proceedings of the 36th Annual Symposium on Foundations of Computer Science
Hardening Functions for Large Scale Distributed Computations
SP '03 Proceedings of the 2003 IEEE Symposium on Security and Privacy
ICDCS '04 Proceedings of the 24th International Conference on Distributed Computing Systems (ICDCS'04)
Computationally private information retrieval with polylogarithmic communication
EUROCRYPT'99 Proceedings of the 17th international conference on Theory and application of cryptographic techniques
Searching for high-value rare events with uncheatable grid computing
ACNS'05 Proceedings of the Third international conference on Applied Cryptography and Network Security
Pay as you browse: microcomputations as micropayments in web-based services
Proceedings of the 20th international conference on World wide web
Privacy-preserving outsourcing of brute-force key searches
Proceedings of the 3rd ACM workshop on Cloud computing security workshop
Secure remote execution of sequential computations
ICICS'09 Proceedings of the 11th international conference on Information and Communications Security
Combinatorial pair testing: distinguishing workers from slackers
WADS'13 Proceedings of the 13th international conference on Algorithms and Data Structures
Secure and verifiable outsourcing of large-scale biometric computations
ACM Transactions on Information and System Security (TISSEC)
Hi-index | 5.24 |
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.