ゼロ知識証明の説明

初級編12/3/2023, 6:41:00 PM
本稿では、ゼロ知識証明の基本原理、その広範な応用、Zk-Proofsの具体的な実装について、わかりやすくわかりやすく解説します。

1.ゼロ知識証明とは?

ゼロ知識証明(ZK)は、ある人(証明者)が、主張自体の詳細を開示することなく、特定の主張が真実であることを別の人(検証者)に納得させることを可能にする暗号プロトコルです。

研究者のシャフィ・ゴールドワッサー、シルビオ・ミカリ、チャールズ・ラコフは、1980年代初頭に初めてこのアイデアを発表しました。 ZKプルーフの主な目的は、クレームの信憑性以外の 情報を開示することなく 、クレームが真実であることを検証者に納得させることです。

優れたゼロ知識証明は、次の3つの基準を満たす必要があります。

  1. 完全性:命題が真であり、証明者と検証者の両方がプロトコルに準拠している場合、検証者は高い確率で証明を受け入れます。
  2. 健全性:主張が真実でない場合、証明者は、非常にまれな状況を除いて、反対の検証者を説得することはできないはずです。
  3. ゼロ知識:証明者と関わった後でも、検証者は陳述の真実性のみを理解し、秘密については何も理解しません。

ZKプルーフにはさまざまな種類があります。

インタラクティブなZKプルーフ

インタラクティブなゼロ知識証明には、証明者と検証者の間のやり取りが必要です。

非対話型 ZK プルーフ

非対話型のゼロ知識証明は、1つのステップで検証できるコンパクトな証明を提供します。

統計的ZKプルーフ

統計的ゼロ知識証明は、エラーの確率が小さい計算の健全性を提供します。

プルーフ・オブ・ナレッジ(PoK)

PoKはZKプルーフのサブクラスであり、証明者がステートメントに関連する特定の知識を持っていることを示します。

シャッフルとレンジの証明

これらのZKプルーフは、電子投票やプライバシー保護取引に使用されます。

シグマプロトコル

シグマプロトコルは、コミットメント、チャレンジ、レスポンスの3つのステップを含むZKプルーフのクラスです。

防弾

防弾仕様は、大量の値に対して効率的な範囲証明を提供するように設計されています。

2.ゼロ知識証明の仕組みは?

ZKプルーフは、証明者が主張自体に関する情報を開示することなく、陳述の信憑性を検証者に納得させることを可能にします。 証明者と検証者は、プロトコルの複数のラウンドで相互作用し、結論として、検証者は、 秘密に関する追加情報を学ぶことなく、主張の信憑性に自信を持ちます。

「グラフの色付け問題」としても知られる「3色問題」を、ZKプルーフがどのように機能するかの例として使用してみましょう。

問題を

複数の領域(頂点)が線(エッジ)で結ばれた地図があり、これが問題であるとします。 目標は、3 つの色のうちの 1 つを使用して各領域に色を付け、隣接する 2 つのパーツが同じ色にならないようにすることです。 各領域に与えられた実際の色相を露出せずに、正しい色付けを知っていることを誰かに納得させることができますか?

ZKプルーフプロトコルを使用したソリューション

設定

証明者と検証者は、グラフ(マップ)の領域とリンクについて合意します。

陳述

証明者は、提供されたグラフに対して信頼できる 3 色があることをアサートします。

ラウンド1:コミットメント

証明者は、秘密裏に場所ごとにランダムに色を選び、公開しません。 代わりに、証明者は検証者に各リージョンに対して 1 つの暗号化された promise を提供します。 検証者は、コミットメントが箱のようにロックされているため、コミットメントの中に何色があるかを確認できません。

ラウンド2:チャレンジ

検証者は、ランダムな領域を選択し、証明者にその特定のゾーンのコミットメントを開くように要求します。 証明者は、その分野のコミットメントの色相を開示する必要があります。

ラウンド 3: 応答

