Compact es el lenguaje de programación disenado especificamente para escribir contratos inteligentes en la red Midnight. A diferencia de Plutus, el lenguaje de contratos de Cardano que esta basado en Haskell, Compact parte de una sintaxis similar a TypeScript: el lenguaje mas extendido entre desarrolladores web en 2026. El objetivo es que cualquier programador con experiencia en JavaScript o TypeScript pueda escribir dApps con privacidad selectiva sin necesidad de aprender un lenguaje funcional desde cero.
¿Que es Compact y por que existe?
Compact es el lenguaje de Midnight basado en TypeScript. Compila a zero-knowledge proofs sin que el desarrollador necesite matematicas de criptografia avanzada.
El problema que resuelve Compact es doble. Los contratos inteligentes con privacidad requieren zero-knowledge proofs (ZK proofs): demostraciones matematicas que prueban que una condicion es cierta sin revelar los datos subyacentes. Generarlas manualmente es complejo y propenso a errores. Ademas, los lenguajes que permiten trabajar con ZK proofs exigen formacion matematica especializada que la mayoria de desarrolladores web no tiene.
Compact resuelve ambos problemas: el desarrollador escribe contratos en una sintaxis familiar (TypeScript extendido) y el compilador de Compact genera automaticamente los circuitos ZK necesarios. El programador especifica que debe ser privado y que debe ser publico; Compact se encarga de producir las pruebas criptograficas.
¿Que puede hacer un contrato escrito en Compact?
Un contrato en Compact puede mantener datos privados, verificar condiciones sin revelarlas y emitir pruebas que cualquier nodo de Midnight puede validar.
Las capacidades concretas de un contrato Compact:
- Estado privado: el contrato puede tener variables de estado que solo el propietario conoce. El resto de la red solo ve que el estado es valido, no su contenido. Util para saldos privados, credenciales o historial de transacciones confidencial.
- Estado publico: las partes del contrato que no requieren privacidad pueden ser completamente publicas, como en cualquier otro blockchain. Compact permite mezclar estado publico y privado en el mismo contrato.
- Verificacion sin revelacion: un contrato puede comprobar que un usuario tiene mas de 18 anos, que pertenece a una lista de elegibles o que posee un activo, sin revelar ninguno de esos datos a la red. Solo se publica el resultado de la verificacion: valido o invalido.
- Interaccion con Cardano: Midnight es una sidechain de Cardano. Los contratos Compact pueden interactuar con activos y datos de la cadena principal a traves del puente de protocolo.
¿Compact es mas facil que Plutus?
Compact es mas accesible que Plutus porque usa una sintaxis similar a TypeScript. No necesitas aprender Haskell ni teoria de tipos avanzada.
Plutus, el lenguaje de contratos de Cardano, esta construido sobre Haskell. Haskell es un lenguaje funcional potente pero con una curva de aprendizaje elevada. Para un desarrollador que viene de JavaScript, Python o Java, adaptarse a Haskell implica aprender un paradigma de programacion completamente distinto: tipado estatico estricto, funciones puras, monadas y un sistema de inferencia de tipos que puede resultar poco intuitivo al principio.
Compact parte de una base diferente. Su sintaxis es TypeScript extendido con palabras clave especificas para declarar que datos son privados y que datos son publicos. Un desarrollador con experiencia en TypeScript puede leer un contrato Compact basico en su primer dia y entender su logica sin diccionario.
Eso no significa que Compact no tenga complejidad propia. Los modelos mentales necesarios para razonar sobre privacidad, sobre que revela y que no revela una proof, y sobre los limites del sistema ZK exigen tiempo de estudio. Pero la sintaxis no es el obstaculo principal, lo que baja considerablemente la barrera de entrada.
¿Donde aprender Compact?
La documentacion oficial esta en docs.midnight.network. El testnet de Midnight permite desplegar contratos Compact sin coste y probar desde el navegador.
Los recursos disponibles en 2026 para aprender Compact:
- docs.midnight.network: la documentacion oficial de Midnight incluye la referencia completa del lenguaje Compact, guias de inicio rapido y ejemplos de contratos. Es el punto de partida obligatorio.
- Testnet de Midnight: Midnight mantiene un entorno de pruebas donde puedes desplegar contratos Compact sin usar DUST real. El proceso de registro para el testnet se gestiona desde el portal oficial de Midnight.
- GitHub de Input Output: los repositorios publicos de IOG en github.com/input-output-hk incluyen el compilador de Compact, ejemplos de contratos y el SDK de Midnight para TypeScript. Son la referencia para quien quiere ver el codigo fuente del sistema.
- Comunidad hispana de Cardano: los canales de Telegram de los pools hispanos como CAPO comparten recursos en espanol sobre el ecosistema Midnight, incluyendo traducciones de documentacion tecnica y sesiones de preguntas y respuestas con desarrolladores.
El testnet es especialmente util porque permite iterar sin coste. Puedes escribir un contrato, desplegarlo, probarlo y romperlo tantas veces como necesites antes de pasar a mainnet.
¿Que tipo de aplicaciones se pueden construir con Compact?
Con Compact puedes construir votaciones privadas, credenciales verificables, sistemas de identidad selectiva y mercados donde las ofertas no se revelan hasta el cierre.
Los casos de uso que Compact habilita de forma nativa:
- Votaciones con privacidad: sistemas donde cada voto es verificable como unico y valido sin que nadie pueda saber como voto cada participante. Util para gobernanza de DAOs, elecciones corporativas o cualquier proceso de decision colectiva.
- Credenciales verificables: un usuario puede demostrar que posee un titulo, una licencia o un certificado sin revelar el documento completo. La aplicacion solo recibe la confirmacion de que la credencial es valida y pertenece a quien la presenta.
- Identidad selectiva (KYC privado): un exchange o protocolo DeFi puede verificar que un usuario cumple los requisitos legales (mayor de edad, residente en pais elegible) sin almacenar sus datos personales. El usuario prueba el cumplimiento; el sistema no guarda nada.
- Subastas y mercados cerrados: los participantes hacen ofertas que quedan en estado privado hasta que el tiempo se acaba. En el cierre, el contrato revela al ganador sin exponer las ofertas perdedoras.
- Pagos confidenciales: transferencias de activos donde los importes no son visibles en la cadena publica, solo el hecho de que la transferencia ocurrio y que el saldo del emisor era suficiente.
¿Compact es open source?
El compilador de Compact es open source y esta disponible en GitHub bajo el repositorio de Input Output. La licencia permite uso comercial.
El compilador de Compact y el SDK de Midnight para TypeScript estan publicados en los repositorios publicos de Input Output Global en GitHub. Cualquier desarrollador puede inspeccionar el codigo, proponer mejoras mediante pull requests o hacer fork del proyecto.
La apertura del codigo tiene implicaciones practicas importantes:
- Auditabilidad: cualquier investigador de seguridad puede revisar el compilador y verificar que genera circuitos ZK correctos. No hay una caja negra en el corazon del sistema.
- Contribuciones externas: la comunidad de desarrolladores puede proponer mejoras al lenguaje, reportar bugs y participar en la evolucion de Compact sin depender exclusivamente de IOG.
- Construccion de herramientas: plugins de editor, linters, formateadores y otras herramientas del ecosistema pueden construirse sobre el compilador sin necesidad de acuerdos especiales.
El estado del desarrollo en 2026 es activo. Compact no es un lenguaje estabilizado y sus versiones son todavia candidatas. Antes de usar una version en produccion, revisa el changelog del repositorio y los avisos de breaking changes entre versiones.
Aprende mas sobre Midnight y su ecosistema
Compact es solo una pieza. Para entender el conjunto, empieza por la guia de que es Midnight y como se relaciona con Cardano.
Que es Midnight →Fuentes: docs.midnight.network · github.com/input-output-hk · midnight.network