ゼロ知識証明技術の応用:ブロックチェーン発展史の第三の技術革新
著者:
新跃社科大学普惠金融ノード SUSS NiFT 研究員 @Jesse_meta
Beosin 研究員 @EatonAshton2
Least Authority セキュリティ研究員 @kaplannie
情報がインターネット上に保存されているか、オフラインのアーカイブに保存されているかに関わらず、主観的な故意や客観的な偶然にかかわらず、情報漏洩事件は今日では珍しくなく、言うまでもありません。情報が集中化して保存されている限り、単一の攻撃を受ける危険があります。検証プロセスが信頼できる第三者を必要とする限り、道徳的リスクと効率の低下が存在します。情報セキュリティの解決は非常に重要であり、緊急の課題です。そして、ゼロ知識証明技術は、ユーザーが自身のプライバシーを保護しながら、より効率的かつ安全に検証を完了できるようにします。
もしビットコインがブロックチェーンが現実世界にもたらした最初の大発明であり、価値保存の新しい方法を提供したとすれば、イーサリアムのスマートコントラクトは第二のマイルストーンであり、革新の可能性を解放しました。ゼロ知識証明の応用は、ブロックチェーンの発展史における第三の技術革新であり、プライバシーとスケーラビリティをもたらします。これはWeb3エコシステムの重要な一環であり、社会変革を推進する重要な基盤技術の可能性を秘めています。
この記事は非技術者の視点から、ゼロ知識証明の応用シーン、動作原理、発展状況、未来のトレンドを紹介し、技術的背景のない読者がゼロ知識証明がもたらす重大な変革を理解できることを目指しています。
1. ゼロ知識証明とは
ゼロ知識証明(ZKP)は、1985年にShafi Goldwasser、Silvio Micali、Chales Rackoffによって共著された論文『The knowledge complexity of interactive proof systems』で初めて提案された数学的プロトコルであり、証明すべき事実以外の情報は一切開示しません。検証者は証明を生成するための秘密情報を得ることができません。理解を助けるために例を挙げると、私はある人の電話番号を知っていることを証明したい場合、その人に電話をかけることができれば、その事実を証明することができ、実際の番号を開示する必要はありません。ゼロ知識証明は、ほぼリスクのないデータ共有の有効な方法を提供します。ゼロ知識証明を利用することで、私たちはデータの所有権を保持し、プライバシー保護を大幅に向上させ、データ漏洩事件を過去のものにすることが期待されます。
ゼロ知識証明には3つの特性があります:
完全性
もしある声明が真実であれば、誠実な検証者は誠実な証明者に説得されます。つまり、正しいことは間違いありません。
合理性
もしある声明が誤りであれば、ほとんどの場合、欺く証明者は誠実な検証者を虚偽の声明を信じさせることができません。つまり、間違ったことは正しくありません。
ゼロ知識
もしある声明が真実であれば、検証者はその声明が真実であることを知ることができるだけで、それ以外の余分な情報を得ることはできません。
ゼロ知識証明には、合理性の誤差が発生する極小の確率があります。つまり、詐欺的な証明者が検証者を誤った声明を信じさせる可能性があります。ゼロ知識証明は確率的な証明であり、決定的な証明ではありませんが、いくつかの技術を用いて合理性の誤差を無視できるレベルまで低下させることができます。
2. ゼロ知識証明の応用
ゼロ知識証明の最も重要な2つの応用シーンはプライバシーとスケーラビリティです。
2.1 プライバシー
ゼロ知識証明は、ユーザーが個人の詳細情報を開示することなく、商品やサービスを得るために必要な情報を安全に共有できることを許可し、ハッカー攻撃や個人情報の漏洩から保護します。デジタルと物理の領域が徐々に融合する中で、ゼロ知識証明のプライバシー保護機能はWeb3やそれ以外の情報セキュリティにとって極めて重要です。ゼロ知識証明がなければ、ユーザー情報は信頼された第三者のデータベースに存在し、ハッカー攻撃の潜在的な危険があります。ゼロ知識証明の最初の応用ケースはプライバシーコインZcashであり、取引の詳細を隠すために使用されます。
2.1.1 身分情報の保護と検証
オンライン活動では、私たちはしばしば名前、生年月日、電子メール、複雑なパスワードなどを提供して、合法的な使用権を持つユーザーであることを証明する必要があります。そのため、私たちはオンライン上に開示したくない敏感な情報を残すことがよくあります。最近では、私たちの名前を直接呼ぶ詐欺電話を受けることが珍しくなくなっており、個人情報漏洩の状況が非常に深刻であることがわかります。
私たちはブロックチェーン技術を利用して、各人に個人データを含む特別な暗号化されたデジタル識別子を与えることができます。このデジタル識別子は、分散型の身分を構築でき、所有者が知らないうちに偽造または変更されることは不可能です。分散型の身分は、ユーザーが個人の身分へのアクセス権を制御でき、パスポートの詳細を開示することなく市民権を証明し、認証プロセスを簡素化し、パスワードを忘れたためにアクセス権を失う事例を減少させます。ゼロ知識証明は、ユーザーの身分を証明できる公開データとユーザー情報を含むプライバシーデータから生成され、ユーザーがサービスにアクセスする際の身分検証に使用されます。これにより、煩雑な検証プロセスが減少し、ユーザー体験が向上し、ユーザー情報の集中化保存を回避できます。
さらに、ゼロ知識証明は、サービス機関がユーザーの身分を開示せずに、特定の信用基準を満たしているかどうかを検証できるプライベート信用システムの構築にも使用できます。ユーザーはFacebook、Twitter、Githubなどのプラットフォームから、具体的な出所アカウントを隠したまま、匿名で評判を出力できます。
2.1.2 匿名支払い
銀行カードでの支払いの取引詳細は、通常、支払い提供者、銀行、政府などの関連者に見えるため、一般市民のプライバシーがある程度露呈します。ユーザーは関連者が悪用しないことを信頼する必要があります。
暗号通貨は、支払いを第三者から解放し、ピアツーピア取引を直接行うことができます。しかし、現在の主流の公衆チェーン上の取引は公開されており、ユーザーアドレスは匿名ですが、チェーン上の関連アドレスや取引所のKYC、Twitter情報などのデータ分析を通じて現実世界の身分を見つけることが可能です。ある人のウォレットアドレスを知っている場合、その人の銀行口座の残高をいつでも確認でき、ユーザーの身分や財産に対する脅威となる可能性があります。
ゼロ知識証明は、プライバシーコイン、プライバシーアプリケーション、プライバシー公衆チェーンの3つのレベルから匿名支払いを提供できます。プライバシーコインZcashは、送信者、受信者のアドレス、資産の種類、数量、時間などの取引詳細を隠します。Tornado Cashは、イーサリアム上の分散型アプリケーションで、ゼロ知識証明を使用して取引詳細を混乱させ、プライバシー転送を提供します(ただし、ハッカーのマネーロンダリングにも多く使用されています)。Aleoは、プロトコルレベルからアプリケーションにプライバシー機能を提供することを目的としたL1ブロックチェーンです。
2.1.3 誠実な行動
ゼロ知識証明は、プライバシーを保持しながら誠実な行動を促進できます。プロトコルは、ユーザーに誠実な行動を証明するためにゼロ知識証明を提出することを要求できます。ゼロ知識証明の合理性(間違ったことは正しくない)により、ユーザーはプロトコルの要求に基づいて誠実な行動をとる必要があります。
MACI(Minimal Anti-Collusion Infrastructure、最小反串謀基盤)は、誠実を促進するアプリケーションシーンであり、チェーン上の投票や他の形式の意思決定プロセスでの共謀を防ぎます。このシステムは、鍵対とゼロ知識証明技術を利用してこの目標を達成します。MACIでは、ユーザーは公的鍵をスマートコントラクトに登録し、暗号化されたメッセージを通じて投票をコントラクトに送信します。MACIの防共謀特性により、投票者は他の人が投票選択を知るのを防ぐために公的鍵を変更できます。調整者は、投票期間が終了したときにゼロ知識証明を使用して、すべてのメッセージを正しく処理したことを証明し、最終的な投票結果がすべての有効票の合計であることを確認します。これにより、投票の完全性と公正性が保証されます。
2.1.4 個人情報の確認
私たちがローンを取得したいとき、会社からデジタル収入証明を取得してローンを申請することができます。この証明の合法性は、暗号学的に簡単に確認できます。銀行はゼロ知識証明を使用して、私たちの収入が規定の最低限度に達しているかどうかを確認できますが、敏感な具体的情報は得られません。
2.1.5 機械学習と私有データの潜在能力の発掘の統合
機械学習モデルをトレーニングする際には、通常、大量のデータが必要です。ゼロ知識証明を使用することで、データ所有者は実際にデータを公開することなく、データがモデルのトレーニング要件を満たしていることを証明できます。これにより、私有データが活用され、マネタイズが実現されます。
さらに、ゼロ知識証明は、モデル作成者がモデルの詳細を公開することなく、特定の性能指標を満たしていることを証明できるようにします。他の人が彼らのモデルをコピーしたり改ざんしたりするのを防ぐためです。
2.2 スケーラビリティ
ブロックチェーンユーザーが増えるにつれて、ブロックチェーン上で大量の計算が必要となり、取引が混雑します。一部のブロックチェーンはシャーディングの拡張ルートを採用しますが、これはブロックチェーンの基盤層に対して多くの複雑な変更を必要とし、ブロックチェーンの安全性を脅かす可能性があります。もう一つの実行可能なソリューションは、ZK-Rollupルートを採用し、検証可能な計算を利用して、計算を別のチェーン上のエンティティに外注し、その後、ゼロ知識証明と検証結果を主チェーンに提出して真実性を検証することです。ゼロ知識証明は取引の真実性を保証し、主チェーンは結果を状態に更新するだけで、詳細を保存したり計算を再実行したりする必要がなく、他の人が取引の真実性について議論するのを待つ必要もありません。これにより、効率とスケーラビリティが大幅に向上します。開発者はゼロ知識証明を利用して、スマートフォンのような一般的なハードウェア上で動作する軽量ノードdappsを設計でき、Web3が大衆に向かうのに役立ちます。
ゼロ知識証明の拡張は、Mina Protocolのようなレイヤー1ネットワークや、ZK-Rollupsのようなレイヤー2ネットワークの両方で利用できます。
3. ゼロ知識証明はどのように機能するか
Dmitry Laverenov(2019)は、ゼロ知識証明の構造をインタラクティブと非インタラクティブに分けています。
3.1 インタラクティブゼロ知識証明
インタラクティブゼロ知識証明の基本的な形式は、証拠、挑戦者、応答の3つのステップで構成されています。
証拠:隠された秘密情報は証明者の証拠です。これらの証拠は、これらの情報を知っている人だけが正しく答えることができる一連の質問を構築します。証明者はランダムに質問を抽出し、計算した答えを検証者に送信して証明を行います。
挑戦:検証者は集合から別の質問をランダムに選び、証明者に回答を要求します。
応答:証明者は質問を受け入れ、答えを計算して結果を検証者に返します。証明者の応答により、検証者は証明者がこれらの証拠を知っているかどうかを確認できます。
このプロセスは繰り返すことができ、証明者が秘密情報を知らずに正しい答えを推測する確率が十分に低くなるまで続けられます。簡略化した数学的な例を挙げると、証明者が秘密情報を知らずに正しい答えを推測する確率が1/2であれば、10回繰り返すことで、証明者が毎回命中する確率はわずか0.000097、検証者が虚偽の証明を誤って認める可能性は極めて低くなります。
3.2 非インタラクティブゼロ知識証明
インタラクティブゼロ知識証明には限界があります。一つは、証明者と検証者が同時に存在し、繰り返し検証を行う必要があること、もう一つは、新しい証明を計算するたびに証明者と検証者が情報のセットをやり取りする必要があり、証明が独立した検証で再利用できないことです。
インタラクティブゼロ知識証明の限界を克服するために、Manuel Blum、Paul Feldman、Silvio Micaliは非インタラクティブゼロ知識証明を提案しました。これは、証明者と検証者が共有鍵を持ち、1回の検証でゼロ知識証明をより効率的に行うことができます。証明者は秘密情報を特殊なアルゴリズムを使用して計算し、ゼロ知識証明を生成して検証者に送信します。検証者は別のアルゴリズムを使用して、証明者が秘密情報を知っているかどうかを確認します。このゼロ知識証明は一度生成されると、共有鍵と検証アルゴリズムを持つ誰でも検証できます。
非インタラクティブゼロ知識証明は、ゼロ知識証明技術の大きなブレークスルーであり、今日のゼロ知識証明システムの発展を促進しました。主な方法にはZK-SNARKとZK-STARKがあります。
4. ゼロ知識証明の主要な技術パス
Alchemy(2022)は、ゼロ知識証明の技術パスをZK-SNARK、ZK-STARK、再帰的ZK-SNARKに分けています。
4.1 ZK-SNARK
ZK-SNARKsは、ゼロ知識の簡潔な非インタラクティブな証明です。
公衆チェーンは、ネットワーク上で取引の正確性を確保するために、他のコンピュータ(ノード)に各取引を再実行させる必要があります。しかし、この方法では各ノードが各取引を再実行する必要があり、ネットワークの速度が低下し、スケーラビリティが制限されます。ノードは取引データを保存する必要があり、ブロックチェーンの規模が指数関数的に増加します。
これらの制限に対処するために、ZK-SNARKが機能します。これは、ノードが計算の各ステップを再実行することなく、チェーン外で行われた計算の正確性を証明できます。これにより、ノードが余分な取引データを保存する必要がなくなり、ネットワークのスループットが向上します。
SNARKを使用してチェーン外計算を検証するには、計算を数学的な表現にエンコードして有効性証明を構成します。検証者は証明の正確性を確認します。証明がすべてのチェックを通過した場合、基盤となる計算は有効であると見なされます。有効性証明のサイズは、それが検証する計算よりもはるかに小さいため、SNARKsが簡潔である理由です。
ZK-SNARKを使用するZK Rollupのほとんどは、以下のステップに従います。
1. L2のユーザーが取引に署名し、検証者に提出します。
2. 検証者は暗号学を利用して複数の取引を圧縮し、対応する有効性証明(SNARK)を生成します。
3. L1チェーン上のスマートコントラクトが有効性証明を検証し、この取引が主チェーンに公開されるかどうかを決定します。
注目すべきは、ZK-SNARKが信頼できる設定を必要とすることです。この段階で、鍵生成者はプログラムと秘密のパラメータを取得して、証明を作成し、証明を検証するために使用される2つの公開鍵を生成します。これらの2つの公開鍵は、信頼できる設定儀式を通じて一度生成される公共パラメータを使用して、ゼロ知識プロトコルに参加したい各当事者が何度も使用できます。ユーザーは、信頼できる設定儀式の参加者が悪用しないことを信じる必要があり、参加者の誠実性を評価する方法はありません。秘密のパラメータを知っていると、偽の証明を生成して検証者を欺くことができるため、潜在的な安全リスクがあります。現在、研究者たちは信頼仮定なしでZK-SNARKを実現する方法を探求しています。
利点
1. セキュリティ
ZK Rollupは、ZK-SNARKが高度な暗号セキュリティメカニズムを使用しているため、OP Rollupよりも安全な拡張ソリューションと見なされています。これは、検証者を欺いたり悪意のある行動を行ったりすることが非常に困難です。
2. 高スループット
ZK-SNARKは、イーサリアムの基盤での計算量を削減し、メインネットの混雑を緩和し、チェーン外計算が取引手数料を分担し、より迅速な取引速度をもたらします。
3. 小さな証明サイズ
SNARK証明の小さなサイズは、主チェーン上での検証を容易にし、チェーン外取引のガス料金が低く、ユーザーのコストを削減します。
制限
1. 相対的な集中化
ほとんどの場合、信頼できる設定に依存しています。これは、ブロックチェーンの信頼を排除するという初期の目的に反します。
ZK-SNARKを使用して有効性証明を生成することは計算集約的なプロセスであり、証明者は専用のハードウェアに投資する必要があります。これらのハードウェアは高価であり、少数の人しか負担できないため、ZK-SNARKの証明プロセスは高度に集中化しています。
- ZK-SNARKは、効果的な有効性証明を生成するために使用される情報を暗号化するために楕円曲線暗号(ECC)を使用しています。現在は比較的安全ですが、量子計算の進歩がその安全モデルを破る可能性があります。
ZK-SNARKを使用しているプロジェクト
Polygon Hermez
Polygonは2021年に2.5億ドルでHermezを買収し、2つのブロックチェーンネットワークの全面的な買収の最初のケースとなりました。HermezはPolygonの急成長するユーザー群にZK技術とツールを提供し、PolygonがzkEVMの開発をサポートすることを可能にしました。Hermez 1.0は支払いプラットフォームであり、一連の取引をチェーン外で実行し、ユーザーがERC-20トークンを1つのHermezアカウントから別のHermezアカウントに便利に移動できるようにし、毎秒2000回の取引を処理できます。
Hermez 2.0は、ゼロ知識のzkEVMとして、透明にイーサリアム取引を実行し、ゼロ知識検証を持つスマートコントラクトを含みます。これはイーサリアムと完全に互換性があり、スマートコントラクトコードに大きな変更を加えることなく、開発者がL1プロジェクトをPolygon Hermezにデプロイするのを容易にします。Hermez 1.0はSNARK証明を使用し、2.0ではSNARK証明とSTARK証明の両方を使用します。2.0では、STARK証明を使用してチェーン外取引の有効性を証明しますが、STARK証明の主チェーン上での検証コストは非常に高いため、SNARK証明を導入してSTARKを検証します。
zkSync
Matter Labsは2020年にzkSync 1.0を発表し、スマートコントラクトをサポートしていませんでしたが、主に取引や送金に使用されました。スマートコントラクトをサポートするZkSync 2.0は、2023年3月にメインネットで公開されました。
ZkSyncは、イーサリアム上のスマートコントラクトのソースコードSolidityをYulにコンパイルしてEVMの互換性を実現します。Yulは、異なるEVMにコンパイル可能なバイトコードの中間言語です。LLVMコンパイラフレームワークを使用して、YulコードをzkSyncのzkEVMに設計されたカスタムで回路互換のバイトコードセットに再コンパイルできます。この方法により、より高レベルのコードを通じてEVM実行中のすべてのステップに対してzk証明を行う必要がなくなり、高性能を維持しながら証明プロセスを分散化しやすくなります。将来的には、新しいコンパイラフロントエンドを構築することでRust、Javascript、または他の言語のサポートを追加し、zkEVMアーキテクチャの柔軟性と開発者の数を増やすことができます。
Aztec
Aztecは、公共および私的なスマートコントラクトの実行を同時に実現する最初のハイブリッドzkRollupです。これはゼロ知識の実行環境であり、zkEVMではありません。公共および私的な実行を単一のハイブリッド集約に統合することで、機密性を実現します。たとえば、公開AMMのプライバシー取引、公開ゲーム内のプライベート対話、公開DAOのプライバシー投票などです。
4.2 ZK-STARK
ZK-STARKは信頼できる設定を必要としません。ZK-STARKは「Zero-Knowledge Scalable Transparent Argument of Knowledge」の略です。ZK-SNARKと比較して、ZK-STARKはより優れたスケーラビリティと透明性を持っています。
利点
1. 信頼の排除
ZK-STARKは、信頼できる設定の代わりに公開可能な検証可能なランダム性を使用し、参加者への依存を減らし、プロトコルの安全性を向上させます。
2. より強力なスケーラビリティ
基盤となる計算の複雑性が指数関数的に増加しても、ZK-STARKは依然として低い証明および検証時間を維持します。ZK-SNARKのように線形に増加することはありません。
3. より高い安全保証
ZK-STARKは、ZK-SNARKで使用される楕円曲線スキームではなく、衝突耐性ハッシュ値を使用して暗号化されており、量子計算攻撃に対して耐性があります。
制限
1. より大きな証明サイズ
ZK-STARKの証明サイズは大きく、主ネットでの検証コストが高くなります。
2. 低い採用率
ZK-SNARKはブロックチェーンにおける最初の実用的なゼロ知識証明であるため、ほとんどのZK RollupはZK-SNARKを採用しており、より成熟した開発者システムとツールを持っています。ZK-STARKもイーサリアム財団のサポートを受けていますが、相対的に採用率が低く、基盤となるツールはまだ整備されていません。
どのプロジェクトがZK-STARKを使用していますか?
Polygon Miden
Polygon Midenは、Ethereum L2に基づく拡張ソリューションで、zk-STARK技術を利用して大量のL2取引を単一のイーサリアム取引に統合し、処理能力を向上させ、取引コストを削減します。シャーディングを行わずに、Polygon Midenは5秒以内にブロックを生成でき、TPSは1000以上に達します。シャーディングを行った場合、TPSは10,000に達する可能性があります。ユーザーは15分でPolygon MidenからEthereumに資金を引き出すことができます。Polygon Midenのコア機能は、STARKに基づくチューリング完全な仮想マシンであるMiden VMであり、契約の形式的な検証をより簡単にします。
StarkExとStarkNet
StarkExは、特定のアプリケーション向けにカスタマイズされた拡張ソリューションのフレームワークです。プロジェクトはStarkExを使用して、低コストのチェーン外計算を行い、実行の正確性を証明するSTARK証明を生成できます。このような証明には12,000〜500,000の取引が含まれます。最後に、証明はチェーン上のSTARK検証者に送信され、正しいと確認されると状態が更新されます。StarkExにデプロイされたアプリケーションには、永続オプションdYdX、NFT L2 Immutable、スポーツデジタルカード取引市場Sorare、マルチチェーンDeFiアグリゲーターrhino.fiが含まれます。
StarkNetは、許可なしでL2を提供し、誰でもCairo言語で開発されたスマートコントラクトをデプロイできます。StarkNetにデプロイされた契約は相互に対話し、新しいコンポーザブルプロトコルを構築できます。取引を提出する責任があるStarkExとは異なり、StarkNetのソーターは取引をバッチ処理し、それらを処理および証明するために送信します。StarkNetは、他のプロトコルと同期して相互作用する必要があるプロトコルやStarkExアプリケーションの範囲を超えるプロトコルに適しています。StarkNetの開発が進むにつれて、StarkExに基づくアプリケーションはStarkNetに移植でき、コンポーザビリティを享受できるようになります。
ZK-SNARKとZK-STARKの比較
4.3 再帰的ZK-SNARK
通常のZK Rollupは1つの取引ブロックしか処理できず、処理できる取引の数が制限されます。再帰的ZK-SNARKは、1つ以上の取引ブロックを検証し、異なるL2ブロックから生成されたSNARKを単一の有効性証明に統合し、L1チェーンに提出します。一度L1チェーン上の契約が提出された証明を受け入れると、すべての取引が有効になり、ゼロ知識証明を用いて最終的に完了できる取引の数が大幅に増加します。
Plonky2は、Polygon Zeroの一種で、再帰的ZK-SNARKを使用して取引を増加させる新しい証明メカニズムです。再帰SNARKは、いくつかの証明を集約して1つの再帰的証明を生成することで、証明生成プロセスを拡張します。Plonky2は同じ技術を使用して新しいブロック証明の生成時間を短縮します。Plonky2は、何千もの取引を並行して証明を生成し、それらを再帰的に1つのブロック証明に集約するため、生成速度が非常に速くなります。通常の証明メカニズムは、全体のブロック証明を一度に生成しようとするため、効率が低下します。さらに、Plonky2は消費者向けデバイス上で証明を生成でき、SNARK証明に伴うハードウェアの集中化問題を解決します。
5. ゼロ知識ロールアップVS楽観的ロールアップ
ZK-SNARKとZK-STARKは、特にゼロ知識ロールアップソリューションにおいて、ブロックチェーン拡張プロジェクトの核心インフラストラクチャとなっています。ゼロ知識ロールアップとは、すべての計算をチェーン外で処理し、ネットワークの混雑を軽減するためにゼロ知識証明技術を使用するイーサリアムのレイヤー2拡張ソリューションを指します。ゼロ知識ロールアップの主な利点は、イーサリアムの取引スループットを大幅に向上させながら、取引手数料を低く保ち、取引がロールアップにパッケージ化されるとすぐに確定できることです。
現在、イーサリアムのL2拡張ソリューションには、ゼロ知識ロールアップの他に楽観的ロールアップがあります。楽観的ロールアップでは、実行される取引はデフォルトで有効と見なされ、即座に実行されます。詐欺的な取引が発見された場合(誰かが詐欺証明を提出した場合)にのみ、その取引は取り消されます。したがって、セキュリティはゼロ知識ロールアップよりも低くなります。詐欺取引を防ぐために、楽観的ロールアップにはチャレンジ期間が設けられており、取引はチャレンジ期間が終了した後に最終的に確定されます。これにより、ユーザーが資金を回収する際に待機する必要が生じる可能性があります。
EVMを最初に設計したとき、ゼロ知識証明技術の使用は考慮されていませんでした。イーサリアムの創設者Vitalikは、短期的にはゼロ知識ロールアップに技術的な複雑性があると考えていますが、最終的には拡張戦争で楽観的ロールアップに勝つと予想しています。以下はゼロ知識ロールアップと楽観的ロールアップの比較です。
出典:SUSS NiFT、ChatGPT
6. ゼロ知識証明技術の未来の展望は?
ゼロ知識証明技術の分野は独特の地位にあります。近年、多くの努力がこの分野の研究を推進することに捧げられ、多くの成果が暗号学や安全な通信の分野で非常に新しいものとなっています。そのため、多くの興味深い問題が学術界や開発者コミュニティによって解決されるのを待っています。同時に、ゼロ知識証明技術はさまざまなプロジェクトに使用されており、ゼロ知識技術の課題を示し、その要求を拡大しています。
ゼロ知識証明技術で注目すべき分野の一つは、ゼロ知識証明技術の後量子安全性に関する議論です。公開可能なSNARK(簡潔な非インタラクティブ知識証明)は、ゼロ知識技術の重要な構成要素です。しかし、広く使用されている公開可能なSNARKスキームのほとんどは、量子安全とは見なされていません。たとえば、Groth16、Sonic、Marlin、SuperSonic、Spartanなどです。これらのスキームが依存している数学的問題は、量子コンピュータの助けを借りて効果的に解決される可能性があり、後量子世界での安全性を大きく損ないます。
私たちは、学術界が量子安全なゼロ知識証明を積極的に探求していることを発見しました。この証明は、事前処理段階なしでさまざまなステートメントに使用できます。現在、最先端の量子安全ゼロ知識証明の例には、Ligero、Aurora、Fractal、Lattice Bulletproofs、LPK22などのスキームが含まれます。Ligero、Aurora、Fractalはハッシュ関数に基づいており、Lattice BulletproofsとLPK22は格子関数に基づいています。これらの2つの関数は、量子安全であると見なされています。これらのスキームを普及させ、その効率を向上させることがトレンドとなっています。
私たちがゼロ知識技術の未来に期待するもう一つのことは、攻撃に対する抵抗力と関連するコードの成熟度です。書かれたコードの量が増加するにつれて、さまざまなゼロ知識証明技術に対して、より多くの安全でレビューされたライブラリやベストプラクティスが利用されるようになります。もちろん、将来的には発見され、コミュニケーションされるべき一般的なエラーも増えるでしょう。私たちは、この分野が成熟し、高度に採用されることを期待しており、プロトコルの標準化に努め、異なる実装間の相互運用性を確保しています。ZKProofというプロジェクトがすでにそのような取り組みを始めています。
ゼロ知識技術コミュニティにおいて、もう一つのトレンドは、高効率アルゴリズムと特別なハードウェアに関するさらなる作業です。近年、私たちは証明サイズの縮小や証明者と検証者の効率向上を目の当たりにしています。アルゴリズム、特別なハードウェア、計算の最適化の進歩は、より迅速でスケーラブルな実装をもたらす可能性があります。
既存のアルゴリズムの効率は、将来のゼロ知識証明技術のユーザーにとって有利ですが、私たちはゼロ知識証明の機能が拡大し続けることを期待しています。過去には、事前処理ZK-SNARKを実現する際に多くの事例に直面しました。現在、私たちはますます多くのアップグレード可能なZK-SNARKの事例を発見しています。さらに、一部のゼロ知識証明技術の使用は、そのゼロ知識能力ではなく、簡潔性のために行われています。
最後に、ゼロ知識証明技術のもう一つのトレンドは、機械学習とゼロ知識証明の交差(ZKML)です。このアイデアは、多者環境で大規模な言語モデルをトレーニングし、計算を検証するためにゼロ知識技術を使用することを必要とします。これは、現在の人工知能に非常に有用です。この分野でのプロジェクトの興起の可能性があります。
結論
この記事は、ブロックチェーンセキュリティアライアンスのメンバーによって共同執筆されました。この記事を通じて、私たちはゼロ知識証明がブロックチェーン分野で広く応用されていること、技術パス、発展のトレンド、直面している課題を理解することができます。ハードウェア技術と暗号学の発展に伴い、ゼロ知識証明は将来的にさらなるブレークスルーを達成し、デジタル世界により迅速で安全なアプリケーションサービスを提供することが期待されます。