# WASTE

WASTE es un protocolo y un software friend-to-friend (peer-to-peer) que permite la comunicación y el intercambio de archivos de forma cifrada en pequeños grupos de usuarios de confianza. Fue desarrollado por Justin Frankel en Nullsoft en 2003. Después de su lanzamiento fue retirado de distribución por AOL, la empresa dueña de Nullsoft. La página original fue reemplaza por una declaración que informaba que la publicación del programa no estaba autorizada, a pesar de que originalmente el software fue liberado bajo los términos de la Licencia Pública General de GNU.
El nombre WASTE hace referencia a la novela La subasta del lote 49 de Thomas Pynchon, en donde se usa como acrónimo de "We Await Silent Tristero's Empire", una empresa de servicio postal.
Varios desarrolladores modificaron y actualizaron el programa y el protocolo WASTE. La versión de SourceForge es considerada por algunos como la línea "oficial" de desarrollo, pero hay varias bifurcaciones siendo WASTE again la más activa.

## Descripción

WASTE es un protocolo de mensajería instantánea e intercambio de archivos. Su comportamiento es parecido al de una red privada virtual, conectando a un grupo de computadoras de confianza, determinadas por los usuarios de la red. Este tipo de red es comúnmente denominada darknet. Utiliza un fuerte cifrado para impedir que terceras personas puedan leer el contenido de los mensajes o archivos. El mismo cifrado se usa para enviar y recibir mensajes instantáneos y archivos, mantener la conexión, explorar los directorios y buscar archivos.

## Redes WASTE

Las redes WASTE son descentralizadas, esto significa que no hay un servidor central o hub donde se conectan todos los usuarios. Los usuarios deben conectarse entre ellos individualmente. Normalmente, esto es completado compartiendo la clave pública RSA, asegurándose de que los ordenadores son accesibles a través de los puertos apropiados (una o más partes deben tener la dirección IP y el puerto que pueda ser alcanzado por el otro), y escribiendo la dirección IP y el puerto de alguien en la red al que conectar.
Una vez conectado a la red, las claves públicas se intercambian automáticamente entre los miembros (siempre que haya suficientes miembros configurados para reenviar y aceptar las claves públicas), y los nodos se intentarán conectar el uno al otro, fortaleciendo la red (disminuyendo la probabilidad de que si un nodo se desconecta, se colapse o se cierre una parte de la red), así como aumentar el número de rutas posibles desde un punto dado a otro punto cualquiera, disminuyendo la latencia y el ancho de banda necesario para la comunicación y transferencia de archivos.
Dado que WASTE conecta grupos pequeños, privados y no grandes, públicos, la función de búsqueda en la red es una de las más rápidas de todas las aplicaciones P2P descentralizados. Sus capacidades de mensajería instantánea y uso compartido de archivos son mucho más parecidas a los de AOL Instant Messenger que a las de los programas de intercambio de archivos típicos. Los miembros de la red pueden crear salas de chat públicas y privadas, enviar mensajes instantáneos unos a otros, navegar por los archivos de otros miembros e intercambiar archivos, pudiendo empezar la transferencia cualquiera de las dos partes. La operación de arrastrar y soltar en el chat envía los archivos a sus destinos.
El tamaño recomendado para una red WASTE está entre 10 y 50 nodos, aunque se ha sugerido que el tamaño de la red es menos importante que la relación entre los nodos que redirigen el tráfico y los que no. Con el cliente original de Justin Frankel hay grupos que ya superan los cinco años de edad, no es raro que en las redes estables alberguen varios terabytes de contenido seguro.
Por defecto, WASTE escucha las conexiones entrantes en el puerto 1337. Este puerto probablemente fue elegido por las connotaciones leet.
Dado que no hay un servidor central, las redes WASTE típicamente emplean una contraseña o passphrase, también llamada "nombre de la red" para prevenir colisiones. Esto es, un miembro de una red conectando a un miembro de otra red, conectaría las dos redes. Asignando un identificador único (passphrase) a la red, el riesgo de colisiones puede ser reducido, sobre todos con los clientes originales.

### Nullnets

Las nullnets son redes sin contraseña. Este tipo de redes pueden ser unidas fácilmente entre ellas al carecer de contraseña. Esto hace que el tamaño de la red aumente formando un lugar público donde intercambiar ideas y archivos. Es imposible saber cuantas redes nullnet existen, debido a que es necesario conocer a un usuario de la red para poder unirse.

## Fortalezas

* Las conexiones están aseguradas mediante el intercambio de claves públicas RSA, permitiendo que la comunicación y la transferencia de datos sea segura entre clientes conocidos (de confianza).
* La naturaleza distribuida de la red quiere decir que no depende de ningún servidor central para el funcionamiento de la misma en contraste con otras redes peer-to-peer donde es necesario conectarse a un servidor para obtener la lista de clientes y de archivos compartidos en ella. Esto significa que no hay ningún punto de vulnerabilidad en la red.
* No hay un administrador en el grupo de red; todos los miembros de una red pueden realizar las mismas acciones, como por ejemplo, invitar a otros miembros al grupo. Ningún miembro puede expulsar a otro miembro del grupo o excluirle del chat público.
* WASTE puede ofuscar su protocolo, de forma que sea más difícil detectar su uso.
* Dispone de una función llamada "Saturate" (saturar en español) que genera tráfico de forma aleatoria. Esto hace que analizar el tráfico sea mucho más difícil.
* Cada nodo determina de forma automática la ruta con menor latencia, equilibrando la carga. Esto también mejora la privacidad, porque los paquetes suelen tomar rutas diferentes.