- Mycoria es una red abierta de superposición segura que busca conectar a todos los participantes en igualdad de condiciones, inspirándose en el carácter abierto y aventurero del internet temprano
- No hay trámites burocráticos para participar, y todas las conexiones se basan por defecto en autenticación y cifrado
- Puede conectarse sobre internet o expandirse como su propia red mallada, con la intención de reducir las barreras de entrada para participar en la red
- Su diseño se enfoca en una estructura pequeña y simple, compatibilidad con infraestructura existente como DNS, y seguridad y privacidad por defecto
- Ofrece cifrado automático de extremo a extremo, enrutamiento escalable, panel de control, resolución DNS
.mycoy descubrimiento de servicios; algunas funciones de privacidad y optimización automática están en estado WIP
Cómo concibe Mycoria la conectividad
- Mycoria es una red abierta de superposición segura para conectar a todos los participantes
- Sigue el espíritu curioso y aventurero del internet temprano, poniendo la libertad de conexión como valor central
- Sus principios clave son los siguientes
- Everyone is equal: cualquiera puede conectarse fácilmente
- Everyone is welcome: es una red abierta en la que se puede participar sin trámites burocráticos
- No spooking: todas las conexiones están autenticadas
- No surveillance: todas las conexiones están cifradas e incluyen Private Addresses
- No barriers: puedes conectarte por internet o expandir Mycoria con tu propia red mallada
Objetivos de diseño y funciones actuales
- Su objetivo es mantener una estructura pequeña y simple
- Considera la compatibilidad con infraestructura existente como DNS
- La seguridad viene habilitada por defecto, mientras que la privacidad básica sigue en estado WIP
- Las funciones disponibles actualmente son las siguientes
- cifrado automático de extremo a extremo
- criptografía moderna
- enrutamiento inteligente y escalable
- panel de control
- resolución DNS
.myco- requiere configuración del sistema operativo
- descubrimiento simple de servicios
- optimización y recuperación automática de red para la superposición sobre internet
- está en estado WIP
- private addresses rotativas
- está en estado WIP
1 comentarios
Opiniones en Hacker News
Soy el autor. En Safing, como cofundador/CTO, pasé los últimos 8 años creando tecnologías de privacidad, y nuestro mayor logro técnico fue SPN (antes Port17/Gate17).
SPN era una red de privacidad en el espacio intermedio entre una VPN y Tor, es decir, un proxy de capa 5; era imposible configurarla mal, tenía una velocidad decente y ofrecía mucha mejor privacidad que una VPN mediante cifrado onion y separación de autenticación/autorización.
Curiosamente, este método de autenticación separada luego también se implementó en Apple Private Relay y Google One VPN.
SPN funcionaba bastante bien en general, pero era difícil de escalar; como lo habíamos hecho como proxy de capa 5 para reducir metadatos y aumentar la privacidad, también tuvimos que volver a implementar el control de tráfico y el control de congestión, lo cual no fue fácil y todavía causa problemas.
Mientras tanto, leía y seguía cjdns y Yggdrasil, y me interesaron sus ideas de networking; hacia noviembre de 2023 empecé a preguntarme hasta dónde podría llegar, con la experiencia y los conocimientos acumulados, creando una red mesh de capa 3 escalable que mantuviera parte de la privacidad y seguridad completa.
Le dediqué la mayoría de mis noches durante varios meses y avanzó mejor de lo esperado, pero después de lograr un MVP decente y de que un amigo lo usara por primera vez en una pequeña producción, ya no tuve más tiempo para seguir trabajando en él.
Ahora estoy empezando un nuevo proyecto y pienso aprovechar esto bien ahí, así que en los próximos años el desarrollo debería avanzar bastante más. Por ahora, Mycoria funciona al menos a pequeña escala, pero en general está más cerca de un MVP.
Me pregunto si hubo alguna razón especial para no usar segment routing basado en estándares que se puede adoptar en capa 3 para soportar source routing, y en su lugar crear un transporte personalizado de capa 4.
También me pregunto si para el análisis de seguridad usaron lógica BAN y la herramienta de verificación ProVerif.
https://en.wikipedia.org/wiki/Gnutella
https://en.wikipedia.org/wiki/Segment_routing
https://en.wikipedia.org/wiki/Burrows%E2%80%93Abadi%E2%80%93...
https://en.wikipedia.org/wiki/ProVerif
friend. No es una objeción menor: es mejor no usar en la capa de infraestructura semánticas de relaciones que no quedan cerradas dentro del ámbito del agente de usuario.El servidor de mi laptop también es mi agente de usuario, y lo mismo la instancia que corre en mi celular, así que ambos son peers.
Las aplicaciones que se construyan sobre esta base probablemente traten las relaciones sociales de los usuarios, y expresiones como
friendserán útiles en esa capa.Si es así, me pregunto si consideraron incentivos para participar, monetarios o no. El reto clave en este campo parece estar en resolver los pagos anónimos estandarizados para proveedores de servicios de infraestructura de la red.
En teoría parece posible, así que me gustaría saber cómo sería si ese es el enfoque. O si las direcciones de los routers no tienen metadatos y solo las direcciones de usuarios finales se codifican de esa forma.
Existe Private Relay, pero solo funciona en algunas apps de Apple como Safari, es difícil saber si está activo y tampoco se puede forzar que el tráfico pase necesariamente por ahí.
Técnicamente, cosas como esta me encantan. También me hace imaginar un futuro lejano en el que nerds y geeks geniales, contra toda adversidad, montan sus propias redes comunitarias solo con infraestructura básica.
Pero al final participar en proyectos descentralizados en general me resulta incómodo y me genera rechazo, porque siento que acabaría ayudando a compartir y distribuir material de explotación sexual infantil.
Tailscale al menos se mantiene en un ámbito privado, pero esto se siente como formar parte de una red más amplia. Me pregunto si mi nodo terminaría usándose para enrutar ese tráfico.
Buena suerte, señor Gran Hermano.
Entonces, ¿Internet tampoco debería haberse inventado? Lo mismo aplicaría a las cartas, Facebook, los autos, las armas, los cuchillos y la agricultura.
Se ve claramente dónde se aplicó lo aprendido de cjdns y Yggdrasil, y el proyecto está muy bueno.
Aun así, como se ve prometedor y el nuevo proyecto también es interesante, quiero señalar un detalle menor. Según el FAQ, las IP de los routers tienen estructura y, salvo los prefijos de propósito especial, la mayoría cae dentro de prefijos con indicación geográfica. Cada país y cada estado de EE. UU. tiene un prefijo propio dentro de Mycoria; los routers del mismo país comparten el mismo prefijo a nivel global, y los países cercanos suelen tener prefijos más o menos parecidos.
Dentro del prefijo de un país, Mycoria usa enrutamiento por distancia de direcciones, enviando los paquetes al router conocido cuya dirección sea la más cercana. No es el enrutamiento más eficiente, pero especialmente si se limita a un área geográfica más pequeña, como en Mycoria, funciona bastante bien con algunas medidas adicionales.
Una de las desafortunadas lecciones aprendidas de la Internet IPv4, de cómo cada RIR administró las IP de IANA y de cómo se asoció información geográfica a los bloques IPv4, es que a los responsables de políticas les encanta montar políticas sobre etiquetas geográficas. Por ejemplo, si Maxmind informa que una dirección está en Pakistán y, según la ley pakistaní, el contenido ofrecido por otra dirección está prohibido, termina bloqueándose.
Si la conciencia geográfica viene incorporada en los prefijos de red, puede explotarse de formas que los usuarios no desean. Por supuesto, podría ser una concesión aceptable, y es fácil imaginar escenarios en los que los usuarios obtengan suficientes beneficios de los prefijos con conciencia geográfica como para aceptar las desventajas.
Si se trata de lo primero, valdría la pena considerar pasar de prefijos con conciencia geográfica, es decir, “dentro de X millas de otras personas en esta jurisdicción”, a prefijos con conciencia de latencia, es decir, “dentro de X ms de otras personas en este prefijo”.
Dicho esto, si refuto mi propia recomendación, quienes quieran implementar políticas de capa 8 sobre prefijos con conciencia geográfica podrían malinterpretar deliberadamente que los prefijos con conciencia de latencia son lo suficientemente cercanos, y entonces mucho esfuerzo podría ser en vano.
Las direcciones privadas no tienen indicación geográfica y no se enrutan. Por ejemplo, se generan aleatoriamente y no se pueden atribuir fácilmente a una ubicación geográfica.
La documentación está bien hecha y se ve interesante. Tendría que probarlo, pero la primera pregunta que me surge es si Mycoria expone el nodo completo dentro de la red, de modo que haga falta un firewall para restringir el acceso a puertos, etc.
Lo pregunto porque en Yggdrasil esto es necesario: https://yggdrasil-network.github.io/faq.html#will-my-machine...
Por defecto, nadie puede acceder a tu dispositivo. Tienes que permitirlo activamente en la sección
servicesde la configuración.Me pregunto cómo se compara con Veilid(https://veilid.com/).
Me pregunto si vieron Reticulum[0]. También quisiera saber cuánto se superpone con la capa de networking de Mycoria.
[0]: https://github.com/markqvist/Reticulum
Puede que se me esté escapando algo por completo, pero ¿Mycoria intenta evitar que los participantes de la red puedan averiguar la dirección IP pública de Internet correspondiente a un ID de router de Mycoria?
El campo
ianade la configuración hace parecer que ese no es el objetivo; si es así, este sistema se parece más a Tailscale con IPv6 y un espacio de nombres global. En ese caso, dado que casi todos los hosts de Internet pueden alcanzarse directamente entre sí con técnicas de atravesamiento de NAT como BitTorrent, no entiendo bien por qué se enfatiza tanto el “enrutamiento”.Si la idea es ocultar la dirección IP pública de Internet, como en los servicios ocultos de Tor, tampoco entiendo mucho el método de enrutamiento. Probablemente porque no querrías elegir rutas con una estrategia determinista o dependiente de la latencia, ya que eso filtraría información.
Incluso cuando la Internet actual funciona “normalmente”, muchos usuarios de redes similares han reportado mejor conectividad mediante el enrutamiento de redes overlay. El enrutamiento de la Internet de IANA se ve muy afectado.
Si dejas que Mycoria genere la configuración, incluirá la interfaz pública actual del dispositivo, así que esto solo es cierto para servidores. Mycoria no depende de direcciones de IANA, pero las usa para mejorar automáticamente la estructura de la red. Es decir, encuentra mejores rutas entre routers a través de la Internet de IANA.
Quizás sería más útil contribuir a redes ya existentes como i2p.
La mayoría fracasó porque no logró suficiente adopción, en gran parte porque no aceptan que más del 90% del mercado de computadoras de escritorio no usa Linux ni BSD.
Algunos ofrecen soporte a medias para clientes de Windows, y casi ninguno soporta macOS, que representa alrededor del 20–30% del mercado de escritorio.
Me pregunto cómo se compara con zrok(https://zrok.io/). Me gustaría experimentarlo directamente, pero me preocupa un poco porque suena como algo que no es privado por defecto.
Por defecto, nada puede acceder a tu dispositivo. Para permitir el acceso, tienes que definir servicios y agregar
friends, es decir, tus otros dispositivos.