M31体上のCircle STARKの証明・検証を行うRust実装。no_std検証器とSIMD証明バックエンドを備えています。
succinctlabs/sp1
Rustやその他のLLVMコンパイル対象言語で書かれたプログラムの正しい実行を証明する、ゼロ知識仮想マシンです。
- スター
- 1,768
- フォーク
- 722
- 未解決の Issue
- 156
- 最終コミット
- 昨日
これは何?
SP1は、RISC-Vアーキテクチャ向けにコンパイルされたプログラムの実行を証明するゼロ知識仮想マシン(zkVM)です。開発者は通常のRustコードを書いてSP1内で実行するだけで、計算が正しく行われたことを示す証明を得られます。この証明は、プログラムを再実行せずに誰でも検証できます。
このプロジェクトは、専門的な暗号知識がなくてもゼロ知識証明を利用できるようにすることを目指しています。プログラムではstdを使った標準的なRustコードを利用でき、READMEによると、ほとんどのRustクレートは変更せずに動作します。ZK TendermintライトクライアントやRethを基盤とするtype-1 zkEVMなど、大規模なワークロードも対応例として挙げられています。
SP1はRustツールチェーン、インストールスクリプト、Plonky3ツールキットを基盤とするproverを提供します。また、一般的な暗号処理向けのprecompileに対応しており、CPUと並ぶ追加テーブルとして組み込めます。Veridise、Cantina、Zellic、KALOSによる監査を受けており、Rust 1.91.1以降が必要です。
主な機能
- 01任意のRustプログラムや、LLVMでコンパイルされるその他の言語のプログラムの実行を証明します。
- 02Rustのstdと、特別な変更を加えていないほとんどのRustクレートに対応します。
- 03よく使われる暗号処理向けの拡張可能なprecompileを利用できます。
- 04元の実行を再現せずに独立して検証できる証明を生成します。
- 05Rustツールチェーン、インストールスクリプト、サンプルプログラムを提供します。
ユースケース
- Tendermintなどのブロックチェーン向けゼロ知識ライトクライアントの構築。
- Ethereumのブロック実行を証明するzkEVMコンポーネントの開発。
- 通常のRustコードで検証可能なオフチェーン計算を記述。
クイックスタート
- 1
公式の rust-lang.org ページから Rust をインストールする
- 2
SP1 の書籍にあるインストールガイドに従う
- 3
SP1 の書籍の「はじめに」セクションを読む
使う前に知っておきたいこと
- Rust 1.91.1 以降(MSRV)が必要です。
トピック
よくある質問
- sp1 とは?
- Rustやその他のLLVMコンパイル対象言語で書かれたプログラムの正しい実行を証明する、ゼロ知識仮想マシンです。 SP1は、RISC-Vアーキテクチャ向けにコンパイルされたプログラムの実行を証明するゼロ知識仮想マシン(zkVM)です。開発者は通常のRustコードを書いてSP1内で実行するだけで、計算が正しく行われたことを示す証明を得られます。この証明は、プログラムを再実行せずに誰でも検証できます。
- sp1 は無料で使えますか?ライセンスは?
- sp1 は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- sp1 は今もメンテナンスされていますか?
- 活発にメンテナンス中。sp1 の最終コミットは 2026年11月5日 です。
- sp1 は何に使えますか?
- Tendermintなどのブロックチェーン向けゼロ知識ライトクライアントの構築。 Ethereumのブロック実行を証明するzkEVMコンポーネントの開発。 通常のRustコードで検証可能なオフチェーン計算を記述。
- sp1 のインストール方法は?
- 公式の rust-lang.org ページから Rust をインストールする SP1 の書籍にあるインストールガイドに従う SP1 の書籍の「はじめに」セクションを読む
- sp1 はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/succinctlabs/sp1
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
ゼロ知識アプリケーション向けのAleoネットワークを稼働させる、分散型OSおよびノードソフトウェア。
Leanで記述された形式検証済みのEthereumプリミティブを提供する、Leanプロジェクト向けの仕様と証明の共通ライブラリです。
ブラウザやNode、Mina Protocol向けに、ゼロ知識回路とzkAppsを記述し、証明を生成・検証するためのTypeScriptフレームワーク。
circom回路向けに、Groth16、PLONK、FFLONKのzkSNARK証明を生成・検証するJavaScriptおよびWebAssemblyライブラリ。
投票者がゼロ知識証明でメンバーシップを証明し、投票内容を匿名に保てる、Cardano上のプライバシー保護型オンチェーン投票アプリです。