Криптоаналитика
Provably fair: что это такое и как самому проверить раунд
Что такое provably fair, или доказуемая честность: серверный и клиентский сид, nonce, SHA-256 и HMAC, проверка броска дайса на примере и признаки подделки.

Provably fair, или «доказуемая честность», устроена так: казино заранее фиксирует результат раунда криптографическим хешем, а после игры раскрывает исходные данные, чтобы игрок сам пересчитал результат и убедился, что его не подменили. Всё держится на открытых стандартах SHA-256 и HMAC, поэтому проверять раунд можно, не доверяя казино на слово. Ниже расскажем, из чего складывается проверка, покажем полный пример на реальных числах и честно перечислим, чего provably fair не гарантирует.
Предупреждение. Provably fair относится к играм онлайн-казино. В России и Казахстане онлайн-казино запрещены, в Беларуси и Украине законны только местные лицензиаты. Игра на сайте без лицензии вашей страны может нарушать закон там, где вы живёте, и не даёт местной защиты, даже если каждый раунд на сайте можно проверить.
Что provably fair доказывает, а что нет
| Доказывает | Не доказывает |
|---|---|
| Результат раунда определён до вашей ставки и не изменён после | Что у игры нет преимущества казино: оно заложено в формулу выплат |
| Казино не подогнало исход под размер или направление вашей ставки | Что казино выплатит выигрыш и не заблокирует счёт |
| Вы сами повлияли на результат через клиентский сид | Что у сайта есть лицензия и что он законен в вашей стране |
| Любой раунд можно пересчитать после раскрытия сида | Что слоты сторонних провайдеров честны: они работают по другой схеме |
Из чего складывается проверка
- Серверный сид: случайная строка, которую генерирует казино. До игры её держат в секрете.
- Хеш серверного сида: результат SHA-256 от серверного сида. Казино показывает его заранее. Восстановить сид по хешу нельзя, а вот по раскрытому сиду легко убедиться, что хеш был именно от него.
- Клиентский сид: строка, которую задаёте вы (или браузер генерирует её случайно). Из-за него казино не может заранее подобрать «удобный» результат.
- Nonce: порядковый номер ставки с текущей парой сидов: 1, 2, 3 и так далее.
- Курсор: номер дополнительного блока случайности, если на одну ставку нужно больше чисел (например, при раздаче карт).
Хеш-функция SHA-256 описана в стандарте NIST FIPS 180-4, а конструкция HMAC в RFC 2104. Это общепринятые криптографические стандарты, а не изобретение казино.
Как проверить раунд по шагам
- До игры казино показывает хеш серверного сида. Сохраните его (скопируйте или сделайте скриншот).
- Задайте свой клиентский сид или оставьте случайный.
- Играйте. Каждая ставка получает следующий nonce.
- Смените пару сидов в настройках fairness. Казино раскроет старый серверный сид и покажет хеш нового.
- Сверьте хеш: посчитайте SHA-256 от раскрытого сида и сравните с тем, что сохранили.
- Пересчитайте результат ставки по опубликованной формуле игры: HMAC-SHA256 с ключом «серверный сид» от строки «клиентский сид:nonce:курсор», затем переведите байты в число, а число в результат игры.
Пример на реальных числах
Возьмём схему, которую Stake описывает в документации к своим играм, и посчитаем бросок в дайсе. Данные мы подобрали для примера, а результаты получены настоящим вычислением.
| Параметр | Значение |
|---|---|
| Серверный сид | a1b2c3d4e5f60718293a4b5c6d7e8f90 |
| SHA-256 серверного сида (его казино показало бы заранее) | ff25d2389ab7917a77cc0c3546331401054d53cb7b2edeedb7b4e7742bb5286d |
| Клиентский сид | moskva2026 |
| Nonce | 1 |
| Строка для HMAC | moskva2026:1:0 |
| HMAC-SHA256 (ключ: серверный сид) | 2e6a946c567d78a2441b0a053c3341b279e7bf265eff70ff829dd0b0ec21db37 |
Как байты превращаются в число
Первые четыре байта HMAC в шестнадцатеричном виде: 2e, 6a, 94, 6c. В десятичном: 46, 106, 148 и 108. Число от 0 до 1 получается так: 46 / 256 + 106 / 256² + 148 / 256³ + 108 / 256⁴ = 0,181313…
Как число превращается в результат дайса
Для дайса Stake использует формулу: число × 10 001, потом деление на 100 с отбрасыванием лишнего. 0,181313 × 10 001 = 1 813,3…; округляем вниз до 1 813 и делим на 100. Выпало 18,13. Если вы ставили «меньше 50», ставка выиграла, если «больше 50», проиграла.
Повторить расчёт можно в любом инструменте, который считает SHA-256 и HMAC-SHA256, в том числе в стандартных библиотеках языков программирования. Стоит изменить в сиде или nonce хотя бы один символ, и результат станет совсем другим: поэтому подмену и видно.
Чем считать: программой или онлайн-калькулятором
Для проверки подойдёт любой калькулятор SHA-256 и HMAC-SHA256, в том числе онлайн. Это безопасно: раскрытый серверный сид для будущих ставок уже не используется, а клиентский сид доступа к счёту не даёт. А вот чего в такие сервисы вводить нельзя: пароль от казино, сид-фразу кошелька и любые ключи. Надёжнее всего посчитать HMAC стандартной библиотекой языка программирования на своём компьютере: тогда результат не зависит ни от казино, ни от чужого сайта.
Почему по хешу нельзя заранее узнать сид
SHA-256 работает в одну сторону: посчитать хеш от строки легко, а восстановить строку по хешу практически невозможно. У 256-битного выхода 2²⁵⁶ вариантов, это число из 78 знаков. Поэтому игрок, видя хеш до ставки, не может узнать сид и предсказать результат, а казино, опубликовав хеш, уже не может подменить сид: любой другой сид дал бы другой хеш. На этом свойстве держится вся схема, и именно поэтому «предикторы», которые продают в Telegram, с настоящим provably fair работать не могут.
Как это устроено в разных играх
| Игра | Как число превращается в результат |
|---|---|
| Дайс | Число × 10 001 / 100, результат от 0,00 до 100,00 |
| Краш | Точка краша по опубликованной формуле игры со встроенным преимуществом казино |
| Плинко | На каждом ряду своё число решает, куда упадёт шарик, влево или вправо |
| Мины | Числа задают, где на поле стоят мины |
| Карточные игры | Числа тасуют колоду (алгоритм Фишера–Йетса) |
О краш-играх, где точку краша считают из тех же сидов, подробно рассказывает страница краш-игры.
Другие схемы: общие сиды и цепочки хешей
- Общие сиды раунда. В многопользовательских играх вроде Aviator серверный сид раунда объединяют с клиентскими сидами первых игроков, сделавших ставку. Данные для проверки есть в истории каждого раунда.
- Цепочка хешей. Оператор заранее генерирует длинную цепочку, в которой каждый хеш получается из следующего, и проигрывает её в обратном порядке. Конечный хеш публикуют заранее, и по нему можно проверить, что все будущие раунды были определены до начала игры.
Откуда взялась идея
Проверяемая честность родилась вместе с биткоин-играми. Ранние игры вроде SatoshiDice, появившейся в 2012 году, определяли результат по данным самой транзакции и заранее опубликованным секретам, так что пересчитать исход мог любой. Позже казино перешли на схему «серверный сид плюс клиентский сид плюс nonce»: играть так можно быстро, без ожидания блоков, а возможность проверки сохраняется. Как устроены сами платежи в биткоине, рассказывает страница биткоин-казино.
Почему у ставок на спорт нет provably fair
Provably fair проверяет случайное число, которое генерирует казино. А исход футбольного матча казино не генерирует, он решается на поле. Поэтому в ставках на спорт честность зависит от правил расчёта, линии и надёжности оператора, а не от криптографии. Если спортбук называет себя provably fair, речь о его казино-играх, а не о ставках. Особенности ставок разобраны на странице крипто ставки.
Чем provably fair отличается от сертифицированного генератора
Слоты и live-игры сторонних провайдеров, как правило, не provably fair. Их честность подтверждают по-другому: генератор случайных чисел и математику игры проверяют аккредитованные лаборатории, например GLI, а за выплатами следит регулятор. Здесь игрок доверяет лаборатории и регулятору, а не проверяет раунд сам. Честными могут быть обе модели, разница лишь в том, кто проверяет.
Как распознать поддельный provably fair
- Хеш серверного сида показывают не до ставки, а только после.
- Клиентский сид поменять нельзя.
- Серверный сид после смены пары не раскрывают или раскрывают «по запросу в поддержку».
- Формула перевода в результат не опубликована, есть только кнопка «проверить» на сайте самого казино.
- Расчёт на стороне с теми же данными даёт другой результат.
Встроенным инструментом проверки на сайте казино пользоваться можно, но настоящая проверка это независимый расчёт.
Частые ошибки при проверке
- Не тот nonce. В одних казино ставки считают с 0, в других с 1. Сверьтесь с номером ставки в её деталях.
- Лишние символы. Пробел или перенос строки в конце скопированного сида полностью меняют HMAC.
- Регистр букв. «Moskva2026» и «moskva2026» это два разных сида.
- Сид ещё не раскрыт. Пока пара сидов активна, серверный сид секретен. Сначала смените пару.
- Не та формула. У каждой игры своё преобразование числа в результат, и формула дайса для плинко не подойдёт.
Как вести журнал проверок
Если хотите проверять игру регулярно, заведите простой журнал: хеш серверного сида до начала сессии, ваш клиентский сид, номера ставок, которые собираетесь проверить, и раскрытый серверный сид после смены пары. Хватит таблицы или заметки. Проверять каждую ставку незачем: выборочной проверки нескольких раундов, особенно самых крупных проигрышей, достаточно, чтобы понять, держит ли казино слово.
Provably fair в Telegram-казино и на сомнительных сайтах
Надпись «provably fair» ничего не стоит, если за ней нет хеша до ставки, изменяемого клиентского сида и опубликованной формулы. В Telegram-ботах и на сайтах без лицензии «честная игра» часто сводится к картинке с замком и кнопке «проверить», которая просто показывает «OK». Настоящая схема всегда позволяет пересчитать результат вне сайта.
Что делать, если проверка не сошлась
- Исключите свои ошибки: проверьте nonce, пробелы, регистр и формулу именно этой игры.
- Сравните хеш: если SHA-256 раскрытого сида не совпадает с хешем, который вы сохранили до игры, это прямое доказательство подмены. Сохраните скриншоты.
- Напишите в поддержку, приложите данные ставки и свой расчёт и попросите ответить письменно.
- Подайте жалобу в порядке, который предусматривает лицензия (через службу ADR или печать регулятора), и приложите расчёт.
- Перестаньте играть на этом сайте и выведите остаток: казино, которое не может подтвердить честность раунда, доверия не заслуживает.
Provably fair и выбор казино
Проверяемые раунды полезны, но это лишь один пункт из многих. Получите ли вы деньги, больше зависит от лицензии, лимитов вывода, пункта о проверке личности и условий бонусов. Порядок проверки описан на главной странице раздела, проверка личности на странице казино без KYC, а условия бонусов на странице бонусы крипто казино.
Частые вопросы о provably fair
Что такое provably fair простыми словами?
Это схема, при которой казино заранее показывает хеш секретного серверного сида, а после игры раскрывает сам сид. Игрок пересчитывает результат по опубликованной формуле и убеждается, что исход не подменили после ставки.
Если игра provably fair, значит, казино не в плюсе?
Нет. Преимущество казино заложено в формулу выплат: например, в краш-игре Stake заявлено преимущество 1 %. Provably fair доказывает только то, что результат не изменили после ставки.
Зачем менять клиентский сид?
Клиентский сид участвует в расчёте результата, поэтому казино не может заранее подобрать удобный исход. А смена пары сидов заставляет казино раскрыть старый серверный сид, без которого прошлые ставки не проверить.
Можно ли проверить слоты на provably fair?
Как правило, нет. Слоты и live-игры сторонних провайдеров работают на генераторах случайных чисел, которые проверяют аккредитованные лаборатории вроде GLI. Provably fair чаще встречается в собственных играх казино: дайс, краш, плинко, мины.
Как проверить HMAC-SHA256 без сайта казино?
Любым инструментом или библиотекой, которые считают SHA-256 и HMAC-SHA256, например стандартными модулями языков программирования. Главное ввести сиды и nonce точно, символ в символ.
Защищает ли provably fair от невыплаты выигрыша?
Нет. Он подтверждает честность раунда, но ничего не говорит о лицензии, лимитах вывода и проверке личности. Это нужно проверять отдельно по правилам казино.
Почему моя проверка не совпала с результатом казино?
Чаще всего из-за неверного nonce (счёт с 0 или с 1), лишнего пробела в скопированном сиде, другого регистра букв или формулы от другой игры. Если всё введено точно, а результат не совпадает, это серьёзный повод не играть на этом сайте.
Законно ли играть в provably fair игры в России?
Нет. Provably fair относится к играм онлайн-казино, а они в России запрещены законом № 244-ФЗ, как бы хорошо ни проверялись раунды. В Казахстане интернет-казино тоже запрещены, в Беларуси и Украине законны только местные лицензиаты.
Источники
- Stake: provably fair, реализация (HMAC_SHA256, серверный и клиентский сид, nonce, курсор)
- Stake: provably fair, преобразование байтов в числа
- Stake: provably fair, события игр (дайс, краш)
- NIST FIPS 180-4: Secure Hash Standard (SHA-256)
- RFC 2104: HMAC
- Spribe: Aviator
- Gaming Laboratories International (GLI)
- Федеральный закон № 244-ФЗ (КонсультантПлюс)
- Wikipedia: SatoshiDice