出典:Chainalysis; コンパイラー:Five Baht、Golden Finance
1985 年、ゼロ知識証明(ZKP)の原型となる概念は、「Knowledge Complexity in Interactive Proof Systems(対話的証明システムにおける知識複雑性)」と題された査読付きの学術論文に掲載され、暗号技術のブレークスルーとなりました。研究者のShafi Goldwasser、Silvio Micali、Charles Rackoffは、データそのもの以外の情報を明らかにすることなくデータの正当性を証明することが可能かどうかを探求した。それから40年近くが経ち、ZKPは多くのブロックチェーンの基本的な部分となり、プライバシーとセキュリティを強化してユーザーをサポートしている。
Zero Knowledge Proof(ZKP)とは?(ZKP)
ゼロ知識証明(ZKP)とは、複数の関係者が、声明そのもの以外の情報を明らかにすることなく、声明の真正性を検証できるようにする暗号手法です。多くのブロックチェーンはZKPを利用して、機密データを含むやりとりのセキュリティを向上させています。その結果、ZKPを利用したブロックチェーンの参加者は、個人情報が悪意のある行為者によって漏洩したり悪用されたりする可能性が低くなるため、より高い信頼性を持ってやり取りを行うことができる。
Components of a Zero-Knowledge Proof
ZKPは、各インタラクションに少なくとも2つの当事者、すなわち証明者と検証者が関与することを必要とします。証明者は、検証者に文の正当性を納得させるために実際の数学的証明を提供する責任がある。検証者はこの証明を検証し、それを受け入れるか拒否しなければならない。
通常、どちらかが推測したり不正な情報を提供したりする可能性を減らすために、証明者と検証者の間で複数回の通信が行われる。
ゼロ知識証明はどのように機能するのか?
ZKPは、高度な暗号アルゴリズムと数学的概念の基本的な構成要素を使用して動作します。例えば、ZKPは暗号ハッシュ関数を使用して、証明者との相互信頼を構築するために、検証者にランダムなチャレンジを生成します。
ZKPがサポートする相互作用は、以下の条件を満たす必要があります。
完全性: ステートメントが真である場合、正直な証明者は検証者を簡単に納得させることができるはずです。
健全性(Soundness):声明が偽である場合、不正な証明者は検証者を欺くことができないはずである。
ゼロ知識:どちらの当事者も互いに関する他の個人情報を引き出すことはできない。
2人のユーザーがZKPを使ってどのように取引を行うかの例を見てみましょう:
A (証明する側)は、プライバシーコインZCashを使いたいと考えています。を使用して取引を実行し、隠されたブロックチェーンの監視者が取引の詳細(送金額、送金先など)を抽出できないようにしたい。
B(プロヴァー)は、Aのウォレットに保有されている資産の総額などのプライベートな詳細を知ることなく、AからZCashを受け取りたいと考えています。
Aは取引を暗号化し、ブロックチェーンに提出します。
Aは取引が有効であることを証明するため、暗号化された取引とともにZKPを提出します。
ブロックチェーン上のノードは、Aの暗号化された取引が本当に有効であることを確認するためにZKPをチェックします。
ZKPが有効であれば、Bはそれを受け入れる。
ZCashはAの口座からBの口座に送金される。
取引はブロックチェーンに永久に記録されます。
ゼロ知識証明の種類
ZKPには、主に対話型と非対話型の2つの形式があります。対話的ZKPは、証明者と検証者の間で何度も往復の通信を行う。非対話型ZKPは、1ラウンドの通信を伴うだけであり、証明者は検証者に1つのメッセージを送るだけであり、そのために両者が同時にオンラインである必要はない。
対話型証明は非効率的であり、両者が同時にオンラインであることが望ましくない場合が多いため、ブロックチェーンベースのシステムでは一般的ではありません。
ゼロ知識簡潔非対話的知識論証(zk-SNARK)は、参加者がその情報の詳細を開示することなく、特定の情報の所有を証明することを可能にします。Zk-SNARKはイーサリアムのブロックチェーンで一般的で、プライバシーを保護するスマートコントラクトに特に有用です。 ZCashはまた、Zk-SNARKを使用して、送信者、受信者、送金額などの情報を一切明らかにしないような保護された取引の有効性を証明します。
Zero Knowledge Scalable Transparent Arguments for Knowledge(zk-STARK)はzk-SNARKと機能は似ていますが、大規模な計算のためにスケールするように設計されています。透明性とスケーラビリティという追加の利点があるため、zk-STARKは幅広いブロックチェーンアプリケーションと互換性があります。
防弾証明は、値そのものを明らかにすることなく、値が特定の範囲内にあることを証明します。高度な数学的概念を使用することで、防弾証明は証明をより小さくすることができ、それによってトランザクションのサイズと検証時間を減らすことができます。
Applications and use cases for zero-knowledge proofs
ゼロ知識証明は、プライバシー強化のための分散プロトコルからスケーラブルなトランザクションソリューションまで、ブロックチェーンエコシステムにおける幅広いアプリケーションを提供します。これらのユースケースの中には、すでにブロックチェーンに採用されているものもありますが、まだ投機的な段階や開発の初期段階にあるものもあります。
認証とセキュア認証:DeFiの参加者は、ZKPを使用して、ガバナンス活動への参加やトークン保有者の特定のグループのメンバーであることなど、特定の属性を持っていることを、それらの属性の実際の値を開示することなく証明することができます。同様に、ユーザーはZKPとやりとりすることで、自分の身元に関する情報を選択的に開示することができます。
安全な投票システム:ZKPは、DeFiの参加者が履歴や投票の嗜好を開示することなく、投票資格と投票数を証明できるようにします。
Zk-rollups はレイヤ2拡張ソリューションで、オフチェーンのトランザクションデータを暗号証明にバンドルまたは「ロールアップ」し、ZKPを使用してメインのEtherNet上でトランザクションをcalldataとして公開します。有効性。トランザクションはバンドルされた状態でメインネットにポストされるため、一般的に占有スペースが小さくなり、Etherの計算負荷が軽減される。
Zk-PlasmaはPlasmaネットワークの亜種で、ZKPを使用してEther上にプライバシーを保護するサイドチェーンを作成します。メインネットワーク上ですべてのデータを検証する代わりに、ユーザーはサイドチェーン上でトランザクションを検証し、ZKPを使用してEther上でその有効性を公開することができます。
分散型取引所(DEX): ZKPは、ユーザーの取引履歴、戦略、口座残高を明らかにすることなく、幅広い資産の取引を容易にします。
サプライチェーンの透明性と完全性の検証:ZKPは、取引情報や生産プロセスに関する専有情報を無許可の当事者に開示する必要なく、サプライヤーの認証情報や製品の真正性を検証することで、サプライチェーンの安全性を高める可能性があります。さらに、ZKPは認証やサプライチェーンの規制基準への準拠を検証するのに役立ちます。
以下のチャートは、特定のユースケースにおけるゼロ・ナレッジ・テクノロジーの規模を示しています。ZCash(プライバシー保護暗号通貨)、Tornado Cash(非中央集権型、非保護型スマートコントラクト)、Railgun(イーサリアムL2プライバシープロトコル)、Aztec(イーサリアムL2プライバシープロトコル)など、最も人気のあるZKPアプリケーションのいくつかへの送金額を見てみましょう。トルネード・キャッシュへの送金額は、他の3つのZKP対応アプリよりも多く、50億ドルに迫る勢いだ。
![7241282 HLwm9rlN3UPrZpbU4NKfRBOtQDBsLZHjxyjYVihT.jpeg](https://img.jinse.cn/7241282_watermarknone.png)
ゼロ知識証明採用への課題
ZKPはブロックチェーンをより安全で効率的なものにすると約束されていますが、その普及には多くの課題があります。
ZKPの実装と展開には、暗号の原理と高度な数学の深い理解が必要ですが、これはほとんどの開発者が持っていない専門知識です。
ZKPを生成するには、通常、かなりの計算リソースが必要であり、その結果、トランザクション処理時間が遅くなり、コストが増加します。
参加者が互換性のないプロトコルや検証方法に遭遇すると、ブロックチェーンの相互運用性が困難になる可能性があります。
ZKPと対応するデータストアが複雑であるため、規制遵守と監査に課題が生じる可能性があります。
ブロックチェーンにおけるゼロ知識証明の将来
ブロックチェーンプラットフォームにおけるプライバシーとセキュリティの重要性に対する認識が高まるにつれて、ゼロ知識証明はより広く採用されるようになるでしょう。さらに、イーサ上のレイヤー2プロトコルの多くは、スケーラビリティと効率を向上させる方法を常に模索しており、ゼロ知識証明はこれらの問題への対処に役立つ可能性があります。これらの継続的な取り組みは、機密性の高いユーザー情報を保護し、ブロックチェーンの相互運用性を促進するためにブロックチェーントランザクションを標準化する上で重要な役割を果たすだろう。