News

公正なゲームサーバーは誰も信じない、私たち自身も

サーバー権威とは何か。サーバーが盤を持ち、すべての着手をその場で検証し、コミットメント方式のダイスが家すら正直に保ちます。

engineeringfairnessmultiplayer

サーバー権威とは、意味を持つ唯一の対局の写しをサーバーが保つということです。あなたの端末は指したい手を送り、サーバーはそれを自分のダイスと自分の規則に照らして検査し、そのあとで初めて盤が変わります。改造されたアプリは何とでも主張できますが、真実はそれが届かない場所にあります。

バックギャモンはこの厳しさに値します。梯子と賭け金のあるダイスゲームであり、つまり不正の道は二つあります。着手を偽るか、出目を曲げるか。公正なサーバーは両方の扉を閉じなければなりません。二つ目の扉には私たち自身も含まれます。それには後で触れます。

サーバー権威とは実際に何を意味するのか

Orion のすべての対局は、ちょうど一か所に存在します。私たちのサーバーの上です。あなたの携帯の盤は窓であって、対局ではありません。駒をドラッグしても、アプリはそれを動かしていません。これを指したい、という短いメッセージを送るだけです。サーバーはその意図を、自分の盤で、自分の規則エンジンで、そのターンに自分が振ったダイスを使って再生します。合法な手は対局を進め、両プレイヤーが同じ新しい局面を受け取ります。非合法な手は、起こらなかったことになります。

全員にとって一つのサーバーです。iOS アプリはネイティブの SwiftUI、Android アプリはネイティブの Jetpack Compose、そして両方とも同じバックエンドと同じプレイヤー層への窓です。ガラスは違い、真実は同じ。

クライアントを信じるゲームはなぜ不正されるのか

相手の端末は相手のものだからです。そこで動くものは何でも書き換えられます。パッチを当てたクライアントは、一度も合法でなかった手を送れます。メモリ編集ツールは数字をその場で書き換えられ、画面はその嘘を忠実に表示します。どれも珍しいことではありません。道具は無料で、文書化されていて、スマートフォンより古いのです。

クライアントを信じるゲームは、全プレイヤーにボンネットを開けないと約束させています。開ける人はいます。ですから私たちは、クライアントの意見を無意味にしました。Orion のアプリの仕事はちょうど三つです。

  • 描く。盤、駒、キューブ、タイマー。
  • 頼む。サーバーに手を指すよう頼み、ダブルを提案し、投了する。
  • 受け取る。サーバーが本物だと言う局面を表示する。

ダイスを振ること、合法性を判断すること、コインを一枚動かすことは、その一覧にありません。結果を決めるものは何一つ端末で生まれません。

手を指すと何が起こるのか

あなたが指す。. アプリが意図を送ります。この駒を、この地点へ。あなたの端末上では、本物の盤は何も変わりません。

サーバーが再生する。. 私たちの規則エンジンが、サーバーの盤とサーバーのダイスに対してその手を走らせます。合法なら対局が進みます。合法でなければ、どのアプリが送ってきたものであれ、その場で拒否されます。

双方が同じ真実を受け取る。. 新しい局面が両プレイヤーへ送られます。接続が切れても、ターンタイマーの再接続猶予が席を守り、あなたはあなたの携帯が最後に覚えていた盤ではなく、実際にある盤へ戻ります。

賭け金も同じ規則に従います。参加費のある対局が始まると、サーバーが両者の掛け金を預かります。ポットは一つの台帳の中、サーバーの上で生き、対局が終わるとそこで清算されます。どのクライアントも、自分がいくら勝ったと思うかを報告するよう求められません。コインとジェムは仮想のもので、現実の価値はなく換金もできませんが、それでも私たちはこの台帳を大切なものが入っているように運用します。実際入っているからです。スコアへのあなたの信頼が。

サーバー自身の不正は何が止めるのか

これは正しい問いで、ほとんどのゲームはあなたが尋ねないことを願っています。人目のないところでダイスを振るサーバーは、贔屓したい相手に優しく振れますし、あなたにはそれが見えません。どの出目ももっともらしく見えます。ダイスとはそういうものです。

ですから私たちは、その力を自分自身から取り上げました。対局が始まる前に、サーバーは秘密のシードを生成し、それへの SHA-256 コミットメントを公開します。すべての出目はそのシードから HMAC-SHA256 で、一投ずつ、順番に導かれます。対局が終わると、サーバーはシードを明かします。誰でも、そのシードが最初の一投の前になされたコミットメントと合うこと、そして対局のすべての出目がそこから従うことを確かめられます。暗号の意味において、あなたのダイスは両者が駒に触れる前に固定されていました。私たちは、零投目に公開した約束を壊さずに十二投目を曲げることはできません。

この何一つ、私たちの言葉を信じる必要はありません。orion.arthea.ai/verify の検証ページが、対局の公開記録から、あなたの機械の上で、Web Crypto を使って連鎖全体を再計算します。アカウントも不要、インストールも不要。orion.arthea.ai/go の入口は App Store と Google Play のリンクを持ち、今この瞬間に手に入るものを常に示します。