ゼロ知識証明 (ZKP) は、1980 年代初頭に S. Goldwasser、S. Micali、C. Rackoff によって The Knowledge Complexity Of Interactive Proof Systems というタイトルの論文で最初に提案された暗号化技術です。 本論文では、証拠を明かさずに数学的言明を検証するという問題に取り組むための理論モデルとして概念化しました。 この概念は、従来の暗号化技術の限界に挑戦し、機密情報を処理するための新しいアプローチを提供したため、学術界で大きな注目を集めました。
時が経つにつれて、ZKPは抽象的な理論的概念から、さまざまなアプリケーションに統合できる具体的なプロトコルに進化しました。 2010年、Grothは Short Pairing-based Non-interactive Zero-Knowledge Argumentsというタイトルの論文を発表し、ZKPの重要なソリューションであるzk-SNARKの開発において独創的な研究となりました。 ZKPの最も重要な実用化は、2015年にZ-cashが使用したゼロ知識証明システムであり、取引と金額のプライバシー保護を実現しました。 その後、zk-SNARKはスマートコントラクトと組み合わされ、より幅広いアプリケーションにつながりました。
従来のZKPが遵守する必要がある原則は次のとおりです。
ZKPの原理は、簡単な例で理解できます:私がBの電話番号を知っていることをAに証明する必要がある場合、私はA Bの電話番号を直接教える必要はありません。 代わりに、Bの電話番号を直接ダイヤルし、通話が接続されると、Bの電話番号を実際に知っていることを証明できます。 このプロセスでは、Bの番号情報は開示されません。
そして、zk-SNARKはこれに基づいてさらにアップグレードし、次の特性を備えています。
グロスの論文では、計算問題を二次演算プログラム(QAP)に変換し、楕円曲線暗号とハッシュ関数を使用して効率的な証明を構築する、ペアリングに基づく非対話型のゼロ知識証明法を提案しました。 zk-SNARKの後期設計には、通常、次の4つのステップが含まれます。
理解を助けるために、簡単な例を考えてみましょう:埋もれた宝物の正確な場所を案内できる宝の地図があるとします。 地図の内容や宝物の実際の場所を明かさずに、宝物の場所を知っていることを誰かに証明したい。 zk-SNARK技術を使う場合、宝の地図の複雑なパズルを作る必要があります。 パズルの小さなピース(プルーフ)を選んで相手に見せると、パズル全体を見なくても、パズル全体を見なくても、パズル全体がどのように組み合わさっているか、つまり宝物の場所を知っていると納得させることができます。 ただし、これを実現するには、パズルのピースが本物であるという証拠となる特別なマーキングを信頼できる印刷所から入手する必要があります。
ゼロ知識証明の従来のアプローチでは、証明者が検証者に「はい」か「いいえか」の質問を繰り返し、正解に達するまで対話型の証明方法を採用していました。 このプロセスは非効率的です。 しかし、zk-SNARKは、信頼できる第三者からCRSを取得することで、繰り返しのやり取りを不要にします。 すべての証明者は、CRSを直接比較して真実性を判断できます。 これにより、ゼロ知識証明の効率が大幅に向上します。
さらに、zk-SNARKには次の利点があります。
zk-SNARKの最初のアプリケーションはZcashで、ユーザーはzk-SNARKを使用して送信者、受信者、金額などの情報を隠すことで、完全に匿名の取引を行うことができます。 現在のWeb3空間では、zk-SNARKテクノロジーはブロックチェーンのスケーラビリティと取引所準備金管理において重要な役割を果たしています。
ブロックチェーンのコンセンサスメカニズムとセキュリティ要件により、そのスループットと効率は大幅に制限されます。 この問題に対処するには、ブロックチェーン上に追加のレイヤーを構築して、大量のトランザクションや計算をメインチェーン(レイヤー1)からレイヤー2に移行するレイヤー2テクノロジーを使用するのが一般的な解決策であり、それによってシステムのパフォーマンスと使いやすさが向上します。
zk-SNARKは、Layer2のトランザクションや計算を小さくて高速な証明に圧縮し、メインチェーンで検証のために送信することで、Layer2の正確性と一貫性を確保することができるため、このソリューションで重要な役割を果たします。 現在、zk-SNARKをベースにしたLayer2ソリューションには、ZK-rollupとValidiumの2つがあります。
暗号通貨市場のボラティリティと不確実性により、多くの取引所は潜在的なリスクや需要に対処するために一定額の準備金を保有する必要があります。 しかし、これらの準備金は透明性と信頼性に欠けることが多く、ユーザーは取引所が本当に資産を保護するのに十分な準備金を持っているかどうか確信が持てません。
zk-SNARKは、取引所が特定の資産の詳細や場所を明らかにすることなく、十分な量と価値の準備金を保有していることをユーザーや規制機関に証明できるようにすることで、この点に関する解決策を提供することができます。
典型的な例は Gate.io で、zk-SNARKとマークルツリーの組み合わせを利用します。 ユーザーデータを暗号化し、制約回路を使用して100の異なるトークンの準備金の証明を生成し、100%のソルベンシー能力を実証します。
出典: https://www.gate.io/proof-of-reserves
参考文献: zk-SNARKが Gate.io プルーフ・オブ・リザーブをどのように改善するか
zk-SNARKは、Web3アプリケーションに加えて、以下のようなブロックチェーン以外のドメインでも使用することができます。
前節では、zk-SNARKの技術原理を紹介し、zk-SNARKはCRSを生成する信頼できる第三者を見つけることで証明効率を向上させると述べました。 しかし、これはzk-SNARKに内在するいくつかの制限と課題にもつながります。
要約すると、zk-SNARKの固有の制限に対処するためのさまざまなアプローチがあります。
zk-SNARKは、革新的な暗号技術として、特にプライバシーの分野において、幅広い将来のアプリケーションシナリオを持っています。
zk-SNARKテクノロジーは、プライバシー保護と暗号化検証の分野における重要なブレークスルーを表しています。 強力なプライバシー保証を提供するだけでなく、ブロックチェーンやその他のさまざまなアプリケーションのスケーラビリティを強化する上でも実用的です。 技術的な課題や限界はあるものの、継続的な研究と革新を通じて、zk-SNARKは進化を続け、既存のシステムを最適化し、新しいアプリケーションモデルを刺激して、プライバシー保護と暗号化技術の進歩を促進することを期待しています。 テクノロジーの成熟と社会におけるデータプライバシーの重視が高まる中、zk-SNARKはデジタル時代に不可欠なツールになる可能性を秘めており、ユーザーが自分の情報をより細かく管理できるようにし、安全で透明性の高いデジタルインタラクションを促進します。
ゼロ知識証明 (ZKP) は、1980 年代初頭に S. Goldwasser、S. Micali、C. Rackoff によって The Knowledge Complexity Of Interactive Proof Systems というタイトルの論文で最初に提案された暗号化技術です。 本論文では、証拠を明かさずに数学的言明を検証するという問題に取り組むための理論モデルとして概念化しました。 この概念は、従来の暗号化技術の限界に挑戦し、機密情報を処理するための新しいアプローチを提供したため、学術界で大きな注目を集めました。
時が経つにつれて、ZKPは抽象的な理論的概念から、さまざまなアプリケーションに統合できる具体的なプロトコルに進化しました。 2010年、Grothは Short Pairing-based Non-interactive Zero-Knowledge Argumentsというタイトルの論文を発表し、ZKPの重要なソリューションであるzk-SNARKの開発において独創的な研究となりました。 ZKPの最も重要な実用化は、2015年にZ-cashが使用したゼロ知識証明システムであり、取引と金額のプライバシー保護を実現しました。 その後、zk-SNARKはスマートコントラクトと組み合わされ、より幅広いアプリケーションにつながりました。
従来のZKPが遵守する必要がある原則は次のとおりです。
ZKPの原理は、簡単な例で理解できます:私がBの電話番号を知っていることをAに証明する必要がある場合、私はA Bの電話番号を直接教える必要はありません。 代わりに、Bの電話番号を直接ダイヤルし、通話が接続されると、Bの電話番号を実際に知っていることを証明できます。 このプロセスでは、Bの番号情報は開示されません。
そして、zk-SNARKはこれに基づいてさらにアップグレードし、次の特性を備えています。
グロスの論文では、計算問題を二次演算プログラム(QAP)に変換し、楕円曲線暗号とハッシュ関数を使用して効率的な証明を構築する、ペアリングに基づく非対話型のゼロ知識証明法を提案しました。 zk-SNARKの後期設計には、通常、次の4つのステップが含まれます。
理解を助けるために、簡単な例を考えてみましょう:埋もれた宝物の正確な場所を案内できる宝の地図があるとします。 地図の内容や宝物の実際の場所を明かさずに、宝物の場所を知っていることを誰かに証明したい。 zk-SNARK技術を使う場合、宝の地図の複雑なパズルを作る必要があります。 パズルの小さなピース(プルーフ)を選んで相手に見せると、パズル全体を見なくても、パズル全体を見なくても、パズル全体がどのように組み合わさっているか、つまり宝物の場所を知っていると納得させることができます。 ただし、これを実現するには、パズルのピースが本物であるという証拠となる特別なマーキングを信頼できる印刷所から入手する必要があります。
ゼロ知識証明の従来のアプローチでは、証明者が検証者に「はい」か「いいえか」の質問を繰り返し、正解に達するまで対話型の証明方法を採用していました。 このプロセスは非効率的です。 しかし、zk-SNARKは、信頼できる第三者からCRSを取得することで、繰り返しのやり取りを不要にします。 すべての証明者は、CRSを直接比較して真実性を判断できます。 これにより、ゼロ知識証明の効率が大幅に向上します。
さらに、zk-SNARKには次の利点があります。
zk-SNARKの最初のアプリケーションはZcashで、ユーザーはzk-SNARKを使用して送信者、受信者、金額などの情報を隠すことで、完全に匿名の取引を行うことができます。 現在のWeb3空間では、zk-SNARKテクノロジーはブロックチェーンのスケーラビリティと取引所準備金管理において重要な役割を果たしています。
ブロックチェーンのコンセンサスメカニズムとセキュリティ要件により、そのスループットと効率は大幅に制限されます。 この問題に対処するには、ブロックチェーン上に追加のレイヤーを構築して、大量のトランザクションや計算をメインチェーン(レイヤー1)からレイヤー2に移行するレイヤー2テクノロジーを使用するのが一般的な解決策であり、それによってシステムのパフォーマンスと使いやすさが向上します。
zk-SNARKは、Layer2のトランザクションや計算を小さくて高速な証明に圧縮し、メインチェーンで検証のために送信することで、Layer2の正確性と一貫性を確保することができるため、このソリューションで重要な役割を果たします。 現在、zk-SNARKをベースにしたLayer2ソリューションには、ZK-rollupとValidiumの2つがあります。
暗号通貨市場のボラティリティと不確実性により、多くの取引所は潜在的なリスクや需要に対処するために一定額の準備金を保有する必要があります。 しかし、これらの準備金は透明性と信頼性に欠けることが多く、ユーザーは取引所が本当に資産を保護するのに十分な準備金を持っているかどうか確信が持てません。
zk-SNARKは、取引所が特定の資産の詳細や場所を明らかにすることなく、十分な量と価値の準備金を保有していることをユーザーや規制機関に証明できるようにすることで、この点に関する解決策を提供することができます。
典型的な例は Gate.io で、zk-SNARKとマークルツリーの組み合わせを利用します。 ユーザーデータを暗号化し、制約回路を使用して100の異なるトークンの準備金の証明を生成し、100%のソルベンシー能力を実証します。
出典: https://www.gate.io/proof-of-reserves
参考文献: zk-SNARKが Gate.io プルーフ・オブ・リザーブをどのように改善するか
zk-SNARKは、Web3アプリケーションに加えて、以下のようなブロックチェーン以外のドメインでも使用することができます。
前節では、zk-SNARKの技術原理を紹介し、zk-SNARKはCRSを生成する信頼できる第三者を見つけることで証明効率を向上させると述べました。 しかし、これはzk-SNARKに内在するいくつかの制限と課題にもつながります。
要約すると、zk-SNARKの固有の制限に対処するためのさまざまなアプローチがあります。
zk-SNARKは、革新的な暗号技術として、特にプライバシーの分野において、幅広い将来のアプリケーションシナリオを持っています。
zk-SNARKテクノロジーは、プライバシー保護と暗号化検証の分野における重要なブレークスルーを表しています。 強力なプライバシー保証を提供するだけでなく、ブロックチェーンやその他のさまざまなアプリケーションのスケーラビリティを強化する上でも実用的です。 技術的な課題や限界はあるものの、継続的な研究と革新を通じて、zk-SNARKは進化を続け、既存のシステムを最適化し、新しいアプリケーションモデルを刺激して、プライバシー保護と暗号化技術の進歩を促進することを期待しています。 テクノロジーの成熟と社会におけるデータプライバシーの重視が高まる中、zk-SNARKはデジタル時代に不可欠なツールになる可能性を秘めており、ユーザーが自分の情報をより細かく管理できるようにし、安全で透明性の高いデジタルインタラクションを促進します。