Parasitic computing is a technique in which one computer or server links to other servers and uses that equipment to provide computation capacity. It is normally not considered hacking, or theft of computer services, because the program does not defeat any locks or safeguards on the other equipment. Rather, a legitimate message can be delivered to the other computers, and they will provide computing capacity without any breach of security.
As the Internet grew in the late 20th century, many thousands if not millions of servers were connected using public computer networks. When a computer sends a request for a web page or document to another computer on the Internet, a series of confirmations are used to confirm that the sent and received messages are the same. One technique is to use a "checksum", which is a computation of data sent by the requesting computer, and recalculated at the other end. If the two computations agree, the message is considered legitimate and not an attempt to steal computer time or "hack" the other computer.
When a computer makes a request for parasitic computing time from other computers, the message is still legitimate. In the message is code that requests some computation be run on the receiving computer. No human has approved the request, and in most cases, the fact the work is being done is not apparent. The computations may be completed and data returned to the requesting computer with no visible effect on either computer. There are ethical concerns for the effect of parasitic computing on Internet resources, however.
After a computer is asked to provide computing time by another computer, some of its resources are being used for that request. Along with electrical consumption of the computer hardware, other legitimate computer tasks might be slowed or delayed by the parasitic computing request. There is no breach of security and the requesting computer does not steal any information. Although no physical damage may occur it may affect the performance of the other computer, which some critics consider a theft of services.
Parasitic computing is often confused with a different type of shared computer services, normally called cluster computing. Clusters are groups of computers linked voluntarily to provide capacity well beyond the capability of any single computer. In the 20th century, an example of cluster computers was thousands of public and private computers linked to calculate signal data from a search for extraterrestrial intelligent life (SETI), or signals from other planets. A radio telescope scanned portions of the sky and collected radio signal data, and the clustered computers shared computing time to analyze the data and look for patterns.
Negative parasitic computing can occur if a computer is infected with a virus or software called a Trojan horse. Viruses can be downloaded from emails or infected web sites, and in some cases will allow the computer to become a parasite for a hacker, providing a computer that can infect others repeatedly. Infected computers can also send multiple requests to a legitimate web site and overwhelm its servers, a technique called a "denial of service attack" that can shut down web sites.
A Trojan horse is a software packet that is carried along with a legitimate message or web site, and is usually invisible to any casual computer user. This is why it was named for the mythical horse that hid soldiers used to surprise and defeat an enemy. When the Trojan horse installs itself in a new computer, it can use some of that computer's resources to send unauthorized emails called "spam", or provide stolen computing power to another person.