Midnight の公式アカウントが日本時間 10 月 27 日未明、エコシステム紹介「Ecosystem Spotlight」で ShadowLabz を取り上げました。Build Club から出発してメインネットまで進んだこのチームは、10 月 8 日にシンガポールの TOKEN2049 に合わせて開かれた Midnight のサイドイベント Privacy Pitched で、誰がどれを選んだかを伏せたまま、結果は誰でも確かめられる投票を実演しています。
9 月にメインネット展開が承認された投票の仕組みが、人前で動く段階に入ったことになります。オンチェーン投票は透明であるほど信頼されますが、透明すぎると投票者に圧力がかかります。その両立を、Midnight のゼロ知識証明でどう作っているのか。申請書に書かれた仕様から読み解きます。
Privacy Pitched で見せた「秘密の投票用紙」
Midnight のスレッドは、ShadowLabz の取り組みを「オンチェーンのガバナンスに秘密投票を持ち込む」ものと説明しています。票は Midnight のゼロ知識証明で伏せられ、結果は公に検証できる状態で残る、という説明です。スレッドの 2 本目には、実際の画面を映した動画が添えられています。
舞台になった Privacy Pitched は、TOKEN2049 の会場から歩いて 2 分ほどの Midnight Cafe で 10 月 8 日の午後 1 時に始まったイベントで、Midnight の上で開発を進めるプロジェクトや企業が複数登壇しました。紹介動画では @tom_humber 氏と、Midnight の DevRel(開発者向けの窓口)を務める Jay Albert 氏が、チームの歩みと、Build Club がどう後押ししたかを語っています。Build Club は、Midnight の日本公式アカウントが NightPass や VeilCore を「Build Club 発」のプロジェクトとして紹介してきた枠組みです。
9 月に通った 3 本のコントラクト
実演の土台になっているのは、9 月 23 日に Midnight のデプロイ申請リポジトリでマージされた Shadow Labz の申請です(承認時の解説)。申請書によれば、対象は次の 3 本でした。
- Shadow Polls — 参加資格を、名簿を一つの値に畳み込んだマークル木の根に対して証明してから投票します。1 人 1 票はヌリファイアで強制され、公開されるのは選択肢ごとの集計だけです
- Shadow Feedback — 匿名の意見収集です。意見の中身はトピック管理者の鍵で暗号化され、チェーン上には 2,048 バイト固定の暗号文として置かれます
- ShadowDAO v1 — 提案の作成を権限者に限り、投票はコミット・リビール方式で行います。開票まで、どれを選んだかは伏せられます
3 本とも、ネイティブトークンを受け取らず、持たず、送らない設計です。申請書は弱点も自分から書いています。Shadow Polls は集計がその場で更新されるため、参加者がごく少ない投票では、取引のタイミングを突き合わせた観測者が選択を推測できる余地がある、というものです。対策として、締め切りまで集計を伏せる HIDDEN_UNTIL_CLOSE を今後の対応に挙げ、そのための項目はすでに保存しているとしています。
資金を預かる部分は、まだ別の申請に残る
今回の実演で見えたのは、投票と意見収集という「資金を持たない」部分です。ShadowDAO v1 も、展開したビルドからは国庫の回路が外されています。
プロジェクトごとに資金を預かるローンチパッドのエスクロー(escrow.compact)は、価値のリスクと預かり資産の上限を単独で審査すべきだとして、申請書の中で「別途提出する」とされたままです。秘密投票が DAO の意思決定に本当に使われるには、決まったことを資金の動きにつなぐ部分が要ります。プライバシーの技術そのものより、資金をどこでどう預かるかが、次の審査の重心になります。
次に見るもの
確認先は、Midnight の midnight-improvement-proposals リポジトリにある deployments ディレクトリです。Shadow Labz の escrow.compact の申請が出れば、ここに新しい申請ファイルとして並び、プライバシー・価値・状態量の 3 観点の自己評価も読めます。資金を扱う申請で「価値」がどの段階に置かれるかが、ShadowLabz が投票の先へ進めるかどうかの目安になります。
ことば
- ヌリファイア — 投票者の秘密から作られる、一度しか使えない印です。同じ人が二度投票すると同じ印が出るので重複を弾けますが、印から本人はたどれません。秘密投票の「1 人 1 票」を支える部品です
- コミット・リビール方式 — 先に選択を封をした形(コミット)で出し、締め切り後に中身を開く(リビール)投票のやり方です。途中経過を見て票を動かす行動を防げるため、少人数の投票で効きます
- マークル木の根 — 名簿全体を一つの短い値に畳み込んだものです。名簿を公開せずに「自分はこの名簿に入っている」ことだけを証明できるので、資格の確認とプライバシーを両立できます
一次ソース / 関連リンク
- Midnight 公式 X「Ecosystem Spotlight: ShadowLabz」(1/)
https://x.com/MidnightNtwrk/status/2114755181342867967 - Midnight 公式 X(2/・実演の動画)
https://x.com/MidnightNtwrk/status/2114755185218089187 - Midnight 公式 X(Privacy Pitched の告知・10 月 8 日)
https://x.com/MidnightNtwrk/status/2108037345819635940
GitHub
