Чесна гра (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 символи), а не декодовані з нього байти. Саме тут найчастіше помиляються під час самостійної перевірки.

Зіграну гру можна перевірити кнопкою «Перевірити» в історії кейсів і апгрейдів.