provably fairdiceguide
バックギャモンのダイスは、対局前に交わされ対局後に検査される約束で確かめます。Orion は最初の一投の前に秘密のシードへの SHA-256 コミットメントを公開し、対局が終わるとシードを明かし、対局 ID だけであなたのブラウザが orion.arthea.ai/verify ですべての出目を再計算できるようにします。すべてが一致すれば、ダイスは対局が始まる前に固定されており、私たちを含め誰もそれを操っていません。
オンラインで指す人なら誰でも知っている感覚があります。三手のあいだバーで踊る。相手は当たって押さえる唯一の目を見つける。木の盤なら肩をすくめて終わりです。ダイスが筒を出るのを見ていたからです。オンラインでは、生成されるところを見ていない数字を信じろと言われます。私たちはその信頼を求めたくありませんでした。確かめられるようにしたかったのです。
コミットメント方式とは実際に何か
封をした封筒を思い浮かべてください。あなたが座る前に、家がその晩のダイスをすべて中に書き、封をし、封印の写真をあなたに渡します。対局が終わると封筒が開かれます。中身が封印と一致すれば、出目は対局より先に存在していたことになり、途中であなたに不利なものを選ぶことはできなかったとわかります。コミットメント方式とは、その封筒を算術で作ったものです。封印は SHA-256 ハッシュで、それに一致する別のシードを誰も作れません。四つの段階が、証明を私たちのサーバーからあなたのブラウザへ運びます。
対局の前に. サーバーは秘密の乱数シードを引き、SHA-256 でハッシュします。そのハッシュがコミットメントであり、初手の前にあなたの対局へ結び付けられます。その瞬間から、対局のダイスはすべて決まっています。サーバーは、もはや編集できない約束を公開したのです。
対局のあいだ. すべての出目は HMAC-SHA256 でシードから導かれます。入力はシードと投目の番号、出力は二個のダイス。局面も、スコアも、キューブも、誰が勝ちそうかも、計算には一切入りません。サーバーは出目を選んでいるのではありません。あなたが指す前にコミットした一覧を読み上げているだけです。
対局が終わったら. シードが明かされ、対局記録とともに保存されます。これが封筒を開ける瞬間です。誰でも明かされたシードをハッシュし、初手の前に公開されたコミットメントと比べられます。二つは完全に同一でなければなりません。
自分で検証する. 任意のブラウザで orion.arthea.ai/verify を開き、対局 ID を入力します。ページはブラウザ自体に組み込まれた暗号機能である Web Crypto を使い、すべてをローカルに再計算します。まず明かされたシードの SHA-256 を元のコミットメントと照合し、次に対局のすべての出目を一つずつ。アカウントもアプリも不要で、およそ一分です。
完全な一致は、三つの事実を同時に立てます。
- 明かされたシードは、最初の一投の前に公開されたコミットメントそのものにハッシュされる
- 対局のすべての出目が HMAC-SHA256 でそのシードから導かれる。つまり振り直しも差し替えもない
- ダイスは局面にも、スコアにも、プレイヤーにも、一度も合わせられていない
一致しなかったら何が証明されるのか
不一致は表示の不具合ではありません。証拠です。明かされたシードがコミットメントにハッシュされないなら、ダイスは対局開始後に変えられています。一投でも HMAC の検査に落ちるなら、あなたが見たダイスはコミットされたダイスではありません。どちらの失敗も改竄の証拠であり、同じ記録から、どんな機械でも、いつまでも再現できます。
だからこそ、あなたはそれを目にしないはずなのです。コミットメントは最初に、駒が一つも動く前に公開されます。この対局を仕組みたい家は、自らの不正の証拠を前もって公開し、そのうえで全プレイヤーにそれを見つける道具を渡さねばなりません。私たちは、私たちが正直だと信じてくれとは言いません。信じなくてよいように作りました。
対局前に封じられた一投を、誰も狙うことはできない。
証明できるほど公正なのに、なぜ悪い目が出るのか
公正なダイスもやはりダイスだからです。バーで閉じ込められます。2-1 以外なら何でもいいときに 2-1 が出ます。数千局を通せば数字は本来の分布に均されますが、一晩は何も約束しません。検証が取り除くのは、傾きの下にある問いのほうです。あの奇跡の一投は、二人が駒に触れる前に固定されており、あなたを狙ってはいませんでした。それを知っても出目は柔らかくなりません。ただ、宇宙の監査をやめて局面に戻ることはできます。
ダイスは最も声の大きい疑いですが、唯一の疑いではありません。あなたの出目にコミットするのと同じサーバーが、すべての着手をその場で検証しているので、改造されたクライアントも規則の許さないところへ駒を滑り込ませることはできません。公正な出目と合法な着手は、同じ権威から来ます。
いま検証ページを試せるのか
試せます。検証ページは今日すでに orion.arthea.ai/verify で動いており、デモ用のリプレイも入っているので、何もインストールせずアカウントも作らずに、サンプル対局で検証が最後まで走る様子を見られます。orion.arthea.ai/go の入口は App Store と Google Play のリンクを持ち、今この瞬間に手に入るものを常に示します。