Provably Fair(プロバブリーフェア)とは?
Provably fairとは、カジノゲームの結果が、ラウンド開始前に(開始後ではなく)公正に決定されていたことを、運営会社やライセンス発行団体、第三者の監査機関を信頼することなく、自分自身で独立して検証できる暗号技術の仕組みです。これはほぼ暗号資産カジノに限定して存在する仕組みで、ブロックチェーン文化から直接生まれたものだからです。取引がオンチェーンで誰でも検証できるようにするのと同じ発想を、ゲームの結果にも適用したものと言えます。
従来型のオンラインカジノは、独立した検査機関が定期的に認証する乱数生成器(RNG:Random Number Generator)を使用していますが、実際のコードやシード値は運営会社のソフトウェア内に封印されたままです。つまりプレイヤーが信頼しているのは認証証明書であって、自分がプレイしたその特定のラウンドを検証しているわけではありません。Provably fairはこの構造を逆転させます。すべてのラウンドに、賭けを行った後に結果が改ざんされていない(そもそも改ざんできなかった)ことを数学的に証明するための暗号データが付属しているのです。
仕組み
すべてのprovably fairラウンドは、3つのデータによって成り立っています。サーバーシード(server seed)は、カジノがラウンド前に生成し、その暗号学的ハッシュ値を公開することでコミットするランダムな値です。ハッシュ値は一方向性の「指紋」のようなもので、シード自体はまだ明かさずに、そのシードが事前に確定して存在していたことを証明します。クライアントシード(client seed)はプレイヤー自身がコントロールする値で、手動で入力するか、ブラウザで自動生成されます。これにより、カジノだけが結果の唯一の決定者になることを防ぎます。ナンス(nonce)は単なるカウンターで、ベットのたびに増加し、同じ2つのシードの組み合わせから同じ結果が二度と生成されないようにします。
ベットを行うと、ゲームはこの3つの値をすべて組み合わせて(通常はSHA-256やHMAC-SHA512を通して処理し)結果を算出します。サーバーシードのハッシュ値はベット前に公開されており、実際のサーバーシードはその後(多くの場合、新しいシードに切り替えるタイミングで)公開されるため、プレイヤーはこの3つの入力値をすべて使い、同じ公開アルゴリズムを自分自身で実行して、結果が公開された内容と正確に一致するかを確認できます。もし一致しなければ、それはカジノが不正を行った証拠です。そしてシードが公開され、計算方法もオープンになっているため、誰でもそれを見抜くことができます。
自分でラウンドを検証する方法
ほとんどのprovably fairカジノは、ゲーム内やアカウントの履歴に検証ツールを直接組み込んでいるため、自分で計算する必要はありません。基本的な手順は次の通りです。ベット履歴から対象のラウンドを見つけ、公開されたサーバーシード、自分のクライアントシード、そのベットのナンスを確認します。次に、その3つをカジノの検証ページ(またはアルゴリズムが公開されカジノに依存しないため、独立した第三者の検証ツール)に入力します。すると結果がゼロから再計算され、プレイ中に表示された結果と一致するかどうかが示されます。
特に負けが続いて何か違和感を覚えたときには、時々これを試してみましょう。真っ当なprovably fairカジノであれば、このプロセスを拒んだり、わかりにくくしたりすることは決してありません。なぜなら、たとえそうしたくてもカジノ側が不正を働けないというのが、この仕組みの本質だからです。
Provably Fairが使われているゲームは?
この仕組みは、1つの乱数だけで結果が決まる、シンプルで結果がすぐに出るゲームに最も適しており、だからこそクラッシュ系ゲームやインスタントゲームのジャンルで主流になっています。Aviatorのようなクラッシュゲームは、上昇し続けてどこかでクラッシュするランダムな倍率を生成しますし、Dice、Plinko、Limbo系のゲームも同様に、1ラウンドにつき1回の検証可能なランダム抽選に帰着します。これらの形式が人気なのは、プレイしやすいと同時に検証もしやすいからです。
スロットやライブディーラーのようなゲームでは、何百というリールの停止位置や物理的なホイールが関わってくるため検証の計算がはるかに複雑になり、provably fairの採用はそれほど一般的ではありません(不可能というわけではありませんが)。provably fairによる検証を重視するなら、スロットよりもクラッシュ系、ダイス系、インスタントゲームを優先して選ぶとよいでしょう。
Provably Fair 対 従来型RNG
どちらの方式も、それ自体でランダム性が優れている・劣っているというわけではありません。きちんと実装されたRNGも、きちんと実装されたprovably fairエンジンも、どちらも統計的に公正な結果を生み出します。違いは「誰を信頼する必要があるか」という点です。RNGの場合、プレイヤーは検査機関の証明書と、認証されたソフトウェアが実際に稼働しているという運営会社の言葉を信頼することになります。provably fairの場合は、誰も信頼する必要がありません。自分がプレイしたその特定のラウンドを、公開ツールを使っていつでも自分自身で確認できるからです。
とはいえ、provably fairは悪質な運営会社に対する万能の保証ではありません。これが証明するのは、ベット後にゲームのランダム性が操作されていないということだけであり、出金の速さやライセンスの正当性、そもそもカジノがきちんと支払いを行うかどうかについては何も証明してくれません。provably fairは、カジノのライセンスや評判を確認する作業に代わるものではなく、複数ある強力な信頼シグナルの1つとして捉えるべきです。