Perforamos el laberinto de las telefónicas: así logramos que dos celulares argentinos se hablen en secreto, sin pedirle permiso a nadie
No es una VPN. No es un túnel. Es un barrio entero que aprendió a hablar en código. ⚡
👵👴 Para mi familia (y para cualquiera que no sabe nada de esto)
Logramos que una computadora en casa y dos celulares (uno de Claro y otro de Personal, con datos móviles) se manden mensajes directamente entre ellos, con un cifrado que nadie puede leer: ni la telefónica, ni el gobierno, ni el vecino chusmo.
¿Por qué es difícil? Porque las telefónicas meten a miles de clientes detrás de una sola dirección (como un edificio con un solo timbre), y hacen malabares para que nadie de afuera pueda escribirte directamente. A ese laberinto se lo llama CGNAT, y es famoso por romper cualquier sistema de comunicación directa.
Nosotros lo perforamos. Y cuando el laberinto es tan malo que ni perforándolo se puede (el peor caso, que explicamos abajo), el sistema tiene un plan B que nunca falla: un cartero que entrega la carta sin poder abrirla. En esta nota te lo contamos todo, con dibujos y sin palabras raras. ☕
📖 El diccionario del barrio (30 segundos y entendés todo)
El "portero" del edificio. Tu celu no tiene dirección propia en Internet: comparte la del edificio, y el portero decide adónde va cada carta.
Que dos vecinos se pasen notas directamente, de mano en mano, sin pasar por ninguna oficina.
La carta viaja en una caja fuerte que solo abren el que la escribe y el que la recibe. El cartero ve la caja, nunca el contenido.
Un amigo con casa visible que presenta a los vecinos: "fulano está en tal ventana". Después los vecinos hablan solos.
El cartero. Cuando no se puede hablar directo, la carta pasa por él… pero va cerrada con llave que él no tiene.
El espía de la telefónica que mide la forma de los sobres para adivinar qué protocolo usás y estrangularlo.
🏢 El problema: el portero paranoico (CGNAT)
Imaginá un edificio con una sola puerta a la calle. Adentro viven miles de personas (los celulares y computadoras de los clientes de una telefónica). El portero (NAT) reparte numeritos internos y traduce: "la carta que llega al buzón 4.532 es para el depto 3B".
Hasta ahí, más o menos bien. Pero las telefónicas argentinas usan un portero aún peor, el CGNAT simétrico: no solo comparte la dirección del edificio entre varios edificios vecinos, sino que cambia el numerito de buzón según a quién le escribas. Si vos le escribís a María, el portero te da el buzón 100. Si le escribís a Juan, te da el 200. Y si María quiere responderte usando el buzón 100… el portero de Juan no lo reconoce y tira la carta a la basura. 🗑️
Con ese portero, que dos vecinos se hablen directo parece imposible. Por eso casi todos los sistemas se rinden y usan una oficina central (un servidor) que reenvía todo. Nosotros no nos rendimos.
🛡️ ¿Y WireGuard? (con todo respeto)
WireGuard es excelente y lo usamos de inspiración: su filosofía de "núcleo criptográfico chico, claves efímeras, todo sobre UDP" es oro. Pero es una VPN: un túnel entre tu dispositivo y un servidor. No fue diseñado para que dos vecinos cualesquiera se encuentren solos en medio del laberinto.
- Bajo CGNAT agresivo, sus mapeos de puertos se caen si no hay tráfico constante.
- Cuando dos nodos están atrapados detrás de CGNAT simétrico estricto, el hole punching clásico es matemáticamente imposible: sin un servidor TURN externo, la conexión muere.
- Sus tramas tienen tamaño y encabezados fijos: un espía DPI las reconoce de lejos y puede estrangularlas.
Nosotros no copiamos WireGuard. Le sacamos el alma (su filosofía de transporte y criptografía) y la pusimos al servicio de otra arquitectura: no un túnel hacia un servidor, sino un sistema operativo de red donde cada nodo habla con cada nodo.
⚡ La solución: U2P, el idioma secreto del barrio
Dentro de nuestro kernel construimos el Unified UDP Protocol (U2P). Cuatro pilares lo hacen posible:
1️⃣ Una sola ventana para todo
En vez de que cada función abra su propia ventana al mundo, toda la casa usa una única ventana: por ahí se pregunta al Faro, por ahí se golpea la puerta del vecino, por ahí pasan las cartas cifradas. Como la ventana nunca deja de moverse, el portero jamás la cierra. Ese es el truco que heredamos del alma de WireGuard.
2️⃣ El código de la pareja
Cada pareja de vecinos calcula un numerito de sesión que da igual desde ambos lados, ordenando sus identidades alfabéticamente (como "Fernández y López" da lo mismo lo diga uno u otro). Así, cuando llega una carta, la casa sabe al instante a qué conversación pertenece. Y si el celu cambia de antena 4G o pasa de Wi-Fi a datos, la conversación sigue viva.
3️⃣ Llaves que se autodestruyen
Antes de hablar, los vecinos hacen un apretón de manos mágico de 2 mensajes que genera una llave única para esa conversación. Cada 1.000 cartas o 5 minutos, la llave cambia sola. Si algún día alguien roba una llave, no puede leer ni el pasado ni el futuro. Además, cada carta lleva un número de serie sellado con tinta indeleble: si un espía fotocopia una carta y la reenvía, el número repetido la delata.
4️⃣ El cartero ciego
Si el laberinto de porteros es tan malo que lo directo no cierra, el sistema conmuta en menos de 50 milisegundos a un relay incondicional: las cartas pasan por el Faro, pero van en una caja fuerte cifrada y firmada que el Faro no puede abrir. Solo ve el peso del paquete y lo entrega. Nadie en el medio lee ni modifica un solo bit.
🗺️ El mapa del sistema
XIONIA KERNEL (tu máquina)
│
▼
┌───────────┐
│ U2P │ ← una sola ventana UDP
│ Transport │
└─────┬─────┘
│
┌────────┴────────┐
▼ ▼
P2P DIRECTO RELAY E2E
(si el portero (el cartero
lo permite) ciego)
└────────┬────────┘
▼
INTERNET
▼
┌───────────┐
│ U2P Peer │
└─────┬─────┘
▼
KERNEL REMOTO (el vecino)
Directo cuando se puede. Relay cuando no. El relay es el último recurso de conectividad, nunca el centro de la red. Y en ambos caminos, la carta va cifrada de extremo a extremo.
🔬 La prueba en la calle: tres telefónicas, tres nodos reales
No probamos esto en un laboratorio con redes prolijas. Lo probamos en la trinchera: una computadora detrás de Fibertel y dos celulares con datos móviles de operadores distintos.
¿Por qué el tercer caso va por relay? Porque es la combinación maldita: dos porteros simétricos estrictos enfrentados, cada uno cambiando los buzones según el destino. Ahí ni Dios perfora: WireGuard necesitaría un servidor TURN externo. Nosotros tenemos el cartero ciego integrado, y ningún mensaje se pierde jamás.
🔐 Blindaje: seis inteligencias artificiales nos auditaron
Sometimos el código a una auditoría donde varias IAs revisaron línea por línea. Detectaron dos agujeros teóricos y los cerramos antes de publicar:
Durante el golpe de puertas inicial cualquiera puede sugerir una dirección. Pero una vez que la conversación empezó, solo una carta con sello válido puede cambiar la dirección de entrega. Un mentiroso que invente paquetes no puede redirigir tu tráfico.
El contador de cada carta quedó atado criptográficamente al sello. Un espía no puede alterarlo sin romper la verificación. Lo que antes era un campo "administrativo" ahora es parte del blindaje.
Y todo el motor pasó pruebas de estrés con 20 hilos transmitiendo en simultáneo, 100% libre de carreras de datos.
📊 ¿En qué nos diferenciamos?
| Característica | VPN tradicional | WireGuard | XionIA U2P |
|---|---|---|---|
| Objetivo | Túnel a servidor | VPN segura | Red P2P soberana |
| P2P nativo | Limitado | No es su objetivo | Sí ✓ |
| Atravesar CGNAT | Depende | Fuera del núcleo | Parte del transporte |
| Relay E2E integrado | Variable | TURN externo | Fallback incluido |
| Forward Secrecy | Variable | Claves estáticas | Efímeras por sesión |
| Identidad | Cuentas/IPs | Claves fijas | DIDs firmados |
Nota honesta: no pretendemos "ser mejores que WireGuard" en general. Resolvemos problemas distintos: ellos hacen túneles VPN; nosotros hacemos el transporte nativo de un sistema operativo de red distribuido.
🔮 Lo que viene: disfraz y faros de barrio
💚 ¿Por qué hacemos esto, familia?
Porque tus palabras son tuyas. Porque la comunicación no debería depender de la buena voluntad de una corporación o de un botón de un gobierno. Porque desde Corrientes también se puede construir tecnología soberana que no le pide permiso a nadie.
No queremos una VPN dentro del sistema.
Queremos que el sistema tenga su propio transporte seguro.
Y ya está corriendo en el código. ⚡



