fairnessprovably fairdice
できます。オンラインのダイスはあなたに見えないサーバーの上で振られ、出た数字があなたの盤に届くまでのあいだに運営が書き換えるのを物理的に妨げるものは何もありません。出目だけではどちらの方向にも証明はできないので、正直な問いは「不正が可能かどうか」ではなく、「不正がなかったとゲーム自身が証明できるかどうか」です。
私たちはバックギャモンのゲームを作っているので、この件で中立ではありません。だからこそ、居心地の悪い部分も含めて、きちんと答えたいのです。
なぜどのサイトでもダイスは仕組まれているように感じるのか
バックギャモンのぶれが容赦なく、人の記憶が偏っているからです。二個のダイスの出方は三十六通り。連続は不具合ではなく必然で、今夜どこかで正直なサーバーが、駒を一つも間違えなかった誰かに対してゾロ目を四回続けて出します。あなたはブロットを打った 5-5 を覚えています。先週の火曜に自分を救った奇跡の目は覚えていません。負けは残り、助かった記憶は蒸発し、三回続けて負ければダイスは個人的なものに感じられます。本物の盤、本物のカフェでも同じように感じられます。四十年木の駒を動かしてきた人に聞いてみてください。
ここに罠があります。仕組まれたゲームもまったく同じように感じられるのです。連続はどちらの方向にも何も証明しないので、証拠が「ダイスの感触」であるなら、正直なサーバーと不正なサーバーは区別できません。私たちにも区別できません。これはオンラインのダイスの擁護ではありません。これこそがオンラインのダイスの問題です。
サイトは実際にダイスを操作できるのか
技術的にはできますし、難しくもありません。サーバーは振る前に盤面のすべてを見ています。不正をしたい運営なら、こうできます。
- 最も重要な瞬間だけ、百回に数回の出目を傾ける。当たる目、入れないバー、負け局をひっくり返すゾロ目。
- 対局を人工的に接戦に保ち、セッションを長引かせ、負けを惜敗のように見せる。
- 運営に利害のある側を、静かに有利にする。
- プレイヤーが実行しうるあらゆる統計検定を、ダイスが通り続ける程度にしか行わない。
特定のサイトがそうしていると主張しているのではありません。構造がそれを許すと言っているのです。閉じたサーバーとは鍵のかかった部屋です。運営は人目のないところで振り、数字を報告し、信じてくれと言う。扉の外からは、正直な運営も不正な運営もまったく同じに見えます。
認証済みの乱数生成器があれば公正だと証明されるのでは
その証明書が実際に何を対象にしているかを読んでください。試験機関が調べるのは生成器です。台の上のアルゴリズムが、統計検査を通る数百万個の数字を出す。それは部品を認証します。配送については何も言いません。つまり、あなたの盤に届いた数字がその生成器から、その瞬間に、途中で何にも変えられずに来たのかどうかです。奥の部屋にある検定済みの秤は、あなたのパンがそれで量られた証明にはなりません。
認証はまたスナップショットでもあります。稼働中のサーバーは絶えず再デプロイされ、生成器とあなたのゲームのあいだのコード経路は、試験機関が帰ったあともずっと変わり続けます。ですから認証済み乱数は、誰も本当には尋ねていない問いに答えています。大事なのは、良いダイスが敷地のどこかに存在するかではありません。今夜のあなたの対局が、一投ごとにそれを受け取ったかどうかです。
コミットメント方式は実際に何を変えるのか
公正さを、約束から証明へ移します。対局が始まる前に、サーバーは秘密のシードを引き、その指紋にあたる SHA-256 ハッシュ、すなわちコミットメントを公開します。対局中のすべての出目は、そのシードから一投につき一回の HMAC-SHA256 計算で、順番に導かれます。対局が終わると、サーバーはシードを公開します。
これで誰でも二つのことを確かめられます。公開されたシードをハッシュする。それは初手の前に公開されたコミットメントと一致しなければなりません。出目を再計算する。それは盤に現れたすべての数字と一致しなければなりません。もしサーバーがあなたの局面を見たあとに一つでもダイスを変えていたら、計算は合いません。不正は、試せない疑いから、捕まえられる嘘に変わります。
対局前に封じられたダイスは、その対局に反応できない。
これが核心です。役に立つ不正とは反応的なものです。ブロットを見て、当たる目を出す。コミットメント方式はサーバーからその目を奪います。列全体が初手の前に固定されており、コミットメント以降のどんな改変も数学的に検出できるからです。ただし、それはダイスを優しくはしません。列は正直だっただけで、慈悲深くはありません。あなたはこれからも最悪の瞬間にバーに座り、そしてそれが公正だったと証明できるようになります。
実際にどうやって対局を検証するのか
Orion での作り方はこうです。私たちのサーバーで行われたすべての対局は、初手の前になされたコミットメントを持ち、サーバーはすべての着手をその場で検証し、終わった対局の確認は一分ほどで終わります。
検証ページを開く. 任意のブラウザで orion.arthea.ai/verify を開きます。インストールも、アカウント作成も不要です。
対局 ID を入力する. Orion のサーバー対局にはすべて ID があります。それを貼り付けます。
計算はブラウザに任せる. ページは Web Crypto を使い、あなたのブラウザの中で、ローカルにコミットメントとすべての出目を再計算します。私たちの言葉は検査に入りません。もし一つでも数字が変えられていたら、再計算がそう告げます。
検証ページは今日すでに動いています。ゲーム本体も完成しており、orion.arthea.ai/go の入口が App Store と Google Play のリンクを持ち、今この瞬間に手に入るものを常に示します。いずれにせよ、正直な答えは変わりません。はい、オンラインのバックギャモンは不正できます。その解決は、より良い約束ではありません。計算を見せるダイスです。