a point where there is a net computational gain to the parasite - perhaps one could break down interesting problems into queries of complex cryptographic protocols using public keys. If there was a net gain, one could in theory use a number of control nodes for which many hosts on the Internet form a distributed computing network completely unawares. Students of the University of Applied Sciences, Bern, Switzerland, extended this concept into a programmable virtual machine in 2002. Parasitic Bitcoin mining In 2011, a group of malware programs were noticed by security software vendors, which utilized high performance graphics processing units (GPUs) for Bitcoin mining, a chain of computationally intensive tasks to generate cryptocurrency units. These programs invaded systems and were executed like other malware, rather than exploiting underlying protocols. Powerful GPUs on personal computers were originally created mainly for games, but with interfaces like CUDA and OpenCL, became usable for general computing tasks, surpassing the performance of a Central Processing Unit (CPU) by multiple times. Until then, parasitic computing lacked powerful computing resources and results to easily convert into cash for criminals. In January 2014, Bitcoin mining malware was distributed through a Java exploit by compromised ads, displayed on the Yahoo website. In 2013, Bitcoin mining malware was installed as adware alongside other downloads, some pointing out the functionality in lengthy EULA texts. Malware including Bitcoin mining functionality was also secretly downloaded and activated by adware bundled with regular software downloads, both distributed by related companies in Israel and Ukraine. Bitcoin mining by personal computers infected with malware is being challenged by dedicated hardware, such as FPGA and ASIC platforms, which are more efficient in terms of power consumption and thus may have lower costs than theft of computing resources. See also Denial of service attack References "Parasitic computing", Barabasi et al., Nature, 412: 894-897 (2001). Distributed computing architecture Models of computation Computer security