色にコミットした後、証明者は、明らかにされた色が正確であることを証明しなければなりません。 これには、隣接するセクション間の色の違いを表示する必要があります。 検証者は応答を調べて、証明者がルールに正しく従ったことを確認します。

反復

ラウンド 2 と 3 は、ランダムに選択されたさまざまな領域を使用して何度も繰り返されます。 この手順は、証明者の主張の信憑性に対する高度な信頼を確立するために、必要な回数だけ繰り返されます。

結論

検証者は、証明者が各ラウンドに対して定期的に有効な応答を生成する場合、実際に使用される色を知らなくても、証明者が実際に有効な 3 色を持っていると確信します。

検証器は、さまざまな領域に対して手順を繰り返すことにより、グラフの有効な 3 色を認識する証明者の能力を徐々に高めます。 ただし、検証者は手順中に各領域に割り当てられた実際の色を検出しないため、ゼロ知識プロパティが維持されます。

上の図は、ZKプルーフを使用して、ソリューションのIDを秘密にしながらソリューションが存在することを誰かに納得させる方法を示しており、さまざまなアプリケーションでプライバシーとセキュリティを強化するための強力なツールを提供します。

3.ゼロ知識証明の応用とは?

ZKプルーフは、さまざまな分野で多くの用途があり、重要なプライバシーとセキュリティの問題に対処する便利なツールです。

ZKプルーフは、 暗号通貨 の世界では、トランザクションのプライバシーとスケーラビリティを向上させるために重要です。 Zcash(ZEC)などのプライバシー重視の暗号通貨のように、取引の詳細やユーザーの身元を開示することなく、匿名の取引を可能にします。

ZKプルーフは、認証およびアクセス制御のフィールドで使用して、パスワードまたはキー自体を明らかにすることなく、パスワードまたは暗号化キーの理解を示すことができます。 これにより、よりユーザーフレンドリーで安全な認証技術が実現します。

ZKプルーフは電子投票システムでも使用され、有権者は実際の投票を開示することなく投票の正当性を証明でき、有権者のプライバシーと選挙プロセスの完全性の両方を保護します。

ZKプルーフは、安全なデータ転送と検証にも影響し、一方の側は、データ自体を開示することなく、プライベートデータの計算の正確性を実証することができます。

ゼロ知識証明は、 プライベートな取引を容易に し、ユーザーの匿名性を維持することで、 中央銀行デジタル通貨(CBDC) の取引プライバシーを向上させることができます。CBDC取引におけるプライバシーと透明性のバランスをとることで、ZKプルーフは取引の詳細を開示することなく監査可能性を実現します。

4.ZKプルーフはブロックチェーンプラットフォームに統合できますか?

はい、ZKプルーフはブロックチェーンプラットフォームに統合することができ、実際、さまざまな ブロックチェーンネットワークで正常に実装されています。 ZKプルーフは、ブロックチェーンシステムの効率、セキュリティ、プライバシーを高めるための強力な技術を提供します。

ブロックチェーンプラットフォームに統合すると、ZKプルーフは複数の目的を果たすことができます。

プライバシーと守秘義務

ZKプルーフはプライベートな取引を可能にし、ユーザーは取引金額や送信者と受信者のアドレスなどの基礎となる情報を開示することなく取引を行うことができます。 オープンブロックチェーンにおけるユーザーのプライバシーの向上は、これにかかっています。

検証と監査

実際のデータや情報を開示することなく、ZKプルーフを使用して、特定の計算またはステートメントの精度をチェックできます。 これにより、データの整合性が保証され、効果的な監査手順が可能になります。

拡張性

ZKプルーフは、複雑な計算のための簡潔な証明を提供することで、プラットフォームのスケーラビリティを高めることができ、ブロックチェーンの計算とストレージのオーバーヘッドを最小限に抑えることができます。

ID と認証

ユーザーのプライバシーを保護しながら、安全な本人確認と認証にZKプルーフを使用することで、ブロックチェーンベースのアプリケーションはより安全になります。

クロスチェーンの相互運用性

