ZK-SNARKとは何ですか?
プライバシー証明とマイニングの説明
知識ゼロ · 簡潔な検証 · 証明者と検証者 · 信頼できる設定 · プライバシー · スケーリング
このページについて
1ZK-SNARKとは何ですか?
ZK-SNARK は、証明者がその秘密を明らかにすることなく、ステートメントが真実であり、必要な秘密情報を知っていることを検証者に納得させる暗号証明です。 フルネームは ゼロ知識の簡潔で非対話的な知識の議論。これは一連の証明構造であり、1 つの普遍的なアルゴリズムではありません。
ブロックチェーン トランザクションでは、公式声明は「この転送はプロトコル ルールに従っています。」となる可能性があります。個人の証人には、秘密鍵、メモ、残高、または実行追跡が含まれる可能性があります。有効な証拠があれば、データ自体を公開台帳に載せなくても、非表示データがルールを満たしていることを示すことができます。そのため、ZK-SNARK はプライベートな支払い、検証可能な計算、ID 要求、およびシステムのスケーリングに役立ちます。
検証者は、正確に定義された計算が正しく実行されたことを学習します。検証者は、その計算内で使用されるプライベート入力を自動的に学習しません。
2ZK-SNARK の各部分の意味
「Succinct」は、すべてのシステムで同じ校正サイズまたは検証時間を保証するものではありません。 Groth16、PLONK ファミリ システム、Marlin ファミリ システム、および Halo 2 では、異なる選択が行われます。正確なコストは、回路、曲線、コミットメントスキーム、実装、ハードウェア、およびセキュリティターゲットによって異なります。
3ZK-SNARKはどのように機能しますか?
数学は高度ですが、ワークフローは5段階で理解できます。
- ステートメントを定義します。 開発者はルールを演算回路または制約システムとして表現します。支払いの場合、ルールは所有権、価値の保存、および入力がまだ使用されていないことをチェックする場合があります。
- パブリック入力とプライベート入力を分離します。 パブリック入力は検証者に表示されます。プライベート証人には、回路を満たすために必要な秘密の値が含まれています。
- 証明パラメータを準備します。 証明システムに応じて、これには回路固有のパラメータ、普遍的な構造化された参照文字列、または秘密のランダム性に依存しない設定が含まれる場合があります。
- 証拠を生成します。 証明者は、有効な証人がすべての制約を満たすことを示すコンパクトな暗号オブジェクトを計算します。
- 証拠を検証してください。 ノードまたはスマート コントラクトは、パブリック入力と検証キーを使用して証明をチェックします。証人を知ることなく、受け入れるか拒否するかです。
これは、検証者が証明者を信頼することを意味するものではありません。暗号化と実装が適切であると仮定すると、不正な証明者は虚偽の陳述を通過させることができないはずなので、この証明は役に立ちます。
4完全性、健全性、知識ゼロ
| プロパティ | 実用的な意味 | 回避の失敗 |
|---|---|---|
| 完全性 | 有効な証人を持つ正直な証明者は、検証者が受け入れる証拠を作成できます。 | 有効なユーザーが証明システムによって拒否される |
| 健全性 | 計算的に制限された攻撃者は、無視できる確率を除いて虚偽の発言を証明することはできません。 | 偽造された証明または無効な状態遷移 |
| 知識の健全性 | 成功した証明者は有効な証人を持っているものとして扱われる | 必要な秘密データを知らずに検証に合格する |
| 知識ゼロ | 証拠は、公開された出力を超えて保護された証人を明らかにしません | 残高、アイデンティティ、または計算入力の漏洩 |
これらの保証は、回路によってエンコードされたステートメントに適用されます。回路がビジネス ルールを省略したり、間違った範囲を使用したり、安全でない条件を受け入れたりした場合、アプリケーションが間違ったままであっても、証明は暗号的に有効である可能性があります。したがって、回路設計、実装レビュー、パラメータ生成、ウォレットの動作、運用上のセキュリティはセキュリティ境界の一部となります。
5信頼できるセットアップとは何ですか?
一部の ZK-SNARK では、証明を開始する前に生成された構造化参照文字列が必要です。古い回路固有のシステムでは、参加者が「有毒廃棄物」と呼ばれることもある秘密のランダム性を破壊しようとする間、公開パラメータを生成する儀式が使用されていました。すべての貢献者が共謀した場合、またはプロセスが侵害された場合、特定のシステムが健全性を失う可能性があります。
マルチパーティの計算によりこのリスクが軽減されます。少なくとも 1 人の参加者が誠実に行動し、秘密の貢献を破棄した場合でも、式典の安全性は保たれます。新しいデザインでは、さまざまなセットアップ モデルが提供されています。ユニバーサル セットアップは多くの回路をサポートできますが、透過的またはトラストレス設計により、隠れたセットアップのランダム性が回避されます。これらの選択は、証明サイズ、証明者の速度、検証コスト、再帰、実装の複雑さに影響します。
Zcash の以前の Sprout および Sapling システムでは、マルチパーティ パラメータ セレモニーが使用されていました。 NU5 で導入された Orchard は Halo 2 を使用し、シールドされたプロトコルの信頼できるセットアップへの依存を排除しました。現代のすべての ZK-SNARK が 1 つの永続的な秘密儀式を必要としていると説明するのは不正確です。
6Zcash による ZK-SNARK とマイニングの使用方法
Zcash は、支払いプライバシーを目的とした ZK-SNARK の最もよく知られた製品例です。シールドされたトランザクションでは、コミットメントはプライベート ノートを表し、無効化子は同じノートが 2 回使用されることを防ぎ、トランザクションがプロトコル ルールに従っていることを証明します。トランザクションの種類と開示された表示情報に応じて、ノードが有効性を検証している間、アドレス、値、およびメモ データは保護されたままにすることができます。
ZK-SNARK は Zcash マイニング アルゴリズムではありません。 Zcash マイニングは Equihash の作業証明を使用します。マイナーはブロックを生成し、有効なトランザクションを注文し、チェーン履歴を保護するために競い合います。ノードは、シールドされたトランザクション内のゼロ知識証明を受け入れる前に検証します。証明層はトランザクションの正当性を確立します。コンセンサス層とマイニング層は、どの有効なトランザクションが正規チェーンの一部になるかを決定します。
この区別はハードウェアにとって重要です。 Equihash ASIC は、プルーフ・オブ・ワークのハッシュを高速化します。一般的な Halo 2 プルーフ ジェネレーターとしては機能しません。同様に、ウォレットプルーフを生成するデバイスは自動的に ZEC をマイニングしません。私たちの Zcash マイニング セキュリティ ガイド Orchard、ウォレット ソフトウェア、ノード、Equihash マイニングがどのように連携するかを説明します。
シールドされたトランザクションと選択的開示の背後にあるユーザー側の理由については、以下を参照してください。 2026 年の Zcash プライバシー価値.
7Aleo、ロールアップ、アイデンティティ、検証可能な計算
Aleo はプライベート プログラムの実行にゼロ知識証明を使用します。ユーザーは、適格な記録データを非公開にしながら、状態遷移が公開されたプログラムに従っていることの証明を作成できます。ネットワークは証明を検証し、コンセンサス システムを通じて公開の最終化ロジックを処理します。 ZK 証明は、正しい実行を示します。 AleoBFT はネットワーク契約を提供します。これらを同じ操作として扱うと、古い Zcash の説明で見られたマイニングとプルーフの混乱を繰り返すことになります。
より広範な アレオネットワークの展望 プロジェクトを 1 つの証明の頭字語に減らすことなく、プライバシー モデル、分散化、ネットワークへの参加をカバーしています。
ZK-SNARK は他のデザインもサポートしています。
- 有効性ロールアップ: 基本層コントラクトが新しい状態ルートを受け入れる前に、オフチェーン状態遷移のバッチが正しく実行されたことを証明します。
- プライベートアイデンティティ: 完全な資格情報を明らかにすることなく、年齢、メンバーシップ、管轄権、または資格情報の所有を証明すること。
- 準備金または負債の証明: コミットメントと会計範囲が完全であれば、開示を制限しながらコミットされたデータが関係を満たしていることを実証します。
- 検証可能な計算: すべての検証者が高価な作業を繰り返す必要がなく、ソフトウェアがコミットされた入力から出力を生成したことを証明します。
「ZK ロールアップ」は自動的には非公開になりません。多くの妥当性ロールアップは、再構築に十分なトランザクション データを公開し、主に正確性とスケーリングのために証明を使用します。プライバシーは、何が公開され、何が隠蔽され、回路が何を証明するかによって決まります。
8制限、コスト、セキュリティリスク
ZK-SNARK は検証を圧縮しますが、証明の生成には計算とメモリが大量に消費される可能性があります。開発者は、プログラムを制約に変換し、証明キーと検証キーを管理し、曲線とコミットメント スキームを選択し、回路を最適化する必要があります。複雑なアプリケーションには、専用のハードウェアまたは分散型検証インフラストラクチャが必要になる場合があります。
- 回路のバグ: 制約が欠落していると、無効な証人が実装されたステートメントを満たすことが可能になる可能性があります。
- 実装上のバグ: シリアル化、ランダム性、ウォレット、ベリファイア、またはライブラリのエラーは、健全な数学を損なう可能性があります。
- セットアップの前提条件: SRS を使用するシステムは、セキュリティ モデルとパラメータ生成の実行に依存します。
- メタデータの漏洩: ネットワークタイミング、IPデータ、ウォレットの動作、公開入力、交換記録などにより、証拠外の情報が明らかになる可能性があります。
- アップグレードのリスク: 回路や証明システムを変更するには、慎重な互換性、監査、移行計画が必要です。
ZK-SNARKは、指定された証人データを隠しながら供述を証明します。データベースを自動的に暗号化したり、IP アドレスを隠したり、エンドポイントを保護したり、すべてのトランザクションを匿名にしたりすることはありません。周囲のプロトコルは、コミットメント、キー、開示、状態、およびネットワークの動作を正しく定義する必要があります。
9ZK-SNARK、STARK、および一般的な ZK プルーフ
| 期間 | 説明する内容 | 一般的な強度 | 重要な資格 |
|---|---|---|---|
| ゼロ知識証明 | 保護された証人情報を明らかにすることなく供述を証明する幅広いプロトコル群 | 一般的なプライバシーの概念 | インタラクティブであっても非インタラクティブであっても、簡潔であってもそうでなくても構いません |
| ZK-スナーク | 簡潔で非対話的な知識の議論 | 小規模な証明と効率的な検証 | セットアップ、プルーフサイズ、パフォーマンスは構造によって異なります |
| ZK-スターク | ハッシュベースの技術を使用した透過的なスケーラブルな引数 | 信頼できるセットアップがなく、量子後の仮定が異なる | 多くの場合、プルーフは SNARK プルーフよりも大きくなります |
| 有効性の証明 | 状態遷移またはバッチが正しく計算されたことの証明 | スケーリングと効率的な検証 | 実際にはトランザクションデータを隠蔽できない可能性があります |
適切な証明システムはアプリケーションによって異なります。支払いプロトコルでは、プライバシーとモバイル証明を優先する場合があります。ロールアップでは、スループットとオンチェーン検証コストが優先される場合があります。存続期間の長いプロトコルでは、透過的なセットアップや再帰を重視する場合があります。 「ZK の使用」は分析の開始点であり、完全な技術的な説明ではありません。
10ZK-SNARK よくある質問
ZK-SNARKとは何の略ですか?
これは、Zero-Knowledge Succinct Non-Interactive Argument of Knowledge (知識の簡潔な非対話型議論) の略です。
ZK-SNARK は暗号通貨マイニング アルゴリズムですか?
いいえ、ZK-SNARK はステートメントまたは計算が有効であることを証明します。 Zcash は、マイニングとコンセンサス セキュリティのために Equihash の作業証明を個別に使用します。
すべての ZK-SNARK には信頼できるセットアップが必要ですか?
いいえ、セットアップ要件が異なります。回路固有のセレモニーを使用するものもあれば、汎用パラメーターを使用するものもあります。また、Halo 2 などのシステムは信頼できるセットアップを回避できます。
ZK-SNARKはブロックチェーンを完全に匿名化しますか?
それ自体ではありません。プライバシーは、プロトコル、パブリック入力、ウォレットの動作、ネットワーク メタデータ、開示の選択、およびプライバシー セットのサイズによって異なります。
ZK-SNARK がスケーリングに役立つのはなぜですか?
検証者は、すべてのステップを繰り返す代わりに、大規模な計算のコンパクトな証明をチェックできます。ロールアップはこのプロパティを使用して、状態遷移のバッチを効率的に検証します。
11参考文献
これらの一次および公式の技術ソースは、含める前にレビューされました。外部リンクは新しいタブで開き、nofollow としてマークされます。
- Zerocash: ビットコインによる分散型匿名支払いZerocash の構築とプライベート決済の簡潔なゼロ知識証明について説明した IACR のオリジナル論文。
- Zcash: zk-SNARK とは何ですか?頭字語、証明者検証者モデル、公開パラメーター、Halo 2 の移行に関する公式の説明。
- Zcash ドキュメントの用語集zk-SNARK シールドプルーフと Equihash プルーフオブワークマイニングの正式な区別。
- Aleo 開発者ドキュメント: zkSNARK の概要Aleo の証明者、検証者、証人、セットアップ モデル、プライベート状態遷移の公式概要。
- Ethereum 開発者ドキュメント: ZK ロールアップ有効性証明、バッチトランザクション、ステートルート、ロールアップ検証の公式説明。
最終説明
ZK-SNARK を使用すると、検証者は保護された証人に会うことなく知識や正しい計算をチェックできます。 その価値は、プライバシーとコンパクトで効率的な検証を組み合わせることで生まれます。
これらは、コンセンサス、マイニング、暗号化、監査、または安全なソフトウェアに代わるものではありません。 Zcash では、Equihash マイナーがブロックを確保して順序付けする一方で、プルーフはシールドされたトランザクション ルールを検証します。 Aleo とロールアップでは、プルーフはさまざまな実行とスケーリングの役割を果たします。何が証明されているのか、何が公開のままなのか、どの設定仮定が適用されるのか、そして誰がコンセンサスを実行するのかを常に尋ねてください。








コメントを残す
このサイトはhCaptchaによって保護されており、hCaptchaプライバシーポリシーおよび利用規約が適用されます。