1. Módulos WebAssembly (La Lógica)
En protocolos heredados (como MCP), los servidores definen “Herramientas” estáticas (ej.,calculate_sum, read_log), y la IA instruye al servidor para ejecutarlas con parámetros fijos.
En LIOP, el Servidor no necesita pre-programar infinitas herramientas. En su lugar, expone una Interfaz de Ejecución.
El Agente envía un Módulo WebAssembly (.wasm) completamente dinámico que contiene su propia lógica innovadora.
Cómo funciona:
- El Agente compila su razonamiento (ej., “Encontrar todos los logs de error con la IP 192.168.1.1 y agruparlos”) en un binario WASM multiplataforma.
- El Servidor LIOP recibe este bloque inyectado vía gRPC.
- En lugar de ejecutarlo nativamente, el Servidor levanta un WASI Sandbox efímero e inyecta el módulo WASM en él.
- Escalabilidad Industrial: Tanto el backend en Rust como el SDK en TS aprovechan modelos de hilos avanzados (Native OS Threads y
piscinaen Node.js) para procesar miles de sandboxes concurrentemente.
2. Capacidades (Los Recursos)
Si el servidor ejecuta código arbitrario vía WASM, ¿cómo es seguro? A través de la Seguridad Basada en Capacidades. Las Capacidades son el equivalente LIOP a los “Recursos” de MCP, pero radicalmente más seguras. Por defecto, un módulo WASM en ejecución en LIOP tiene acceso cero absoluto a todo:- Sin lectura/escritura en el sistema de archivos local.
- Sin acceso a sockets de red.
- Sin variables de entorno del host.
- Sin acceso al reloj del sistema.
Otorgando Acceso
When un Agente envía un Módulo, debe especificar las Capacidades que requiere para funcionar. El Servidor verifica estas peticiones contra su manifiesto. Si se aprueban, el Servidor mapea dinámicamente los recursos específicos directamente en el espacio de memoria del Sandbox. Por ejemplo, una Capacidad podría ser:READ_ONLY_ACCESS: /var/logs/nginx/.
El módulo WASM puede ahora leer los logs a una velocidad asombrosa, pero si la lógica maliciosa intenta leer archivos no autorizados, el motor de Sandboxing disparará un WASI Trap inmediato, terminando instantáneamente la ejecución.
3. Watchdogs (Eventos Asíncronos Persistentes)
Una de las características más potentes de LIOP son los Watchdogs, que superan el concepto de prompts simples o polling manual. Las aplicaciones de IA a menudo necesitan monitorear un servidor (ej., “Avísame cuando el uso de CPU exceda el 90%”). En HTTP/REST, la IA debe enviar peticiones manuales cada 5 segundos, desperdiciando ancho de banda y tokens. La arquitectura push de LIOP soluciona esto:- El Agente inyecta un Módulo WASM Watchdog en el Nodo de Datos.
- El Servidor lo procesa y lo deja “dormir” en un hilo de fondo pasivo de bajos recursos.
- El módulo WASM se conecta localmente a los flujos del sistema.
- En el momento en que se cumple la condición, el módulo WASM se despierta y empuja un evento asíncrono directamente a través de la conexión multiplexada abierta de vuelta al Agente.
4. Confianza y Evidencia (Industrial TEE Execution Sandbox)
En entornos de Nivel-0 (Tier-0), el Servidor LIOP evoluciona más allá del sandboxing estándar. El servidor proporciona evidencia matemática y física utilizando un TEE (Trusted Execution Environment) Sandbox.1. Host Bounds & Checks (Guardian AST y Egress Filter)
Antes de que la lógica toque el motor de ejecución, el interceptor del Host descifra el payload. El Guardian AST Sentinel analiza el Árbol de Sintaxis Abstracta del WebAssembly. Si detecta intentos de importación ilegal, el payload es purgado. Tras la ejecución, un Filtro Anti-Exfiltración (Egress Filter) analiza matemáticamente el buffer saliente para prevenir la fuga de PII antes de su transmisión.2. Hardware Isolated Enclave (TEE)
La computación central se empuja a un Enclave de Hardware físico (como AWS Nitro Enclaves). Esto garantiza la Computación Ciega: la RAM del Host está encriptada por hardware, por lo que ni siquiera el administrador del sistema puede volcar la memoria para robar el razonamiento del Agente.3. Motor de Ejecución y Monitor de Combustible
Dentro del sandbox, el motor arranca el contexto WASI. Dado que WebAssembly es Turing Completo, podría ejecutar un bucle infinito por error o malicia. El Monitor de Combustible (Fuel Monitor) defiende contra esto; si el combustible se agota, el motor mata la ejecución.4. ZK Prover (Certeza Matemática)
Cuando el.wasm termina, el resultado pasa al Zero-Knowledge Prover. Este módulo genera un Recibo matemático. El paquete devuelto prueba incondicionalmente al Agente que la lógica específica se ejecutó perfectamente y el resultado es íntegro.
5. Servidor TypeScript y MCP Bridge (El Nodo SDK)
Mientras que el plano de datos en Rust domina el sandboxing pesado, el ecosistema LIOP también proporciona una implementación completa de servidor en TypeScript (@nekzus/liop).
Este servidor actúa como una capa de adopción rápida para desarrolladores de Node.js.
Cómo el Bridge maneja Clientes MCP Heredados:
- Intercepción JSON-RPC: Las herramientas heredadas envían peticiones JSON-RPC 2.0 estándar.
- LiopMcpBridge Adapter: El SDK intercepta estos payloads y los traduce internamente. También expone impecablemente los endpoints de recursos, permitiendo el Descubrimiento Zero-Shot de esquemas de datos.
- Validación Zod en LiopServer: Antes de la ejecución, el
LiopServerimpone validaciones estrictas de esquema Zod en el hilo principal. - Respuesta Transparente: El resultado se devuelve formateado como un bloque estándar de MCP.
6. Seguridad Avanzada y Diccionario de Datos
Para asegurar el mayor nivel de Autonomía Zero-Shot, los Servidores LIOP proporcionan metadatos sobre sus estructuras internas.Diccionario de Datos (Anti-Hallucination)
Cuando un Agente ejecuta lógica foránea, podría “alucinar” campos que no existen. Para prevenir esto, los desarrolladores deben usar el métododataDictionary:
liop_blind_analyst), forzando a la IA a adoptar una política de Adherencia Estricta al Esquema.
Inyección de Datos en el Sandbox
Mientras que el diccionario enseña al Agente cómo se ven los datos, debes inyectar los datos reales dentro del sandbox para su procesamiento local. Utiliza el métodosetSandboxData para cargar tu contexto en la memoria protegida del servidor:
Claves Prohibidas (PII Forbidden Keys)
Es posible restringir campos específicos para que nunca abandonen el servidor. Pase el arrayforbiddenKeys durante la instanciación:
Claves Sensibles y Presupuesto Estratificado (NIST SP 800-226)
Para proteger campos críticos del dominio (como saldos bancarios o diagnósticos médicos) sin bloquear su salida de forma absoluta como ocurre con las claves prohibidas, puedes clasificarlos como Claves Sensibles (Sensitive Keys). LIOP impone automáticamente un Presupuesto de Consultas de 3 Tiers por cliente en cada sesión:- Tier Prohibido (3 consultas/sesión): Se aplica a todos los campos declarados en
forbiddenKeys. - Tier Sensible (8 consultas/sesión): Se aplica a todos los campos declarados en
sensitiveKeys. - Tier Público (25 consultas/sesión): Se aplica a cualquier otro campo no clasificado que sea consultado.
Configuración Global del Servidor
Configuración a Nivel de Herramienta (Tool-Level)
Puedes añadir claves sensibles adicionales al registrar una herramienta específica. El servidor fusionará estas claves dinámicamente con la lista global:Presupuesto Uniforme Heredado (Legacy)
Si necesitas mantener límites uniformes para todos los campos por compatibilidad con sistemas anteriores en lugar del presupuesto estratificado, definequeryBudgetPerField en las opciones de la herramienta:
Persistencia del Presupuesto (budgetStorePath)
Para persistir y compartir los presupuestos de consultas a través de reinicios del servidor y múltiples procesos en ejecución, configure la propiedadbudgetStorePath. Esta propiedad se puede definir de manera global en el constructor de LiopServer, o localmente dentro de la política de una herramienta específica:
Autogeneración de Directorios y Base de Datos
- Creación Automática de Directorios: El SDK detecta automáticamente si las carpetas contenedoras de la ruta
budgetStorePathno existen y las crea recursivamente (mediantefs.mkdirSync(..., { recursive: true })) durante la primera escritura. - Estructura Jerárquica del JSON: El archivo se inicializa de forma automática como una base de datos estructurada en un esquema JSON de 3 niveles que rastrea
clientId(oagentDid), el nombre de la herramienta (toolName), y el contador del campo (field) consultado:
.lock) se gestiona automáticamente bajo el capó para sincronizar las escrituras concurrentes. Si la escritura en disco falla por falta de permisos o bloqueos persistentes, el motor realiza un fallback silencioso al rastreo de presupuestos en memoria aislado por sesión.
Vinculación de Identidad de Cliente y Restablecimiento de Presupuestos (Anti-Bypass)
- Anclaje de Identidad Persistente: Los límites de presupuesto están vinculados a la identidad criptográfica persistente del cliente (
agentDidderivado de su PeerID Ed25519 oclientIdde los JSON Web Tokens de OAuth 2.1) en lugar de tokens de transporte efímeros (como elsession_tokende gRPC). Esto evita que clientes maliciosos omitan sus presupuestos de consulta simplemente reconectándose o negociando nuevos intents de gRPC. - Restablecimiento del Presupuesto mediante Rotación de Sesión PQC: Para clientes legítimos o entornos sin persistencia basada en archivos, el presupuesto de la sesión se puede restablecer iniciando un nuevo handshake efímero de ML-KEM-768 (Kyber), el cual rota las claves de sesión post-cuánticas. Si el presupuesto se agota y no hay persistencia configurada, el SDK devuelve un error explícito:
Rotate PQC session to reset budget.
Política de Privacidad Diferencial
Para datasets por debajo deldpSmallDatasetThreshold (por defecto: 50 registros), el servidor aplica automáticamente ruido Laplace calibrado a todas las salidas numéricas. Configure el perfil de privacidad en la política a nivel de herramienta al registrarla:
- Claves de conteo (
count,length,size,num): sensibilidad = 1 - Claves de promedio (
avg,mean): sensibilidad =dpSensitivity / recordCount - Claves de suma/otras: sensibilidad =
dpSensitivity
Consulte Seguridad Zero-Trust § Motor de Privacidad Diferencial para la inmersión técnica completa.
Estructura Dinámica de Retorno (Auto-i18n Nativo) [PLANIFICADO]
LIOP introduce un patrón arquitectónico donde la fricción por traducción no existe. Esta funcionalidad está en el roadmap. Cuando un Nodo de Datos registra sus capacidades, incrusta una directiva estructural dentro del payload. Esto obliga al agente a generar esquemas JSON que utilizan llaves mapeadas al idioma exacto hablado por el usuario en el prompt.- Si el usuario consulta “¿Cuántos pacientes tienen hipertensión?”, el Nodo recibe naturalmente una respuesta con taxonomía en Español (ej.,
{"cantidad": 25}). - Esto elimina la necesidad de librerías de internacionalización, dejando la localización de datos directamente en el Origen de forma segura.