ZKプルーフは、 さまざまなブロックチェーンネットワーク間の相互運用性を促進することでプライバシーを保護しながら、クロスチェーン通信と資産転送に役立ちます。

5.ゼロ知識証明のデメリットは?

ZKプルーフはプライバシーとセキュリティ上の利点を提供しますが、計算量が多く、実装が複雑になる可能性があります。

ZKプルーフの開発と検証は、特により複雑なプルーフの場合、リソースと計算を大量に消費する可能性があります。 これにより、トランザクションの処理時間が長くなり、計算作業が増え、ブロックチェーンシステムの拡張が難しくなる可能性があります。

さらに、ZKプルーフは、プロトコルの監査と検証をより困難にする複雑さの層を追加し、潜在的なセキュリティ上の欠陥やバグに対する懸念を引き起こす可能性があります。 さらに、ZKプルーフは情報を隠すことでプライバシーを向上させる一方で、状況によっては違法行為を助長し、規制遵守を困難にする可能性があります。

また、ZKプルーフは、適切に実装するために特定のトレーニングと経験を必要とするため、すべてのユースケースやセクターに適しているとは限りません。 これにより、多くの分野で広く使用され、採用されない可能性があります。

ZKプルーフは有用なプライバシーおよびセキュリティ機能を提供しますが、その欠点は、特定のシステムまたはアプリケーションに採用する前に、関連するトレードオフの慎重な調査と評価を必要とします。

免責事項:

  1. この記事は[コインテレグラフ]からの転載です。 すべての著作権は原著作者「SHIRAZ JAGATI」に帰属します。 この転載に異議がある場合は、Gate Learnチームに連絡していただければ、迅速に対応いたします。
  2. 免責事項:この記事で表明された見解や意見は、著者のものであり、投資アドバイスを構成するものではありません。
  3. 記事の他言語への翻訳は、Gate Learnチームによって行われます。 特に明記されていない限り、翻訳された記事を複製、配布、盗用することは禁止されています。

ゼロ知識証明の説明

初級編12/3/2023, 6:41:00 PM
本稿では、ゼロ知識証明の基本原理、その広範な応用、Zk-Proofsの具体的な実装について、わかりやすくわかりやすく解説します。

1.ゼロ知識証明とは?

ゼロ知識証明(ZK)は、ある人(証明者)が、主張自体の詳細を開示することなく、特定の主張が真実であることを別の人(検証者)に納得させることを可能にする暗号プロトコルです。

研究者のシャフィ・ゴールドワッサー、シルビオ・ミカリ、チャールズ・ラコフは、1980年代初頭に初めてこのアイデアを発表しました。 ZKプルーフの主な目的は、クレームの信憑性以外の 情報を開示することなく 、クレームが真実であることを検証者に納得させることです。

優れたゼロ知識証明は、次の3つの基準を満たす必要があります。

  1. 完全性:命題が真であり、証明者と検証者の両方がプロトコルに準拠している場合、検証者は高い確率で証明を受け入れます。
  2. 健全性:主張が真実でない場合、証明者は、非常にまれな状況を除いて、反対の検証者を説得することはできないはずです。
  3. ゼロ知識:証明者と関わった後でも、検証者は陳述の真実性のみを理解し、秘密については何も理解しません。

ZKプルーフにはさまざまな種類があります。

インタラクティブなZKプルーフ

インタラクティブなゼロ知識証明には、証明者と検証者の間のやり取りが必要です。

非対話型 ZK プルーフ

非対話型のゼロ知識証明は、1つのステップで検証できるコンパクトな証明を提供します。

統計的ZKプルーフ

統計的ゼロ知識証明は、エラーの確率が小さい計算の健全性を提供します。

プルーフ・オブ・ナレッジ(PoK)

PoKはZKプルーフのサブクラスであり、証明者がステートメントに関連する特定の知識を持っていることを示します。

シャッフルとレンジの証明

これらのZKプルーフは、電子投票やプライバシー保護取引に使用されます。

シグマプロトコル

