Cardano がゼロ知識アプリケーション向けのネイティブ Poseidon 対応を提案
CIP-0199 は Poseidon の置換を Plutus のネイティブ関数として追加することを提案し、スマートコントラクトとゼロ知識証明を組み合わせたアプリケーションに、より効率的な基盤を Cardano 開発者へ提供する。提案は正式な審査中であり、メインネットでは利用できない。
By SongMarketCap
Updated:
Cardano Improvement Proposal 0199 は、ゼロ知識アプリケーション向けに新たな Plutus の暗号プリミティブを導入する。CIP 編集者は初期の技術レビューに続き、9月15日に候補として確認した。提案はまだマージも有効化もされていないため、通常の ADA 取引に影響はない。
CIP-0199 が新たな Plutus プリミティブを導入
この提案は、bls12_381_poseidonPermutation と呼ばれる Plutus のビルトインを追加するものだ。スマートコントラクトは、スクリプト内で計算を再現するのではなく、Cardano のネイティブな Plutus 実装を通じて Poseidon の置換を実行できるようになる。
Poseidon はゼロ知識システム向けに設計された暗号関数群である。SHA-256 や Blake2b といった従来のハッシュとは異なり、多くの ZK サーキットで用いられるものと同種の有限体演算を使う。
従来のハッシュは汎用プロセッサ上では効率的に動作するが、ゼロ知識サーキット内でははるかに多くの制約を要する。ネイティブな Poseidon 関数があれば、証明内でデータを処理し、その後に Cardano のスマートコントラクトで検証する際の計算ギャップを縮小できる可能性がある。
CIP-0199 は Gamze Orhon Kilic と Thomas Vellekoop によって執筆された。実装の詳細は Plutus チームと議論中であり、プルリクエストは引き続きオープンのままだ。
Poseidon が既存の ZK ツール群と Cardano をつなぐ
ゼロ知識アプリケーションでは、完全なデータセットを開示せずに、ある情報がより大きなデータセットに属することを証明するために Merkle 木が頻繁に用いられる。ルートはオンチェーンに保存し、必要に応じて個々のメンバーシップ証明を検証できる。
CIP-0199 によれば、従来のハッシュ関数は一回の評価に数万のサーキット制約を要することがある。これに対して Poseidon は、ネイティブな体の加算と乗算に依拠するため、数百の制約で同等の処理が可能だ。
初期のレジストリには二つの Poseidon バリアントが含まれる。一つは Midnight が用いるゼロ知識ライブラリである midnight-zk に基づくもの。もう一つは BLS12-381 のスカラーフィールド上で Circom スタイルの R1CS エコシステムに従うものだ。
したがって Plutus スクリプトは、確立された二つの ZK 開発アプローチで生成されたコミットメントと証明を検証できるようになる。この提案は、各システムが要求するハッシュの作法をアプリケーション側で再現可能にしつつ、基礎となる置換を標準化する。
予備的なベンチマークでは、Plutus のコストモデル用ベンチマークマシンにおいて、一回の Poseidon 置換はおよそ 22 から 24 マイクロ秒と見積もられている。一回の呼び出しは、現在の一取引あたりの CPU 予算のおよそ 0.24 パーセントを消費し、深さ 20 の Merkle 証明ではおよそ 4.8 パーセントを消費すると推定される。これらの結果は、プロダクションの Cardano リリースではなく、予備的な統合作業に基づくものだ。
セキュリティレビューがアクティベーションの道筋を定義
CIP-0199 は、完全なハッシュ関数ではなく Poseidon の置換を提案している。ZK エコシステムでは、入力の並べ方や内部状態の初期化、最終出力の選び方に異なる作法がある。
Plutus は計算集約的な置換を実行し、その周囲のハッシュ構造を正しく実装する責任は各アプリケーションに残る。誤った枠組みは非互換または安全でない構成を生み得るため、この提案にはテストベクターと利用ガイダンスが含まれている。
予備実装は、独立監査を完了していない C ベースの Poseidon コアにも依存している。追加の Plutus 統合、コストパラメータの確定、相互検証済みのテストベクター、そして外部のセキュリティレビューがなお必要だ。
候補のステータスになっても、その関数が自動的に Cardano に追加されるわけではない。開発者がメインネットで利用できるようになる前に、実装の完了と技術承認、プロトコルの有効化が引き続き必要となる。
有効化されれば、CIP-0199 は Poseidon ベースのコミットメントとゼロ知識証明を検証するためのネイティブコンポーネントを Plutus に提供する。これにより ADA を中心とした Cardano の開発基盤が拡張されるとともに、Midnight と Circom ベースの証明システムに対する明確な互換性の道筋が確立される。