Arquitectura de los Crates
La implementación en Rust se organiza en dos crates especializados dentro del espacio de trabajo del repositorio:liop-core
Protocolo Binario y Stubs: Definiciones de Protocol Buffers (
liop_core.proto) compiladas mediante tonic y prost. Exporta traits de servicios gRPC, stubs de cliente y tipos de mensajes de red sin dependencias pesadas de ejecución.liop-client
Motor de Ejecución del Agente: Runtime de cliente de alto nivel que encapsula la negociación de intenciones Zero-Trust, derivación de claves post-cuánticas (ML-KEM-768), sellado simétrico de cargas (AES-256-GCM) y validación de Recibos ZK.
Configuración de Dependencias con Cargo
Hasta la publicación oficial encrates.io, los crates se integran directamente desde el repositorio de GitHub o mediante rutas locales dentro de un espacio de trabajo Cargo.
Integración desde el Repositorio Git
Añada la siguiente configuración en su archivoCargo.toml:
Cargo.toml
Integración mediante Ruta Local de Workspace
Para desarrollos dentro de un clon local del repositorio de LIOP:Cargo.toml
Ejemplo de Inyección de Lógica WASI In-Situ
El crateliop-client expone la función inject_logic, la cual automatiza las cinco etapas del ciclo criptográfico:
- Negociación de Intención Zero-Trust: Establece los parámetros de sesión con el nodo de destino.
- Intercambio de Claves Post-Cuánticas: Genera un par de claves efímeras ML-KEM-768 y encapsula un secreto compartido de 256 bits.
- Sellado de Carga Útil: Cifra el binario WASM compilado (
wasm32-wasip1) mediante AES-256-GCM. - Transmisión Asíncrona por Flujos: Despacha el módulo cifrado a través de Tonic gRPC hacia el entorno host.
- Verificación de Recibo ZK: Valida la prueba computacional HMAC-SHA256 emitida por el nodo de datos frente al secreto de sesión y el hash de la carga.
src/main.rs
Especificaciones Técnicas y Dependencias
Los crates conservan un árbol de dependencias acotado para asegurar compilaciones deterministas y estabilidad de memoria:Hoja de Ruta hacia crates.io
El plan de evolución para el SDK de Rust contempla tres hitos centrales:
- Soporte para WASI Preview 2 (Component Model): Migración desde
wasm32-wasip1hacia interfaces WIT para habilitar el intercambio de tipos estructurados entre el huésped y el host. - Traits Ergonómicos de Servidor: Creación del trait de alto nivel
LiopServerequivalente a la experiencia del SDK de TypeScript, lo que simplificará la construcción de enclaves nativos en Rust. - Automatización de Publicación en Crates.io: Implementación de flujos de CI/CD para publicaciones automatizadas con verificación de procedencia OIDC.