Честная игра (provably fair)
Как это работает
- До игры сервер генерирует секретный server seed и показывает вам только его хеш SHA-256.
- Вы можете задать свой client seed. Каждое открытие или Upgrade использует следующий nonce (0, 1, 2…).
- Бросок:
HMAC_SHA256(key = serverSeed, msg = "clientSeed:nonce:0"), первые 13 hex-символов (52 бита) делятся на 252 → число roll в [0, 1). - Кейс: предметы кейса сортируются по id, roll × сумма весов указывает на предмет по накопленным весам. Upgrade: выигрыш, если roll < шанс.
- Когда вы меняете пару сидов в профиле, старый server seed раскрывается — сверьте его хеш с тем, что был показан заранее.
Сервер не может подменить результат: server seed зафиксирован хешем до броска, а client seed и nonce известны вам.