Идея проверки: зафиксировать результат до игры
Схема «provably fair» строится на простом приёме: площадка заранее показывает вам хеш своего секретного значения, а после завершения серии раскрывает само значение. Вы проверяете две вещи. Во-первых, что SHA-256 от раскрытого секрета совпадает с хешем, показанным до игры. Во-вторых, что результаты раундов получаются из этого секрета, вашего собственного значения и номера раунда по опубликованной формуле. Если оба условия выполняются, секрет не могли подменить уже после того, как вы сделали ставки.
Из чего состоит вычисление
- Server seed — случайная строка площадки. До смены вы видите только её хеш.
- Client seed — строка, которую можете задать вы. Именно поэтому важно иметь возможность её менять: тогда площадка не может заранее подобрать результат.
- Nonce — счётчик раундов при неизменной паре seed. Он растёт на единицу с каждой ставкой.
- HMAC-SHA256 — криптографическая подпись сообщения (обычно из client seed и nonce), где ключом служит server seed. На выходе 64 hex-символа.
Как из hex получить число 0–99.99
Инструмент выше использует один из распространённых принципов: берутся первые 8 hex-символов, они интерпретируются как целое число от 0 до 4 294 967 295, затем берётся остаток от деления на 10 000 и результат делится на 100. Получается число от 0.00 до 99.99 с шагом 0.01. Например, 8 символов «00000fa0» дают 4000; остаток от деления на 10 000 равен 4000, итог 40.00.
Вариантов вычисления много. Где-то берут по 5 hex-символов и отбрасывают слишком большие значения для равномерности, где-то используют иной шаг, а где-то порядок сообщения обратный. Поэтому совпадение с вашей площадкой возможно только если вы знаете её точную формулу: поле «формат сообщения» позволяет попробовать три популярных порядка, но не гарантирует совпадения. Этот инструмент не проверяет честность какой-либо конкретной площадки: он показывает, как именно устроена проверка, чтобы вы могли применить принцип к документации, которую сервис публикует сам.
Пошаговая проверка
- До серии ставок сохраните показанный хеш server seed (скриншот с датой или текстовая запись).
- Задайте собственный client seed и запишите его.
- Сыграйте несколько раундов и запишите nonce и результаты.
- Смените server seed, чтобы площадка раскрыла старый, или завершите серию.
- Введите раскрытый server seed, свой client seed и номера nonce в инструмент.
- Сравните SHA-256 раскрытого seed с сохранённым хешем. Если не совпадает, это серьёзный повод для претензии.
- Примените формулу, описанную в документации площадки, и сверьте результаты раундов.
Что проверка доказывает и чего не доказывает
| Доказывает | Не доказывает |
|---|---|
| Секрет не менялся после ставок (совпадение хеша). | Что сама формула справедливая: шансы и выплаты определяются правилами игры. |
| Результат воспроизводим по опубликованной формуле. | Что вы получите выплату: это вопрос условий и добросовестности вывода. |
| Площадка не подбирала исход под вашу ставку, если вы меняли client seed. | Что математическое ожидание игры в вашу пользу: оно как правило против игрока. |
Воспроизводимость не делает игру безопасной. Вы можете проверить каждый раунд, и всё равно проиграть всё из-за заложенного в правила преимущества площадки. Проверка закрывает вопрос «подменили ли результат», но не вопрос «выгодно ли играть».
Пример с маленькими числами
Пусть результат задан диапазоном 0–99.99, и правило выигрыша гласит: выпало 50.00 или больше, то есть ожидаемая вероятность 50%. При 100 раундах среднее число выигрышей 50, стандартное отклонение около 5 (√(100 × 0.5 × 0.5)). Значит, 42 или 58 выигрышей вполне нормальны, и это не признак обмана. Чтобы говорить о смещении, нужны тысячи раундов, а по малой выборке выводов делать нельзя.
Типичные причины несовпадения
Если ваш расчёт не совпал с результатом раунда, это ещё не доказательство нарушения. Чаще всего причины прозаичны. Вы могли взять неверный разделитель между client seed и nonce, или нумерация nonce у площадки начинается с единицы, а не с нуля. Вы могли вставить seed с пробелом на конце. Площадка могла использовать не первые 8, а первые 5 hex-символов, либо другой способ приведения к шкале. Проверьте каждую из этих версий, прежде чем делать выводы, и сверьтесь с описанием формулы в документации самой площадки.
Если же хеш раскрытого server seed не совпал с показанным заранее, а формула проверена трижды, зафиксируйте данные (seed, nonce, время, скриншоты) и обратитесь в поддержку. Такое расхождение уже нельзя объяснить разделителем или нумерацией.
Технические замечания
- Инструмент использует Web Crypto API браузера: SHA-256 и HMAC реализованы на стороне браузера, внешние библиотеки не нужны.
- Строки кодируются как UTF-8. Если площадка использует другие кодировки или бинарные ключи, результат отличится.
- Лишний пробел или перевод строки в seed меняет итоговый хеш. Копируйте значения без скрытых символов.
- Разные nonce дают совершенно разные результаты: соседние номера не связаны между собой.
Предупреждение о рисках. Проверка хеша не отменяет риска потери средств. Игры на деньги и внутриигровые ценности предназначены для совершеннолетних (18+); играйте только в пределах суммы, потерю которой можете себе позволить.