# Bitmessage

Bitmessage es un protocolo de comunicación descentralizado, cifrado, peer-to-peer que puede ser usado por una persona para enviar mensajes cifrados a otra persona o a varios subscriptores. Bitmessage cifra todos los mensajes de la bandeja de entrada usando cifrado fuerte y se copia en la red de mezclado P2P anónima con las bandejas de entrada de otros usuarios para ocultar la identidad del usuario, prevenir el espionaje y proteger la red de cualquier control. El protocolo de comunicaciones de Bitmessage previene la suplantación de identidad usando autenticación fuerte y ocultando los metadatos en caso de intercepción electrónica.

## Acontecimientos

En junio de 2013, el uso de Bitmessage se disparó después de las noticias sobre el espionaje de correos electrónicos por la Agencia de Seguridad Nacional del Gobierno de los Estados Unidos.
En junio de 2014, la red procesaba varios miles de mensajes privados diariamente.

## Software
### PyBitmessage

PyBitmessage es el cliente de mensajería instantánea oficial diseñado para Bitmessage y usado como referencia del protocolo. Normalmente se abrevia como "Bitmessage", causando confusión entre el protocolo y el cliente.

### Bitpost

Es un cliente alternativo para OSX. La aplicación utiliza un nodo local de PyBitmessage en segundo plano el cual usa Tor para conectarse a la red de Bitmessage.

### Servicios de correo electrónico
#### Bitmessage.ch

Bitmessage.ch, también conocido como Bitmessage Mail Gateway (BMG), es un servicio que permite utilizar un cliente de correo electrónico (o webmail) para enviar y recibir Bitmessages a través de internet, Tor e I2P. Esto permite enviar y recibir correos electrónicos anónimamente, a direcciones de correo electrónico dentro o fuera de esas redes. Bitmessage.ch ofrece webmail, pop3, IMAP y SMTP a través de clientes de correo electrónico.

## Funcionamiento

Bitmessage funciona cifrando todos los mensajes de entrada y salida usando criptografía asimétrica de modo que solo el receptor del mensaje es capaz de descifrarlo. Para conseguir el anonimato:
* Se copian todos mensajes de la red P2P anónima, mezclando todos los mensajes cifrados de un usuario dado con todos los mensajes cifrados de todos los usuarios de la red haciendo más difícil de rastrear qué ordenador concreto es el emisor del mensaje y cuál es el receptor del mensaje.
* Bitmessage utiliza direcciones con números y letras aleatorias (por ejemplo, BM-BcbRqcFFSQUUmXFKsPJgVQPSiFA3Xash). Requiere este tipo de direcciones para asegurar el cifrado fuerte así como para asegurar que el nombre real de un usuario no puede ser supuesto a través de la dirección del usuario de Bitmessage. Las direcciones de Bitmessages se parecen a las direcciones Bitcoin y sus claves son compatibles con estas.
* Utiliza también criptografía de clave pública, de modo que solo el receptor del mensaje es capaz de descifrarlo. Este algoritmo de cifrado funciona incluso si el emisor del mensaje no es capaz de volver a descifrar su propio mensaje debido a que se usan claves muy distintas para el cifrado y descifrado. Concretamente, Bitmessage utiliza claves ECC de 256-bit y OpenSSL para las funciones criptográficas.
* Los mensajes de salida no contienen una dirección explícita del receptor del mensaje. Por lo tanto, cada usuario de la red intenta descifrar todos los mensajes que pasan por la red, incluso si el mensaje no es para ese usuario en particular. Ya que solo el receptor real puede descifrar satisfactoriamente el mensaje enviado a él, todos los usuarios de la red saben que si fallan en descifrar el mensaje, entonces dicho mensaje no era para ellos.
* El emisor sabe si el receptor del mensaje lo ha recibido o no (a través de un sistema de acuse de recibo), pero el emisor no puede descubrir quien es el receptor ya que todos los participantes tendrán este mensaje cifrado almacenado en sus ordenadores independientemente de si el mensaje era para ellos o no.
* Los nodos de Bitmessage almacenan todos los mensajes cifrados solo durante dos días antes de borrarlos, por lo que los mensajes no se almacenan en la red. De esta manera, los nuevos nodos que se unen a la red solo pueden descargar y difundir el pool de mensajes de los últimos dos días. Todos los mensajes que no han recibido el justificante de recepción, pueden volver a reenviarse por el emisor del mensaje después de un período de dos días.
* Bitmessage usa un sistema de prueba de trabajo para proteger a la red de ataques distribuidos de denegación de servicio.

### Chans

A partir de la versión 0.3.5, Bitmessage introdujo una característica llamada chan, una lista de correo descentralizada anónima. A diferencia de las Listas de correo electrónico tradicionales:
* un chan no puede cerrarse tirando abajo todos los servidores o un grupo de servidores debido a la naturaleza descentralizada de los chans.
* un chan no puede ser censurado ya que cualquier usuario de Bitmessage que sabe la contraseña puede leer el chan o publicar cualquier mensaje en el chan.
* en un chan, los mensajes de los usuarios son anónimos hasta tal punto de que los mensajes no contienen ni la dirección del emisor ni el receptor del Bitmessage.
Existen una serie de chans públicamente conocidos dedicados a temas que van desde la privacidad_en_Internet a la política o a los juegos de ajedrez.

## Desarrollo

El concepto de Bitmessage fue concebido por el desarrollador de software Jonathan Warren, que basó su diseño en la criptomoneda descentralizada, Bitcoin. El software fue publicado en noviembre de 2012 bajo la licencia MIT.
El código fuente está escrito en Python y usa el framework multiplataforma Qt así como OpenSSL para las funciones de cifrado. Está disponible para Microsoft Windows, Mac OS y Linux.

## Recepción pública

Bitmessage ha ganado reputación por estar fuera del alcance de la intercepción electrónica de la NSA debido a la naturaleza descentralizada del protocolo y su cifrado es difícil de romper. Como resultados, las descargas del programa de Bitmessage aumentaron cinco veces durante junio de 2013 después de las noticias sobre las actividades de espionaje sobre los correos electrónicos llevadas a cabo por la NSA.
Bitmessage también ha sido mencionado como una alternativa segura al correo electrónico por Popular Science y CNET.

## Seguridad

La página oficial de Bitmessage dice: "Bitmessage necesita una auditoría independiente para verificar su seguridad. Si eres un investigador capaz de revisar el código fuente, por favor envía un correo electrónico al desarrollador líder...."