GAME MATH LIBRARY
Provably Fair とは?Commit / Reveal・HMAC・Server RNG の違い
重要なのはラベルではなく、秘密値の reveal 後にプレイヤー自身が同じ deterministic outcome を再計算できるかどうかです。
Wavelet Intelligence · 2026-09-25直接回答
重要なのはラベルではなく、秘密値の reveal 後にプレイヤー自身が同じ deterministic outcome を再計算できるかどうかです。
要点
- 基本
- 先に commit、後で reveal
- 主な道具
- HMAC / hash
- 検証入力
- seed + nonce → outcome
- 証明しないこと
- 公平性のすべて
01
Commit / Reveal が解決する問題
Round 前に server seed の hash を公開すると、未公開の秘密値に先に commit できます。
Round 後に元 seed を reveal すれば、先の hash と一致するか確認でき、プレイヤー操作を見てから seed を差し替える余地を小さくできます。
02
HMAC で seed を outcome に変換
server seed、client seed、nonce、round id などを deterministic input として HMAC-SHA256 等へ入力します。
Digest を公開 mapping で dice roll、Plinko path、card sequence へ変換すれば、入力とアルゴリズムから同じ結果を再計算できます。
03
Server CSPRNG は自動的に Provably Fair ではない
Cryptographically secure RNG は高品質な乱数を生成できますが、replayable seed / commitment がなければ個別 round をプレイヤー自身で再検証できません。
『安全な RNG を使う』と『player-verifiable Provably Fair』は別の主張です。
04
Provably Fair だけで公平性は完結しない
主に outcome generation の検証であり、paytable、RTP 表示、Wallet settlement、規制遵守まで自動的に証明するものではありません。
ゲーム数学、outcome authority、表示、会計証拠を分けて確認する必要があります。
EXAMPLE
検証フロー例
1. Round 前:hash(serverSeed) を公開2. Round:HMAC(serverSeed, clientSeed + nonce) を計算3. Round 後:serverSeed を reveal4. hash と HMAC を再計算し commitment と outcome を確認
よくある質問
公開 hash から server seed を逆算できる?
適切な cryptographic hash は preimage resistance を持つよう設計され、hash 公開だけで元 seed を実用的に逆算できないことが前提です。
Provably Fair ならアニメーションも正しい?
server-authoritative outcome と最終表示が一致している必要があります。RNG 検証だけでは presentation / settlement の整合性を代替できません。
Server CSPRNG の Slot は Provably Fair?
必ずしもそうではありません。player-replayable commitment/reveal がなければ server CSPRNG と表現する方が正確です。