ZeroFS es un sistema de archivos de tipo log-structured que expone buckets compatibles con S3 como sistemas de archivos POSIX a través de NFS y 9P, o como dispositivos de bloques en bruto mediante NBD. Su motor organiza las escrituras como objetos inmutables y, mediante compactación, reclama el espacio de los datos eliminados. Antes de subirse a S3, la información se comprime y se cifra, y las lecturas activas se sirven desde una caché local en microsegundos.
El proyecto se distribuye como un único proceso en espacio de usuario que actúa como servidor de NFS, 9P y NBD contra el mismo bucket. Los clientes de macOS, Linux, Windows y los BSD pueden montarlo con su soporte NFS nativo sin instalar nada adicional; también incluye un cliente FUSE que funciona sin root. Sobre NBD, los dispositivos pueden contener sistemas de archivos ext4, pools ZFS o discos de arranque de máquinas virtuales, y se detectan en caliente sin reiniciar el servidor.
Entre sus propiedades técnicas destacan el cifrado XChaCha20-Poly1305 con clave derivada por Argon2id, compresión con zstd o lz4, caché configurable en memoria y disco, checkpoints con nombre que se pueden abrir en solo lectura, réplicas de lectura, soporte de TRIM con devolución de bloques a S3, segmentos inmutables de 32 KiB, fsync honesto que garantiza durabilidad real y un modo de alta disponibilidad con standby que asume el liderazgo si el nodo principal falla.
La suite de pruebas se ejecuta en integración continua abierta e incluye pjdfstest, xfstests, compilaciones del kernel de Linux, stress-ng, scrubs de ZFS sobre ZeroFS y dos suites de Jepsen: una de modelo local y otra de failover. El repositorio publica las listas de casos excluidos y los pipelines correspondientes. Además, el toolchain de Rust compila ZeroFS sobre un sistema de archivos servido por ZeroFS, en una sesión grabada como demostración de autoalojamiento.
