Честность и генерация случайных чисел
Русская версия предоставлена исключительно для удобства. Юридическую силу имеет только английская версия документа (English version prevails).
Версия 1.1 — Последнее обновление: 2026-10-09. Operated by JOKR Labs.
Настоящая страница является частью Условий обслуживания и разъясняет по каждой игре, как формируется результат каждой игры JOKR Originals, что фиксируется и что вы можете проверить самостоятельно. Английская версия имеет преимущественную силу над любым переводом.
Operator entity details will be published here upon completion of licensing.
1. Сфера применения
1.1. «JOKR Originals» — это шесть игр, работающих на наших собственных серверах: JOKR Crash, JOKR Mines, JOKR Spin, BlackJOKR, JOKR Duel и JOKR Ballz. Всё нижеизложенное относится только к этим шести играм.
1.2. Слоты, живые столы и другие игры сторонних поставщиков работают на собственных серверах студий. Генерация случайных чисел в них является ответственностью соответствующей студии и здесь не описывается.
1.3. Мы используем термины в строгом смысле. Раунд является «commit-reveal» (схема «обязательство — раскрытие»), если криптографическое обязательство (commitment) в отношении результата публикуется до вашей ставки, а секретные значения раскрываются после раунда, так что вы можете самостоятельно пересчитать результат. Раунд не является provably fair (доказуемо честным), если такого обязательства не существует, каким бы качественным ни был источник случайности. Четыре из шести игр Originals на сегодня работают по схеме commit-reveal: Crash, Mines, Spin и Duel против казино (раздел 2).
2. Сводная таблица
| Игра | Как формируется результат | Что вы можете проверить самостоятельно |
|---|---|---|
| JOKR Crash | Commit-reveal: обязательство SHA-256 публикуется до приёма ставок; точка краша вычисляется из HMAC-SHA256 двух серверных сидов | Пересчитать хеш и точку краша по раскрытым сиду и соли (верификатор ниже) |
| JOKR Mines | Commit-reveal: обязательство SHA-256 публикуется в начале раунда; расположение мин вычисляется из потока HMAC-SHA256 | Пересчитать хеш и позиции мин по раскрытым сиду и соли (верификатор ниже) |
| JOKR Spin | Commit-reveal: обязательство SHA-256 в отношении серверного сида публикуется до вращения; ячейка вычисляется из HMAC-SHA256 этого сида среди 37 равновероятных ячеек | Пересчитать хеш и ячейку по раскрытому сиду (раздел 5) |
| BlackJOKR | Шуз из шести колод, перемешанный криптографическим генератором; дилер всегда берёт следующую карту из шуза (раздел 6) | Криптографической проверки нет; каждая раздача фиксируется на сервере |
| JOKR Duel | Против казино: commit-reveal — каждая карта казино вычисляется из секретного сида, зафиксированного до начала матча, хеш SHA-256 которого показывается до начала игры; против игрока: выбор обоих игроков | Пересчитать каждую карту казино по раскрытому сиду (раздел 7) |
| JOKR Ballz | Физическая симуляция на сервере с некриптографическими случайными возмущениями | Криптографической проверки нет; каждый матч фиксируется на сервере |
3. JOKR Crash
3.1. Перед каждым раундом сервер генерирует два секретных значения — 32-байтовый сид (seed) и 32-байтовую соль (salt) — и публикует обязательство в их отношении hash = SHA-256(seed + salt). Хеш отправляется всем подключённым игрокам при открытии 10-секундного окна ставок, до принятия какой-либо ставки. Он доступен в игре по кнопке 🔐 Fair рядом с номером раунда.
3.2. Точка краша полностью определяется этими двумя значениями. Она вычисляется следующим образом, и ничто другое на неё не влияет:
h— первые 13 шестнадцатеричных символов (52 бита) значенияHMAC-SHA256(key = seed, message = salt), интерпретируемые как целое число;crash = floor( 100 × (1 − edge) × 2^52 ÷ (2^52 − h) ) ÷ 100, гдеedge = 3.6 %для раундов, соль которых начинается сv2-, иedge = 10 %для более ранних раундов, соль которых такого префикса не содержит (префикс является частью соли и, следовательно, покрывается хешем, опубликованным до раунда);- результат никогда не бывает ниже 1.00× и ограничен значением 1,000×.
3.3. Преимущество казино заложено в само распределение: ожидаемый возврат по ставке, выводимой на целевом множителе t (с шагом 0.01), составляет (1 − edge) × t ÷ (t + 0.01) от суммы ставки, что всегда ниже 96.4 %, без учёта лимита выплаты за раунд, указанного в игре.
3.4. После краша сид и соль рассылаются игрокам. Запись раунда (хеш, сид, соль, точка краша, временные метки) хранится на сервере вместе со всеми сделанными в нём ставками. Сиды любого завершённого раунда можно получить по его хешу с помощью верификатора ниже; сиды раунда, который ещё продолжается, никогда не раскрываются.
3.5. Что это доказывает и чего не доказывает. Пересчёт хеша показывает, что сиды, а значит и точка краша, были зафиксированы до открытия приёма ставок и впоследствии не изменялись. Поскольку оба значения генерируются сервером и вы не предоставляете собственный сид, протокол не доказывает, что сервер не мог подобрать свои сиды; это схема commit-reveal, а не полноценная схема с клиентским сидом.
4. JOKR Mines
4.1. В начале каждого раунда сервер генерирует 32-байтовый сид и 32-байтовую соль и отправляет вам обязательство в их отношении hash = SHA-256(seed + salt) вместе с игровым полем. Расположение мин фиксируется в этот момент; никакие ваши последующие действия не перемещают мины.
4.2. Расположение мин вычисляется из этих двух значений на поле из 25 клеток с количеством мин от 1 до 20 следующим образом:
- поток 32-битных чисел формируется как
HMAC-SHA256(key = seed, message = salt + i)дляi = 0, 1, 2, …, считываемый по восемь шестнадцатеричных символов; - клетки
0 … 25 − 1перемешиваются алгоритмом Фишера — Йетса (Fisher-Yates) на основе этого потока с выборкой с отклонением (rejection sampling), исключающей смещение по модулю; - первые n перемешанных клеток являются минами, где n — выбранное вами количество мин.
4.3. Множитель после каждой безопасной клетки равен точной обратной величине вероятности до неё дойти, уменьшенной на преимущество казино в размере 4 % (для игр, соль которых начинается с v2-; 10 % для более ранних игр, соль которых такого префикса не содержит), с округлением вниз до 0.01, и отображается в игре до того, как вы откроете клетку.
4.4. По окончании раунда (при попадании на мину или выводе выигрыша) сид, соль и полное расположение мин отправляются вам и отображаются в панели 🔐 Provably Fair в игре. Запись раунда (хеш, сид, соль, позиции мин, открытые клетки, результат) хранится на сервере.
4.5. Действует то же ограничение, что и в п. 3.5: вы можете убедиться, что расположение мин было зафиксировано до начала вашей игры, но не в том, что сервер не мог подобрать свои сиды.
5. JOKR Spin
5.1. JOKR Spin — это европейская рулетка: 37 ячеек (0–36), стандартные выплаты, так что любой тип ставки в среднем возвращает 97.3 % от суммы ставки.
5.2. Перед каждым вращением сервер хранит секретный 32-байтовый сид для вашего следующего вращения и показывает вам обязательство в его отношении hash = SHA-256(seed) (панель ℹ️ в игре или значение nextHash, возвращаемое вместе с предыдущим вращением). Ячейка определяется как HMAC-SHA256(key = seed, message = "jokr-spin:" + i), считываемое 32-битными словами в порядке big-endian, с отбрасыванием любого слова ≥ floor(2^32 ÷ 37) × 37, чтобы ни одна ячейка не получала преимущества, и приведением по модулю 37. Каждый сид используется ровно для одного вращения: при вращении он атомарно заменяется, поэтому два вращения никогда не могут использовать один и тот же сид.
5.3. После вращения сид раскрывается в ответе сервера и в панели ℹ️ вместе с выпавшей ячейкой, а запись вращения (сид, хеш, ставки, ячейка, выплата) хранится на сервере.
6. BlackJOKR
6.1. Каждая раздача производится из нового шуза из 6 колод, перемешанного на нашем сервере криптографическим генератором (алгоритм Фишера — Йетса с выборкой с отклонением на основе защищённого источника случайности операционной системы). Шуз хранится в зашифрованном виде вместе с состоянием игры и никогда не передаётся на ваше устройство до раздачи карт.
6.2. Правило добора дилера. Дилер добирает до 16 включительно, а также добирает на мягких 17; дилер останавливается на жёстких 17 и на 18 и более (для раздач до 2026-10-08 по прежним правилам дилер останавливался на любых 17). Дилер всегда берёт следующую карту из шуза: ни одна карта никогда не возвращается и не пропускается — ни для дилера, ни для вас. Преимущество казино возникает исключительно из опубликованных правил стола (блэкджек оплачивается 1:1, дилер добирает на мягких 17, удвоение только на 10 или 11, одно разделение (сплит), без проверки закрытой карты дилера), которые указаны на столе, в панели ℹ️ и на странице «Правила игр».
6.3. Обязательство до раздачи не публикуется, поэтому BlackJOKR не является provably fair. Каждая раздача (ставки, карты, результат) фиксируется на сервере.
7. JOKR Duel
7.1. JOKR Duel — это дуэль цветных карт (синяя бьёт красную, красная бьёт оранжевую, оранжевая бьёт синюю). Существует два режима.
7.2. Против казино. До начала матча сервер генерирует секретный 32-байтовый сид и отправляет вам обязательство в его отношении hash = SHA-256(seed). Карта казино в раунде n определяется как HMAC-SHA256(key = seed, message = gameId + ":" + n + ":" + i), считываемое 32-битными словами в порядке big-endian, с отбрасыванием любого слова ≥ floor(2^32 ÷ 3) × 3 и приведением по модулю 3 (0 = красная, 1 = синяя, 2 = оранжевая): вероятность каждой карты составляет ровно 33.33 % независимо от того, какую карту играете вы. Сид раскрывается по окончании матча (панель ℹ️), так что вы можете пересчитать каждую карту казино. Преимущество казино возникает исключительно из опубликованной комиссии казино с банка (страница «Правила игр»).
7.3. Против другого игрока. Каждый раунд определяется исключительно картами, которые фактически выбрали два игрока. Если игрок не совершает действие в отведённое время, сервер играет за него случайную карту.
7.4. В режиме против казино обязательство из п. 7.2 позволяет проверить каждую карту казино после раскрытия сида; верификатор на этой странице пока не поддерживает Duel, поэтому проверка выполняется вручную (с помощью любого инструмента HMAC-SHA256). Раунды между игроками вообще не предполагают розыгрыша на сервере. Результат каждого раунда фиксируется на сервере.
8. JOKR Ballz
8.1. JOKR Ballz — это гонка: каждый участник выставляет определённое количество шаров, и первый шар, достигший финиша, выигрывает весь банк. Гонка представляет собой физическую симуляцию, выполняемую на нашем сервере (движок твёрдых тел); во время гонки сервер вносит небольшие случайные возмущения в скорости шаров с помощью некриптографического генератора среды выполнения. Чем больше шаров вы выставляете, тем больше у вас шансов финишировать первым.
8.2. Если по истечении 3 минут ни один шар не достиг финиша, сервер выбирает победителя случайным образом с вероятностью, пропорциональной количеству шаров каждого участника.
8.3. В матче могут присутствовать участники, управляемые казино. Количество их шаров устанавливается сервером в диапазоне от 1.2× до 1.5× от количества шаров, выставленных игроком-человеком, но не более 80 шаров.
8.4. Обязательство до матча не публикуется, поэтому JOKR Ballz не является provably fair. Каждый матч (участники, шары, победитель, приз) фиксируется на сервере.
9. Использование верификатора
9.1. Верификатор на этой странице пересчитывает завершённый раунд JOKR Crash или JOKR Mines в вашем браузере по тем же формулам, что и наши игровые серверы. Ничто из введённого вами нам не передаётся.
9.2. Вставьте серверный сид и соль, раскрытые игрой (а для Mines — также количество мин), при желании — хеш, объявленный до раунда, и нажмите Verify locally. В результате отображаются пересчитанный хеш, совпадает ли он с объявленным хешем, а также точка краша или позиции мин.
9.3. Если у вас есть только хеш, кнопка Look up запрашивает сид и соль этого раунда из наших записей при условии, что раунд уже завершён. Сведения о продолжающихся раундах никогда не раскрываются.
9.4. JOKR Spin и JOKR Duel против казино также работают по схеме commit-reveal: они публикуют обязательство до начала игры и раскрывают свой сид после неё, однако верификатор пока их не поддерживает. Пересчитайте их вручную с помощью любого инструмента HMAC-SHA256, следуя разделам 5 и 7. BlackJOKR и JOKR Ballz вообще не публикуют сид (разделы 6 и 8), поэтому проверять в них нечего.
10. Записи и проверка
10.1. Каждый раунд каждой игры Originals фиксируется на наших серверах вместе с его входными данными и результатом (разделы 3–8), а также с соответствующими движениями баланса в нашем реестре операций.
10.2. Для JOKR Mines автоматический монитор сравнивает суммы выплат с суммами ставок с момента последнего перезапуска и оповещает оператора, если наблюдаемый возврат выходит за пределы ожидаемого диапазона. Для остальных игр записи раундов позволяют провести проверку постфактум.
10.3. Если вы считаете, что раунд был рассчитан неверно, обратитесь в JOKR Support — чат поддержки в приложении (кнопка «Contact support» в футере любой основной вкладки) или [email protected], указав игру, время раунда и, для Crash или Mines, хеш. Мы проверим запись на сервере и ответим вам.