FHEとZK証明の違いとは? プライバシー技術の相違点を解説
完全準同型暗号(FHE)とゼロ知識(ZK)証明は、プライバシーと計算に対してそれぞれ異なる解決策を提供する。FHEは、処理中もデータを暗号化したまま、アプリケーションが暗号化データ上で直接計算することを可能にする。一方、ZK証明は、基となる秘密の入力を開示せずに、計算や命題が正当であることを検証する。FHEが計算中のデータを保護するのに対し、ZK証明は検証可能な正当性に焦点を当てる。ブロックチェーンシステムの中には、機密計算の異なる部分に対応するため両技術を組み合わせるものもあるが、それぞれに固有のパフォーマンスコストと実装上のトレードオフがある。
完全準同型暗号(FHE)を使えば、アプリケーションはデータを先に復号することなく、暗号化されたデータ上で計算を実行できる。結果も暗号化されたままなので、機密データを計算の間ずっと非公開に保つ必要がある場合にFHEは有用だ。
ゼロ知識(ZK)証明は目的が異なる。ある当事者が、基となる秘密データを明かさずに、命題や計算が正しいことを証明できる仕組みだ。ZK証明は、プライバシーを保った資格情報、ロールアップの検証、支払能力の証明など、計算全体を暗号化したまま保つことよりも検証を重視する場面でよく用いられる。
両者の決定的な違いは、FHEが処理中のデータを保護するのに対し、ZK証明は秘密の入力を開示せずに結果を検証する点にある。プライバシー重視のブロックチェーンシステムの中には、同一問題の異なる部分を解くものとして両技術を組み合わせるものもある。
完全準同型暗号(FHE)とは何か
完全準同型暗号(FHE)は、暗号化されたデータ上で直接計算を実行できる暗号方式だ。データは処理中も暗号化されたままで、最終結果は後から復号すると、元の平文から得られるはずだったものと同じ出力になる。
ブロックチェーンアプリケーションでは、FHEは検証者や他の参加者に値そのものを開示することなく、暗号化された残高、秘密投票、機密のアプリケーション状態を支え得る。システムには、鍵管理、復号権限、最終結果へのアクセスに関する明確なルールが依然として必要だ。
ゼロ知識(ZK)証明とは何か
ゼロ知識(ZK)証明を使えば、ある当事者が、証明の生成に用いた秘密情報を明かさずに、命題や計算が正当であることを証明できる。証明者が証明を生成し、検証者が事前に定められたルールに照らしてそれを確認する。
ZK証明は、プライバシーを保った本人確認、取引の検証、ロールアップの妥当性、準備金や支払能力の証明に利用できる。プライバシーはアプリケーションの設計次第で、入力や出力、取引の詳細の一部が公開されたままとなる場合もある。
FHEとZK証明の主な違いは何か
FHEとZKは機密計算の異なる部分を担う。両者を代替関係と見なすと、プライバシーか正当性のどちらかが満たされないままになりかねない。
| 観点 | 完全準同型暗号(FHE) | ゼロ知識(ZK)証明 |
| 主な目的 | 常に暗号化されたままのデータ上で直接計算する | 証人を開示せずに命題が正当であることを証明する |
| 出力 | 正規の復号経路を必要とする暗号化された結果を生成する | コンパクトな証明と選択された公開出力を生成する |
| 計算モデル | 評価者は、対応する暗号化演算の下で暗号文を変換する | 証明者は、計算を回路や仮想マシンに変換する |
| 検証 | 正しく復号すると、計算された平文結果が明らかになる | 検証者は、計算全体を再実行せずに証明を確認する |
| パフォーマンスコスト | 暗号文演算とブートストラッピングが大きな実行オーバーヘッドを生む | 証明生成は重いが、検証はコンパクトに保てる |
| 鍵への依存 | 復号鍵のガバナンスがシステム設計上の重要な選択となる | 信頼できるセットアップや証明の前提は、選択した方式に依存する |
FHEとZK証明はどのように動作が異なるのか
- FHE:計算が行われる間もデータは暗号化されたままだ。アプリケーションは、値そのものを開示することなく、暗号化された残高、投票、その他のプライベートな状態を更新できる。システムには、復号鍵、認可されたアクセス、鍵の紛失や漏えい時の復旧に関するルールが依然として必要だ。
- ZK証明:証明者は、秘密の入力が一連のルールを満たすことを、その入力を明かさずに示す。検証者は、計算全体を繰り返す代わりに、得られた証明を確認する。証明が確認するのはシステムに組み込まれたルールのみであるため、回路のロジックが誤っていれば、誤った条件に対して正当な証明が生成される可能性がある。
代表的なFHEプロジェクトとZKプロジェクトは?
代表的なFHEプロジェクト
1. Zama:機密スマートコントラクトと暗号化されたオンチェーンアプリケーション向けのFHEツールとブロックチェーン基盤を開発している。
2. Fhenix:FHEを用いて暗号化されたスマートコントラクト実行を支えるブロックチェーン基盤を構築している。
3. Inco:FHEベースの暗号化状態を用いた、ブロックチェーンアプリケーション向けの機密コンピューティングに注力している。
代表的なZKプロジェクト
1. zkSync:ゼロ知識証明を用いてオフチェーン取引のバッチを検証し、イーサリアムをスケールさせる。
2. Starknet:STARK証明を用いて計算を検証し、イーサリアム上のスマートコントラクト実行をスケールさせる。
3. Aztec:ゼロ知識証明技術を用いたプライバシー保護型のブロックチェーンアプリケーションに注力している。
FHEとZK証明にはどのようなリスクやトレードオフがあるか
- FHEのリスク:暗号化された計算は通常の計算よりはるかにリソースを消費する。大きな暗号文、処理速度の低下、鍵管理、復号権限は、コストと複雑さを増大させ得る。
- ZKのリスク:証明生成には専用の回路とソフトウェアが必要だ。回路、コンパイラ、検証コントラクト、セットアップ手順のバグはプライバシーや正当性に影響し得るほか、公開メタデータが情報を明かす可能性もある。
両技術は、暗号技術そのものよりも、正しい実装とアプリケーション設計に大きく依存している。
ブロックチェーンアプリケーションにはどのプライバシー技術が適しているか
- FHE:機密残高、プライベートオークション、暗号化された投票など、プライベートデータを継続的に処理する必要があるアプリケーションにより適している。
- ZK証明:本人確認、ロールアップの検証、支払能力の証明、プライベートな適格性確認など、基となる情報を明かさずに条件や計算が正当であることを証明する用途により適している。
- 併用:FHEとZK証明を組み合わせるシステムもあり、計算中はデータを暗号化したままにしつつ、証明によって入力と処理が所定のルールに従っていることを検証できる。
関連概念
1. ZKロールアップとは?
2. 秘密鍵とは?
関連記事
1. Succinct(PROVE)分散型ZKPネットワークとは?BingXでの取引方法
2. イーサリアム上のAZTECプライバシーLayer 2 zkRollupとは?購入方法
よくある質問
FHEはゼロ知識証明の一種ですか?
いいえ。FHEは暗号化されたデータ上での計算を可能にするのに対し、ZK証明は証人を明かさずに命題が真であることを示す。両者は互いを補完し得るが、出力、パフォーマンスコスト、鍵の前提、セキュリティ目標は異なる。一方が自動的にもう一方を提供するものではない。
ZK証明は常にブロックチェーン取引をプライベートにするのですか?
FHEで処理されたデータを復号できるのは誰ですか?
FHEが通常の計算より遅いのはなぜですか?
アカウントをお持ちでないですか?
今すぐアカウントを開設して、暗号資産の取引を始めよう