Skip to content

Hyphanet

SBen-IV edited this page Nov 7, 2024 · 4 revisions

Hyphanet es una plataforma peer-to-peer para publicar y comunicar, resistente a la censura y respetuosa de la privacidad.

Originalmente conocido como Freenet y creado como un trabajo profesional de fin de carrera por Ian Clarke, Hyphanet es una plataforma de software libre que permite compartir archivos, navegar y publicar sitios de forma anónima. Es descentralizado para hacerlo menos vulnerable a ataques, y de ser usado sólo con amigos lo hace difícil de detectar.

Hyphanet para aplicaciones comunitarias

La plataforma se basa en conexiones por nodos que gestionan la información que hay en la red. Estos nodos pueden conectarse a una red abierta llamada Opennet en la cual las conexiones se harán con nodos de cualquier persona de cualquier parte del mundo. Por otro lado es posible configurar el nodo para que se conecte sólo con aquellas personas que uno conozca, creando así una red "privada" (o darknet) en la que sólo personas de confianza puedan conectarse.

El contenido que se publica en los nodos permanece de forma encriptada y repartido en varias partes por distintos nodos. Siempre que un archivo sea solicitado el mismo será cacheado en los distintos nodos que lo soliciten.

No es posible "borrar" un archivo como tampoco es posible guardarlo a voluntad. Si un archivo no es suficientemente solicitado eventualmente no se puede recuperar más. Los nodos tampoco pueden elegir qué contenido (partes de un archivo) guardar o no ya que los mismos están encriptados. Si un archivo es subido por un nodo que no está disponible en este momento el archivo no se pierde porque ya fue distribuido por los demás nodos que estaban conectados a él.

Para acceder a un archivo es necesario conectarse a la red e ingresar el hash correspondiente.

Plugins

Es posible crear aplicaciones de comunicación con los llamados plugin. Estos plugins deben ser hechos en java (o al menos el main debe estarlo) por decisión de diseño (alegando que Java es "más seguro"), no están aislados del sistema por lo que pueden acceder a toda la información que quieran. Se deben compilar y proveer el .jar correspondiente y cada usuario que quiera utilizarlo debe instalarlo en su respectivo nodo.

Entre los plugins más usados en el ecosistema podemos nombrar:

WebOfTrust: se autodenomina un spam filter pudiendo puntuar (trust values) a cada usuario de forma que los que tienen puntaje muy bajo son catalogados como spammers y cualquier contenido que los involucre será filtrado.

Sone: red social similar a Facebook en el que se pueden subir imágenes, comentar, conectarse con otras personas. Usa WebOfTrust para identificar a cada usuario.

Freemail: un servicio de email dentro de Hyphanet que también depende de WebOfTrust.

Freetalk: sistema de foro.

No hay una receta para implementar estos plugins ya que la guía que existe está incompleta y hace años que no se actualiza (lo mismo pasa con los plugins en sí, llevan años sin actualizarse).

La documentación brilla por su ausencia y cada plugin hace uso de la librería de freenet de una forma distinta lo cual hace difícil saber cuál es la forma correcta (de haberla) para crear un plugin de 0.

Toda información que deba guardarse se debe hacer en una base de datos local administrada por el plugin (ya sea usando un archivo o una librería como podría ser sqlite) ya que no existe una base de datos distribuida en el ecosistema que lo facilite. Esto hace que cada nodo tenga la información sólo de aquellos nodos con los que interactúa, mientras más lo haga más datos va a tener que persistir. Además es necesario que el plugin tenga forma de garantizar la integridad de los datos sino podrían ser fácilmente manipulados por algún nodo generando inconsistencias para la apllicación (que a su vez debería poder manejar).

Casos de uso dentro de Hyphanet

A continuación se documenta la forma de deployar el sitio web estático en la plataforma Hyphanet.

Sitio web estático

El caso más simple para empezar a conocer la plataforma.

Hyphanet posee un software propio para poder agregar sitios llamado jSite. Con el mismo, basta con seguir las instrucciones en la documentación oficial. Una vez finalizada la creación del sitio, el programa devolverá un hash el cual será necesario para poder acceder al sitio.

Ventajas

Para armar una red entre nodos privados con personas conocidas es una buena opción ya que es difícil de detectar (a pesar de haber casos documentados en donde lo hicieron).

Conclusión

El ecosistema es más de juguete que de uso real, es poco usado y mantenido. La documentación es escasa y mayormente desactualizada e incompleta. Por esto mismo optamos por dejarlo de lado para pasar a hacer pruebas con Freenet, un ecosistema similar hecho por el mismo creador pero que se encuentra en desarrollo activo.

Referencias

Hyphanet - Introduction Hostile Environments

Clone this wiki locally