Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Gaming & ZoKrates

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.
Avatar for oggata oggata
October 01, 2022

Gaming & ZoKrates

Canva

https://www.canva.com/design/DAG5eYb_iAc/GwNiGcr3-LlhP89FC_6tHQ/edit?utm_content=DAG5eYb_iAc&utm_campaign=designshare&utm_medium=link2&utm_source=sharebutton

本資料では、ゼロ知識証明技術を活用したゲーム開発の新しいパラダイムを解説します。従来のマルチプレイゲームでは中央サーバーによる検証が必須でしたが、ゼロ知識証明を用いることで、プレイヤー間で直接的に公平性を保証できます。ZoKratesというツールを使い、戦艦ゲームやカードゲームなどの具体的な実装例を通じて、ゲームロジックの秘匿性とデジタルオーナーシップの両立を実現する方法を学びます。アリババの洞窟から始まった理論が、楕円曲線暗号やPCPSによって実用的に進化し、現代のブロックチェーンゲームやAI認証まで応用されている様子を、実践的な視点から紹介します。

Avatar for oggata

oggata

October 01, 2022
Tweet

More Decks by oggata

Other Decks in Technology

Transcript

  1. 通信を最短経路で届ける (WebRTC) 中央のサーバーがなくても、 マルチプレイが可能 (専用のサーバーが閉じた後も プレイヤーがいれば、ゲームプレイが可能。 ) 秘密を守ることができる 1. なぜゼロ知識証明が必要なのか?:中央サーバー不要の信頼モデル

    Gaming & ZoKrates 概要 従来のオンラインゲームでは、中央サーバーがすべてのプレイヤー行動を監視・検証することで公平性を担保してきました。しかし、この仕組みには通信遅延、サーバーコスト、運営者 への信頼依存といった課題があります。本章では、ゼロ知識証明を用いることで、プレイヤー間で直接的に行動の正当性を証明し合える分散型の信頼モデルを実現できる理由を解説します。 サーバーレスでも不正を防げる新しいゲームアーキテクチャの必要性を明らかにします。
  2. Single Multiplay Gaming & ZoKrates Game用のVPS  (Minecraft , PalWorld ,

    Arkなどで使われている) ソーシャルゲーム(人と繋がるこ とが前提の場合) チート行為の排他は重要 3. マルチプレイでゲームコードを配布できない理由:監視可能性のジレンマ 概要 シングルプレイゲームでは、プレイヤーのローカル環境でゲームロジックを実行しても問題ありません。しかしマルチプレイでは、クライアント側にゲームコード全体を配布すると、プ レイヤーが他者の秘密情報(手札、位置情報など)を監視したり、不正な入力を送信したりする可能性があります。本章では、従来のクライアント・サーバーモデルがこの問題をどう解決し てきたか、そしてなぜ完全なコード配布が困難なのかを技術的に説明します。
  3. https://pages.cs.wisc.edu/~mkowalcz/628.pdf?ref=morioh.com&utm_source=morioh.com Gaming & ZoKrates アリババの洞窟にはA とB の2 つ道がある。太郎さんは洞窟の中に ある秘密の抜け道を通るための合言葉を花子さんから教えてもら いたい。花子さんはこの合言葉を1

    万円で売ってくれると言ってい るものの、太郎さんは花子さんが本当に合言葉を知っていると確 信するまでは支払うつもりはなく、花子さんも、太郎さんがお金 を支払うまではそれを共有しない。 この両者硬直の状態を解決して取引を確実なものとするためには 次のような証明手順を踏めば良い。 太郎さんは洞窟の外で待って いる。花子さんはA かB どちらかの道で洞窟の奥へと進む(このと き太郎さんには花子さんがどちらを選択したかは見られない) 。太 郎さんは洞窟に入り、分岐点でA かB どちらかの道から戻ってくる よう花子さんに指示する。花子さんは太郎さんに言われた方の道 から分岐点に戻る。1 〜3 を繰り返す。 5. アリババの洞窟:ゼロ知識証明の理論的起源 概要 1985年、暗号学者たちによって提案された「アリババの洞窟」の思考実験は、ゼロ知識証明の概念を初めて明確にしました。この物語では、秘密の呪文を知っている証明者が、呪文その ものを明かさずに「知っている」ことを検証者に納得させます。本章では、この古典的な例を通じて、対話型ゼロ知識証明の基本構造(コミットメント、チャレンジ、レスポンス)と、 「完全 性」 「健全性」 「ゼロ知識性」という三つの重要な性質を解説します。
  4. 項目 アリババの洞窟 ZK-SNARKs 証明回数 100回 1回 通信 往復必要 一方通行 確実性

    99.99...% 100% 発明年 1980年代 2010年代 用途 教育 実用 1980 年代: ゼロ知識証明(対話型) 1985 年: 楕円曲線暗号 1986 年: FIAT-SHAMIR 変換 1990 年代: PCPS 理論 ← 大発見 2001 年: ペアリング暗号 ← 楕円曲線の応用 2010 年代: QAP ← 実用化の鍵 2016 年: GROTH16 ← 最適化 → すべてが統合してZK-SNARKS 誕生 Gaming & ZoKrates 6. PCP 定理と楕円曲線暗号:対話型から非対話型への進化 概要 初期のゼロ知識証明は対話型プロトコルであり、証明者と検証者がリアルタイムでやり取りする必要がありました。しかし1990年代のPCP(Probabilistically Checkable Proofs)定理の 発見と、楕円曲線暗号を用いたペアリング技術の発展により、証明を一度生成すれば誰でも検証できる「非対話型ゼロ知識証明(NIZK) 」が実用化されました。本章では、zk-SNARKsやzk- STARKsといった現代的な手法への進化の歴史と、それらがゲーム開発にもたらす可能性を概観します。
  5. What is ZoKrates? ZoKrates は、** ゼロ知識証明(ZK-SNARKs )を簡単に作成・使用するためのツールキット** で す。 ###

    特徴 - ** 高級言語**: Python に似た分かりやすい構文 - ** 完全なツールチェーン**: コンパイル→セットアップ→証明生成→検証まで一貫してサポート - ** ブロックチェーン統合**: Ethereum 、Solana などのスマートコントラクトと連携可能 - ** オープンソース**: GitHub で公開されており、誰でも利用可能 ### なぜZoKrates が必要? ZK-SNARKs を直接実装するのは非常に複雑です: - 数学的な知識(楕円曲線、ペアリング暗号など) - 低レベルの回路設計 - 暗号学的パラメータの管理 ZoKrates はこれらを抽象化して、プログラマーが簡単に使えるようにしています。 Gaming & ZoKrates 7. ZOKRATES とは?:ゼロ知識証明を書くための高級言語 概要 ZoKratesは、ゼロ知識証明を簡単に実装できるツールチェーンです。Python風の構文で制約条件を記述するだけで、複雑な楕円曲線演算やペアリング計算を自動的に処理し、証明の生成 と検証を可能にします。本章では、ZoKratesの基本的なワークフロー(コンパイル、セットアップ、証明生成、検証)を紹介し、開発者がどのようにして数学的な詳細を意識せずにゼロ知識 証明をゲームに組み込めるかを説明します。エコシステムとコミュニティの状況にも触れます。
  6. What is ZoKrates? ZoKrates は、** ゼロ知識証明(ZK-SNARKs )を簡単に作成・使用するためのツールキット** で す。 ###

    特徴 - ** 高級言語**: Python に似た分かりやすい構文 - ** 完全なツールチェーン**: コンパイル→セットアップ→証明生成→検証まで一貫してサポート - ** ブロックチェーン統合**: Ethereum 、Solana などのスマートコントラクトと連携可能 - ** オープンソース**: GitHub で公開されており、誰でも利用可能 ### なぜZoKrates が必要? ZK-SNARKs を直接実装するのは非常に複雑です: - 数学的な知識(楕円曲線、ペアリング暗号など) - 低レベルの回路設計 - 暗号学的パラメータの管理 ZoKrates はこれらを抽象化して、プログラマーが簡単に使えるようにしています。 Gaming & ZoKrates 8. ZOKRATES とブロックチェーンの相性:スマートコントラクトでの検証 概要 ZoKratesは、生成した証明をEthereumなどのブロックチェーン上のスマートコントラクトで検証できる形式にエクスポートできます。これにより、ゲームの公平性を分散型台帳上で保 証し、プレイヤー間の信頼を中央機関なしで確立できます。本章では、ZoKratesがどのようにSolidityコードを出力するか、オンチェーン検証のガスコストの考慮点、そしてブロックチェーン ゲーム(GameFi)における実用性について解説します。トークンやNFTとの連携可能性にも言及します。
  7. ZoKrates で ゲームロジックを書く Solidity コードを 自動生成 Ethereum にデプロイ 検証 verifier.sol

    mana_check.zok Gaming & ZoKrates 9. ゲームロジックの事例:ルール遵守の証明パターン 概要 ゲームには様々なルールがあり、それぞれに適したゼロ知識証明のパターンが存在します。本章では、 「範囲証明(数値が一定範囲内にあることを証明) 」 「メンバーシップ証明(要素が 集合に含まれることを証明) 」 「計算の正当性証明(ゲームロジックに従った結果であることを証明) 」など、汎用的なパターンを紹介します。具体的なZoKratesコードスニペットとともに、ど のようなゲームメカニクスにどのパターンが適用できるかを示します。
  8. Proving Key (証明鍵) 、Verification Key (検証鍵) 、 Ethereum 秘密鍵(ウォレットの鍵) 【準備】開発者

    【プレイ】アリス 【検証】スマートコン トラクト ① zokrates setup → proving.key と verification.key を生成 ② verification.key → Solidity コント ラクトを生成してデプロイ ③ proving.key をWeb で公開(誰で もダウンロード可能) ④ proving.key をダウンロード(誰 でも可能) ⑤ 自分の秘密情報(手札)で証明を 生成 Verification Key (検証鍵) ⑥ 自分のETH 秘密鍵でトランザクシ ョン署名 ⑦ Ethereum に送信 ⑧ verification.key で証明を検証 「誰かが正しい手札を持っている」 ⑨ msg.sender で確認「アリスが送 信した」 ⑩ 両方OK なら処理実行 Gaming & ZoKrates 10. 証明鍵、検証鍵、秘密情報の違い:鍵管理の基礎知識 概要 ゼロ知識証明システムには複数の種類の「鍵」が登場し、それぞれ異なる役割を持ちます。証明鍵(Proving Key)は証明生成に必要、検証鍵(Verification Key)は証明の検証に必要、 そして秘密情報(Witness/Private Input)は証明したい事実の根拠となるデータです。本章では、これらの鍵の生成方法、配布方法、セキュリティ上の注意点を整理します。特に、信頼でき るセットアップ(Trusted Setup)の問題と、その回避方法についても触れます。
  9. 用途 データ量 実現可能性 方法 デッキ検証 40枚 ◎ 直接処理 カード検索 100万枚

    ◎ Merkle Tree 勝率計算 1万人 ◦ 分割処理 全件統計 10万人 △ オフチェーン+証明 Gaming & ZoKrates 11. ゲーム実装事例①:カードゲームでの手札秘匿 概要 トレーディングカードゲームやポーカーでは、各プレイヤーの手札を秘密にしながら、カードの使用が正当であることを証明する必要があります。本章では、ZoKratesを用いて「デッキ から正しくカードを引いた」 「使用したカードが実際に手札にある」 「カードの効果計算が正しい」ことを証明するゲームを実装します。具体的なコード例とともに、ハッシュ関数を用いたコ ミットメント方式や、Merkle Treeによる効率的な所持証明の技術を解説します。
  10. Gaming & ZoKrates 信頼できる発行者(政府など)から 「あなたは東京都民です」という証 明書をもらう → それをZK で「秘密にしながら」証 明する

    アプリケーションを作成している企 業 12. ゲーム実装事例②:ロケーションプルーフ(位置情報証明) 概要 位置情報を用いたゲーム(AR/位置ゲー)では、プレイヤーが特定の場所にいることを証明する必要があります。しかし、正確な座標を公開すると、プライバシー侵害やストーキングの リスクが生じます。本章では、 「一定範囲内にいる」 「特定のエリアに入った」ことを、正確な位置を明かさずに証明するロケーションプルーフをZoKratesで実装します。GPS座標のゼロ知識 証明と、実世界の位置ベースゲームへの応用可能性を探ります。
  11. ZKPassport アプリ App Store / Google Play でダウンロード可能 パスポートのNFC をスキャン

    年齢・国籍を証明 採用企業 Google Cloud 、Velodrome 、Aave などが主要クライ アント Biometric Update Aztec Network Aztec テストネットでは、ZKPassport を統合してノー ドオペレーターが人間であることを証明し、ネットワ ークに参加できるようにしています 1. アプリをダウンロード └→ App Store: ZKPassport └→ 公式サイト: https://zkpassport.id/ 2. パスポートをスキャン └→ スマホをかざすだけ(数秒) 3. 証明を生成 └→ 「18 歳以上」 「EU 市民」など └→ 詳細は秘密のまま 4. dApp で使用 └→ エアドロップ └→ 年齢制限コンテンツ └→ 投票 Gaming & ZoKrates 実用的な機能 Sybil 攻撃防止: 1 パスポート = 1 ウォレット 年齢確認: 18 歳以上を証明(生年月日は秘密) 国籍証明: EU 市民を証明(どの国かは秘密) プライバシー保護: ローカルで証明生成 📊 成長状況 Self は2025 年に900 万ドルのシード資金調達を完 了し、参加者にはGreenfield Capital 、Softbank の SBI Fund 、Polygon の創業者などが含まれています Biometric Update インドのAadhaar デジタルID システムにも対応し、 インドの成人の99% がリモートでオンボーディング 可能 Biometric Update 結論: zkPassport は完全に実用段階で、今すぐ使え ます! 13. パスポートへの応用:ZKPASSPORT による年齢・国籍証明 概要 ゲームのレーティング規制や地域制限では、プレイヤーの年齢や国籍を確認する必要があります。ZKPassport技術を用いると、パスポートのデジタル署名を検証しながら、 「18歳以上で ある」 「特定の国の居住者である」といった属性のみを証明し、名前や生年月日などの詳細情報は開示しません。本章では、ゼロ知識証明が身元確認(KYC)とプライバシー保護を両立させる 方法と、ゲーム業界での実用化シナリオを紹介します。
  12. zkLogin (Sui ) Google ログインでブロックチ ェーンにアクセス、760 万トラ ンザクション以上の実績 X 秘密鍵不要

    zkPassport / Self Protocol パスポートで身分証明 700 万ユーザー 1. 認証・ログイン 系 zkSync Era Ethereum で7 番目に大きい Layer 2 ネットワーク、 TVL7.6 億ドル以上、4 億ト ランザクション処理済み KuCoin Polygon zkEVM EVM 互換でトランザクショ ン費用を最大90% 削減 KuCoin StarkNet ZK-STARKs 使用(量子耐性) Trusted Setup 不要 Scroll EVM 互換Layer 2 2. スケーリング (Layer 2 )系 ZKML (Zero-Knowledge Machine Learning ) AI モデルの推論を検証可能 に、主要プロジェクトに Risc Zero 、Succinct 、 Modulus Labs など ICME EZKL ディープラーニングモデル の検証 Python から使える 3. AI ・機械学習 系 Axiom 過去のブロックチェーンデ ータに安全にアクセス GitHub Hyper Oracle プログラマブルzkOracle ネ ットワーク GitHub 4. オラクル・デ ータ系 Gaming & ZoKrates 14. その他への応用:認証、スケーリング、AI 、オラクルデータ 概要 ゼロ知識証明の応用範囲はゲームロジックの検証だけにとどまりません。本章では、 「認証(パスワードを送信せずにログイン) 」 「スケーリング(ブロックチェーンのトランザクション 圧縮) 」 「AI(モデルの推論結果の正当性証明) 」 「オラクルデータ(外部データの真正性証明) 」など、ゲーム開発に関連する幅広い応用例を概観します。これらの技術がどのように組み合わさ って、次世代のゲームエコシステムを形成するかを展望します。