
出典:Liandengコミュニティ
ZK-SnarksとZk-Starksとは何ですか?それらはすべてゼロ知識の証明ですが、それらの特性とそれらを互いに比較する方法は何ですか。
Zero Knowledge Proof(ZKP)は、一方の当事者(Proverb)が、ステートメント自体の有効性を超えた情報を明らかにすることなく、声明が真実であることを他方の当事者(動詞)に納得させることを許可する暗号化プロトコルです。ZKPは、ブロックチェーンエコシステムの革新的な技術であり、レイヤー2つのソリューションを介してブロックチェーンのスケーラビリティを可能にし、プライバシー保護アプリケーションを構築します。最も顕著な2つのZKPタイプは、Zk-SnarksとZK-Starksで、それぞれ異なる特性とユースケースがあります。
この記事では、ZK-SnarksとZK-Starks、それらの重要な特性、およびそれらの比較について説明します。
前提条件
ZKPSの理解:どのサーキット、制約、証人、検証官、およびプロバーがどのようなものかを知る必要があります。
ZK-SNARKとは(簡潔な非対話知識の議論)
ZK-Snarksは、非対話的なZKPシステムの広範なクラスであり、最初の証明が生成された後、プローバーとバリッタの間に前後の通信がないことを意味します。彼らは効率性で知られており、短い証明サイズと複雑さに関係なく同じままである速い検証時間を提供します。
ZK-Snarksの主要な機能
-
信頼できる設定:Snarksには、一般に構造化された参照文字列(SRS)として知られるパラメーターの初期セットが生成される信頼できるセットアップフェーズが必要です。このセットアップフェーズは、露出した場合、セットアップで作成されたすべての後続の証明のセキュリティを損なう秘密を使用します。このセットアップデータは、多くの場合、「毒性廃棄物」と呼ばれます。信頼できる設定は、潜在的な信頼の問題を導入するため、不利な点と見なされることがよくあります。ユーザーは、設定が正しく実行され、秘密が後で破壊されると信じる必要があります。
-
楕円曲線暗号化(ECC):多くのスナーク構造は、離散対数問題(DLP)の難しさに応じて、楕円曲線暗号化に依存しています。これにより、古典的なコンピューターに強力なセキュリティが提供されますが、DLPを効率的に解決できる将来の量子コンピューターに対して脆弱性が脆弱になる可能性があります。
人気のあるZK-SNARKプロトコル
-
GROTH16:Groth16は、最も広く使用されているスナークプロトコルの1つです。特定の回路の信頼できる設定が必要であり、非常に効率的で、非常に小さな証明と迅速な検証時間を生成します。コンパクトなプルーフサイズにより、Zcashなどのブロックチェーンプロジェクトで一般的に使用されています。
-
plonk(Lagranghiの普遍的な非対話知識の議論に基づくパフォーマンスの議論):Plonkは、より柔軟なスナークプロトコルです。一般的な更新可能なSRSは、任意の回路に使用できることを意味し、より大きな回路をサポートするように変更できます。Groth16とは異なり、Plonk設定は特定の回路に固有ではなく、複数の回路を再利用できます。これにより、信頼できる設定を繰り返す必要性が減り、セットアップ全体を再作成せずに新しいプログラムやサーキットを簡単に追加できます。
ZK-Snarksの特性
-
証明サイズ:小さい。これにより、帯域幅とストレージが限られているアプリケーションには、おしゃべりが適している。
-
質量セキュリティ:ECCへの依存により制限されています。十分に強力な量子コンピューターがDLPを解く可能性があるため、snarksは量子耐性ではありません。
-
信頼できる設定:これが必要です(ほとんどの嗅覚で)。セットアップフェーズは、適切に管理されていない場合、潜在的なセキュリティリスクをもたらす可能性があるという信頼の仮定を導入します。
-
スケーラビリティ:非常に動的な環境で信頼できる設定の必要性は制限になる可能性がありますが、コンパクトな証明と迅速な検証を必要とするアプリケーションには非常に効率的です。
ZK-Starkとは(拡張可能な透明な知識の議論)
ZK-Starksは、ZK-Snarksの欠点に対処することを目的とする別のタイプのZKPです。それらは、スケーラブルで「透明」になるように設計されています。つまり、信頼できるセットアップフェーズは必要ありません。代わりに、ZKスタークはハッシュ関数を使用し、既知のランダム性を公開して証明を構築し、それによりセキュリティとスケーラビリティを向上させます。
ZK-Starksの主要な機能
-
透明な設定:Starksは秘密のパラメーターに依存しません。代わりに、それらの証明は公共のランダム性を使用して生成されます。つまり、システムを破壊することができ、信頼できるセットアップを必要としない「有毒廃棄物」がありません。
-
ハッシュベースのセキュリティ:Starksは、楕円曲線暗号化ではなく、SHA-256などのハッシュ関数に依存しています。これにより、現在の暗号化の仮定の下では、ハッシュ機能が量子コンピューターの前で安全であると見なされるため、量子攻撃に耐性があります。
スタークの特徴
-
証明サイズ:スタークの証明は、スナークの証明よりも数倍大きく、検証時間が増加し、帯域幅やストレージが限られている環境では不利な点があります。これは、それらの透明性、多項式的コミットメントの使用、およびスケーラビリティを達成する方法によるものです。
-
質量セキュリティ:強力。Starksは楕円曲線暗号化の代わりにハッシュ関数を使用しているため、現在の暗号化の仮定では量子攻撃に対して脆弱ではありません。
-
信頼できる設定:不要。Starksは、透明な設定を使用して、セットアップフェーズでの信頼要件を排除し、セキュリティを強化します。
-
スケーラビリティ:特に大規模なコンピューティングの場合、非常にスケーラブルで、複雑さが増すと、より明白なパフォーマンスの利点が示されます。設定は、新しいアプリケーションまたはユースケースごとに再生成する必要がないため、信頼できる設定が必要ないため、より柔軟です。
ZK-SnarksとZk-Starksの比較
要約します
zk-snarksゼロ知識証明システムです。効率的な証明サイズと迅速な検証時間を提供しますが、信頼できる設定が必要であり、楕円曲線暗号化を使用して量子攻撃に対して脆弱にします。
ZK-Starks信頼できる設定は必要ありません。代わりに、彼らはセキュリティのためにハッシュ関数に依存し(それらを量子抵抗性にします)、大規模なコンピューティングによりスケーラブルです。ただし、それらのプルーフサイズは大きく、計算検証が小さい場合は遅くなります。
これらの2つの主要なZKPは、ブロックチェーンエコシステムにZKプロトコルを構築するために重要であり、レイヤー2つのソリューションを介してブロックチェーンのスケーラビリティを可能にし、プライバシー保護されたアプリケーションを構築します。