プルーフネットワークは、ブロックチェーンアプリケーション全体でゼロ知識証明の生成、検証、および配信を調整するオフチェーンインフラストラクチャ層です。これは、ZKコプロセッサーとブロックチェーン層との間の接続組織として機能し、オフチェーンで生成された証明が、スケーラブルで分散型の方法でオンチェーンで効率的に検証できることを保証します。
ZKコプロセッサは、任意の計算に対して暗号証明を生成する能力があります。しかし、これらのシステムは、証明を適切なオンチェーン環境にルーティングし、データ依存関係を管理し、証明が時間通りに生成され、整合性を保つ方法を必要とします。証明ネットワークは、プロバー、バリファイア、関連するオーケストレーションコンポーネントを管理する分散型または半分散型のレイヤーとして、これらのニーズに対応します。
各スマートコントラクト、ロールアップ、またはアプリケーションが独自の孤立したプロバーインフラを設定する代わりに、プローブネットワークは複数のエンティティが共有エコシステムのプロバーにアクセスできるようにします。これにより、重複が減り、コストが低下し、ゼロ知識アプリケーションのためのよりモジュール式で構成可能なエコシステムが作成されます。
プルーフネットワークの役割は、ZKコプロセッサによって生成されたプルーフを受け取り、それをスマートコントラクトが消費できる形式でオンチェーンの検証者に届けることです。このプロセスは、通常エンドユーザーから抽象化された複数のステップを含みます。
最初に、ユーザーまたは契約がフロントエンドまたはAPIを介してZKコプロセッサにリクエストを送信します。コプロセッサは必要なロジックを実行し、証明を生成します。証明を直接オンチェーンに投稿する代わりに、それは証明ネットワークコーディネーターに送信され、証明が有効であり、正しい計算に関連付けられており、重複していないことが保証されます。
検証が完了すると、証明ネットワークは証明をオンチェーンで投稿するか、ユーザーまたはリレイヤーに返し、その後トランザクションに含めます。スマートコントラクトは証明を受け取り、事前にロードされた検証キーを使用してそれを検証します。検証が通過すると、コントラクトは信頼できる結果に基づいてそのロジックを続けます。
このアーキテクチャは、ZKインフラストラクチャをスケーラブルでコンポーザブルにします。特定の回路や証明システムを各スマートコントラクトにハードコーディングする代わりに、開発者はミドルウェア層として機能する証明ネットワークに依存し、オフチェーン計算をオンチェーン状態遷移に接続できます。
典型的なプルーフネットワークは、いくつかの機能的役割を含みます。プロバーは暗号証明を生成する責任があります。彼らはアプリケーションによって定義された計算を実行し、暗号ライブラリを使用して計算が正しく行われたことを証明する証明を作成します。プロバーは、ネットワークの設計に応じて、専門的なノード、GPUワーカー、または信頼された実行環境である場合があります。
検証者は、提出された証明の有効性をチェックするオンチェーンスマートコントラクトです。彼らは軽量で、決定論的で、安全です。証明が検証に合格すると、関連する計算はブロックチェーンによって有効として受け入れられます。
リレイヤーは、証明者インフラストラクチャとブロックチェーンの間の通信を処理するオフチェーンのアクターです。彼らは適切な契約に証明を提出し、必要なメタデータを含め、タイムリーな配信を確保します。一部のネットワークではリレイヤーはオプションですが、他のネットワークではインセンティブを受ける参加者です。
コーディネーターはリクエストとプロバイダーのマッチングを管理します。彼らはユーザーのクエリや計算リクエストを受け取り、それらを利用可能なプロバイダーに割り当てます。コーディネーターは結果を集約し、同一の計算を重複排除し、可用性の保証を提供することもできます。分散ネットワークでは、このコーディネーション層は、整合性を保証するためにステーキングとスラッシングメカニズムを通じて実装することができます。
これらの役割の分離により、柔軟なアーキテクチャが可能になります。単一のアクターが小規模なネットワークで複数の役割を果たすことができるか、または大規模なシステムで役割を多くの参加者に分割することができます。このモジュラリティは、異なるブロックチェーンとユースケースにわたって証明システムをスケーリングするための鍵です。
いくつかのプロジェクトが生産環境でプルーフネットワークを構築しています。Succinctのプロバー ネットワークは、開発者がオンデマンドでZKプルーフを生成し、それを任意のEVM互換チェーンにプッシュできるようにします。これは分散型プルービングをサポートし、任意のオンチェーンアプリケーションを簡潔なプルーフで検証可能にすることを目指しています。Succinctはまた、Tools for Humanityによるロールアップ実験であるWorld Chainでインフラストラクチャを試験運用しました。
ZeroGravityは、複数の証明バックエンドをサポートする完全に分散化された証明レイヤーを構築しています。相互運用性に焦点を当て、ZKコプロセッサをEthereum、ロールアップ、Celestiaのようなモジュラーブロックチェーンに接続することを目指しています。証明生成と検証スタックを抽象化することで、アプリケーションが統一されたZKレイヤーに接続できるようにします。
Lagrange Networkは、検証可能なデータの可用性とステートクエリを専門としています。これにより、アプリケーションは、他のチェーン上でのトークン残高やNFTの所有権を検証するなど、クロスチェーンクエリに対する証拠に基づく回答を要求できます。Lagrangeはモジュラーアプローチを採用しており、開発者はアプリケーションのニーズに応じて証明システムやデータソースを選択できます。
これらのネットワークはそれぞれ異なる問題のレイヤーに取り組んでいます。一部はコンピュートに焦点を当て、他はデータアクセスに、さらに他はプロトコルレベルのインフラに焦点を当てています。これらは一緒になって、ゼロ知識計算がブロックチェーン設計における標準化された再利用可能なレイヤーとなるエコシステムを形作っています。
プルーフネットワークがブロックチェーンとどのように相互作用するかには、ネイティブ検証とモジュラー検証の2つの主要なモデルがあります。
ネイティブ検証とは、ブロックチェーン自体が、しばしばプロトコルレベルで、ゼロ知識証明の検証をサポートすることを意味します。これは、Groth16およびPLONK証明を検証するためのプレコンパイル契約を含むイーサリアムの場合です。ネイティブサポートにより、検証が迅速に行われ、ガスコストが低くなりますが、標準化を必要とし、使用できる証明の種類が制限されます。
モジュラー検証は異なるアプローチを取ります。これは、証明ネットワークを外部サービスとして扱い、契約やブリッジを使用して任意のチェーンに接続できるようにします。オンチェーン検証契約はアプリケーション自体によって展開される可能性があり、証明フォーマットはオフチェーンで定義されます。このモデルはより柔軟であり、開発者が新しい証明システムやカスタムロジックを使用できるようにします。しかし、これには高いコストと複雑さが伴います。
ネイティブ検証とモジュラー検証の選択は、アプリケーションのニーズに依存します。ネイティブ検証は、予測可能な証明フォーマットを持つ高ボリュームのアプリケーションに適しています。モジュラー検証は、研究、カスタムロジック、または急速に進化するシステムにより適しています。証明ネットワークは、両方のモデルをサポートするように設計されており、フォールバックパスと互換性レイヤーを提供しています。
ZK技術が進化し続ける中、プルーフネットワークはスケーラブルで信頼のない計算のための重要なインフラストラクチャとして浮上しています。それにより、開発者は強力なオフチェーンシステムを構築し、それらをブロックチェーン環境に安全に接続することができます。これにより、ゼロ知識証明は暗号学の概念から生産準備が整った技術スタックに変わります。