Rustやその他のLLVMコンパイル対象言語で書かれたプログラムの正しい実行を証明する、ゼロ知識仮想マシンです。
aleo-labs-protocol/snarkOS
ゼロ知識アプリケーション向けのAleoネットワークを稼働させる、分散型OSおよびノードソフトウェア。
- スター
- 4,530
- フォーク
- 2,697
- 未解決の Issue
- 131
- 最終コミット
- 昨日
これは何?
snarkOSは、ゼロ知識アプリケーション向けのブロックチェーンであるAleoネットワークのノード実装です。トランザクションを検証し、暗号化されたアプリケーションの状態を、誰でも検証できる形で保存します。ソフトウェアは3種類のノードとして稼働します。AleoBFTコンセンサスに参加するvalidator、台帳のコピーを保持してトランザクションと解答を中継するclient、台帳を保持せずにAleoパズルを解くproverです。
このプロジェクトはRustで書かれており、ソースからcargoでインストールします。ノードの起動、Aleoアカウントの作成と署名に使えるsnarkos CLIに加え、client向けにポート3030で動作するRESTサーバーを提供します。validatorはテレメトリとPrometheusメトリクスを公開でき、複数ノードを1台のマシンでテストするためのスクリプトを使って、ローカルdevnetを起動できます。
ノードの運用には高いハードウェア要件があります。validatorには、64コア以上、256 GiBのRAM、数テラバイトのNVMeストレージが必要とされています。リポジトリには、RocksDBのチェックポイントを使ったローカルバックアップツールと、旧ストレージ形式からの移行手順を説明するドキュメントも含まれています。
主な機能
- 01Aleoネットワーク向けに、validator、client、proverの各ノードを稼働させます。
- 02ノードの起動やAleoアカウントの管理に使えるsnarkos CLIを提供します。
- 03client向けのRESTサーバーと、validatorのテレメトリエンドポイントを公開します。
- 041台のマシンで複数ノードを実行するためのローカルdevnetスクリプトが含まれています。
- 05ハードリンクで容量を節約する、RocksDBベースのローカルバックアップ機能を提供します。
ユースケース
- Aleoネットワークでvalidatorまたはclientノードを運用する。
- proverノードとして証明生成能力を提供する。
- ローカル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以上のRAMと数テラバイトのストレージが必要です。
- CUDA prover機能は実験的なもので、互換性を損なう変更が加わる可能性があります。
トピック
よくある質問
- snarkOS とは?
- ゼロ知識アプリケーション向けのAleoネットワークを稼働させる、分散型OSおよびノードソフトウェア。 snarkOSは、ゼロ知識アプリケーション向けのブロックチェーンであるAleoネットワークのノード実装です。トランザクションを検証し、暗号化されたアプリケーションの状態を、誰でも検証できる形で保存します。ソフトウェアは3種類のノードとして稼働します。AleoBFTコンセンサスに参加するvalidator、台帳のコピーを保持してトランザクションと解答を中継するclient、台帳を保持せずにAleoパズルを解くproverです。
- snarkOS は無料で使えますか?ライセンスは?
- snarkOS は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- snarkOS は今もメンテナンスされていますか?
- 活発にメンテナンス中。snarkOS の最終コミットは 2026年11月6日 です。
- snarkOS は何に使えますか?
- Aleoネットワークでvalidatorまたはclientノードを運用する。 proverノードとして証明生成能力を提供する。 ローカル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
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Albatrossコンセンサスアルゴリズムに基づく、Nimiq Proof-of-StakeブロックチェーンノードのRust実装。
ブラウザやNode、Mina Protocol向けに、ゼロ知識回路とzkAppsを記述し、証明を生成・検証するためのTypeScriptフレームワーク。
M31体上のCircle STARKの証明・検証を行うRust実装。no_std検証器とSIMD証明バックエンドを備えています。
circom回路向けに、Groth16、PLONK、FFLONKのzkSNARK証明を生成・検証するJavaScriptおよびWebAssemblyライブラリ。
投票者がゼロ知識証明でメンバーシップを証明し、投票内容を匿名に保てる、Cardano上のプライバシー保護型オンチェーン投票アプリです。