Parasitic Computing is a scheme in which standard communication protocols (such as TCP/IP) can be exploited to perform computation with the communication infrastructure. This scheme may allow a parasite computer to “steal” CPU cycles from another computer, thus gaining access to potentially massive amounts of computational power at “zero” cost. This computing paradigm was introduced in a paper which was submitted to Nature by a team at the University of Notre Dame:
- Parasitic computing (PDF – 143KB), Vincent Freeh, Albert-László Barabási, Hawoong Jeong and Jay Brockman, Nature, August 2001.
Here’s a schematic diagram from the paper depicting a parasite node (in green) targeting web servers (in blue):
[ diagram courtesy of Vincent Freeh et alia ]
- Supplementary Material (PDF – 57KB)
- Parasitic Computing Example (PDF – 29KB)
On the Internet, reliable communication is guaranteed by a standard set of protocols, used by all computers. These protocols can be exploited to compute with the communication infrastructure, transforming the Internet into a distributed computer in which servers unwittingly perform computation on behalf of a remote node. In this model, one machine forces target computers to solve a piece of a complex computational problem merely by engaging them in standard communication.
Just brilliant! But, is this scheme even legal? Why did the authors publish such a potentially “evil” discovery?
Parasitic computing raises important questions about the ownership of the resources connected to the Internet and challenges current computing paradigms. The purpose of our work it to raise awareness of the existence of these issues, before they could be exploited. By publishing our work we wish to bring the Internet’s various existing vulnerabilities to the attention of both the scientific community and the society at large, so that the ethical, legal and scientific ramifications raised by it can be resolved.
I think this idea is conceptually simple. Note, however, that an idea that is conceptually simple may not be that easy to implement. Regarding implementation issues, here’s what the Notre Dame team has to say:
Our implementation of parasitic computing is not efficient. If it is made efficient, it could offer unlimited computational power. How should it be dealt with then? Should it be allowed under controlled circumstances? These are issues that the community must address shortly. On our side we are currently developing SNORT rules to catch such activity.