← Volver al Repositorio de Investigación
Version 1.0 DRAFT | Orzatty Labs Research Division

The Orzatty Protocol: Serverless, Transport-Agnostic P2P Mesh Network

Capa de Abstracción de Transporte de Datos (Layer 4-7) diseñada para desacoplar la comunicación digital de la arquitectura tradicional cliente-servidor.

1. Resumen y Visión Definitiva

El Protocolo Orzatty no es una aplicación de chat ni una herramienta de red local (LAN) limitada por IP. El objetivo operativo final es "WhatsApp sin Internet": la creación de una malla descentralizada (mesh) global o hiper-local donde los nodos (smartphones, IoT, PCs) se descubren e intercambian frames binarios comprimidos de alta velocidad.

Es fundamentalmente Transport-Agnostic. Puede correr sobre:

2. Arquitectura Core: La Capa `AsyncTransport`

Para lograr independencia absoluta del medio físico, el núcleo del protocolo es el trait AsyncTransport escrito en Rust.

#[async_trait]
pub trait AsyncTransport: Send + Sync {
    async fn read(&mut self, buf: &mut [u8]) -> Result<Option<usize>>;
    async fn write_all(&mut self, data: &[u8]) -> Result<()>;
}

El Framer (motor de lectura/escritura) solo se comunica con AsyncTransport. Esto permite que la lógica del protocolo, el cifrado y el parseo de frames permanezcan 100% idénticos sin importar el medio de transporte.

3. Estructura de Frame a Nivel de Byte

Orzatty elimina los protocolos web pesados (HTTP/JSON) y utiliza frames binarios compactos de 9 bytes de cabecera mínima.

Offset Size (Bytes) Field Name Description
0x001FlagsModificadores (0x01 RkyvAligned, 0x02 Compressed).
0x011Frame TypeHandshake, Stream, FileTransfer, etc.
0x022Channel IDCanal de ejecución (u16).
0x044Stream IDID de flujo concurrente (u32).
0x081-9LengthCustom VarInt (LEB128-style).

3.1 Payload Encoding (Rkyv Zero-Copy)

Para alcanzar velocidades de memoria cercanas a los 100 Gbps en bucles locales, Orzatty utiliza rkyv. Los bytes se mapean en memoria (RkyvAligned) y la aplicación lee la estructura directamente desde el buffer de red, usando 0 bytes de asignación extra de RAM.

4. Descubrimiento Descentralizado (P2P Radar)

En entornos IP estándar (Hotspot / LAN), Orzatty utiliza balizas UDP Multicast. Cada N segundos, un nodo susurra a 255.255.255.255:5001:

ORZATTY_NODE|<USERNAME>|<PORT>

Los nodos cercanos capturan este latido y actualizan su registro interno DashMap en RAM.