K-Veritas Go: verificación criptográfica de experimentos computacionales en un solo binario

Fuentes: K-Veritas Go: tamper-evident verification for computational experiments in a single binary

K-Veritas Go es una herramienta de línea de comandos, escrita en Go y distribuida como binario estático sin dependencias, que firma criptográficamente los resultados de experimentos computacionales y los publica en un PDF verificable por terceros. Su objetivo es atar de manera indisoluble el resultado anunciado al código exacto, al hardware y al momento en que se ejecutó el experimento, de modo que nadie pueda modificar la cifra sin que la firma lo delate.

Funciona como un envoltorio alrededor de cualquier comando: el usuario inicia una sesión con "kveritas init", ejecuta su script o entrenamiento con "kveritas run -- …" y, al terminar, genera el informe firmado con "kveritas seal". Durante la ejecución, un muestreador en segundo plano registra telemetría por proceso (CPU, memoria, cambios de contexto, fallos de página, frecuencia, E/S y, si hay GPU, su utilización, memoria, potencia y temperatura) a unos 10 Hz. En el sellado, un análisis HMCA evalúa si esos canales fluctúan de forma coherente como sombras de un único proceso: un experimento real los mueve juntos, un rastro fabricado o reproducido, no.

La herramienta nunca mira el resultado reportado; verifica la coherencia de la propia ejecución. Adicionalmente, si el usuario declara una tarjeta de modelo, K-Veritas contrasta los FLOPs anunciados con lo que el hardware pudo entregar físicamente, comprobando límites de tiempo, energía y memoria. Un exceso declarado sobre la capacidad del equipo queda marcado como FABRICATION-IMPOSSIBLE dentro de la propia firma.

Cada ejecución se estructura como una línea de tiempo de instantáneas con direcciones de contenido, enlazadas mediante árboles de Merkle y ligadas a la firma. El usuario elige cuánto revelar: "redacted" (por defecto) muestra seudónimos sin nombres ni contenido; "names" expone los nombres reales de archivos; "open" añade un paquete con el código fuente. Un sistema de pruebas selectivas permite demostrar que un archivo concreto formaba parte de una instantánea sin destapar el resto, y existe un modo específico para sesiones con agentes de IA que registra cada acción en una cadena de hashes.

El firmado emplea RSA-PSS-SHA256 sobre JSON canónico, con todos los valores y la clave pública embebidos en el PDF tras el marcador %%EOF. El verificador —local o en kveritas.org/verify— recalcula los hashes directamente sobre el JSON canónico almacenado, por lo que la verificación es resistente a futuras adiciones de campos. El proyecto incluye también servidor de atestación, lectura de PDF autocontenida y cliente HTTP, y se ofrece con binarios precompilados para Linux, macOS y Windows en arquitecturas amd64 y arm64.