一个零知识虚拟机,可为用 Rust 或其他 LLVM 编译语言编写的程序生成正确执行的证明。
aleo-labs-protocol/snarkOS
Aleo 网络的去中心化节点软件,面向零知识应用的运行与共识。
- Star
- 4,530
- Fork
- 2,697
- 未关闭 Issue
- 131
- 最近提交
- 21小时前
这是什么?
snarkOS 是 Aleo 网络的节点实现,Aleo 是一条面向零知识应用的区块链。它负责验证交易,并以可公开验证的方式存储加密的应用状态。软件分为三种节点角色:参与 AleoBFT 共识的验证节点(validator)、保存账本并转发交易与解的客户端(client),以及只负责求解 Aleo puzzle、不维护账本的证明节点(prover)。
项目使用 Rust 编写,通过 cargo 从源码安装。它提供 snarkos 命令行工具,可用于启动节点、创建 Aleo 账户和签名验签;客户端默认在 3030 端口提供 REST 服务。验证节点支持遥测和 Prometheus 指标导出,仓库还附带脚本,可在单机上启动本地 devnet 进行多节点测试。
运行节点对硬件要求较高:验证节点建议 64 核以上、256 GiB 内存以及数 TB 的 NVMe 存储。项目还基于 RocksDB 检查点提供本地备份脚本,并说明了旧存储格式的迁移方法。
核心功能
- 01支持验证节点、客户端和证明节点三种角色,接入 Aleo 网络。
- 02提供 snarkos 命令行工具,用于启动节点和管理 Aleo 账户。
- 03客户端提供 REST 服务,验证节点提供遥测接口。
- 04附带本地 devnet 脚本,可在单机上运行多个节点。
- 05基于 RocksDB 检查点的本地备份,通过硬链接节省空间。
适用场景
- 在 Aleo 网络上运行验证节点或客户端节点。
- 以证明节点身份贡献求解算力。
- 在本地 devnet 上测试多节点 Aleo 网络行为。
- 研究零知识区块链的共识与网络实现。
快速上手
- 1
安装 Rust(参见 README 中的 Rust 安装链接)
- 2
克隆仓库的 mainnet 分支
git clone --branch mainnet --single-branch https://github.com/ProvableHQ/snarkOS.git - 3
在克隆的目录中安装 snarkOS
cargo install --locked --path . - 4
启动客户端节点(安装后可在任意目录运行)
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
使用前须知
- 客户端仅支持 Ubuntu、macOS 和 Windows,验证节点需要 Ubuntu 22.04。
- 运行节点需要非常高的硬件配置,例如客户端需要 128GiB 以上内存和数 TB 存储。
- CUDA 证明者功能处于实验阶段,可能发生破坏性变更。
标签
常见问题
- snarkOS 是什么?
- Aleo 网络的去中心化节点软件,面向零知识应用的运行与共识。 snarkOS 是 Aleo 网络的节点实现,Aleo 是一条面向零知识应用的区块链。它负责验证交易,并以可公开验证的方式存储加密的应用状态。软件分为三种节点角色:参与 AleoBFT 共识的验证节点(validator)、保存账本并转发交易与解的客户端(client),以及只负责求解 Aleo puzzle、不维护账本的证明节点(prover)。
- snarkOS 可以免费使用吗?用的什么许可证?
- snarkOS 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- snarkOS 还在维护吗?
- 活跃维护中。snarkOS 最近一次提交是在 2026年11月6日。
- snarkOS 适合用来做什么?
- 在 Aleo 网络上运行验证节点或客户端节点。 以证明节点身份贡献求解算力。 在本地 devnet 上测试多节点 Aleo 网络行为。 研究零知识区块链的共识与网络实现。
- snarkOS 怎么安装和运行?
- 安装 Rust(参见 README 中的 Rust 安装链接) 克隆仓库的 mainnet 分支: git clone --branch mainnet --single-branch https://github.com/ProvableHQ/snarkOS.git 在克隆的目录中安装 snarkOS: cargo install --locked --path . 启动客户端节点(安装后可在任意目录运行): 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
- 在哪里获取 snarkOS?
- 源代码和安装说明在 GitHub 上:https://github.com/aleo-labs-protocol/snarkOS
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
Nimiq 权益证明(PoS)区块链的 Rust 节点实现,基于 Albatross 共识算法。
用 TypeScript 编写零知识电路和 zkApp 的框架,可在浏览器或 Node 中生成与验证证明。
用 Rust 实现的 Circle STARK 证明生成与验证库,基于 M31 域,验证器支持 no_std。
基于 JavaScript 和 WebAssembly 的 zkSNARK 库,支持 Groth16、PLONK、FFLONK 证明生成与验证,配合 circom 电路使用。
基于 Cardano 链的隐私投票应用,投票人用零知识证明验证身份,投票内容匿名且结果上链不可篡改。