Modulo-PがCardanoのZKツール群を匿名投票とプライベートアプリケーション向けに公開

オープンソースのスタックはCardano-Semaphore、プライベート投票、Proof of Innocenceおよび再利用可能なセットアップ基盤を組み合わせ、Cardano上でゼロ知識アプリケーションを構築する際に必要な暗号基盤の作業を削減する。

By SongMarketCap

Cardano News - Modulo-PがCardanoのZKツール群を匿名投票とプライベートアプリケーション向けに公開

Modulo-Pは、Cardanoの開発者が匿名メンバーシップ、プライベート投票、プライバシーを保護するコンプライアンスアプリケーションを構築するために利用できるオープンソースのゼロ知識スタックを発表した。Agustín Salinasは7月10日のCardano Developers Office Hours #68でこの取り組みを説明し、初期のPlutus V2やHydraでの実験から、再利用可能なAikenコントラクトと共有の暗号セットアップ基盤へと至る開発の道のりをたどった。

これらのコンポーネントは単一のコンシューマー製品を構成するものではない。開発者が基礎となるプライベートデータを開示することなく、本人性やメンバーシップ、取引特性の証明を必要とするアプリケーションに統合できる個別のビルディングブロックを提供する。

Cardano-SemaphoreがAikenにもたらす匿名メンバーシップ

Modulo-Pは2023年にCardano上でゼロ知識証明の実験を開始した。当時は効率的な検証に必要なPlutusのプリミティブがネットワークにまだ備わっておらず、Aikenも広く使われるスマートコントラクト言語として成熟していなかった。

チームの最初のベリファイアは大規模で計算コストが高く、初期実装をCardanoのレイヤー1で行うには適していなかった。開発はHydraに移り、そこでModulo-Pは、隠された組み合わせを明かすことなく参加者が手掛かりの妥当性を証明できる、Mastermindのゼロ知識版を作成した。

その後Plutus V3がネイティブのBLS12-381暗号関数を導入し、Aikenはコンパイルと開発サイクルを大幅に短縮した。Modulo-Pはこれらの機能を活用して、Groth16ベリファイアのAiken実装であるak-381を公開し、続いてCardano-Semaphoreをリリースした。

SemaphoreはもともとEthereumエコシステムで開発されたゼロ知識プロトコルであり、ユーザーが自分がどのメンバーであるかを明かさずに、定義されたグループへの所属を証明できる。

Cardano-SemaphoreはそのモデルをAikenのスマートコントラクトで実装する。検証済みのメンバーは、投票や選好、メッセージなどアプリ固有の入力を表す匿名シグナルを提出できる。プロトコルは、送信者が有効なプライベートアイデンティティを保有し、認可されたグループに属し、同種のシグナルを既に提出していないことを検証する。

この実装により、各チームが匿名メンバーシップや重複防止のロジックを個別に設計する必要はなく、Cardanoアプリケーションに再利用可能なプライバシーレイヤーが提供される。想定される用途には、プライベートな調査、組織の意思決定、匿名による支持表明、行為をウォレットやアイデンティティに公開で結び付けることなく参加を制限するガバナンスシステムなどがある。

プライベート投票とProof of Innocenceがツールを実用化

Modulo-PはCardanoのPreprod環境で動作する投票アプリケーションの基盤としてCardano-Semaphoreを用いている。

現在の実装は一人一票モデルをサポートする。参加者は自分が適格なグループに属していることを証明し、匿名で投票し、どの登録メンバーが選択したかを明かすことなく提出した選択にコミットする。

Salinasは、このアーキテクチャは加重投票や異なる設問形式にも適応可能だと述べた。これらの構成は、各アプリケーションがグループメンバーシップや投票権、各投票期間を規定するルールをどのように定義するかに依存する。

この投票アプリケーションは、Semaphoreと匿名シグナリングのCardano実装に資金を提供した以前のProject Catalystの取り組みに続くものだ。Fund 11のプロジェクトは100,000 ADAを受け、完了として掲載されており、成果物は完全なオープンソースとして設計されている。

2つ目のアプリケーションであるProof of Innocenceは、ENCOINS、Modulo-P、Eryx Cooperativeによって開発された。

Proof of Innocenceは、特定の取引、送金元アドレス、証明の生成に用いたプライベートな履歴を開示することなく、資金が定義された悪意のある取引集合に関連していないことを示すことを可能にする。

プライバシープロトコルは、ユーザーが資金を引き出す際にこの仕組みを適用できる。取引の全経路を公開する代わりに、ユーザーは関連するデポジットやコミットメントがプロトコルのブラックリストに含まれていないことを示すゼロ知識証明を生成する。

Project Catalystはこの取り組みに150,000 ADAを割り当てた。プロジェクトは完了として掲載されており、研究、ゼロ知識サーキット、スマートコントラクト、テスト、最終ドキュメントを網羅する。成果物は本番のコンプライアンスサービスではなく、あくまで概念実証にとどまっている。

この区別はコードを評価する開発者にとって重要だ。この実装は、選択的検証がCardano上でどのように機能し得るかを示しているが、商用展開には監査済みのコントラクト、信頼できるデータソース、明確に定義されたブラックリストのガバナンス、プライベートな取引を処理するアプリケーションとの統合が依然として必要となる。

再利用可能なPowers of TauパラメータがZKセットアップ作業を削減

Groth16のような効率的な証明システムは、アプリケーションが証明を安全に生成および検証できるようにする前段として、信頼できるセットアップを必要とする。

Powers of Tauのセレモニーでは、複数の参加者が共有の暗号パラメータ集合に秘密の乱数を提供する。各参加者は自らの秘密の寄与が取り込まれた後にそれを破棄しなければならない。少なくとも一人の寄与者がその手続きを誠実に完了すれば、いかなる当事者も完全な秘密を再構成できないため、最終的な出力は安全に保たれる。

Modulo-PとENCOINSは、約40人のコミュニティ参加者とともにCardanoに特化したPowers of Tauセレモニーを実施した。Salinasによれば、順次の寄与プロセスはおよそ20日間続いた。

この取り組みはProject Catalystを通じて87,141 ADAを受け取り、準備、セレモニーの実施、公開ポータル、最終納品の四つのマイルストーンを完了した。得られたパラメータは互換性のあるCardanoアプリケーションで再利用でき、新しいサーキットごとにセットアップの第一段階を繰り返す必要をなくす。

それでもGroth16アプリケーションには、アプリケーション固有のサーキットに結び付いた第二段階のセットアップが必要だ。CardanoとEthereumのゼロ知識コミュニティの貢献者たちは、その段階を簡素化するためにBrebajeを開発している。

このプロトコルに依存しないツールは、チームがセレモニーを作成し、寄与を調整し、参加者記録を公開し、監査可能な経過を保存できるよう支援することを目的としている。Brebajeは現在も活発に開発中で、本番のサービスとしてはまだ完成していない。

Modulo-Pは、実験的なツールの数を継続的に増やすことよりも、より強固なドキュメンテーション、セキュリティレビュー、開発者のワークフローの容易化を優先している。Cardanoのチームはすでに、公開されたGroth16ベリファイアのコード、Cardano-Semaphoreのコントラクト、完成したProof of Innocenceのリファレンス実装、再利用可能なフェーズ1パラメータから着手できる。残る作業は、ゼロ知識の基盤を一から作り直すことではなく、各アプリケーション固有のものであり、サーキット設計、必要に応じた第二段階のセレモニー、監査、本番統合を含む。