プロバブリーフェアなポーカーの脅威モデル入門
プロバブリーフェアなポーカーは、「運営がシャッフルや配牌をこっそり変えたのではないか」という不安に対する強い答えです。正しく設計されていれば、プレイヤーは結果だけでなく、その結果に至る証拠を確認できます。
ただし、「検証できる公平性」は「すべての不正が消える」という意味ではありません。脅威モデルは、何を守るのか、誰が悪用できるのか、どの証拠で確認できるのかを整理するための考え方です。
まず守る対象を決める
オンラインのテキサスホールデムで守るべきものは、単なるカードの山ではありません。ランダム入力、シャッフル手順、ホールカード、ボード、プレイヤーのアクション、時刻、最終記録まで含めた「一つのハンド全体の信頼性」です。
プレイヤーにとって大切なのは、「信じてください」ではなく「ここを確認できます」と言えるかどうかです。基礎から確認したい場合は、プロバブリーフェアなポーカーとは何か が出発点になります。
実用的な脅威モデルでは、次の点を見ます。
- サーバーだけで全カードや全ホールカードを知れるか。
- 重要なランダム入力は公開前に固定されているか。
- ハンド終了後に検証用データを取り出せるか。
- 問題が起きた時、誰がいつ何をしたかログで追えるか。
リスクを種類ごとに分ける
一つ目は配牌そのもののリスクです。サーバーが一人でデッキを作る、平文のデッキを持つ、プレイヤーの行動を見てからシードを変える、イベント順序を隠す、といった問題です。ここではコミットメント、署名、複数参加型シャッフル、再計算できるログが重要になります。
二つ目はプレイヤー行動のリスクです。共謀、ソフトプレイ、複数アカウント、代打ち、リアルタイム支援ツールは、シャッフルが正しくても起こり得ます。カードが公平でも、テーブル上の行動が公平とは限りません。
三つ目はアカウントと端末のリスクです。メールアカウントの乗っ取り、危険なブラウザ拡張、画面共有での手札漏れ、弱いセッション管理、不安定なネットワーク環境は、配牌プロトコルが安全でもプレイヤーを危険にします。
良い脅威モデルは「全部解決する」とは言いません。暗号で証明する部分、不正対策で調べる部分、プレイヤー自身が守る部分を分けて説明します。
宣伝文句より証拠を見る
「安全な乱数を使っています」だけでは足りません。見るべきなのは、ランダム入力がいつ作られたか、公開前にコミットされていたか、重要なメッセージに署名があるか、ハンド後に第三者が結果を再計算できるかです。
最終結果だけが表示されても、独立した検証には弱いままです。より良い設計では、ハンド ID、参加者の提出値、コミット、公開値、署名、イベント順、検証結果が監査証跡として残ります。詳しくは ポーカーの監査証跡とは何か を参照してください。
脅威モデリングはポーカー専用の考え方ではありません。OWASP は、攻撃者の視点からアプリケーションのセキュリティリスクを見つけ、扱うための構造化された方法として説明しています:OWASP Threat Modeling Process。
公平性の証明と不正対策を混同しない
検証可能な配牌は、デッキに関する疑問に答えます。シャッフルは公開された手順通りか。公開値はコミットメントと一致するか。最終カードは記録と一致するか。
不正対策は別の疑問に答えます。特定のアカウント同士が不自然に避け合っていないか。二つの席が奇妙に連携していないか。外部支援を使っていないか。一回の不運ではなく、繰り返しのパターンがあるか。
どちらも必要です。完全に検証できるシャッフルでも、二人が通話で情報交換していることは自動では分かりません。逆に、不正対策が厳しくても、サーバーが全ホールカードを見られる構造なら理想的とは言えません。この境界は プロバブリーフェアなポーカーにも不正対策が必要な理由 で詳しく扱っています。
プレイヤー向けの確認リスト
プレイヤーが暗号学者になる必要はありません。サーバーだけで配牌できるのか、検証データはどこにあるのか、異議申し立てにハンド記録を使えるのか、合謀やアカウント乗っ取りなど解決できない範囲を説明しているかを見れば十分です。
信頼できる説明は、たいてい具体的で限定的です。シャッフル証明、証拠の残し方、不正対策、アカウント安全を分けて話します。本当の公平性とは、リスクがゼロだと言い張ることではなく、リスクを名指しし、減らし、確認できる証拠を残すことです。