Repolode
iden3

iden3/snarkjs

circom回路向けに、Groth16、PLONK、FFLONKのzkSNARK証明を生成・検証するJavaScriptおよびWebAssemblyライブラリ。

スター
2,042
フォーク
489
未解決の Issue
135
最終コミット
先月

これは何?

snarkjsは、JavaScriptとWebAssemblyで実装されたゼロ知識証明ツールキットです。Groth16、PLONK、FFLONKの証明システムに対応し、circomコンパイラで生成したコンパイル済み回路を扱えます。

証明の生成と検証に加え、信頼セットアップのマルチパーティセレモニーに必要なツールも備えています。universal powers of tauファイルの作成やコントリビューション、回路固有のphase 2コントリビューションの実行、ランダムビーコンの適用、生成されたトランスクリプトの検証が可能です。Ptau形式は、ほかのセレモニー実装との互換性があるとされています。

Node.jsではCLIとAPIから、ブラウザではバンドル版から利用できます。ES moduleとして配布され、暗号処理のコアはWASMで動作し、並列計算にはworker threadsを使用します。

主な機能

  • 01Groth16、PLONK、FFLONKのzkSNARK証明を生成・検証します。
  • 02CLIとAPI経由でNode.jsから、またブラウザから利用できます。
  • 03powers of tauおよびphase 2の信頼セットアップセレモニー用ツールを提供します。
  • 04検証鍵とSolidityの検証コントラクトをエクスポートします。
  • 05circomのWASM出力からwitnessを計算し、R1CSファイルと照合します。

ユースケース

  • 入力を明かさずに命題を証明する、プライバシー保護アプリケーションの構築。
  • circom回路の信頼セットアップセレモニーの実施。
  • zk証明の検証器をEthereumスマートコントラクトとして公開。
  • クライアント側で検証するためのゼロ知識証明をWebページ上で生成。

クイックスタート

  1. 1

    Node.js(最近のLTS版、v18以降)をインストールします

  2. 2

    npmでsnarkjsをグローバルにインストールします

    npm install -g snarkjs@latest
  3. 3

    公式のインストールガイドに従ってcircomをインストールします

  4. 4

    snarkjsのコマンド一覧を表示します

    snarkjs --help

使う前に知っておきたいこと

  • GPL-3.0ライセンス(コピーレフト)で提供されているため、プロプライエタリなコードでの利用が制限される場合があります。
  • 別途circomコンパイラでコンパイルされた回路を使用するため、circomもインストールする必要があります。

トピック

よくある質問

snarkjs とは?
circom回路向けに、Groth16、PLONK、FFLONKのzkSNARK証明を生成・検証するJavaScriptおよびWebAssemblyライブラリ。 snarkjsは、JavaScriptとWebAssemblyで実装されたゼロ知識証明ツールキットです。Groth16、PLONK、FFLONKの証明システムに対応し、circomコンパイラで生成したコンパイル済み回路を扱えます。
snarkjs は無料で使えますか?ライセンスは?
snarkjs は GPL-3.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
snarkjs は今もメンテナンスされていますか?
半年以内に更新あり。snarkjs の最終コミットは 2026年10月1日 です。
snarkjs は何に使えますか?
入力を明かさずに命題を証明する、プライバシー保護アプリケーションの構築。 circom回路の信頼セットアップセレモニーの実施。 zk証明の検証器をEthereumスマートコントラクトとして公開。 クライアント側で検証するためのゼロ知識証明をWebページ上で生成。
snarkjs のインストール方法は?
Node.js(最近のLTS版、v18以降)をインストールします npmでsnarkjsをグローバルにインストールします: npm install -g snarkjs@latest 公式のインストールガイドに従ってcircomをインストールします snarkjsのコマンド一覧を表示します: snarkjs --help
snarkjs はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/iden3/snarkjs

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト

NaClからフォークした、暗号化・復号、デジタル署名、安全なパスワードハッシュに対応する、ポータブルで使いやすいC言語暗号ライブラリ。

セキュリティ#cryptography#encryption#digital-signatures
1.4万+14 今週1887COther活発にメンテナンス更新 7 日前