RNGランダムシーケンスの事実
ランダムなシーケンスは「カオス」ではなく、検証可能なプロパティを持つ値のストリームです。ゲームシステムでは、スピン、ディストリビューション、乗数の正直さは、このストリームの品質に依存します。以下は、RNGシーケンスが何であるべきか、どのようにチェックされるべきかについての重要な事実です。
1)独立は「美」より重要です"
I。 I。 D。(独立した、等しく配分される)金の標準である。
目に見えるパターンがないことはランダム性を保証するものではありません。相関および連続性のためのテストは「目によって」ではなく、重要です。
2)配分は議定書によって指定されます
「raw」ストリームでは、均一性が仮定されることがよくあります(例えば、32ビットの単語も同様に可能です)。
ゲームでは、スロットシンボル、バーチャルデッキのカード、ホイールセクタなどのイベントに均一な番号がマップされます。正しいマッピング=デッドゾーンがなく、歪みもありません。
3)常に期間があります-質問はその長さにあります
PRNGには有限周期(周期性)がある。良い発電機は非常に長い期間を持っているので、実際の操作では「バイパス」することはありません。
ステート/ノンスの再利用マッチを避けることが重要です。そうでなければ、サブセクションは繰り返されます。
4)種子-予測不可能の根
座席による初期化が正しくないと、反復可能または予測可能な出力が得られます。
信頼性の高いシステムは、マルチチャンネルエントロピーと周期的再シード(文書化)を使用します。
5)エントロピーは「ノイズ」と同じではありません"
ビットエントロピーは、フローがどれほど予測不可能かを測定します。
ハードウェアエントロピー(ノイズ)は通常、暗号DRBG (CSPRNG)によって消化され、高速で永続的なストリームを生成します。
6) p値は「美しい」であるべきではありません"
テスト電池(周波数、シリーズ、「誕生日」、マトリックスランクなど)では、p値は[0;1]むしろ"0の周りに集まる。
1つの「赤い」テストは問題を証明しません:チェックの多重性を考慮し、実行を繰り返します。
7)ローカル「ストリップ」はバグではありません
任意の本当にランダムなシーケンスでは、クラスタ(ゼロ/ゼロの長いシリーズ、文字の繰り返し)が発生します。
ストライプは正常です。全身リスク-大きな窓の上に永続的な歪み。
8)直線性は隠された敵です
LCG形式の単純な線形ジェネレータは、基本的なテストに合格することができますが、複雑なもの(行列ランク、線形複雑性、DFT)に「注ぐ」ことができます。
ゲーム業界では、標準は暗号DRBG(ブロック暗号/ハッシュなど)です。
9)マッピングは静止してバージョン管理されている必要があります
マッチテーブル「number→event」=新しいゲームバージョンを変更して再確認します。
良い練習は、ハッシュサムとデジタル署名でマッピングをハード修正することです。
10)「ほとんど勝つ」-インターフェイスについてではなく、ストリームについて
ニアミスはビジュアルドラマの一部です。シェアと行動はゲームの数学によって設定されます。
RNGは数字を出し、インターフェイスはストーリーを伝えます。これらのレイヤーは分離する必要があります。
11)再現性≠予測可能性
監査では、結果を再現できるように各ラウンドがログに記録されます(ラウンドID、 sid/nonce、ハッシュ)。
シークレット(sid)とステートは保護されています。
12)「良い」シーケンスは監督の下でprodに住んでいます
リリース後、監視は重要です:RTPが認定されたものに収束するかどうか、シンボル、繰り返し、および「ホット」番号の周波数にドリフトがあるかどうか。
しきい値のアラート→タイトルの分離と技術的調査。
13)ステータスとフロー-別
異なるゲーム/テーブル/インスタンスは独立したRNG状態を使用します。
1つのストリームを複数の製品に「分割」することはできません。
14)前方/後方セキュリティは、それが思われるよりも重要です
現在の状態を損なう場合、良いCSPRNGはシーケンスの過去(バッキング抵抗)と未来(フォワードセキュリティ)を明らかにするべきではありません。
これは、暗号プリミティブと定期的な再読み込みによって達成されます。
15) 「Provably fair」は不適切な置換を証明します
コミットrevil (server sid hash→disclosure)+client sidは、プレイヤーに結果を再計算する機会を与えます。
これは一貫性を保証しますが、ゲームの数学とマッピングを監査する代わりにはなりません。
どのような悪い一貫性のように見える(兆候)
同じ入力でsides/nonce→duplicateの結果を繰り返します。
大きな窓の中で安定した周波数のスキュー(単一のクラスタではありません)。
DFTで検出可能な期間、TestU01/BigCrushで「ディップ」。
合理的なボリュームのために宣言された経験的RTPのドリフト。
どのような良い一貫性がどのように見えるか
信頼の間隔内の周波数そしてseriality;ユニフォームp -values。
隣接する元素と遠い元素の間の相関関係の欠如。
モデルへの経験的なRTP/イベント周波数収束。
本番バイナリと認定バイナリ(ハッシュコントロール)の差はゼロです。
ミニベッド&ブレックファスト
スタジオ/プロバイダー向け
マルチチャンネルエントロピーからの再シードを文書化したCSPRNG+を使用します。
ストリーム/ゲーム別の状態;ノンスログを保持します。
RTPがなくなるまで、レースのNIST/Dieharder/TestU01、マッピングのマシミュレーション。
デジタル署名のマッピングとバイナリを修正します。署名されていないリリースを禁止します。
prodでアラートをドリフトメトリックに設定します。分離およびロールバック計画。
オペレータのため
認定されたものに対してゲームバージョンとハッシュをチェックします。
RTP/周波数/繰り返しを監視します。しきい値と自動アラートを保持します。
チケットで素早くエクスポートできるように、変更できない丸太を保存します。
プレイヤーの皆様へ
RTP、ルール、バージョン、最大勝利情報画面を確認します。
クラスターを「ねじれ」と混同しないでください。ストライプは正常です。
紛争では、ラウンドIDと抽出物を要求します-結果を再現する必要があります。
RNGランダムシーケンスは、独立性、正しい分布、長い期間、有能なサイディング、妥協に対する抵抗など、検証可能な特性を持つエンジニアリングアーティファクトです。ゲームでは、高品質のストリームが正しいマッピングと制御手順に接続されている場所で正直が発生します:リリース前の認証、ログ、および後の監視。3つのレイヤーが揃うと、「ランダム性」は約束から信頼できる練習に変わります。