シグマプロトコルは、コミットメント、チャレンジ、レスポンスの3つのステップを含むZKプルーフのクラスです。

防弾

防弾仕様は、大量の値に対して効率的な範囲証明を提供するように設計されています。

2.ゼロ知識証明の仕組みは?

ZKプルーフは、証明者が主張自体に関する情報を開示することなく、陳述の信憑性を検証者に納得させることを可能にします。 証明者と検証者は、プロトコルの複数のラウンドで相互作用し、結論として、検証者は、 秘密に関する追加情報を学ぶことなく、主張の信憑性に自信を持ちます。

「グラフの色付け問題」としても知られる「3色問題」を、ZKプルーフがどのように機能するかの例として使用してみましょう。

問題を

複数の領域(頂点)が線(エッジ)で結ばれた地図があり、これが問題であるとします。 目標は、3 つの色のうちの 1 つを使用して各領域に色を付け、隣接する 2 つのパーツが同じ色にならないようにすることです。 各領域に与えられた実際の色相を露出せずに、正しい色付けを知っていることを誰かに納得させることができますか?

ZKプルーフプロトコルを使用したソリューション

設定

証明者と検証者は、グラフ(マップ)の領域とリンクについて合意します。

陳述

証明者は、提供されたグラフに対して信頼できる 3 色があることをアサートします。

ラウンド1:コミットメント

証明者は、秘密裏に場所ごとにランダムに色を選び、公開しません。 代わりに、証明者は検証者に各リージョンに対して 1 つの暗号化された promise を提供します。 検証者は、コミットメントが箱のようにロックされているため、コミットメントの中に何色があるかを確認できません。

ラウンド2:チャレンジ

検証者は、ランダムな領域を選択し、証明者にその特定のゾーンのコミットメントを開くように要求します。 証明者は、その分野のコミットメントの色相を開示する必要があります。

ラウンド 3: 応答

色にコミットした後、証明者は、明らかにされた色が正確であることを証明しなければなりません。 これには、隣接するセクション間の色の違いを表示する必要があります。 検証者は応答を調べて、証明者がルールに正しく従ったことを確認します。

反復

ラウンド 2 と 3 は、ランダムに選択されたさまざまな領域を使用して何度も繰り返されます。 この手順は、証明者の主張の信憑性に対する高度な信頼を確立するために、必要な回数だけ繰り返されます。

結論

検証者は、証明者が各ラウンドに対して定期的に有効な応答を生成する場合、実際に使用される色を知らなくても、証明者が実際に有効な 3 色を持っていると確信します。

検証器は、さまざまな領域に対して手順を繰り返すことにより、グラフの有効な 3 色を認識する証明者の能力を徐々に高めます。 ただし、検証者は手順中に各領域に割り当てられた実際の色を検出しないため、ゼロ知識プロパティが維持されます。

上の図は、ZKプルーフを使用して、ソリューションのIDを秘密にしながらソリューションが存在することを誰かに納得させる方法を示しており、さまざまなアプリケーションでプライバシーとセキュリティを強化するための強力なツールを提供します。

3.ゼロ知識証明の応用とは?

ZKプルーフは、さまざまな分野で多くの用途があり、重要なプライバシーとセキュリティの問題に対処する便利なツールです。

ZKプルーフは、 暗号通貨 の世界では、トランザクションのプライバシーとスケーラビリティを向上させるために重要です。 Zcash(ZEC)などのプライバシー重視の暗号通貨のように、取引の詳細やユーザーの身元を開示することなく、匿名の取引を可能にします。

ZKプルーフは、認証およびアクセス制御のフィールドで使用して、パスワードまたはキー自体を明らかにすることなく、パスワードまたは暗号化キーの理解を示すことができます。 これにより、よりユーザーフレンドリーで安全な認証技術が実現します。

ZKプルーフは電子投票システムでも使用され、有権者は実際の投票を開示することなく投票の正当性を証明でき、有権者のプライバシーと選挙プロセスの完全性の両方を保護します。

