クライアントシード vs サーバーシード——なぜプロバブリーフェアは2つのシードを要するか
プロバブリーフェアでは、デッキのシャッフルを決めるのは1つの数ではなく2つ:サーバーシードとクライアントシードです。なぜ2つ?この記事はそれぞれが何か、なぜ両方が不可欠かをやさしく解説します。
たとえ:2人で一緒に洗牌する
シャッフルを1人が決めるのではなく、2人がそれぞれ半分を出し、混ぜ合わせると想像してください:
- サーバーシード:プラットフォームが出す半分の乱数データ;
- クライアントシード:あなた(プレイヤー側)が出す半分;
- 最終的なカード順:両シードを混ぜて計算——どちらの側も単独では結果を決められない。
これが肝心:あなたの半分が混ざる限り、プラットフォームは自分の望むようにカードを並べられません。
なぜ両方が不可欠か
分解すれば、各シードが何を防ぐか分かります:
- サーバーシードだけなら? カードは完全にプラットフォームが決め、あなたは信じるしかない——「安心して」の古い問題に逆戻り;
- クライアントシードだけなら? プラットフォームはあなたのシードを見てから、自分に有利な配り方を選べる;
- 両方+事前コミット:プラットフォームは最終結果を知る前にサーバーシードを固定(ハッシュコミットを公開)せねばならず、「あなたのカードを見て自分のを調整」できない。あなたのシードが事前配列を防ぎ、彼のコミットが翻意を防ぐ。
一言で:2つのシードが互いに牽制し、誰も一方的にこのデッキを操れない。
プレイヤーは実は参加できる
多くの人が知らないこと:クライアントシードはしばしば閲覧でき、時には自分で変更もできる。 これは:
- 「このデッキに確かに私の半分が混ざっている」と確認できる;
- 必要なら自分のクライアントシードを変え、プラットフォームが予測できないようさらに確保できる;
- 検証時は、この2つのシードを合わせて再計算し、カード順が合うか見る。
3つの素朴な理解
- 2つのシード=双方が半分ずつ出す:混ぜて初めてカードを決め、一方だけでは決まらない;
- 順序が重要:プラットフォームが先にコミットし後で公開するのが、不正できない鍵(シャッフルのランダム性に詳しく);
- アルゴリズムを理解する必要はなく、仕組みだけ:「私の半分が混ざり、プラットフォームは自分の半分を先に固定した」と分かれば、なぜこのデッキが一方的に操れないか理解できる。
一言で:サーバーシードはプラットフォームの半分、クライアントシードはあなたの半分、混ぜて初めてカード順を決める;加えてプラットフォームは先にコミットし後で公開せねばならず、誰も単独で操れない。 これこそプロバブリーフェアが「信じて」より優れる点:信頼ではなく、不正をできなくする仕組みによる。
自分で見てみる
次にプレイするとき、公平検証で「クライアントシード/サーバーシード」の2項目を探してみましょう。あなたのクライアントシードがどんなものか、変更できるオプションがあるか見てください。一目見るだけでも、より実感を持って理解できます:このデッキはプラットフォーム1人が決めるものではない。遊戯チップで数ハンド打ち、この仕組みを見抜けば、「公平」という言葉に自分の裏付けを持てます。