El equipo detrás de Iroh 1.0 publicó la primera versión estable de su librería de red con una premisa que suena a herejía para quien creció con TCP/IP: dejar de marcar direcciones IP y empezar a marcar llaves criptográficas. La idea es que tu dispositivo sea direccionable de forma segura sin importar dónde esté, detrás de cuántos firewalls o tras cuántos cambios de red.
Tras más de cuatro años de desarrollo abierto y 65 versiones previas, este lanzamiento congela el protocolo y las APIs. La pregunta para quien construye apps en LATAM es directa: ¿vale la pena cambiar la dirección IP por una llave? Veamos qué cambió y por qué importa.
TL;DR
- Iroh 1.0 es la primera versión estable tras 4 años de desarrollo abierto y 65 versiones previas.
- La idea central: marcar (dial) una llave criptográfica en lugar de una IP, que el dispositivo controla y conserva al moverse.
- Los relays públicos del proyecto vieron más de 200 millones de endpoints creados en los últimos 30 días.
- Implementa QUIC multipath y NAT traversal sobre QUIC para abrir conexiones directas y cambiar de ruta en caliente.
- Suma soporte oficial para Python, Node.js, Swift y Kotlin, además del crate de Rust.
- Iroh asegura estabilidad del protocolo de cable: un endpoint v1 habla con otro v1 sin importar versión menor ni lenguaje.
- Es común que el 95% de los datos viajen directo entre dispositivos, reduciendo saltos por la nube y la factura de egress.
- El soporte de relays públicos para la rama 0.35x continúa hasta el 31 de diciembre de 2026.
Qué pasó: Iroh llega a su versión 1.0
Iroh 1.0 marca el primer lanzamiento mayor del proyecto y, con él, un compromiso de estabilidad que antes no existía. La librería describe a sí misma como una capa de red que "simplemente funciona": uno le entrega la llave pública del dispositivo con el que quiere hablar y la librería se encarga del resto: descubrir rutas, atravesar NATs, abrir una conexión directa y cifrarla. Donde antes había que pausar funcionalidades por el costo de mantenimiento de las APIs, ahora hay una promesa explícita de compatibilidad.
El proyecto no nace hoy. Según el anuncio oficial, Iroh ya corre en millones de dispositivos y se usa para transmitir video, entrenar modelos de lenguaje, hablar con agentes, asegurar chats, jugar en línea y enviar archivos. La novedad de la versión 1.0 no es la capacidad técnica, que venía madurando, sino la garantía de que lo que construyas hoy seguirá funcionando mañana.
Iroh marca una llave pública en lugar de una dirección IP.
Marcar llaves, no IPs: la idea central de Iroh 1.0
El argumento de fondo es sencillo y, a la vez, profundo. Una dirección IP puede romperse sin aviso y está fuera del control de tu dispositivo: cambia cuando saltas de la red móvil al WiFi, cuando el proveedor reasigna el bloque, o cuando un firewall corporativo te deja inalcanzable. Una llave, en cambio, la creas y la controlas tú. Permanece igual aunque el dispositivo se mueva, y es tuya para conservar o desechar.
Sobre esa llave se construye todo lo demás. Se usa para asegurar la conexión, y como todos los datos que llegan por esa conexión quedan protegidos por la misma llave, encima de ella se levantan identidad, permisos y atribución. Esa misma llave funciona además como dirección para marcar al dispositivo, sin importar en qué parte del mundo esté. En palabras del propio equipo, convierte a internet en un localhost seguro.
💭 Clave: separar la identidad (la llave, estable y tuya) de la ubicación (la IP, volátil y ajena) es el cambio conceptual que sostiene a Iroh 1.0. Es la misma lógica que hace robusto a un sistema cuando la red por debajo es caótica.
Contexto e historia: 4 años y 65 versiones
Iroh 1.0 es la culminación de un camino largo. Durante el desarrollo, el equipo migró hacia estándares abiertos, prefiriendo borradores del IETF siempre que fue posible. Esa decisión es relevante: en vez de inventar un protocolo propietario, Iroh apuesta por interoperar con un ecosistema más amplio y por no quedar atrapado en una solución cerrada.
El proyecto también pasó por decisiones difíciles. En algún momento pausaron el soporte de FFI (la interfaz para usar Iroh desde otros lenguajes) por el costo de mantenerlo al día con una API que aún cambiaba mucho, y prometieron retomarlo con una API estable en la 1.0. Este lanzamiento cumple esa promesa. La historia de 65 versiones previas no es anecdótica: explica por qué el equipo se siente cómodo congelando el protocolo ahora y no antes.
Cómo funciona Iroh 1.0: QUIC multipath y NAT traversal
Debajo de la abstracción de "marcar una llave" hay ingeniería de red densa. El equipo construyó su propia implementación de QUIC multipath, lo que permite a Iroh administrar varias rutas dentro de una misma conexión e intercambiarlas en caliente conforme cambian las condiciones de red. Si te mueves de una red a otra, la conexión no se cae: cambia de camino sin que la aplicación se entere.
A eso se suma una implementación de NAT traversal sobre QUIC, que abre conexiones directas entre dispositivos manteniendo cifrados los detalles de la conexión. Iroh agrega configuraciones local-first para encontrar y conectar dispositivos en la red local sin acceso a internet, se compila a WebAssembly para correr en el navegador, y admite transportes personalizados como Bluetooth Low-Energy, LoRa (en construcción), WiFi Aware o incluso Tor, todos bajo la misma abstracción de marcar por llave.
graph LR
A["Dispositivo A (llave pública)"] -->|"marca la llave"| R["Relay n0"]
R -.->|"NAT traversal"| B["Dispositivo B (llave pública)"]
A ==>|"conexión directa cifrada (95%)"| B
El flujo típico es el del diagrama: el relay ayuda a que dos dispositivos se descubran y atraviesen sus NATs, pero una vez establecida la ruta directa, la mayor parte del tráfico deja de pasar por la nube.
El relay solo ayuda a establecer la conexión; los datos van directos.
Datos y cifras del lanzamiento
Las cifras que acompañan el anuncio dan escala al proyecto. Los relays públicos que opera el equipo vieron más de 200 millones de endpoints creados en los últimos 30 días. Y en cuanto a eficiencia, es normal observar que el 95% de los datos de una conexión viajan directamente entre dispositivos. Ir directo significa menos saltos por la nube, lo que reduce tu factura de egress, y menos saltos por routers, lo que hace a internet más eficiente en conjunto.
💡 Tip: el ahorro de egress no es teórico. Si hoy pagas por mover datos entre usuarios a través de tu backend en la nube, una arquitectura donde el 95% del tráfico va directo entre clientes recorta esa partida de forma directa.
Soporte para Python, Node.js, Swift y Kotlin
Una de las novedades más prácticas de Iroh 1.0 es el regreso del soporte multilenguaje. Además del crate de Rust, ahora hay bindings oficiales para Python, Node.js, Swift y Kotlin. Esto cambia el panorama: puedes incrustar Iroh en una app de iOS en Swift o en una app de Android en Kotlin, o prototipar rápido desde Python o Node.js sin tocar Rust.
Un ejemplo conceptual en Python de cómo se vería crear un endpoint y conectar por llave (consultá la documentación oficial para la API exacta de tu versión):
import iroh
# Crear un endpoint con su propia llave (node id)
endpoint = iroh.Endpoint.builder().bind()
mi_llave = endpoint.node_id()
print(f"Mi node id (llave): {mi_llave}")
# Conectar a otro dispositivo usando SU llave, no su IP
llave_destino = ""
conn = endpoint.connect(llave_destino, alpn=b"mi-protocolo/0")
print("Conexion directa establecida")
Instalación de Iroh 1.0 en Windows, macOS y Linux
La instalación depende del lenguaje. Para el crate de Rust necesitás el toolchain instalado. Acá los comandos según tu sistema operativo:
# --- Instalar Rust ---
# Windows (PowerShell): descargar rustup-init.exe desde https://rustup.rs
# o con winget:
winget install Rustlang.Rustup
# macOS / Linux:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# --- Agregar iroh al proyecto (igual en los 3 SO) ---
cargo add iroh
Para los lenguajes de scripting, los gestores de paquetes hacen el trabajo y son idénticos entre plataformas:
# Python (Windows / macOS / Linux)
pip install iroh
# Node.js (Windows / macOS / Linux)
npm install @number0/iroh
⚠️ Ojo: los nombres exactos de paquete y la firma de la API pueden variar entre versiones de los bindings. Antes de fijar versiones en producción, verificá la documentación generada de la API para el lenguaje que uses.
Estabilidad del protocolo y política de versiones
Iroh 1.0 afirma estabilidad tanto del protocolo de cable como de las APIs de cada lenguaje: un endpoint v1 podrá comunicarse con otro endpoint v1 sin importar la versión menor ni el lenguaje. En el futuro podrían versionar ambos aspectos de forma independiente —por ejemplo, sacar una versión 2 de la API de un lenguaje manteniendo compatibilidad en el cable—, pero cualquier cambio que afecte la estabilidad del protocolo coincidirá siempre con un lanzamiento mayor.
Sobre soporte, el equipo publicó un calendario. Las versiones mayores y menores posteriores a la 1.0 se soportan según ese cronograma. La rama menor 0.35 no recibirá más releases, aunque el soporte de relays públicos para 0.35x continúa hasta el 31 de diciembre de 2026. Las versiones canary (0.9x) y los release candidates (1.0.0-rcX) dejan de soportarse, con relays públicos operativos hasta el 30 de septiembre de 2026. Un detalle de operación: el equipo actualiza los relays públicos a la última versión poco después de cada release, normalmente en 24 horas, y los cambios que rompan compatibilidad de cable estrenan URLs nuevas para que los clientes viejos sigan funcionando.
Impacto y análisis para desarrolladores en LATAM
Para el contexto latinoamericano, donde el NAT de operador (CGNAT) es la norma y muchos usuarios nunca tienen una IP pública estable, el modelo de Iroh 1.0 resuelve un dolor real. Las apps peer-to-peer —transferencia de archivos, juegos, sincronización, llamadas— suelen sufrir aquí porque establecer conexión directa entre dos clientes detrás de CGNAT es difícil. Iroh hace de ese problema su especialidad.
El ahorro de egress también pesa más en mercados sensibles al costo. Si tu producto mueve datos entre usuarios a través de servidores en la nube y cobrás en moneda local mientras pagás infraestructura en dólares, mover el 95% del tráfico a conexiones directas mejora márgenes de forma tangible. Sumado a los bindings para Swift y Kotlin, Iroh 1.0 se vuelve una opción concreta para apps móviles regionales que quieran funciones colaborativas sin levantar y pagar una flota de servidores intermediarios.
Qué sigue
El mensaje del equipo es que el momento de construir es ahora: con la 1.0 hay un stack de red maduro que se puede integrar con confianza. Las piezas en desarrollo, como el transporte sobre LoRa, apuntan a escenarios de conectividad extrema —IoT rural, redes mesh, zonas sin internet—, justo donde la abstracción de "marcar una llave" en lugar de una IP brilla más. Habrá que ver cómo evoluciona la adopción ahora que la barrera de la inestabilidad de API quedó atrás y el soporte multilenguaje abre la puerta a comunidades fuera de Rust.
📖 Resumen en Telegram: Ver resumen
Preguntas frecuentes
¿Qué significa "marcar llaves, no IPs" en Iroh 1.0?
Significa que identificás y conectás a un dispositivo por su llave criptográfica pública (su node id) en lugar de por una dirección IP. La llave es estable y la controla el dispositivo; la IP es volátil y depende de la red. Iroh se encarga de encontrar la ruta real por debajo.
¿Necesito saber Rust para usar Iroh?
No. Aunque Iroh está escrito en Rust, la versión 1.0 ofrece bindings oficiales para Python, Node.js, Swift y Kotlin, así que podés integrarlo desde esos lenguajes sin escribir Rust.
¿Los datos pasan siempre por un servidor relay?
No necesariamente. El relay ayuda a que dos dispositivos se descubran y atraviesen sus NATs, pero una vez establecida la conexión directa es común que el 95% de los datos viajen directamente entre los dispositivos, sin pasar por la nube.
¿Iroh 1.0 garantiza compatibilidad hacia el futuro?
Sí dentro de la versión mayor 1: un endpoint v1 puede comunicarse con otro v1 sin importar la versión menor ni el lenguaje. Cualquier cambio que rompa la compatibilidad del protocolo de cable coincidirá con un lanzamiento mayor.
¿Hasta cuándo funcionan los relays de versiones viejas?
Los relays públicos para la rama 0.35x operan hasta el 31 de diciembre de 2026, mientras que los de versiones canary (0.9x) y los release candidates (1.0.0-rcX) lo hacen hasta el 30 de septiembre de 2026.
¿Para qué casos de uso sirve Iroh?
Según el equipo, ya se usa para transmitir video, entrenar modelos de lenguaje, hablar con agentes, asegurar chats, jugar, sincronizar y enviar archivos. Brilla especialmente en escenarios peer-to-peer detrás de NAT, comunes en redes móviles y CGNAT.
Referencias
- Iroh 1.0 - Dial Keys, not IPs — anuncio oficial del lanzamiento.
- n0-computer/iroh en GitHub — código fuente, issues y releases del proyecto.
- Documentación oficial de Iroh — guías, quickstart y referencia de API.
- Draft IETF: QUIC Multipath — borrador del estándar en que se inspira el multipath de Iroh.
📱 ¿Te gusta este contenido? Únete a nuestro canal de Telegram @programacion donde publicamos a diario lo más relevante de tecnología, IA y desarrollo. Resúmenes rápidos, contenido fresco todos los días.
Top comments (0)