Честная игра (Provably Fair)

3-102-969694 SOCIEDAD DE RESPONSABILIDAD LIMITADA. PROVINCIA 01 SAN JOSE, CANTON 01 SAN JOSE, DISTRITO CARMEN, BARRIO ESCALANTE, AVENIDA SIETE, CALLE VEINTINUEVE, EDIFICIO DOS MIL NOVECIENTOS DIEZ, CENTRO CORPORATIVO AG

Честная игра

SpyDrop использует алгоритм Provably Fair, чтобы любой игрок мог проверить честность игры. Результат кейса или апгрейда определяется заранее зафиксированным серверным сидом, вашим client seed и номером игры, поэтому подтасовать его после начала игры нельзя.

Результат зафиксирован заранее

До игры вы видите хеш серверного сида. Поэтому сервер уже не может незаметно подменить исходные данные.

В расчёте есть ваши данные

Ваш сид и номер игры участвуют в расчёте, поэтому результат не формирует один сервер.

Данные игры

Подставьте данные игры. Расчёт идёт в вашем браузере, на сервер ничего не отправляется.

Массив строк с полями itemId, start, end, name и phase (фаза CS2 или null). Скопируйте его из карточки игры.

Результат проверки

Подставьте данные игры и нажмите «Проверить» — здесь появится выпавшее число и предмет.

Как получается результат

Серверный сид + Ваш сид + Номер игры = Честный результат

Как это работает

  1. Обязательство сервера

    Сервер выбирает случайный серверный сид и показывает только его хеш SHA-256. Подменить сид после этого нельзя: хеш перестанет совпадать.

  2. Хеш игры

    Для каждой игры считается HMAC-SHA256. Ключ — серверный сид в виде 64-символьной hex-строки как есть, без перевода в байты. Сообщение собирается из вида игры, игры, вашего client seed и номера игры.

  3. Тикет

    Первые 8 hex-символов хеша дают число от 0 до 4 294 967 295. Из него получается тикет от 1 до 100 000 000: floor(число × 100 000 000 / 2^32) + 1.

  4. Кейс

    У каждого предмета в таблице шансов на момент игры есть свой диапазон тикетов. Выпадает предмет, в чей диапазон попал тикет.

  5. Апгрейд

    Порог равен floor(шанс × 100 000 000). Апгрейд выигрывает, если тикет не больше порога.

  6. Раскрытие

    Серверный сид раскрывается, когда вы меняете сиды. После этого любую игру пары можно пересчитать в браузере на этой странице или своим кодом.

Формула

Сообщение
kind:game:clientSeed:nonce
Ключ HMAC
HMAC-SHA256(serverSeed, message)

Ключ — это hex-строка серверного сида как есть (64 символа), а не декодированные из неё байты. Именно здесь чаще всего ошибаются при самостоятельной проверке.

Сыгранную игру можно проверить кнопкой «Проверить» в истории кейсов и апгрейдов.