イーサリアム開発者、ZKP活用の「ZKシークレットサンタ」プロトコル仕様を公開

イーサリアム開発者がプライバシー強化プロトコルを開発

イーサリアム(Ethereum)コミュニティで活動する開発者のアルテム・チスティアコフ(Artem Chystiakov)氏が、ゼロ知識証明(Zero-Knowledge Proof:ZKP)を活用した「ZKシークレットサンタ(ZK Secret Santa:ZKSS)」プロトコルの仕様を、イーサリアム研究フォーラム「イーサリサーチ(EthResear.ch)」で12月1日に投稿した。ZKSSは、クリスマスシーズンに行われる匿名のギフト交換ゲーム「シークレットサンタ」を、透明性の高いブロックチェーン上でもプライバシーを保ちながら成立させることを狙う提案である。

この仕組みは、2025年1月に学術論文サイト「アーカイブ(arXiv)」でプレプリントとして公開されており、今回の投稿はその内容をコミュニティ向けに共有した形だ。論文では、ZKSSは「セットアップを伴う3ステップ」のアルゴリズムで、ZKPにより送信者と受信者の関係の正当性を検証しつつ、送信者の匿名性を維持すると説明されている。

投稿では、オンチェーンで同ゲームを成立させるうえでの課題として、(1)ブロックチェーンの公開性(当事者の紐付けが露見しやすい)、(2)オンチェーンに真のランダム性がない点、(3)同一人物による複数回参加(double voting)の防止、の3点が挙げられている。これらに対し、ZKSSではトランザクションリレイヤー(中継者)とZKP、ならびにヌリファイア(nullifier)と呼ばれる仕組みを組み合わせて対処する設計としている。 これにより送信者と受信者の関係を検証しながら送信者の身元を秘匿する。ゼロ知識証明は特定の情報を明かさずに知識を証明する暗号技術であり、トランザクションリレイヤーはトランザクションを代理送信することで送信者の身元を隠す仲介者として機能する。

ZKSSは、参加者全員が関与する「3ステップの非対話型プロセス」とされ、事前のセットアップ(参加者アドレス登録)は1回行えば複数回のゲームに再利用できるとしている。

まずセットアップとして、参加者のイーサリアムアドレスをスマートコントラクトに公開登録し、参加者集合(Sparse Merkle Tree)を構成する。次に1ステップ目の署名コミット(Signature Commitment)として、参加者は特定のメッセージ(address と eventId など)に対する署名をハッシュ化してコントラクトにコミットする。これは後続ステップでの不正(署名の非決定性を悪用した回避など)を抑止する狙いがある。

2ステップ目は送信者決定(Gift sender determination)だ。各参加者は自分の「ランダム値 r」を、リレイヤー経由で匿名に配列へ追加する。ZKPにより参加資格やコミット済み署名の整合性などを検証しつつ、r と参加者の対応関係は隠す。加えてヌリファイア(使い捨てタグ)により、同一参加者が複数回 r を投入することを防ぐ設計である。そして3ステップ目は、受信者開示(Gift receiver disclosure)となる。最後に参加者が送信者(上記の r)を選び、ZKP検証を通じて受信者アドレスが対応付けられる。受信者側はこの段階で身元(msg.sender)が明らかになるため、リレイヤーは必須ではないとしている。

なおヌリファイア(nullifier)は、参加者の身元を明かさずに「同じ人が同一イベントに二度参加(同じ操作を二度実行)できない」ことだけを判定するための使い捨て識別子で、コントラクト側はこの値の重複を検知することで複数回参加などの不正を防ぐ。

ZKSSでは、参加者が提供するランダム値 r として「2048-bit のRSA公開鍵」を用いることが推奨されている。これにより、受信者は配送先住所などの情報を送信者のRSA公開鍵で暗号化でき、割り当てられた送信者のみが復号できる、という想定だ。

チスティアコフ氏は「イーサリアム上ではすべてが公開されているため、誰が誰に送るかを隠し、プライバシーを維持する方法が必要だ。ブロックチェーンには真のランダム性がないため、参加者は自身でランダムな選択を行う必要があり、誰も二度参加したり自分自身にギフトを送ったりできないようゲームを設計する必要がある」と説明している。

ZKSSはゲームの仕組みを題材にしつつ、ZKPとリレイヤーを組み合わせた「当事者の正当性を証明しながら、関係性や行動を秘匿する」枠組みとして、匿名投票・ガバナンス、内部告発者システム、プライベートなトークン配布(エアドロップ等)への応用可能性も指摘されている。

匿名投票では、ユーザーが組織のメンバーであることを証明しながら投票内容を秘密に保つことができる。また内部告発者システムでは、認証された従業員であることを証明しながら匿名で情報を提出できる。

一方で現時点では、主に仕様・研究の公開段階である。報道によれば、オープンソース実装や展開について問われた際、チスティアコフ氏は「取り組んでいる(We’re working on it)」と述べたとのことだ。

参考:イーサリサーチ
画像:PIXTA

関連ニュース

関連するキーワード

この記事の著者・インタビューイ

田村聖次

和歌山大学システム工学部所属 格闘技やオーケストラ、茶道など幅広い趣味を持つ。 SNSでは、チェコ人という名義で、ブロックチェーンエンジニアや、マーケターとしても活動している。「あたらしい経済」の外部記者として記事の執筆も。