Una máquina virtual de conocimiento cero que genera pruebas de ejecución correcta para programas escritos en Rust u otros lenguajes compilados con LLVM.
aleo-labs-protocol/snarkOS
Sistema operativo descentralizado y software de nodos que ejecuta la red Aleo para aplicaciones de conocimiento cero.
- Estrellas
- 4,530
- Forks
- 2,697
- Issues abiertos
- 131
- Último commit
- hace 23 horas
¿Qué es?
snarkOS es la implementación de nodos de la red Aleo, una blockchain para aplicaciones de conocimiento cero. Verifica transacciones y almacena el estado cifrado de las aplicaciones de forma públicamente verificable. El software funciona con tres roles de nodo: validadores, que participan en el consenso AleoBFT; clientes, que mantienen una copia del ledger y retransmiten transacciones y soluciones; y provers, que resuelven el puzle de Aleo sin mantener el ledger.
El proyecto está escrito en Rust y se instala desde el código fuente con cargo. Incluye una CLI llamada snarkos para iniciar nodos, crear cuentas de Aleo y firmar con ellas, además de un servidor REST en el puerto 3030 para los clientes. Los validadores pueden exponer telemetría y métricas de Prometheus, y es posible iniciar una devnet local con un script para probar varios nodos en una misma máquina.
Los operadores de nodos necesitan hardware de alta capacidad: las especificaciones para los validadores indican 64 núcleos o más, 256 GiB de RAM y varios terabytes de almacenamiento NVMe. El repositorio también incluye herramientas de copia de seguridad local basadas en checkpoints de RocksDB y documentación para migrar formatos de almacenamiento antiguos.
Funciones clave
- 01Ejecuta los roles de nodo validador, cliente y prover en la red Aleo.
- 02Incluye la CLI snarkos para iniciar nodos y administrar cuentas de Aleo.
- 03Expone un servidor REST para clientes y endpoints de telemetría para validadores.
- 04Incluye un script de devnet local para ejecutar varios nodos en una misma máquina.
- 05Ofrece copias de seguridad locales basadas en RocksDB que usan enlaces duros para ahorrar espacio.
Casos de uso
- Operar un nodo validador o cliente en la red Aleo.
- Aportar capacidad de prueba como nodo prover.
- Probar el comportamiento de Aleo con varios nodos en una devnet local.
- Estudiar el código de consenso y redes de una blockchain de conocimiento cero.
Inicio rápido
- 1
Instala Rust (consulta el enlace de instalación de Rust en el README).
- 2
Clona la rama mainnet del repositorio.
git clone --branch mainnet --single-branch https://github.com/ProvableHQ/snarkOS.git - 3
Instala snarkOS desde el directorio clonado.
cargo install --locked --path . - 4
Inicia un nodo cliente (después de instalarlo, puedes ejecutarlo desde cualquier directorio).
snarkos start --client --nodisplay --node 0.0.0.0:4130 --peers "core_client_ip_1:4130,core_client_ip_2:4130,core_client_ip3:4130,outer_client_ip_1:4130,..." --verbosity 1 --rest 0.0.0.0:3030
Antes de usarlo
- Las únicas plataformas cliente compatibles son Ubuntu, macOS y Windows; los validadores requieren Ubuntu 22.04.
- Para ejecutar un nodo se necesita hardware de muy altas prestaciones. Los clientes requieren, por ejemplo, 128 GiB o más de RAM y varios terabytes de almacenamiento.
- La función CUDA prover es experimental y puede sufrir cambios incompatibles.
Temas
Preguntas frecuentes
- ¿Qué es snarkOS?
- Sistema operativo descentralizado y software de nodos que ejecuta la red Aleo para aplicaciones de conocimiento cero. snarkOS es la implementación de nodos de la red Aleo, una blockchain para aplicaciones de conocimiento cero. Verifica transacciones y almacena el estado cifrado de las aplicaciones de forma públicamente verificable. El software funciona con tres roles de nodo: validadores, que participan en el consenso AleoBFT; clientes, que mantienen una copia del ledger y retransmiten transacciones y soluciones; y provers, que resuelven el puzle de Aleo sin mantener el ledger.
- ¿snarkOS es gratuito? ¿Qué licencia tiene?
- snarkOS es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿snarkOS sigue mantenido?
- Mantenimiento activo. El último commit de snarkOS fue el 6 nov 2026.
- ¿Para qué puedo usar snarkOS?
- Operar un nodo validador o cliente en la red Aleo. Aportar capacidad de prueba como nodo prover. Probar el comportamiento de Aleo con varios nodos en una devnet local. Estudiar el código de consenso y redes de una blockchain de conocimiento cero.
- ¿Cómo se instala snarkOS?
- Instala Rust (consulta el enlace de instalación de Rust en el README). Clona la rama mainnet del repositorio.: git clone --branch mainnet --single-branch https://github.com/ProvableHQ/snarkOS.git Instala snarkOS desde el directorio clonado.: cargo install --locked --path . Inicia un nodo cliente (después de instalarlo, puedes ejecutarlo desde cualquier directorio).: snarkos start --client --nodisplay --node 0.0.0.0:4130 --peers "core_client_ip_1:4130,core_client_ip_2:4130,core_client_ip3:4130,outer_client_ip_1:4130,..." --verbosity 1 --rest 0.0.0.0:3030
- ¿Dónde consigo snarkOS?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/aleo-labs-protocol/snarkOS
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Implementación en Rust del nodo de la blockchain Proof-of-Stake de Nimiq, basada en el algoritmo de consenso Albatross.
Framework de TypeScript para crear circuitos de conocimiento cero y zkApps, con generación y verificación de pruebas en navegadores, Node o para Mina Protocol.
Una implementación en Rust de pruebas y verificación Circle STARK sobre el cuerpo M31, con un verificador no_std y un backend de prover con SIMD.
Biblioteca de JavaScript y WebAssembly para generar y verificar pruebas zkSNARK con Groth16, PLONK y FFLONK, en circuitos de circom.
Una app de votación en Cardano que protege la privacidad: los votantes prueban que pertenecen al grupo mediante pruebas de conocimiento cero y sus votos son anónimos.