title: Computación parasitaria
text: # Computación parasitaria
  
  Computación parasitaria es un paradigma de programación por el cual una aplicación consigue realizar cálculos complejos utilizando interacciones autorizadas sobre otras aplicaciones. Surge a partir de un trabajo publicado en Nature en el año 2000.
  
  En el trabajo original se utilizan dos ordenadores comunicándose a través de internet y protocolo TCP/IP, en una sesión de comunicación estándar. Uno de los ordenadores intenta solucionar un complicado problema, el de la satisfactibilidad de la lógica booleana, o 3-SAT; Lo hace descomponiendo el problema original en un número considerable de problemas más pequeños. Cada uno de estos problemas más pequeños se codifica como una relación entre un checksum (suma de control) y un paquete de red, de manera que la comprobación de si el checksum es correcto o no es la solución del problema más pequeño. El ordenador envía estos paquetes al ordenador que pretende realice la computación, el ordenador de destino comprueba el checksum del paquete recibido, si es correcto solicita más paquetes, si es incorrecto, solicita la retransmisión.
  
  De esta manera, el ordenador que recibe los paquetes y comprueba checksums, está realizando computaciones en beneficio del ordenador que las solicita, sin ser consciente de ello, y sin hacer nada más que mantener una sesión TCP/IP normal.
  
  La prueba de concepto en el trabajo original es extremadamente ineficiente, ya que la cantidad de recursos computacionales necesarios para generar y enviar los paquetes fácilmente exceden los recursos computacionales solicitados al otro extremo; El problema 3-SAT se podría haber solucionado mucho antes si se analizase únicamente en local. Además, en la práctica, los paquetes probablemente y ocasionalmente deberán ser retransmitidos realmente cuando ocurran errores de transmisión y/o red reales.
  
  De todas maneras, la computación parasitaria a nivel de checksums simplemente es una prueba de concepto. Los autores del trabajo original sugieren que a medida que se mueva la computación a lo largo de la pila de protocolo, se puede llegar a un punto en el cual la computación solicitada al/los ordenadores huésped favorezca al parásito.
  
  