ZKプルーフは、安全なデータ転送と検証にも影響し、一方の側は、データ自体を開示することなく、プライベートデータの計算の正確性を実証することができます。

ゼロ知識証明は、 プライベートな取引を容易に し、ユーザーの匿名性を維持することで、 中央銀行デジタル通貨(CBDC) の取引プライバシーを向上させることができます。CBDC取引におけるプライバシーと透明性のバランスをとることで、ZKプルーフは取引の詳細を開示することなく監査可能性を実現します。

4.ZKプルーフはブロックチェーンプラットフォームに統合できますか?

はい、ZKプルーフはブロックチェーンプラットフォームに統合することができ、実際、さまざまな ブロックチェーンネットワークで正常に実装されています。 ZKプルーフは、ブロックチェーンシステムの効率、セキュリティ、プライバシーを高めるための強力な技術を提供します。

ブロックチェーンプラットフォームに統合すると、ZKプルーフは複数の目的を果たすことができます。

プライバシーと守秘義務

ZKプルーフはプライベートな取引を可能にし、ユーザーは取引金額や送信者と受信者のアドレスなどの基礎となる情報を開示することなく取引を行うことができます。 オープンブロックチェーンにおけるユーザーのプライバシーの向上は、これにかかっています。

検証と監査

実際のデータや情報を開示することなく、ZKプルーフを使用して、特定の計算またはステートメントの精度をチェックできます。 これにより、データの整合性が保証され、効果的な監査手順が可能になります。

拡張性

ZKプルーフは、複雑な計算のための簡潔な証明を提供することで、プラットフォームのスケーラビリティを高めることができ、ブロックチェーンの計算とストレージのオーバーヘッドを最小限に抑えることができます。

ID と認証

ユーザーのプライバシーを保護しながら、安全な本人確認と認証にZKプルーフを使用することで、ブロックチェーンベースのアプリケーションはより安全になります。

クロスチェーンの相互運用性

ZKプルーフは、 さまざまなブロックチェーンネットワーク間の相互運用性を促進することでプライバシーを保護しながら、クロスチェーン通信と資産転送に役立ちます。

5.ゼロ知識証明のデメリットは?

ZKプルーフはプライバシーとセキュリティ上の利点を提供しますが、計算量が多く、実装が複雑になる可能性があります。

ZKプルーフの開発と検証は、特により複雑なプルーフの場合、リソースと計算を大量に消費する可能性があります。 これにより、トランザクションの処理時間が長くなり、計算作業が増え、ブロックチェーンシステムの拡張が難しくなる可能性があります。

さらに、ZKプルーフは、プロトコルの監査と検証をより困難にする複雑さの層を追加し、潜在的なセキュリティ上の欠陥やバグに対する懸念を引き起こす可能性があります。 さらに、ZKプルーフは情報を隠すことでプライバシーを向上させる一方で、状況によっては違法行為を助長し、規制遵守を困難にする可能性があります。

また、ZKプルーフは、適切に実装するために特定のトレーニングと経験を必要とするため、すべてのユースケースやセクターに適しているとは限りません。 これにより、多くの分野で広く使用され、採用されない可能性があります。

ZKプルーフは有用なプライバシーおよびセキュリティ機能を提供しますが、その欠点は、特定のシステムまたはアプリケーションに採用する前に、関連するトレードオフの慎重な調査と評価を必要とします。

免責事項:

  1. この記事は[コインテレグラフ]からの転載です。 すべての著作権は原著作者「SHIRAZ JAGATI」に帰属します。 この転載に異議がある場合は、Gate Learnチームに連絡していただければ、迅速に対応いたします。
  2. 免責事項:この記事で表明された見解や意見は、著者のものであり、投資アドバイスを構成するものではありません。
  3. 記事の他言語への翻訳は、Gate Learnチームによって行われます。 特に明記されていない限り、翻訳された記事を複製、配布、盗用することは禁止されています。
今すぐ始める
登録して、
$100
のボーナスを獲得しよう!