1985年、ゼロ知識証明(ZKP)の最初の概念が、「『対話型証明システムの知識複雑性』」という査読付き学術論文の中で提唱され、[email protected]における画期的な進展となりました。研究者であるシャフィ・ゴールドワッサー、シルヴィオ・ミカリ、チャールズ・ラコフは、あるデータが」という査読付き学術論文の中でゼロ知識証明(ZKP)の原案が提唱され、暗号化技術 において画期的な進展をもたらしました。研究者のシャフィ・ゴールドワッサー、シルヴィオ・ミカリ、チャールズ・ラコフは、データそのもの以外の情報を一切開示することなく、そのデータが有効であることを証明できるかどうかを模索しました。それから約40年が経過した現在、ZKPは多くのブロックチェーンの基盤となる要素となっており、プライバシーとセキュリティの強化を通じてユーザーに力を与えています。
以下のトピックについて詳しく知りたい方は、ぜひ読み進めてください:
ゼロ知識証明(ZKP)とは何ですか?
ゼロ知識証明(ZKP)とは、複数の当事者が、その主張そのもの以外の情報を明かすことなく、その主張の真偽を検証できる暗号技術のことです。多くのブロックチェーンでは、機密データが関与するやり取りのセキュリティを強化するためにZKPを活用しています。その結果、ZKPを採用したブロックチェーンの参加者は、個人情報が漏洩したり悪意のある第三者に悪用されたりするリスクが低くなるため、より確度 なやり取りが可能になる可能性があります。
ゼロ知識証明の構成要素
ZKPでは、各やり取りにつき少なくとも2つの当事者が必要です。すなわち、 証明者 と 検証者です。証明者は、ある主張の正当性を検証者に納得させるための実際の数学的証明を提供する役割を担います。検証者はこの証拠を精査し、それを受け入れるか、あるいは却下しなければなりません。
通常、証明者と検証者の間では、いずれかの当事者が推測したり、不正な情報を提供したりする可能性を低減するために、複数回のやり取りが行われます。
ゼロ知識証明はどのように機能するのでしょうか?
ZKPは、高度な暗号アルゴリズムや数学的概念の基礎となる構成要素ブロック を用いて動作します。例えば、ZKPでは 暗号学的ハッシュ 関数 を用いて、検証者が証明者との相互信頼を築く過程で、検証者向けのランダムなチャレンジを生成します。
ZKPを利用したトランザクションは、以下の条件を満たさなければなりません:
- 完全性: ある命題が真であるならば、誠実な証明者は、検証者にそのことを容易に納得させることができるはずである。
- 妥当性: ある主張が偽である場合、不誠実な証明者は検証者を欺くことができないはずである。
- ゼロ知識:いずれの当事者も、相手方に関する追加の機密情報を引き出すことはできず、提供された陳述の内容のみを知っている。
2人のユーザーがZKPを使って取引を行う例を見てみましょう:
- 人物A(証明者)は、 プライバシーコイン ZCashブロックチェーン の観察者が、トランザクションの詳細(転送額、転送先のアドレス など)を一切抽出できないようにしたい。
- 人物B(検証者)は、人物AからZCash を受け取ることを期待しているが、人物Aのウォレットに保有されている資産の総額など、人物Aに関する具体的な詳細については把握していない。
- A氏はトランザクションを暗号化し、ブロックチェーン に送信します。
- Aは、その取引が有効であることを証明するために、暗号化された取引を含むZKPを提出する。
- ブロックチェーン 上のノードは、ZKPを検証して、人物Aの暗号化されたトランザクションが確かに有効であることを確認します。
- ZKPが有効であれば、人物Bはそれを受け入れる。
- ZCash は、Aさんの口座からBさんの口座へ移動します。
- この取引は、ブロックチェーン に恒久的に記録されます。
ゼロ知識証明の種類
ZKPには主に2つの形式があります: 対話型 と 非対話型。対話型ZKPでは、証明者と検証者の間で複数回のやり取りが行われます。非対話型ZKPでは、通信は1回のみです。証明者は検証者に1通のメッセージを送信するだけで済み、この処理を行うために両者が同時にオンラインである必要はありません。
ブロックチェーン を基盤とするシステムでは、対話型証明は一般的ではありません。これは、効率が悪いうえ、一般的に、2つの当事者が同時にオンラインである必要があることは望ましくないためです。その結果、非対話型の設定では、以下の種類のZKPが使用されています:
ゼロ知識簡潔非対話型知識証明(zk-SNARKs) により、参加者は特定の情報を保有していることを、その情報の詳細を明かすことなく証明することができます。zk-SNARKsはEthereum (ブロックチェーン )で広く採用されており、特にプライバシー保護型スマートコントラクトにおいて有用です。また、ZCash では、送信者、受信者、送金金額などの情報が一切開示されない「シールド取引」の有効性を証明するために、zk-SNARKsが活用されています。
ゼロ知識スケーラブル透明知識証明(zk-STARKs) zk-STARKsはzk-SNARKsと同様に機能しますが、大規模な計算に対応できるよう設計されています。透明性とスケーラビリティという追加の利点により、zk-STARKsはブロックチェーン の幅広いアプリケーションと互換性があります。
反証 は、ある値が が特定の範囲内に収まることを証明し ことを証明する。高度な数学的概念を活用することで、バレットプルーフは証明をコンパクトにすることができ、その結果、トランザクションのサイズと検証時間を削減できる。 Monero はバレットプルーフを採用しています。
ゼロ知識証明の応用分野とユースケース
ゼロ知識証明は、ブロックチェーン エコシステムにおいて、プライバシー保護機能を備えた分散型プロトコルからスケーラブルなトランザクションソリューションに至るまで、幅広い応用可能性を秘めています。これらのユースケースの中には、すでにブロックチェーンで採用されているものもあれば、留まる まだ構想段階にあるものや、開発の初期段階にあるものもあります。
認証と安全な身元確認:分散型金融 (DeFi) の参加者は、ZKP(ゼロ知識証明)を利用して、ガバナンス活動への参加や特定のトークン保有者グループへの所属といった特定の属性を保有していることを、それらの属性の実際の値を明かすことなく証明できます。同様に、ユーザーはZKPを活用して、自身の身元に関連する情報を選択的に開示することも可能です。
安全な投票システム:ZKP(ゼロ知識証明)を活用することで、分散型金融 (DeFi) の参加者は、自身の投票履歴や投票先を明かすことなく、投票資格や保有する投票数を証明することが可能になります。
Zk-rollups は、レイヤー2(Layer 2) スケーリングソリューションであり、トランザクションデータオフチェーン を束ねて(「ロールアップ」して)暗号証明に変換し、ZKPs を使用して、Ethereum メインネット上でトランザクションの有効性を calldataの形式でトランザクションの有効性を のメインネットに投稿します。トランザクションはバンドルされてメインネットに投稿されるため、通常は占有するスペースが少なくなり、その結果、Ethereumの計算負荷が軽減されます。代表的なZk-rollupsには ZkSync や Loopringなどがあります。
Zk-Plasma は、 Plasma ネットワークの派生版であり、ZKPを活用してEthereum 上にプライバシー保護型のサイドチェーンを構築するものです。ユーザーはメインネット上のすべてのデータを検証する代わりに、サイドチェーン上のトランザクションを検証し、ZKPを用いてその有効性をEthereum に公開することができます。
分散型取引所(DEX):ZKPを活用することで、ユーザーの取引履歴、戦略、口座残高を明かすことなく、多種多様な資産の取引を仲介する に実行できます。
供給数 チェーンの透明性と完全性の検証:ZKP(ゼロ知識証明)を活用することで、取引情報を権限のない第三者に開示したり、製造プロセスに関する機密情報を漏洩させたりすることなく、サプライヤーの資格情報や製品の真正性を検証し、供給数 チェーンのセキュリティを強化できます。さらに、ZKPは、認証の検証や供給数 チェーンの規制基準への準拠確認にも役立ちます。
以下の図は、こうしたユースケースの一部において、ゼロ知識証明技術がどの程度活用されているかを示しています。送付 によると、ZCash (プライバシー保護型暗号通貨)、 Tornado Cash (分散型で非カストディアル なスマートコントラクト )、Railgun(Ethereum L2プライバシープロトコル )、Aztec(Ethereum L2プライバシープロトコル )など、最も人気のあるZKPアプリケーションへの資金流入額を示しています。2022年1月から2024年4月にかけて、Tornado Cash への資金流入額は送付 、他の3つのZKP対応アプリケーションを合わせた額を上回り、50億ドル近くに達しました。
ゼロ知識証明の課題普及
ZKPはブロックチェーンの安全性と効率性を高める可能性を秘めているものの、その普及普及 にはいくつかの課題が立ちはだかっています:
- ZKPの実装と展開には、暗号学の原理や高度な数学に関する深い理解が必要ですが、ほとんどの開発者はこうした専門的な知識を持っていません。
- ZKPの生成には、多くの場合、多大な計算リソースが必要となるため、トランザクション処理時間が長くなり、手数料 が高くなる。
- 参加者が互換性のないプロトコルや検証方法に直面した場合、ブロックチェーン間の相互運用性が困難になる可能性があります。
- ZKPの複雑さや、それに関連するデータ保存の仕組みは、規制遵守や監査の面で課題をもたらす可能性がある。
におけるゼロ知識証明の将来ブロックチェーン
ブロックチェーン プラットフォームにおけるプライバシーとセキュリティの重要性に対する認識が高まるにつれ、ゼロ知識証明(ZKP)への普及 が増加する可能性が高い。さらに、Ethereum 上の多くのレイヤー2(Layer 2) プロトコルでは、スケーラビリティと効率性の向上に向けた取り組みが継続的に行われており、ZKPはその解決に役立つ可能性がある。こうした継続的な取り組みは、ユーザーの機密情報を保護し、ブロックチェーン 取引を標準化して、仲介する ブロックチェーン 相互運用性を実現する上で重要な役割を果たすことになるだろう。
よくある質問
ゼロ知識証明とは何ですか?
ゼロ知識証明(ZKP)とは、複数の当事者が、その主張自体以外のいかなる情報も開示することなく、その主張が真実であることを検証できる暗号技術のことです。多くのブロックチェーンでは、機密データが関わるやり取りのセキュリティを強化するためにZKPが採用されており、これによりユーザーは、個人情報が漏洩することはないという確信を持って確度 とやり取りすることができます。
ゼロ知識証明は、どのような3つの条件を満たさなければならないか?
ゼロ知識証明に基づく相互作用は、3つの基本的な要件を満たさなければならない。「完全性」とは、主張が真である場合、誠実な証明者が検証者を容易に納得させることができることを意味する。「妥当性」とは、主張が偽である場合、不誠実な証明者が検証者を欺くことができないことを保証する。最後に、「ゼロ知識」とは、いずれの当事者も相手方に関する追加の機密情報を引き出すことができないことを保証するものである。
対話型ゼロ知識証明と非対話型ゼロ知識証明の違いは何ですか?
対話型ゼロ知識証明では、証明者と検証者の間で複数回のやり取りが必要となります。一方、非対話型証明では、証明者が検証者に1通のメッセージを送信するだけの、1回のやり取りで済みます。非対話型証明は、両者が同時にオンラインである必要がないため、ブロックチェーン システムでははるかに一般的です。
暗号資産のエコシステムにおいて、ゼロ知識証明はどのように活用されているのでしょうか?
ゼロ知識証明は、ブロックチェーン 技術において幅広い応用可能性を秘めています。これらは、安全な本人確認、匿名投票システム、プライバシー保護型スマートコントラクトなどに利用されています。さらに、zk-rollupsと呼ばれるレイヤー2のスケーリングソリューションの基盤となっており、このソリューションでは、オフチェーン にあるようにトランザクションデータを束ねることで、Ethereum のようなネットワークにおける計算負荷を軽減し、トランザクション処理速度を向上させています。
ゼロ知識証明の普及 が広く普及するのを妨げている主な課題は何でしょうか?
ゼロ知識証明の広範な普及 には、いくつかのハードルが存在する。その実装には、高度な数学や暗号化技術 に対する深い理解が必要だが、ほとんどの開発者はこうした知識を欠いている。さらに、これらの証明を生成するには多大な計算リソースが必要となる場合が多く、その結果、手数料 が高くなったり、処理時間が長くなったりする可能性がある。また、この技術の複雑さは、規制遵守やクロスチェーンの相互運用性においても課題をもたらしている。
本ウェブサイトには、Chainalysis, Inc. およびその関連会社(以下、総称して「Chainalysis」)の管理下にない第三者のサイトへのリンクが含まれています。当該情報へのアクセスは、Chainalysis が当該サイトまたはその運営者との提携、支持、承認、または推奨を行っていることを意味するものではなく、Chainalysis は、当該サイトで提供される製品、サービス、その他のコンテンツについて一切の責任を負いません。
本資料は情報提供のみを目的としており、法律、税務、財務、または投資に関する助言を提供するものではありません。受領者は、こうした決定を行う前に、各自のアドバイザーに相談してください。Chainalysis は、受領者が本資料を利用したことに起因する、つながり におけるいかなる決定、その他の作為または不作為についても、一切の責任を負いません。
Chainalysis 当社は、本報告書に記載された情報の正確性、完全性、適時性、適合性、または有効性を保証するものではなく、当該資料のいかなる部分における誤り、欠落、またはその他の不正確さに起因するいかなる請求についても責任を負いません。


