[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-article-client-seed-vs-server-seed-ru":3,"mdc-tsym7l-key":78},{"id":4,"slug":5,"status":6,"section":7,"category":8,"author":9,"publish_date":10,"read_time":11,"image":12,"embedded_components":13,"related_calculators":13,"related_articles":14,"title":15,"description":16,"keywords":17,"content":26,"faq":27,"availableLocales":73},"16bb80ab-3e21-4169-adcf-94ed24287f21","client-seed-vs-server-seed","published","casino","guides","Evgeniy Volkov","2026-04-22",14,"\u002Fimages\u002Fblog\u002Fclient-seed-vs-server-seed.webp","[]",[],"Клиентский vs серверный сид: полное руководство (2026)","Клиентский и серверный сид — как протокол commit-reveal соединяет их, чтобы предотвратить манипуляцию. Полная математика, руководство по ротации, верификатор",[18,19,20,21,22,23,24,25],"клиентский сид vs серверный сид","что такое серверный сид","что такое клиентский сид","как найти серверный сид","provably fair сиды","ротация сида казино","hmac-sha256 казино","хэш серверного сида","# Client Seed vs Server Seed: Полный технический справочник (2026)\n\nПредставь ситуацию: ты только что проиграл восемь раундов кубиков подряд в казино с Provably Fair. Открываешь панель честности, немного надеясь найти доказательство, что сайт сфальсифицирован. Видишь два поля — **Server Seed Hash: `a3f79b21...`** и **Client Seed: `bG7yxQ2pR`** — плюс счётчик Nonce, который постоянно увеличивается. Большинство игроков глазом пробежат по числам и закроют панель, потому что ничто в игре не объяснило, что они на самом деле делают.\n\nВот в чём суть: эти два сида — это *единственная* причина, по которой ты можешь доверять раунду. Один из них — секрет казино, зафиксированный до твоей ставки. Другой — твой, который можешь менять в любой момент. Вместе они делают математически невозможным для казино подделать исход после того, как видят твою ставку. Не разберёшься, как они работают вместе — доверяешь сайту вслепую. Поймёшь — сможешь проверить каждую ставку за минуту.\n\nЭтот справочник разбирает **client seed vs server seed** так, как игрок их на самом деле использует в 2026: что делает каждый, кто им управляет, когда он раскрывается, что происходит, если его изменить, и единственная атака, которую система не может остановить без регулярной ротации. Пройдём математику пошагово с реальным примером кубиков, сравним, как Stake, BC.Game и Roobet показывают панель, и заканчивая живым верификатором, чтобы ты мог подставить свои сиды и увидеть, как воспроизводится исход.\n\n## Кратко — Ответ за 60 секунд\n\nКаждому раунду Provably Fair нужны три входа. Казино управляет одним, ты управляешь другим, третий — это простой счётчик. Ни один из них сам по себе не определяет исход — все три должны объединиться.\n\n| Вход | Кто управляет | Когда раскрывается | Можно менять в сессии? |\n|---|---|---|---|\n| **Server seed** | Казино | После ротации сида | Нет, но можешь ротировать |\n| **Client seed** | Ты | Всегда видно тебе | Да, в любой момент |\n| **Nonce** | Протокол | Всегда видно | Нет (автоматически увеличивается) |\n\nМатематика работает так:\n\n$$\\text{исход} = \\text{HMAC-SHA256}(\\text{server\\_seed},\\; \\text{client\\_seed} : \\text{nonce})$$\n\nНа русском: казино берёт свой секретный сид, использует его как ключ вместе с твоим открытым сидом плюс номер раунда, пропускает через одностороннюю криптографическую функцию и преобразует результат в бросок кубика, множитель краша или карту. Ты не можешь предсказать (не знаешь server seed), и казино не может подделать (зафиксировали хэш server seed до твоей ставки).\n\n### Кто управляет каждым сидом\n\n- **Казино управляет server seed** — генерируется на их сервере и скрыт до ротации\n- **Ты управляешь client seed** — обычно автоматически генерируется браузером, но редактируется в панели честности\n- **Оба обязательны** — казино не может вычислить твой исход без обоих сидов\n\n### Что на самом деле менять\n\n- **Ротируй server seed каждые 50-100 ставок** — заставляет казино зафиксировать новый сид, который они не могли предварительно оптимизировать\n- **Меняй client seed иногда** — один раз в сессию достаточно, это не улучшает шансы\n- **Никогда не меняй nonce вручную** — это простой счётчик, изменение ломает проверку\n\nЕсли ты возьмёшь отсюда только одно: client seed — это твой *рычаг влияния*. Server seed — это *обязательство* казино. Периодическая ротация server seed — вот что остановит нечестного оператора от манипуляции математикой. Для более полного введения, наш справочник [что такое provably fair гемблинг](\u002Fblog\u002Fwhat-is-provably-fair-gambling) охватывает всю систему; этот справочник увеличивает масштаб конкретно на сиды.\n\n## Что на самом деле делает каждый сид\n\nПеред тем как их сравнивать, каждый сид заслуживает собственного разбора. Они выглядят похоже в интерфейсе — оба длинные случайные строки — но играют противоположные роли в протоколе.\n\n### Server Seed (Секрет казино)\n\n**Server seed** — это случайная строка (обычно 32 или 64 байта, закодированная в шестнадцатеричной системе), сгенерированная казино до начала твоего раунда. Думай о нём как о запечатанном конверте казино: они записывают содержимое, запечатывают его и показывают тебе отпечаток (хэш SHA-256). Печать гарантирует, что они не могут изменить содержимое — но тебе не разрешено подсматривать до окончания ставки.\n\nКлючевые факты о server seed:\n\n- **Всегда хэшируется** перед раскрытием: ты видишь `SHA-256(server_seed)` как 64-символную шестнадцатеричную строку\n- **Один сид охватывает много раундов**: один и тот же server seed остаётся активным десятки или тысячи ставок, с nonce увеличивающимся за раунд\n- **Ротируется по требованию**: нажатие \"Ротировать\" раскрывает старый сид и фиксирует новый хэш\n- **Никогда не используется повторно между игроками**: каждый аккаунт имеет свой активный server seed\n\nПричина, по которой server seed скрыт, проста — если бы ты мог увидеть его до ставки, ты мог бы заранее вычислить точный исход и обманул бы казино. Хэш — это устройство фиксации: оно заковывает казино в один конкретный сид без его раскрытия.\n\n### Client Seed (Твой вклад)\n\n**Client seed** — это строка, которую вносишь *ты*. На Stake, BC.Game, Roobet и всех основных PF казино браузер генерирует случайный по умолчанию — обычно 10-20 символов букво-цифровая строка — и позволяет редактировать его в панели честности.\n\nКлючевые факты о client seed:\n\n- **Ты управляешь им**, казино не может видеть, какой будет твой следующий до того, как ты его отправишь\n- **Видно тебе всегда** в панели честности\n- **Можно менять в любой момент**, но изменения не влияют на уже размещённые ставки\n- **Часто автоматически генерируется** — браузер случайно создаёт новый за сессию\n\nClient seed — это механизм, который останавливает казино от предварительного вычисления исходов. Поскольку server seed зафиксирован через хэш *до* того, как ты отправишь следующий client seed, казино действительно не может знать, какой результат произведёт HMAC. Вот почему изменение client seed иногда — или разрешение браузеру его авторотировать — это ключевая защита, даже если любой одиночный client seed в среднем такой же \"удачный\" как и любой другой.\n\n### Nonce (Счётчик раундов)\n\n**Nonce** — самый простой из трёх. Это просто счётчик, который увеличивается с каждой ставкой — раунд 1, раунд 2, раунд 3 и так далее. Ты не можешь его установить, изменить или пропустить. Если ты ставишь 50 раз с одинаковыми server seed и client seed, nonce идёт от 0 до 49 и каждый исход отличается, потому что nonce меняется.\n\nЗачем вообще нужен nonce? Без него каждый раунд с одинаковыми server seed и client seed произвёл бы *абсолютно одинаковый исход* — каждый раз попадаешь в одно и то же число кубика. Nonce — это то, что делает каждый раунд уникальным, сохраняя математику воспроизводимой. Если казино когда-нибудь покажет nonce, который пропустил число (0, 1, 3, 4 — где 2?), это признак манипуляции.\n## Как они объединяются и производят результат\n\nЗдесь три входных значения перестают быть просто данными и становятся математикой. Каждое казино с Provably Fair использует одну и ту же базовую формулу, хотя интерпретация выходного значения отличается в зависимости от игры.\n\n### Формула HMAC простыми словами\n\nВот что на самом деле вычисляет каждое PF-казино:\n\n$$\\text{hex\\_output} = \\text{HMAC-SHA256}(\\text{server\\_seed},\\; \\text{client\\_seed} \\; : \\; \\text{nonce})$$\n\nПеревод на простой русский:\n\n- **HMAC-SHA256**: криптографическая хеш-функция с ключом — как SHA-256, но \"подписанная\" ключом\n- **server_seed** (ключ): скрытое значение казино, привязывающее функцию к одному конкретному сиду\n- **client_seed:nonce** (сообщение): твой сид, объединённый с номером раунда через двоеточие\n\nНа выходе — 64-символьная строка в шестнадцатеричной системе. Разные игры интерпретируют её по-разному: игры в кости берут первые несколько символов и переводят их в диапазон 0-99.99, краш-игры используют другой срез и другую формулу, игры в блэкджек цепляют несколько HMAC-вызовов (по одному на карту) и обычно переходят на HMAC-SHA512 для 128-символьных выходов. Точная интерпретация важна, но *структура commit-reveal одинакова* для всех них.\n\n### Рабочий пример: один бросок костей шаг за шагом\n\nПроведём один полный раунд с реальными (примерными) значениями, чтобы ты увидел, как именно сиды объединяются.\n\n**Дано:**\n\n- server_seed = `f4a9c2e1b7d8e3c5a1b9f6d2e8c4a7b3e9d1c6a2b5f8e4c7a3b6e1d9c2a5b8f4`\n- client_seed = `player-xyz-42`\n- nonce = `7`\n\n**Шаг 1 — вычисляем HMAC-SHA256:**\n\n```\nHMAC-SHA256(server_seed, \"player-xyz-42:7\")\n= 8b2d4a1f9c6e7b3d5a8f2c9e4b1d7a6f3e8c5b2d9a4f7e1c8b3d6a2f9e5c4b7d\n```\n\n**Шаг 2 — переводим хеш в результат броска (Stake-стиль):**\n\nБерём первые 5 символов хеша: `8b2d4` → переводим в десятичную = 569 300. Модуль 1 000 000 = 569 300 → делим на 10 000 = **56.93**.\n\n**Шаг 3 — сравниваем с твоей ставкой:**\n\nЕсли ты ставил \"бросок меньше 50\" — ты проиграл (56.93 > 50). Если ставил \"бросок меньше 60\" — ты выиграл. Исход был определён тремя входными значениями, которые ни одна из сторон не могла изменить после обязательства.\n\n**Шаг 4 — проверка:**\n\nПосле ротации серверного сида ты получаешь его сырое значение. Ты хешируешь его сам: совпадает ли хеш с тем, что ты видел до раунда? Потом снова запускаешь HMAC с теми же входными значениями: совпадает ли выход? Оба совпадают = раунд криптографически подтверждён честным. Полное пошаговое объяснение с готовыми значениями смотри в [как проверить Provably Fair раунд](\u002Fblog\u002Fhow-to-verify-provably-fair).\n\n### Почему математику невозможно подделать\n\nТри криптографических свойства делают протокол устойчивым к манипуляциям:\n\n1. **Хеш-обязательство**: SHA-256 не имеет практически реализуемых атак на восстановление прообраза, поэтому казино не может найти другой server_seed, который даст тот же заранее обещанный хеш, узнав о твоей ставке.\n2. **Непрозрачность HMAC**: ты не можешь развернуть выход HMAC, чтобы определить server_seed — это критично, потому что иначе знание одного результата раскрыло бы ключ.\n3. **Взаимное незнание в момент обязательства**: казино не знает твои будущие client_seed'ы, поэтому не может предварительно оптимизировать выбор server_seed для конкретных клиентских значений.\n\nЕсли какое-то из этих трёх свойств сломается, сломается весь протокол. В 2026 году ни одно из них не сломано для SHA-256, поэтому математика работает. Все настоящие атаки находятся в *реализации* — об этом рассказываем в секции ротации ниже. Наше сравнение [provably fair vs RNG certified](\u002Fblog\u002Fprovably-fair-vs-rng-certified) углубляется в то, как эта математика соотносится с традиционными лабораторными аудитами.\n\n## Server Seed vs Client Seed — рядом друг с другом\n\nОдин и тот же протокол, противоположные роли. Вот прямое сравнение.\n\n::chart-client-server-seed\n::\n\n### Кто контролирует что\n\n| Свойство | Server Seed | Client Seed |\n|---|---|---|\n| **Владелец** | Казино | Ты |\n| **Видно в сыром виде?** | Только после ротации | Всегда |\n| **Видно в хешированном виде?** | Всегда (перед раундом) | Никогда не хешируется — показывается в сыром виде |\n| **Генерируется** | ГСЧ казино | Браузером (или ты вручную) |\n| **Длина** | Обычно 64 символа в hex | Обычно 10-20 символов, устанавливается пользователем |\n| **Могут ли это видеть другие игроки?** | Нет (привязан к твоему аккаунту) | Нет (привязан к твоему аккаунту) |\n\nАсимметрия намеренна. Если бы оба сида были общедоступны, любая сторона могла бы манипулировать. Скрывая server_seed (через хеш) и показывая client_seed только тебе, протокол создаёт настоящее двусторонее обязательство, где ни один участник не может обмануть другого.\n\n### Когда раскрывается каждый\n\nМомент раскрытия отделяет работающее PF-казино от подделки:\n\n- **Хеш server_seed**: виден *перед каждым раундом* — проверь его до того, как ставить\n- **Client_seed**: виден *всегда* — ты его ввёл или сгенерировал\n- **Server_seed (сырое значение)**: виден *только после ротации сида* — либо ты нажимаешь \"Ротировать\", либо завершаешь сессию\n\nЧестное казино никогда не откажет в ротации. Если ты нажимаешь \"Ротировать сид\", а старый сид не появляется в течение нескольких секунд — или того хуже, если казино говорит \"сиды ротируются автоматически каждые 24 часа, и ты увидишь историю завтра\" — это красный флаг. Раскрытие сида должно быть мгновенным и криптографически доказуемым.\n\n### Что происходит, если изменить каждый из них\n\nВот таблица практического влияния, которая тебе действительно нужна:\n\n| Действие | Влияние на текущий раунд | Влияние на следующий раунд | Долгосрочный эффект |\n|---|---|---|---|\n| Ротировать server_seed | Никакого (текущий раунд не затронут) | Новый server_seed используется со следующей ставки | Сбрасывает риск предвзятого сида |\n| Изменить client_seed | Никакого (нельзя изменить ретроспективно) | Новый client_seed используется со следующей ставки | Заставляет казино пересчитать все исходы |\n| Сбросить nonce | Невозможно — протокол это не позволяет | Nonce продолжается с того же места | Н\u002FП |\n\nГлавное: изменение любого сида — это защита на будущее, а не способ оспорить прошлые проигрыши. Если ты собираешься начать длительную сессию в кости на новом казино, ротируй оба сида немедленно, чтобы казино обязалось использовать значения *после* того, как ты установил свой client_seed. Этот порядок важнее, чем любое конкретное значение сида.\n## Ротация Сидов — Когда и Почему Менять Их\n\nЕсли ты прочитаешь только один раздел на этой странице, прочитай этот. Ротация — это единственное действие со стороны игрока, которое реально меняет твой криптографический уровень защиты.\n\n### Атака со Смещённым Сидом (И Почему Ротация Её Останавливает)\n\nВот единственная теоретическая уязвимость, которую Provably Fair не может исключить без ротации: **смещённая генерация сидов**.\n\nПредставь нечестное казино, которое заранее генерирует тысячи серверных сидов. Для каждого они предварительно вычисляют исходы против типичных паттернов клиентских сидов (стандартные форматы браузера, часто используемые слова, паттерны, которые они видели раньше). Затем они выборочно развёртывают сиды, которые случайно производят больше проигрышей, чем выигрышей для ожидаемых клиентских сидов.\n\nПотому что казино всё ещё публикует валидный хэш серверного сида — и раскрытый сид всё ещё соответствует этому обязательству — проверка работает. Протокол \"работает\". Но сам сид был вишенкой из смещённой коллекции, и твой долгосрочный преимущество казино хуже, чем заявлено.\n\nЗащита простая: **ротируй достаточно часто, чтобы предварительные вычисления стали бесполезными**.\n\n- Ротируй после каждых 50–100 ставок → казино должно зафиксировать новые сиды, которые они не предварительно оптимизировали\n- Меняй свой клиентский сид в то же время → аннулирует любые предварительные вычисления на основе паттернов\n- Вместе они делают атаки со смещённым сидом статистически невозможными в масштабе\n\nЭта атака крайне редка в авторитетных казино — репутационная стоимость разоблачения намного превышает полученное EV — но это единственная причина, почему ротация вообще важна. Наш рейтинг [Provably Fair биткойн-игр](\u002Fblog\u002Fprovably-fair-bitcoin-games) специально фильтрует казино с опубликованными рабочими процессами ротации.\n\n### Частота Ротации в Популярных Казино\n\nРазные сайты используют разные стандартные интервалы. Вот что на самом деле делает каждая платформа:\n\n| Казино | Авторотация по умолчанию | Ручная ротация | Рекомендуемая настройка |\n|---|---|---|---|\n| **Stake** | Нет авторотации | Когда угодно, моментально | Каждые 50–100 ставок |\n| **BC.Game** | Нет авторотации | Когда угодно, моментально | Каждые 50–100 ставок |\n| **Roobet** | Ротирует в конце сессии | Когда угодно, моментально | Каждые 50–100 ставок |\n| **Rainbet** | Нет авторотации | Когда угодно, моментально | Каждые 100 ставок |\n| **Primedice** | Нет авторотации | Когда угодно, моментально | Каждые 50–100 ставок |\n\n\"Нет авторотации\" — это на самом деле честный стандарт — он заставляет игрока выбирать. Если сайт агрессивно автоматически ротирует, он может пытаться скрыть историю отдельных сидов.\n\n#### Быстрая Чек-лист Ротации\n\nИспользуй это перед любой длинной сессией:\n\n1. Открой панель честности игры\n2. Скопируй текущий хэш серверного сида (для проверки позже, если хочешь)\n3. Нажми \"Rotate Server Seed\" — старый сид раскрыт, новый хэш зафиксирован\n4. Измени свой клиентский сид (нажми обновить или введи новую случайную строку)\n5. Запомни стартовое значение nonce (обычно 0 после ротации)\n6. Ставь как обычно; ротируй снова после ~50–100 ставок\n\nЗанимает 30 секунд. Защищает от единственной не-криптографической атаки на Provably Fair.\n\n### Что Ты Не Можешь Ротировать Во время Раунда\n\nОдно важное ограничение: ты не можешь ротировать *во время* раунда. Как только ты сделал ставку с определённым server_seed + client_seed + nonce, эти значения зафиксированы для этого конкретного раунда. Ротация влияет только на ставки, сделанные *после* ротации.\n\nЭто также почему \"ретроспективная ротация, чтобы отменить проигрыш\" невозможна. Обязательство было зафиксировано до ставки — единственный способ изменить то, что уже произошло — это убедиться, что это было честно. Так как PF позволяет тебе это сделать за 60 секунд, это обычно достаточно.\n\n## Частые Ошибки с Сидами\n\nИгроки, переходящие на Provably Fair из обычных онлайн-казино, постоянно делают одни и те же четыре ошибки. Ни одна из них не опасна — но они все тратят время.\n\n### \"Изменение Клиентского Сида Меняет Мою Удачу\"\n\nНе меняет. Каждый вывод HMAC статистически случаен независимо от входных данных. Изменение твоего клиентского сида с `abc123` на `xyz789` даёт тебе разные исходы, не лучшие. Ожидаемая ценность идентична.\n\nЧто клиентский сид *на самом деле* делает: он предотвращает предварительные вычисления смещённого сида, делая твои входные данные непредсказуемыми для казино перед каждым раундом. Это свойство безопасности, не свойство удачи.\n\n### \"Казино Может Видеть Мой Клиентский Сид Заранее\"\n\nНет, не для будущих сидов. Казино видит твой текущий клиентский сид (ты его отправил), но не имеет способа узнать, какой ты установишь дальше. В этом вся суть — казино зафиксирует хэш серверного сида *перед тем, как узнать твой следующий клиентский сид*. Как только они зафиксируют, они не могут изменить сид под хэшем.\n\nЕсли кто-то говорит \"казино читает твою клавиатуру и знает твой следующий сид перед тем, как ты нажмёшь enter\" — они описывают атаку вредоноса на клиентской стороне, не слабость протокола. Используй авторитетный браузер — и ты в порядке.\n\n### \"Ротация Слишком Часто Разрушает Доказательство\"\n\nНе разрушает. Ротация просто снимает один серверный сид с обращения и зафиксирует новый — оба по-прежнему проверяемы независимо. Ты можешь ротировать каждую ставку, если хочешь (медленно, но безвредно).\n\nЧастая забота в том, что история сидов становится \"запутанной\" — но каждое казино с PF ведёт полную историю снятых с обращения сидов, привязанных к диапазонам ставок, которые они охватывали. Ротация 50 раз создаёт 50 проверяемых записей истории, не путаницу.\n\n#### Быстрая Проверка Здравомыслия\n\nЕсли любое из этих применяется, твой Provably Fair процесс неправильный:\n\n- [ ] Ты никогда не нажимал \"Rotate\" в своих первых 200 ставках → ротируй сейчас, ты может быть подвергаешься риску смещённых сидов\n- [ ] Ты не можешь найти кнопку \"Rotate Server Seed\" → реализация PF казино сломана\n- [ ] Ты никогда не проверял ни один раунд → попробуй один с нашим [верификатором Provably Fair](\u002Fcasino\u002Fprovably-fair), чтобы освоиться\n- [ ] Ты делишься сидами с друзьями → нет выгоды, малый риск — генерируй свои\n\n### \"Все Казино Используют Один Формат Сида\"\n\nНет. Stake и Primedice используют HMAC-SHA256 с картографией для костей. Блэкджек BC.Game использует HMAC-SHA512 с логикой, специфичной для карт. Aviator от Spribe использует другую стратегию nonce. Общий верификатор правильно получит *совпадение хэша* во всех них, но воспроизведённое число исхода может отличаться, если ты не используешь точную формулу картографии казино.\n\nВсегда читай документы честности казино для конкретной игры, в которую ты играешь. Для Aviator специально, наш [калькулятор Provably Fair Aviator](\u002Fblog\u002Fprovably-fair-aviator-calculator) реализует формулу Spribe непосредственно. Для блэкджека, [руководство по Provably Fair блэкджеку](\u002Fblog\u002Fprovably-fair-blackjack) охватывает цепочку HMAC карта за картой.\n## Как найти ваши сиды в реальных казино\n\nСлова — это легко. Показать вам точное расположение кнопок гораздо полезнее. Вот реальный путь на трёх топовых PF-казино по состоянию на 2026 год.\n\n### На Stake \u002F Primedice\n\n1. Откройте любую Original игру казино (Dice, Crash, Plinko, Mines)\n2. Нажмите на **значок щита** в верхнем правом углу панели игры\n3. Откроется модальное окно \"Fairness\" с четырьмя полями:\n   - Active Server Seed (Hashed) — 64-символный SHA-256 hex\n   - Active Client Seed — редактируемая строка\n   - Total Bets Made With Pair — текущий nonce\n   - Кнопка \"Change Seeds\" внизу\n4. Нажмите **\"Change Seeds\"** — старый серверный сид раскроется немедленно, новый хэш зафиксируется\n\nИнтерфейс Stake — самый чистый из трёх. Всё, что тебе нужно, находится на одном экране, ротация происходит мгновенно, а история сидов показывает все снятые серверные сиды с их диапазоном ставок.\n\n### На BC.Game\n\n1. Откройте любую Original игру (Crash, Dice, Ring, Limbo)\n2. Нажмите на **меню из трёх точек** в верхнем правом углу игры\n3. Выберите **\"Provably Fair\"** из выпадающего меню\n4. Модальное окно fairness показывает: Hashed Server Seed, Client Seed (редактируемый), Nonce, Algorithm\n5. Нажмите **\"Change\"** рядом с серверным сидом → подтверждение ротации → старый сид раскроется\n\nBC.Game использует HMAC-SHA512 для большинства игр (не SHA-256), поэтому хэши содержат 128 символов вместо 64. Математика проверки та же, просто с более длинным выводом.\n\n### На Roobet\n\n1. Откройте любую игру Roobet Originals (Mines, Crash, Dice, Towers)\n2. Нажмите на **значок замка** рядом с названием игры\n3. Боковая панель раскроется с данными fairness\n4. Вкладка \"Seed History\" внизу показывает все снятые сиды\n5. Кнопки \"Randomize Client Seed\" и \"Rotate Server Seed\" видны обе\n\nRoobet уникален автоматической ротацией серверных сидов в конце сессии, что немного агрессивно — ротируй вручную, если хочешь проверить раунды позже, чтобы авторотация не помешала будущей проверке. Их [PF Originals сравниваются](\u002Fblog\u002Fprovably-fair-bitcoin-games) со Stake и BC.Game в нашем гайде биткоин-казино.\n\n### Универсальный рабочий процесс\n\nЛюбое легитимное PF-казино будет следовать этому паттерну:\n\n1. **Найди щит\u002Fзамок\u002Fвисячий замок** — стандартный значок для панелей fairness\n2. **Найди активный хэш серверного сида, клиентский сид и nonce** — все три должны быть видны\n3. **Протестируй ротацию** — нажми кнопку ротации; если старый серверный сид не появится меньше чем за секунду, реализация сломана\n4. **Отметь алгоритм** — SHA-256 (64-символ) или SHA-512 (128-символ); это нужно для проверки\n5. **Проверь хотя бы один раунд** — используй калькулятор, чтобы подтвердить совпадение хэша + выход HMAC\n\nЕсли любой из этих пяти шагов не пройдёт, \"provably fair\" казино — это просто маркетинг. Перепроверь против нашего [хаба с текущими PF-реализациями](\u002Fcasino\u002Fprovably-fair) перед депозитом.\n\n## Интерактивно: проверь раунд со своими сидами\n\nВставь четыре значения из панели fairness своего казино в верификатор ниже. Всё работает локально в твоём браузере через Web Crypto API — никакие данные не отправляются на наш сервер, и вычисление — это тот же HMAC-SHA256 (или SHA-512), который использует твоё казино.\n\n::inline-provably-fair-verifier\n::\n\nДва момента, на которые надо обратить внимание при проверке:\n\n1. **Hash Match = PASS** — твой раскрытый серверный сид при хэшировании совпадает с хэшем до раунда. Это доказывает, что казино не менял сиды после твоей ставки.\n2. **Выход Dice\u002FCrash совпадает с экраном** — выход HMAC, отображённый через формулу игры, воспроизводит точное число, которое показала игра. Это доказывает, что результат не был изменён.\n\nЕсли оба пройдут, твой раунд криптографически честный. Если проверка хэша не пройдёт, подай жалобу — у тебя есть доказательство, что казино менял сиды. Для более широкого контекста математики банкролла при проверённой игре, дополни это нашим [калькулятором преимущества казино](\u002Fcasino\u002Fhouse-edge-calculator), нашим [RTP-калькулятором](\u002Fcasino\u002Frtp-calculator) и [калькулятором банкролла](\u002Fcasino\u002Fbankroll-calculator), чтобы ты мог честно размер ставки рядом с проверкой раунда. Если ты ведёшь более длинные сессии, наш [гайд управления банкроллом](\u002Fblog\u002Fbankroll-management-guide) охватывает математику того, как часто ротация пересекается с решениями по размеру сессии.\n\n**И ещё:** не каждое «provably fair» казино работает с seed так, как мы только что разобрали. Прежде чем доверить банк какой-то площадке, сверяйся с [хабом provably fair](\u002Fcasino\u002Fprovably-fair) — он подсвечивает, где хэш server seed не фиксируется до начала раунда.\n\n## FAQ",[28,31,34,37,40,43,46,49,52,55,58,61,64,67,70],{"answer":29,"question":30},"Серверный сид — это случайная строка, которую казино генерирует перед твоим раундом. Ты видишь только её SHA-256 хэш, пока раунд не закончится. Клиентский сид — это строка, которую ты (или браузер) предоставляешь перед ставкой. Казино объединяет оба с nonce (счётчик раунда) через HMAC-SHA256, чтобы вычислить исход. Их соединение означает, что ни одна сторона не может манипулировать результатом самостоятельно.","Что такое клиентский сид и серверный сид?",{"answer":32,"question":33},"Серверный сид — это случайная строка из 32-64 байт, которую генерирует сервер казино перед твоей ставкой. Казино коммитится к ней, опубликовав SHA-256 хэш (64-символный отпечаток) перед началом раунда. После раунда — или когда ты ротируешь сиды — сырой сид открывается, чтобы ты мог захэшировать его сам и подтвердить, что он совпадает с доигровым хэшем. Если совпадает — казино не могло заменить сид во время раунда.","Что такое серверный сид?",{"answer":35,"question":36},"Серверный сидинг — это процесс, когда provably fair казино генерирует свежий серверный сид, публикует его хэш перед любым раундом и раскрывает сырой сид по требованию. Это половина протокола commit-reveal — вторая половина — твой клиентский сид. Вместе они гарантируют, что исход был зафиксирован перед твоей ставкой и может быть независимо проверен после.","Что означает серверный сидинг?",{"answer":38,"question":39},"Открой игру, нажми на щит, замок или значок 'Справедливость' (обычно в правом верхнем углу панели игры). Ты увидишь активный хэш серверного сида, текущий клиентский сид, текущий nonce и кнопку 'Ротировать сид'. Сырой серверный сид появляется только после ротации — в этот момент старый сид открывается и новый хэшированный сид его заменяет. На Stake панель находится в Settings → Fairness; на BC.Game — в меню с тремя точками игры.","Как мне найти свой серверный сид?",{"answer":41,"question":42},"Нет — в этом вся суть протокола commit-reveal. Казино публикует SHA-256 хэш серверного сида перед твоей первой ставкой. Если они изменят сид после этого, твой локально вычисленный хэш открытого сида не совпадёт с доиговым хэшем. Если казино когда-либо опубликует открытый сид, чей хэш не совпадает с тем, что ты видел перед ставкой — это криптографическое доказательство манипуляции.","Может ли казино изменить серверный сид во время игры?",{"answer":44,"question":45},"Нет — каждая комбинация server_seed + client_seed + nonce производит статистически случайный исход. Изменение клиентского сида не даёт тебе лучших шансов, только другие результаты. Единственная стратегическая причина его менять — это защита от атаки на смещённый сид, когда нечестное казино предвычисляет исходы для распространённых клиентских сидов. Ротация каждые 50-100 ставок делает предвычисление бесполезным.","Изменяет ли изменение клиентского сида мои шансы?",{"answer":47,"question":48},"Ничего в криптографии не ломается — твои ставки остаются проверяемыми с тем же серверным сидом на протяжении тысяч раундов, потому что nonce увеличивается с каждой ставкой. Но ты теряешь главную защиту от атак на смещённый сид. Если казино случайно выбрало серверный сид, который производит неблагоприятные исходы против твоего конкретного клиентского сида, ты будешь накапливать это смещение весь сеанс. Ротируй сиды каждые 50-100 ставок, чтобы сбросить этот риск.","Что происходит, если я никогда не ротирую сиды?",{"answer":50,"question":51},"Можешь, но в этом нет пользы и есть небольшой риск. Сиды привязаны к каждому казино — твой клиентский сид Stake не имеет смысла на BC.Game. Использование предсказуемого, переиспользуемого клиентского сида слегка помогает нечестному казино предвычислить для тебя исходы. Лучше: позволь каждому казино авто-генерировать новый случайный клиентский сид, а затем ротируй его каждые 50-100 ставок.","Могу ли я использовать одинаковый клиентский сид на разных казино?",{"answer":53,"question":54},"Потому что сырой серверный сид позволил бы тебе reverse-engineer исход перед ставкой, а казино могло бы заменить сид после видения твоей ставки. SHA-256 хэш решает обе проблемы: он доказывает, что сид существовал перед твоей ставкой (commitment), без раскрытия самого сида. После раунда казино публикует сырой сид, ты его хэшируешь и подтверждаешь совпадение. Это стандартный криптографический commit-reveal.","Почему серверный сид хэшируется перед раундом?",{"answer":56,"question":57},"Твой клиентский сид виден только в твоей собственной панели справедливости — казино видит его, когда ты его отправляешь, но другие игроки не видят. Хэши серверных сидов обычно видны для каждого пользователя (не публичны), и сырой серверный сид тебе выдаётся после ротации сида. Ничего в provably fair не требует, чтобы сиды были публично вещаны, только чтобы они были зафиксированы перед раундом и раскрыты тебе после.","Все ли клиентские сиды публичны?",{"answer":59,"question":60},"Это казино вообще не является provably fair, независимо от маркетинговых претензий. Легитимные PF реализации включают кнопку 'Ротировать сид' в панели справедливости каждой игры — нажатие её мгновенно раскрывает старый серверный сид и фиксирует новый хэшированный. Если кнопка не работает, сид никогда не появляется или казино откладывает раскрытие на часы — считай PF значок поддельным и подай чарджбэк, если у тебя есть спорные раунды.","Что если казино не раскроет серверный сид?",{"answer":62,"question":63},"Да, но только для сидов, которые уже были ротированы или явно остановлены. Активные серверные сиды остаются скрытыми (ты видишь только хэш), пока их не ротируешь. Большинство казино хранит 'историю сидов' в панели справедливости, показывая каждый выведенный серверный сид, связанный с его ставками, клиентским сидом и финальным nonce — достаточно данных, чтобы переверифицировать каждую ставку из этого периода сида.","Могу ли я увидеть серверные сиды прошлых раундов?",{"answer":65,"question":66},"Да, для целей provably fair гемблинга. SHA-256 не имеет практических атак на прообраз или коллизии, а HMAC-SHA256 добавляет второй слой аутентификации, который делает атаки расширения длины неуместными. Её взлом требовал бы примерно 2^256 операций, что невозможно с текущими или ближайшими классическими компьютерами. Реалистичные угрозы — не криптографические, это слабая генерация сида, отсутствие ротации сида или поддельные верификаторы.","Правда ли HMAC-SHA256 неуязвим в 2026?",{"answer":68,"question":69},"Нет. Дайс игры на Stake используют HMAC-SHA256 с выходами, отображёнными на 0-99.99. Краш-игры отображают тот же HMAC выход на множитель, используя другую формулу. Provably fair блэкджек часто использует HMAC-SHA512 и генерирует одно случайное число для каждой карты. Всегда проверяй справедливость документацию конкретного казино, чтобы получить точное отображение — родовой верификатор получит совпадение хэша, но может отобразить другой номер исхода, чем экран игры.","Все ли игры используют одинаковый формат сида?",{"answer":71,"question":72},"Копирование сида, который уже сгорел на другом аккаунте, не даёт преимущества — nonce и клиентский сид уникальны для истории этого аккаунта. Хуже того, если кто-то постит 'счастливый сид' на форуме, они скорее всего постили его после того, как он уже произвёл выигрыши. Генерируй свой собственный случайный клиентский сид и доверяй математике: при достаточно долгой игре нет сида, который был бы счастливее другого.","Должен ли я копировать сиды от другого игрока?",[74,75,76,77],"en","ru","de","tr",{"data":79,"body":80},{},{"type":81,"children":82},"root",[83,92,126,139,151,157,162,277,282,512,517,524,559,565,598,626,632,637,643,652,657,708,713,719,735,740,783,795,801,810,822,828,833,839,844,1053,1058,1089,1101,1107,1112,1120,1156,1164,1176,1184,1204,1212,1217,1225,1237,1243,1248,1282,1302,1308,1313,1317,1323,1473,1478,1484,1489,1541,1546,1552,1557,1658,1670,1676,1681,1687,1698,1703,1708,1719,1737,1750,1756,1761,1912,1917,1924,1929,1962,1967,1973,1991,1996,2002,2007,2013,2034,2046,2052,2064,2069,2075,2080,2085,2091,2096,2149,2155,2167,2188,2194,2199,2205,2265,2270,2276,2323,2328,2334,2368,2380,2386,2391,2444,2456,2462,2467,2471,2476,2499,2535,2552],{"type":84,"tag":85,"props":86,"children":88},"element","h2",{"id":87},"client-seed-vs-server-seed-полный-технический-справочник-2026",[89],{"type":90,"value":91},"text","Client Seed vs Server Seed: Полный технический справочник (2026)",{"type":84,"tag":93,"props":94,"children":95},"p",{},[96,98,111,113,124],{"type":90,"value":97},"Представь ситуацию: ты только что проиграл восемь раундов кубиков подряд в казино с Provably Fair. Открываешь панель честности, немного надеясь найти доказательство, что сайт сфальсифицирован. Видишь два поля — ",{"type":84,"tag":99,"props":100,"children":101},"strong",{},[102,104],{"type":90,"value":103},"Server Seed Hash: ",{"type":84,"tag":105,"props":106,"children":108},"code",{"className":107},[],[109],{"type":90,"value":110},"a3f79b21...",{"type":90,"value":112}," и ",{"type":84,"tag":99,"props":114,"children":115},{},[116,118],{"type":90,"value":117},"Client Seed: ",{"type":84,"tag":105,"props":119,"children":121},{"className":120},[],[122],{"type":90,"value":123},"bG7yxQ2pR",{"type":90,"value":125}," — плюс счётчик Nonce, который постоянно увеличивается. Большинство игроков глазом пробежат по числам и закроют панель, потому что ничто в игре не объяснило, что они на самом деле делают.",{"type":84,"tag":93,"props":127,"children":128},{},[129,131,137],{"type":90,"value":130},"Вот в чём суть: эти два сида — это ",{"type":84,"tag":132,"props":133,"children":134},"em",{},[135],{"type":90,"value":136},"единственная",{"type":90,"value":138}," причина, по которой ты можешь доверять раунду. Один из них — секрет казино, зафиксированный до твоей ставки. Другой — твой, который можешь менять в любой момент. Вместе они делают математически невозможным для казино подделать исход после того, как видят твою ставку. Не разберёшься, как они работают вместе — доверяешь сайту вслепую. Поймёшь — сможешь проверить каждую ставку за минуту.",{"type":84,"tag":93,"props":140,"children":141},{},[142,144,149],{"type":90,"value":143},"Этот справочник разбирает ",{"type":84,"tag":99,"props":145,"children":146},{},[147],{"type":90,"value":148},"client seed vs server seed",{"type":90,"value":150}," так, как игрок их на самом деле использует в 2026: что делает каждый, кто им управляет, когда он раскрывается, что происходит, если его изменить, и единственная атака, которую система не может остановить без регулярной ротации. Пройдём математику пошагово с реальным примером кубиков, сравним, как Stake, BC.Game и Roobet показывают панель, и заканчивая живым верификатором, чтобы ты мог подставить свои сиды и увидеть, как воспроизводится исход.",{"type":84,"tag":85,"props":152,"children":154},{"id":153},"кратко-ответ-за-60-секунд",[155],{"type":90,"value":156},"Кратко — Ответ за 60 секунд",{"type":84,"tag":93,"props":158,"children":159},{},[160],{"type":90,"value":161},"Каждому раунду Provably Fair нужны три входа. Казино управляет одним, ты управляешь другим, третий — это простой счётчик. Ни один из них сам по себе не определяет исход — все три должны объединиться.",{"type":84,"tag":163,"props":164,"children":165},"table",{},[166,194],{"type":84,"tag":167,"props":168,"children":169},"thead",{},[170],{"type":84,"tag":77,"props":171,"children":172},{},[173,179,184,189],{"type":84,"tag":174,"props":175,"children":176},"th",{},[177],{"type":90,"value":178},"Вход",{"type":84,"tag":174,"props":180,"children":181},{},[182],{"type":90,"value":183},"Кто управляет",{"type":84,"tag":174,"props":185,"children":186},{},[187],{"type":90,"value":188},"Когда раскрывается",{"type":84,"tag":174,"props":190,"children":191},{},[192],{"type":90,"value":193},"Можно менять в сессии?",{"type":84,"tag":195,"props":196,"children":197},"tbody",{},[198,225,251],{"type":84,"tag":77,"props":199,"children":200},{},[201,210,215,220],{"type":84,"tag":202,"props":203,"children":204},"td",{},[205],{"type":84,"tag":99,"props":206,"children":207},{},[208],{"type":90,"value":209},"Server seed",{"type":84,"tag":202,"props":211,"children":212},{},[213],{"type":90,"value":214},"Казино",{"type":84,"tag":202,"props":216,"children":217},{},[218],{"type":90,"value":219},"После ротации сида",{"type":84,"tag":202,"props":221,"children":222},{},[223],{"type":90,"value":224},"Нет, но можешь ротировать",{"type":84,"tag":77,"props":226,"children":227},{},[228,236,241,246],{"type":84,"tag":202,"props":229,"children":230},{},[231],{"type":84,"tag":99,"props":232,"children":233},{},[234],{"type":90,"value":235},"Client seed",{"type":84,"tag":202,"props":237,"children":238},{},[239],{"type":90,"value":240},"Ты",{"type":84,"tag":202,"props":242,"children":243},{},[244],{"type":90,"value":245},"Всегда видно тебе",{"type":84,"tag":202,"props":247,"children":248},{},[249],{"type":90,"value":250},"Да, в любой момент",{"type":84,"tag":77,"props":252,"children":253},{},[254,262,267,272],{"type":84,"tag":202,"props":255,"children":256},{},[257],{"type":84,"tag":99,"props":258,"children":259},{},[260],{"type":90,"value":261},"Nonce",{"type":84,"tag":202,"props":263,"children":264},{},[265],{"type":90,"value":266},"Протокол",{"type":84,"tag":202,"props":268,"children":269},{},[270],{"type":90,"value":271},"Всегда видно",{"type":84,"tag":202,"props":273,"children":274},{},[275],{"type":90,"value":276},"Нет (автоматически увеличивается)",{"type":84,"tag":93,"props":278,"children":279},{},[280],{"type":90,"value":281},"Математика работает так:",{"type":84,"tag":93,"props":283,"children":284},{},[285],{"type":84,"tag":286,"props":287,"children":290},"span",{"className":288},[289],"katex",[291,375],{"type":84,"tag":286,"props":292,"children":295},{"className":293},[294],"katex-mathml",[296],{"type":84,"tag":297,"props":298,"children":300},"math",{"xmlns":299},"http:\u002F\u002Fwww.w3.org\u002F1998\u002FMath\u002FMathML",[301],{"type":84,"tag":302,"props":303,"children":304},"semantics",{},[305,368],{"type":84,"tag":306,"props":307,"children":308},"mrow",{},[309,315,321,326,332,337,343,348,353,358,363],{"type":84,"tag":310,"props":311,"children":312},"mtext",{},[313],{"type":90,"value":314},"исход",{"type":84,"tag":316,"props":317,"children":318},"mo",{},[319],{"type":90,"value":320},"=",{"type":84,"tag":310,"props":322,"children":323},{},[324],{"type":90,"value":325},"HMAC-SHA256",{"type":84,"tag":316,"props":327,"children":329},{"stretchy":328},"false",[330],{"type":90,"value":331},"(",{"type":84,"tag":310,"props":333,"children":334},{},[335],{"type":90,"value":336},"server_seed",{"type":84,"tag":316,"props":338,"children":340},{"separator":339},"true",[341],{"type":90,"value":342},",",{"type":84,"tag":310,"props":344,"children":345},{},[346],{"type":90,"value":347},"  ",{"type":84,"tag":310,"props":349,"children":350},{},[351],{"type":90,"value":352},"client_seed",{"type":84,"tag":316,"props":354,"children":355},{},[356],{"type":90,"value":357},":",{"type":84,"tag":310,"props":359,"children":360},{},[361],{"type":90,"value":362},"nonce",{"type":84,"tag":316,"props":364,"children":365},{"stretchy":328},[366],{"type":90,"value":367},")",{"type":84,"tag":369,"props":370,"children":372},"annotation",{"encoding":371},"application\u002Fx-tex",[373],{"type":90,"value":374},"\\text{исход} = \\text{HMAC-SHA256}(\\text{server\\_seed},\\; \\text{client\\_seed} : \\text{nonce})",{"type":84,"tag":286,"props":376,"children":379},{"className":377,"ariaHidden":339},[378],"katex-html",[380,418,488],{"type":84,"tag":286,"props":381,"children":384},{"className":382},[383],"base",[385,391,402,408,414],{"type":84,"tag":286,"props":386,"children":390},{"className":387,"style":389},[388],"strut","height:0.625em;vertical-align:-0.1944em;",[],{"type":84,"tag":286,"props":392,"children":395},{"className":393},[394,90],"mord",[396],{"type":84,"tag":286,"props":397,"children":400},{"className":398},[394,399],"cyrillic_fallback",[401],{"type":90,"value":314},{"type":84,"tag":286,"props":403,"children":407},{"className":404,"style":406},[405],"mspace","margin-right:0.2778em;",[],{"type":84,"tag":286,"props":409,"children":412},{"className":410},[411],"mrel",[413],{"type":90,"value":320},{"type":84,"tag":286,"props":415,"children":417},{"className":416,"style":406},[405],[],{"type":84,"tag":286,"props":419,"children":421},{"className":420},[383],[422,427,436,442,451,457,461,466,475,479,484],{"type":84,"tag":286,"props":423,"children":426},{"className":424,"style":425},[388],"height:1.06em;vertical-align:-0.31em;",[],{"type":84,"tag":286,"props":428,"children":430},{"className":429},[394,90],[431],{"type":84,"tag":286,"props":432,"children":434},{"className":433},[394],[435],{"type":90,"value":325},{"type":84,"tag":286,"props":437,"children":440},{"className":438},[439],"mopen",[441],{"type":90,"value":331},{"type":84,"tag":286,"props":443,"children":445},{"className":444},[394,90],[446],{"type":84,"tag":286,"props":447,"children":449},{"className":448},[394],[450],{"type":90,"value":336},{"type":84,"tag":286,"props":452,"children":455},{"className":453},[454],"mpunct",[456],{"type":90,"value":342},{"type":84,"tag":286,"props":458,"children":460},{"className":459,"style":406},[405],[],{"type":84,"tag":286,"props":462,"children":465},{"className":463,"style":464},[405],"margin-right:0.1667em;",[],{"type":84,"tag":286,"props":467,"children":469},{"className":468},[394,90],[470],{"type":84,"tag":286,"props":471,"children":473},{"className":472},[394],[474],{"type":90,"value":352},{"type":84,"tag":286,"props":476,"children":478},{"className":477,"style":406},[405],[],{"type":84,"tag":286,"props":480,"children":482},{"className":481},[411],[483],{"type":90,"value":357},{"type":84,"tag":286,"props":485,"children":487},{"className":486,"style":406},[405],[],{"type":84,"tag":286,"props":489,"children":491},{"className":490},[383],[492,497,506],{"type":84,"tag":286,"props":493,"children":496},{"className":494,"style":495},[388],"height:1em;vertical-align:-0.25em;",[],{"type":84,"tag":286,"props":498,"children":500},{"className":499},[394,90],[501],{"type":84,"tag":286,"props":502,"children":504},{"className":503},[394],[505],{"type":90,"value":362},{"type":84,"tag":286,"props":507,"children":510},{"className":508},[509],"mclose",[511],{"type":90,"value":367},{"type":84,"tag":93,"props":513,"children":514},{},[515],{"type":90,"value":516},"На русском: казино берёт свой секретный сид, использует его как ключ вместе с твоим открытым сидом плюс номер раунда, пропускает через одностороннюю криптографическую функцию и преобразует результат в бросок кубика, множитель краша или карту. Ты не можешь предсказать (не знаешь server seed), и казино не может подделать (зафиксировали хэш server seed до твоей ставки).",{"type":84,"tag":518,"props":519,"children":521},"h3",{"id":520},"кто-управляет-каждым-сидом",[522],{"type":90,"value":523},"Кто управляет каждым сидом",{"type":84,"tag":525,"props":526,"children":527},"ul",{},[528,539,549],{"type":84,"tag":529,"props":530,"children":531},"li",{},[532,537],{"type":84,"tag":99,"props":533,"children":534},{},[535],{"type":90,"value":536},"Казино управляет server seed",{"type":90,"value":538}," — генерируется на их сервере и скрыт до ротации",{"type":84,"tag":529,"props":540,"children":541},{},[542,547],{"type":84,"tag":99,"props":543,"children":544},{},[545],{"type":90,"value":546},"Ты управляешь client seed",{"type":90,"value":548}," — обычно автоматически генерируется браузером, но редактируется в панели честности",{"type":84,"tag":529,"props":550,"children":551},{},[552,557],{"type":84,"tag":99,"props":553,"children":554},{},[555],{"type":90,"value":556},"Оба обязательны",{"type":90,"value":558}," — казино не может вычислить твой исход без обоих сидов",{"type":84,"tag":518,"props":560,"children":562},{"id":561},"что-на-самом-деле-менять",[563],{"type":90,"value":564},"Что на самом деле менять",{"type":84,"tag":525,"props":566,"children":567},{},[568,578,588],{"type":84,"tag":529,"props":569,"children":570},{},[571,576],{"type":84,"tag":99,"props":572,"children":573},{},[574],{"type":90,"value":575},"Ротируй server seed каждые 50-100 ставок",{"type":90,"value":577}," — заставляет казино зафиксировать новый сид, который они не могли предварительно оптимизировать",{"type":84,"tag":529,"props":579,"children":580},{},[581,586],{"type":84,"tag":99,"props":582,"children":583},{},[584],{"type":90,"value":585},"Меняй client seed иногда",{"type":90,"value":587}," — один раз в сессию достаточно, это не улучшает шансы",{"type":84,"tag":529,"props":589,"children":590},{},[591,596],{"type":84,"tag":99,"props":592,"children":593},{},[594],{"type":90,"value":595},"Никогда не меняй nonce вручную",{"type":90,"value":597}," — это простой счётчик, изменение ломает проверку",{"type":84,"tag":93,"props":599,"children":600},{},[601,603,608,610,615,617,624],{"type":90,"value":602},"Если ты возьмёшь отсюда только одно: client seed — это твой ",{"type":84,"tag":132,"props":604,"children":605},{},[606],{"type":90,"value":607},"рычаг влияния",{"type":90,"value":609},". Server seed — это ",{"type":84,"tag":132,"props":611,"children":612},{},[613],{"type":90,"value":614},"обязательство",{"type":90,"value":616}," казино. Периодическая ротация server seed — вот что остановит нечестного оператора от манипуляции математикой. Для более полного введения, наш справочник ",{"type":84,"tag":618,"props":619,"children":621},"a",{"href":620},"\u002Fblog\u002Fwhat-is-provably-fair-gambling",[622],{"type":90,"value":623},"что такое provably fair гемблинг",{"type":90,"value":625}," охватывает всю систему; этот справочник увеличивает масштаб конкретно на сиды.",{"type":84,"tag":85,"props":627,"children":629},{"id":628},"что-на-самом-деле-делает-каждый-сид",[630],{"type":90,"value":631},"Что на самом деле делает каждый сид",{"type":84,"tag":93,"props":633,"children":634},{},[635],{"type":90,"value":636},"Перед тем как их сравнивать, каждый сид заслуживает собственного разбора. Они выглядят похоже в интерфейсе — оба длинные случайные строки — но играют противоположные роли в протоколе.",{"type":84,"tag":518,"props":638,"children":640},{"id":639},"server-seed-секрет-казино",[641],{"type":90,"value":642},"Server Seed (Секрет казино)",{"type":84,"tag":93,"props":644,"children":645},{},[646,650],{"type":84,"tag":99,"props":647,"children":648},{},[649],{"type":90,"value":209},{"type":90,"value":651}," — это случайная строка (обычно 32 или 64 байта, закодированная в шестнадцатеричной системе), сгенерированная казино до начала твоего раунда. Думай о нём как о запечатанном конверте казино: они записывают содержимое, запечатывают его и показывают тебе отпечаток (хэш SHA-256). Печать гарантирует, что они не могут изменить содержимое — но тебе не разрешено подсматривать до окончания ставки.",{"type":84,"tag":93,"props":653,"children":654},{},[655],{"type":90,"value":656},"Ключевые факты о server seed:",{"type":84,"tag":525,"props":658,"children":659},{},[660,678,688,698],{"type":84,"tag":529,"props":661,"children":662},{},[663,668,670,676],{"type":84,"tag":99,"props":664,"children":665},{},[666],{"type":90,"value":667},"Всегда хэшируется",{"type":90,"value":669}," перед раскрытием: ты видишь ",{"type":84,"tag":105,"props":671,"children":673},{"className":672},[],[674],{"type":90,"value":675},"SHA-256(server_seed)",{"type":90,"value":677}," как 64-символную шестнадцатеричную строку",{"type":84,"tag":529,"props":679,"children":680},{},[681,686],{"type":84,"tag":99,"props":682,"children":683},{},[684],{"type":90,"value":685},"Один сид охватывает много раундов",{"type":90,"value":687},": один и тот же server seed остаётся активным десятки или тысячи ставок, с nonce увеличивающимся за раунд",{"type":84,"tag":529,"props":689,"children":690},{},[691,696],{"type":84,"tag":99,"props":692,"children":693},{},[694],{"type":90,"value":695},"Ротируется по требованию",{"type":90,"value":697},": нажатие \"Ротировать\" раскрывает старый сид и фиксирует новый хэш",{"type":84,"tag":529,"props":699,"children":700},{},[701,706],{"type":84,"tag":99,"props":702,"children":703},{},[704],{"type":90,"value":705},"Никогда не используется повторно между игроками",{"type":90,"value":707},": каждый аккаунт имеет свой активный server seed",{"type":84,"tag":93,"props":709,"children":710},{},[711],{"type":90,"value":712},"Причина, по которой server seed скрыт, проста — если бы ты мог увидеть его до ставки, ты мог бы заранее вычислить точный исход и обманул бы казино. Хэш — это устройство фиксации: оно заковывает казино в один конкретный сид без его раскрытия.",{"type":84,"tag":518,"props":714,"children":716},{"id":715},"client-seed-твой-вклад",[717],{"type":90,"value":718},"Client Seed (Твой вклад)",{"type":84,"tag":93,"props":720,"children":721},{},[722,726,728,733],{"type":84,"tag":99,"props":723,"children":724},{},[725],{"type":90,"value":235},{"type":90,"value":727}," — это строка, которую вносишь ",{"type":84,"tag":132,"props":729,"children":730},{},[731],{"type":90,"value":732},"ты",{"type":90,"value":734},". На Stake, BC.Game, Roobet и всех основных PF казино браузер генерирует случайный по умолчанию — обычно 10-20 символов букво-цифровая строка — и позволяет редактировать его в панели честности.",{"type":84,"tag":93,"props":736,"children":737},{},[738],{"type":90,"value":739},"Ключевые факты о client seed:",{"type":84,"tag":525,"props":741,"children":742},{},[743,753,763,773],{"type":84,"tag":529,"props":744,"children":745},{},[746,751],{"type":84,"tag":99,"props":747,"children":748},{},[749],{"type":90,"value":750},"Ты управляешь им",{"type":90,"value":752},", казино не может видеть, какой будет твой следующий до того, как ты его отправишь",{"type":84,"tag":529,"props":754,"children":755},{},[756,761],{"type":84,"tag":99,"props":757,"children":758},{},[759],{"type":90,"value":760},"Видно тебе всегда",{"type":90,"value":762}," в панели честности",{"type":84,"tag":529,"props":764,"children":765},{},[766,771],{"type":84,"tag":99,"props":767,"children":768},{},[769],{"type":90,"value":770},"Можно менять в любой момент",{"type":90,"value":772},", но изменения не влияют на уже размещённые ставки",{"type":84,"tag":529,"props":774,"children":775},{},[776,781],{"type":84,"tag":99,"props":777,"children":778},{},[779],{"type":90,"value":780},"Часто автоматически генерируется",{"type":90,"value":782}," — браузер случайно создаёт новый за сессию",{"type":84,"tag":93,"props":784,"children":785},{},[786,788,793],{"type":90,"value":787},"Client seed — это механизм, который останавливает казино от предварительного вычисления исходов. Поскольку server seed зафиксирован через хэш ",{"type":84,"tag":132,"props":789,"children":790},{},[791],{"type":90,"value":792},"до",{"type":90,"value":794}," того, как ты отправишь следующий client seed, казино действительно не может знать, какой результат произведёт HMAC. Вот почему изменение client seed иногда — или разрешение браузеру его авторотировать — это ключевая защита, даже если любой одиночный client seed в среднем такой же \"удачный\" как и любой другой.",{"type":84,"tag":518,"props":796,"children":798},{"id":797},"nonce-счётчик-раундов",[799],{"type":90,"value":800},"Nonce (Счётчик раундов)",{"type":84,"tag":93,"props":802,"children":803},{},[804,808],{"type":84,"tag":99,"props":805,"children":806},{},[807],{"type":90,"value":261},{"type":90,"value":809}," — самый простой из трёх. Это просто счётчик, который увеличивается с каждой ставкой — раунд 1, раунд 2, раунд 3 и так далее. Ты не можешь его установить, изменить или пропустить. Если ты ставишь 50 раз с одинаковыми server seed и client seed, nonce идёт от 0 до 49 и каждый исход отличается, потому что nonce меняется.",{"type":84,"tag":93,"props":811,"children":812},{},[813,815,820],{"type":90,"value":814},"Зачем вообще нужен nonce? Без него каждый раунд с одинаковыми server seed и client seed произвёл бы ",{"type":84,"tag":132,"props":816,"children":817},{},[818],{"type":90,"value":819},"абсолютно одинаковый исход",{"type":90,"value":821}," — каждый раз попадаешь в одно и то же число кубика. Nonce — это то, что делает каждый раунд уникальным, сохраняя математику воспроизводимой. Если казино когда-нибудь покажет nonce, который пропустил число (0, 1, 3, 4 — где 2?), это признак манипуляции.",{"type":84,"tag":85,"props":823,"children":825},{"id":824},"как-они-объединяются-и-производят-результат",[826],{"type":90,"value":827},"Как они объединяются и производят результат",{"type":84,"tag":93,"props":829,"children":830},{},[831],{"type":90,"value":832},"Здесь три входных значения перестают быть просто данными и становятся математикой. Каждое казино с Provably Fair использует одну и ту же базовую формулу, хотя интерпретация выходного значения отличается в зависимости от игры.",{"type":84,"tag":518,"props":834,"children":836},{"id":835},"формула-hmac-простыми-словами",[837],{"type":90,"value":838},"Формула HMAC простыми словами",{"type":84,"tag":93,"props":840,"children":841},{},[842],{"type":90,"value":843},"Вот что на самом деле вычисляет каждое PF-казино:",{"type":84,"tag":93,"props":845,"children":846},{},[847],{"type":84,"tag":286,"props":848,"children":850},{"className":849},[289],[851,922],{"type":84,"tag":286,"props":852,"children":854},{"className":853},[294],[855],{"type":84,"tag":297,"props":856,"children":857},{"xmlns":299},[858],{"type":84,"tag":302,"props":859,"children":860},{},[861,917],{"type":84,"tag":306,"props":862,"children":863},{},[864,869,873,877,881,885,889,893,897,901,905,909,913],{"type":84,"tag":310,"props":865,"children":866},{},[867],{"type":90,"value":868},"hex_output",{"type":84,"tag":316,"props":870,"children":871},{},[872],{"type":90,"value":320},{"type":84,"tag":310,"props":874,"children":875},{},[876],{"type":90,"value":325},{"type":84,"tag":316,"props":878,"children":879},{"stretchy":328},[880],{"type":90,"value":331},{"type":84,"tag":310,"props":882,"children":883},{},[884],{"type":90,"value":336},{"type":84,"tag":316,"props":886,"children":887},{"separator":339},[888],{"type":90,"value":342},{"type":84,"tag":310,"props":890,"children":891},{},[892],{"type":90,"value":347},{"type":84,"tag":310,"props":894,"children":895},{},[896],{"type":90,"value":352},{"type":84,"tag":310,"props":898,"children":899},{},[900],{"type":90,"value":347},{"type":84,"tag":316,"props":902,"children":903},{},[904],{"type":90,"value":357},{"type":84,"tag":310,"props":906,"children":907},{},[908],{"type":90,"value":347},{"type":84,"tag":310,"props":910,"children":911},{},[912],{"type":90,"value":362},{"type":84,"tag":316,"props":914,"children":915},{"stretchy":328},[916],{"type":90,"value":367},{"type":84,"tag":369,"props":918,"children":919},{"encoding":371},[920],{"type":90,"value":921},"\\text{hex\\_output} = \\text{HMAC-SHA256}(\\text{server\\_seed},\\; \\text{client\\_seed} \\; : \\; \\text{nonce})",{"type":84,"tag":286,"props":923,"children":925},{"className":924,"ariaHidden":339},[378],[926,957,1031],{"type":84,"tag":286,"props":927,"children":929},{"className":928},[383],[930,935,944,948,953],{"type":84,"tag":286,"props":931,"children":934},{"className":932,"style":933},[388],"height:1.0044em;vertical-align:-0.31em;",[],{"type":84,"tag":286,"props":936,"children":938},{"className":937},[394,90],[939],{"type":84,"tag":286,"props":940,"children":942},{"className":941},[394],[943],{"type":90,"value":868},{"type":84,"tag":286,"props":945,"children":947},{"className":946,"style":406},[405],[],{"type":84,"tag":286,"props":949,"children":951},{"className":950},[411],[952],{"type":90,"value":320},{"type":84,"tag":286,"props":954,"children":956},{"className":955,"style":406},[405],[],{"type":84,"tag":286,"props":958,"children":960},{"className":959},[383],[961,965,974,979,988,993,997,1001,1010,1014,1018,1023,1027],{"type":84,"tag":286,"props":962,"children":964},{"className":963,"style":425},[388],[],{"type":84,"tag":286,"props":966,"children":968},{"className":967},[394,90],[969],{"type":84,"tag":286,"props":970,"children":972},{"className":971},[394],[973],{"type":90,"value":325},{"type":84,"tag":286,"props":975,"children":977},{"className":976},[439],[978],{"type":90,"value":331},{"type":84,"tag":286,"props":980,"children":982},{"className":981},[394,90],[983],{"type":84,"tag":286,"props":984,"children":986},{"className":985},[394],[987],{"type":90,"value":336},{"type":84,"tag":286,"props":989,"children":991},{"className":990},[454],[992],{"type":90,"value":342},{"type":84,"tag":286,"props":994,"children":996},{"className":995,"style":406},[405],[],{"type":84,"tag":286,"props":998,"children":1000},{"className":999,"style":464},[405],[],{"type":84,"tag":286,"props":1002,"children":1004},{"className":1003},[394,90],[1005],{"type":84,"tag":286,"props":1006,"children":1008},{"className":1007},[394],[1009],{"type":90,"value":352},{"type":84,"tag":286,"props":1011,"children":1013},{"className":1012,"style":406},[405],[],{"type":84,"tag":286,"props":1015,"children":1017},{"className":1016,"style":406},[405],[],{"type":84,"tag":286,"props":1019,"children":1021},{"className":1020},[411],[1022],{"type":90,"value":357},{"type":84,"tag":286,"props":1024,"children":1026},{"className":1025,"style":406},[405],[],{"type":84,"tag":286,"props":1028,"children":1030},{"className":1029,"style":406},[405],[],{"type":84,"tag":286,"props":1032,"children":1034},{"className":1033},[383],[1035,1039,1048],{"type":84,"tag":286,"props":1036,"children":1038},{"className":1037,"style":495},[388],[],{"type":84,"tag":286,"props":1040,"children":1042},{"className":1041},[394,90],[1043],{"type":84,"tag":286,"props":1044,"children":1046},{"className":1045},[394],[1047],{"type":90,"value":362},{"type":84,"tag":286,"props":1049,"children":1051},{"className":1050},[509],[1052],{"type":90,"value":367},{"type":84,"tag":93,"props":1054,"children":1055},{},[1056],{"type":90,"value":1057},"Перевод на простой русский:",{"type":84,"tag":525,"props":1059,"children":1060},{},[1061,1070,1079],{"type":84,"tag":529,"props":1062,"children":1063},{},[1064,1068],{"type":84,"tag":99,"props":1065,"children":1066},{},[1067],{"type":90,"value":325},{"type":90,"value":1069},": криптографическая хеш-функция с ключом — как SHA-256, но \"подписанная\" ключом",{"type":84,"tag":529,"props":1071,"children":1072},{},[1073,1077],{"type":84,"tag":99,"props":1074,"children":1075},{},[1076],{"type":90,"value":336},{"type":90,"value":1078}," (ключ): скрытое значение казино, привязывающее функцию к одному конкретному сиду",{"type":84,"tag":529,"props":1080,"children":1081},{},[1082,1087],{"type":84,"tag":99,"props":1083,"children":1084},{},[1085],{"type":90,"value":1086},"client_seed:nonce",{"type":90,"value":1088}," (сообщение): твой сид, объединённый с номером раунда через двоеточие",{"type":84,"tag":93,"props":1090,"children":1091},{},[1092,1094,1099],{"type":90,"value":1093},"На выходе — 64-символьная строка в шестнадцатеричной системе. Разные игры интерпретируют её по-разному: игры в кости берут первые несколько символов и переводят их в диапазон 0-99.99, краш-игры используют другой срез и другую формулу, игры в блэкджек цепляют несколько HMAC-вызовов (по одному на карту) и обычно переходят на HMAC-SHA512 для 128-символьных выходов. Точная интерпретация важна, но ",{"type":84,"tag":132,"props":1095,"children":1096},{},[1097],{"type":90,"value":1098},"структура commit-reveal одинакова",{"type":90,"value":1100}," для всех них.",{"type":84,"tag":518,"props":1102,"children":1104},{"id":1103},"рабочий-пример-один-бросок-костей-шаг-за-шагом",[1105],{"type":90,"value":1106},"Рабочий пример: один бросок костей шаг за шагом",{"type":84,"tag":93,"props":1108,"children":1109},{},[1110],{"type":90,"value":1111},"Проведём один полный раунд с реальными (примерными) значениями, чтобы ты увидел, как именно сиды объединяются.",{"type":84,"tag":93,"props":1113,"children":1114},{},[1115],{"type":84,"tag":99,"props":1116,"children":1117},{},[1118],{"type":90,"value":1119},"Дано:",{"type":84,"tag":525,"props":1121,"children":1122},{},[1123,1134,1145],{"type":84,"tag":529,"props":1124,"children":1125},{},[1126,1128],{"type":90,"value":1127},"server_seed = ",{"type":84,"tag":105,"props":1129,"children":1131},{"className":1130},[],[1132],{"type":90,"value":1133},"f4a9c2e1b7d8e3c5a1b9f6d2e8c4a7b3e9d1c6a2b5f8e4c7a3b6e1d9c2a5b8f4",{"type":84,"tag":529,"props":1135,"children":1136},{},[1137,1139],{"type":90,"value":1138},"client_seed = ",{"type":84,"tag":105,"props":1140,"children":1142},{"className":1141},[],[1143],{"type":90,"value":1144},"player-xyz-42",{"type":84,"tag":529,"props":1146,"children":1147},{},[1148,1150],{"type":90,"value":1149},"nonce = ",{"type":84,"tag":105,"props":1151,"children":1153},{"className":1152},[],[1154],{"type":90,"value":1155},"7",{"type":84,"tag":93,"props":1157,"children":1158},{},[1159],{"type":84,"tag":99,"props":1160,"children":1161},{},[1162],{"type":90,"value":1163},"Шаг 1 — вычисляем HMAC-SHA256:",{"type":84,"tag":1165,"props":1166,"children":1170},"pre",{"className":1167,"code":1169,"language":90},[1168],"language-text","HMAC-SHA256(server_seed, \"player-xyz-42:7\")\n= 8b2d4a1f9c6e7b3d5a8f2c9e4b1d7a6f3e8c5b2d9a4f7e1c8b3d6a2f9e5c4b7d\n",[1171],{"type":84,"tag":105,"props":1172,"children":1174},{"__ignoreMap":1173},"",[1175],{"type":90,"value":1169},{"type":84,"tag":93,"props":1177,"children":1178},{},[1179],{"type":84,"tag":99,"props":1180,"children":1181},{},[1182],{"type":90,"value":1183},"Шаг 2 — переводим хеш в результат броска (Stake-стиль):",{"type":84,"tag":93,"props":1185,"children":1186},{},[1187,1189,1195,1197,1202],{"type":90,"value":1188},"Берём первые 5 символов хеша: ",{"type":84,"tag":105,"props":1190,"children":1192},{"className":1191},[],[1193],{"type":90,"value":1194},"8b2d4",{"type":90,"value":1196}," → переводим в десятичную = 569 300. Модуль 1 000 000 = 569 300 → делим на 10 000 = ",{"type":84,"tag":99,"props":1198,"children":1199},{},[1200],{"type":90,"value":1201},"56.93",{"type":90,"value":1203},".",{"type":84,"tag":93,"props":1205,"children":1206},{},[1207],{"type":84,"tag":99,"props":1208,"children":1209},{},[1210],{"type":90,"value":1211},"Шаг 3 — сравниваем с твоей ставкой:",{"type":84,"tag":93,"props":1213,"children":1214},{},[1215],{"type":90,"value":1216},"Если ты ставил \"бросок меньше 50\" — ты проиграл (56.93 > 50). Если ставил \"бросок меньше 60\" — ты выиграл. Исход был определён тремя входными значениями, которые ни одна из сторон не могла изменить после обязательства.",{"type":84,"tag":93,"props":1218,"children":1219},{},[1220],{"type":84,"tag":99,"props":1221,"children":1222},{},[1223],{"type":90,"value":1224},"Шаг 4 — проверка:",{"type":84,"tag":93,"props":1226,"children":1227},{},[1228,1230,1236],{"type":90,"value":1229},"После ротации серверного сида ты получаешь его сырое значение. Ты хешируешь его сам: совпадает ли хеш с тем, что ты видел до раунда? Потом снова запускаешь HMAC с теми же входными значениями: совпадает ли выход? Оба совпадают = раунд криптографически подтверждён честным. Полное пошаговое объяснение с готовыми значениями смотри в ",{"type":84,"tag":618,"props":1231,"children":1233},{"href":1232},"\u002Fblog\u002Fhow-to-verify-provably-fair",[1234],{"type":90,"value":1235},"как проверить Provably Fair раунд",{"type":90,"value":1203},{"type":84,"tag":518,"props":1238,"children":1240},{"id":1239},"почему-математику-невозможно-подделать",[1241],{"type":90,"value":1242},"Почему математику невозможно подделать",{"type":84,"tag":93,"props":1244,"children":1245},{},[1246],{"type":90,"value":1247},"Три криптографических свойства делают протокол устойчивым к манипуляциям:",{"type":84,"tag":1249,"props":1250,"children":1251},"ol",{},[1252,1262,1272],{"type":84,"tag":529,"props":1253,"children":1254},{},[1255,1260],{"type":84,"tag":99,"props":1256,"children":1257},{},[1258],{"type":90,"value":1259},"Хеш-обязательство",{"type":90,"value":1261},": SHA-256 не имеет практически реализуемых атак на восстановление прообраза, поэтому казино не может найти другой server_seed, который даст тот же заранее обещанный хеш, узнав о твоей ставке.",{"type":84,"tag":529,"props":1263,"children":1264},{},[1265,1270],{"type":84,"tag":99,"props":1266,"children":1267},{},[1268],{"type":90,"value":1269},"Непрозрачность HMAC",{"type":90,"value":1271},": ты не можешь развернуть выход HMAC, чтобы определить server_seed — это критично, потому что иначе знание одного результата раскрыло бы ключ.",{"type":84,"tag":529,"props":1273,"children":1274},{},[1275,1280],{"type":84,"tag":99,"props":1276,"children":1277},{},[1278],{"type":90,"value":1279},"Взаимное незнание в момент обязательства",{"type":90,"value":1281},": казино не знает твои будущие client_seed'ы, поэтому не может предварительно оптимизировать выбор server_seed для конкретных клиентских значений.",{"type":84,"tag":93,"props":1283,"children":1284},{},[1285,1287,1292,1294,1300],{"type":90,"value":1286},"Если какое-то из этих трёх свойств сломается, сломается весь протокол. В 2026 году ни одно из них не сломано для SHA-256, поэтому математика работает. Все настоящие атаки находятся в ",{"type":84,"tag":132,"props":1288,"children":1289},{},[1290],{"type":90,"value":1291},"реализации",{"type":90,"value":1293}," — об этом рассказываем в секции ротации ниже. Наше сравнение ",{"type":84,"tag":618,"props":1295,"children":1297},{"href":1296},"\u002Fblog\u002Fprovably-fair-vs-rng-certified",[1298],{"type":90,"value":1299},"provably fair vs RNG certified",{"type":90,"value":1301}," углубляется в то, как эта математика соотносится с традиционными лабораторными аудитами.",{"type":84,"tag":85,"props":1303,"children":1305},{"id":1304},"server-seed-vs-client-seed-рядом-друг-с-другом",[1306],{"type":90,"value":1307},"Server Seed vs Client Seed — рядом друг с другом",{"type":84,"tag":93,"props":1309,"children":1310},{},[1311],{"type":90,"value":1312},"Один и тот же протокол, противоположные роли. Вот прямое сравнение.",{"type":84,"tag":1314,"props":1315,"children":1316},"chart-client-server-seed",{},[],{"type":84,"tag":518,"props":1318,"children":1320},{"id":1319},"кто-контролирует-что",[1321],{"type":90,"value":1322},"Кто контролирует что",{"type":84,"tag":163,"props":1324,"children":1325},{},[1326,1347],{"type":84,"tag":167,"props":1327,"children":1328},{},[1329],{"type":84,"tag":77,"props":1330,"children":1331},{},[1332,1337,1342],{"type":84,"tag":174,"props":1333,"children":1334},{},[1335],{"type":90,"value":1336},"Свойство",{"type":84,"tag":174,"props":1338,"children":1339},{},[1340],{"type":90,"value":1341},"Server Seed",{"type":84,"tag":174,"props":1343,"children":1344},{},[1345],{"type":90,"value":1346},"Client Seed",{"type":84,"tag":195,"props":1348,"children":1349},{},[1350,1369,1390,1411,1432,1453],{"type":84,"tag":77,"props":1351,"children":1352},{},[1353,1361,1365],{"type":84,"tag":202,"props":1354,"children":1355},{},[1356],{"type":84,"tag":99,"props":1357,"children":1358},{},[1359],{"type":90,"value":1360},"Владелец",{"type":84,"tag":202,"props":1362,"children":1363},{},[1364],{"type":90,"value":214},{"type":84,"tag":202,"props":1366,"children":1367},{},[1368],{"type":90,"value":240},{"type":84,"tag":77,"props":1370,"children":1371},{},[1372,1380,1385],{"type":84,"tag":202,"props":1373,"children":1374},{},[1375],{"type":84,"tag":99,"props":1376,"children":1377},{},[1378],{"type":90,"value":1379},"Видно в сыром виде?",{"type":84,"tag":202,"props":1381,"children":1382},{},[1383],{"type":90,"value":1384},"Только после ротации",{"type":84,"tag":202,"props":1386,"children":1387},{},[1388],{"type":90,"value":1389},"Всегда",{"type":84,"tag":77,"props":1391,"children":1392},{},[1393,1401,1406],{"type":84,"tag":202,"props":1394,"children":1395},{},[1396],{"type":84,"tag":99,"props":1397,"children":1398},{},[1399],{"type":90,"value":1400},"Видно в хешированном виде?",{"type":84,"tag":202,"props":1402,"children":1403},{},[1404],{"type":90,"value":1405},"Всегда (перед раундом)",{"type":84,"tag":202,"props":1407,"children":1408},{},[1409],{"type":90,"value":1410},"Никогда не хешируется — показывается в сыром виде",{"type":84,"tag":77,"props":1412,"children":1413},{},[1414,1422,1427],{"type":84,"tag":202,"props":1415,"children":1416},{},[1417],{"type":84,"tag":99,"props":1418,"children":1419},{},[1420],{"type":90,"value":1421},"Генерируется",{"type":84,"tag":202,"props":1423,"children":1424},{},[1425],{"type":90,"value":1426},"ГСЧ казино",{"type":84,"tag":202,"props":1428,"children":1429},{},[1430],{"type":90,"value":1431},"Браузером (или ты вручную)",{"type":84,"tag":77,"props":1433,"children":1434},{},[1435,1443,1448],{"type":84,"tag":202,"props":1436,"children":1437},{},[1438],{"type":84,"tag":99,"props":1439,"children":1440},{},[1441],{"type":90,"value":1442},"Длина",{"type":84,"tag":202,"props":1444,"children":1445},{},[1446],{"type":90,"value":1447},"Обычно 64 символа в hex",{"type":84,"tag":202,"props":1449,"children":1450},{},[1451],{"type":90,"value":1452},"Обычно 10-20 символов, устанавливается пользователем",{"type":84,"tag":77,"props":1454,"children":1455},{},[1456,1464,1469],{"type":84,"tag":202,"props":1457,"children":1458},{},[1459],{"type":84,"tag":99,"props":1460,"children":1461},{},[1462],{"type":90,"value":1463},"Могут ли это видеть другие игроки?",{"type":84,"tag":202,"props":1465,"children":1466},{},[1467],{"type":90,"value":1468},"Нет (привязан к твоему аккаунту)",{"type":84,"tag":202,"props":1470,"children":1471},{},[1472],{"type":90,"value":1468},{"type":84,"tag":93,"props":1474,"children":1475},{},[1476],{"type":90,"value":1477},"Асимметрия намеренна. Если бы оба сида были общедоступны, любая сторона могла бы манипулировать. Скрывая server_seed (через хеш) и показывая client_seed только тебе, протокол создаёт настоящее двусторонее обязательство, где ни один участник не может обмануть другого.",{"type":84,"tag":518,"props":1479,"children":1481},{"id":1480},"когда-раскрывается-каждый",[1482],{"type":90,"value":1483},"Когда раскрывается каждый",{"type":84,"tag":93,"props":1485,"children":1486},{},[1487],{"type":90,"value":1488},"Момент раскрытия отделяет работающее PF-казино от подделки:",{"type":84,"tag":525,"props":1490,"children":1491},{},[1492,1509,1525],{"type":84,"tag":529,"props":1493,"children":1494},{},[1495,1500,1502,1507],{"type":84,"tag":99,"props":1496,"children":1497},{},[1498],{"type":90,"value":1499},"Хеш server_seed",{"type":90,"value":1501},": виден ",{"type":84,"tag":132,"props":1503,"children":1504},{},[1505],{"type":90,"value":1506},"перед каждым раундом",{"type":90,"value":1508}," — проверь его до того, как ставить",{"type":84,"tag":529,"props":1510,"children":1511},{},[1512,1517,1518,1523],{"type":84,"tag":99,"props":1513,"children":1514},{},[1515],{"type":90,"value":1516},"Client_seed",{"type":90,"value":1501},{"type":84,"tag":132,"props":1519,"children":1520},{},[1521],{"type":90,"value":1522},"всегда",{"type":90,"value":1524}," — ты его ввёл или сгенерировал",{"type":84,"tag":529,"props":1526,"children":1527},{},[1528,1533,1534,1539],{"type":84,"tag":99,"props":1529,"children":1530},{},[1531],{"type":90,"value":1532},"Server_seed (сырое значение)",{"type":90,"value":1501},{"type":84,"tag":132,"props":1535,"children":1536},{},[1537],{"type":90,"value":1538},"только после ротации сида",{"type":90,"value":1540}," — либо ты нажимаешь \"Ротировать\", либо завершаешь сессию",{"type":84,"tag":93,"props":1542,"children":1543},{},[1544],{"type":90,"value":1545},"Честное казино никогда не откажет в ротации. Если ты нажимаешь \"Ротировать сид\", а старый сид не появляется в течение нескольких секунд — или того хуже, если казино говорит \"сиды ротируются автоматически каждые 24 часа, и ты увидишь историю завтра\" — это красный флаг. Раскрытие сида должно быть мгновенным и криптографически доказуемым.",{"type":84,"tag":518,"props":1547,"children":1549},{"id":1548},"что-происходит-если-изменить-каждый-из-них",[1550],{"type":90,"value":1551},"Что происходит, если изменить каждый из них",{"type":84,"tag":93,"props":1553,"children":1554},{},[1555],{"type":90,"value":1556},"Вот таблица практического влияния, которая тебе действительно нужна:",{"type":84,"tag":163,"props":1558,"children":1559},{},[1560,1586],{"type":84,"tag":167,"props":1561,"children":1562},{},[1563],{"type":84,"tag":77,"props":1564,"children":1565},{},[1566,1571,1576,1581],{"type":84,"tag":174,"props":1567,"children":1568},{},[1569],{"type":90,"value":1570},"Действие",{"type":84,"tag":174,"props":1572,"children":1573},{},[1574],{"type":90,"value":1575},"Влияние на текущий раунд",{"type":84,"tag":174,"props":1577,"children":1578},{},[1579],{"type":90,"value":1580},"Влияние на следующий раунд",{"type":84,"tag":174,"props":1582,"children":1583},{},[1584],{"type":90,"value":1585},"Долгосрочный эффект",{"type":84,"tag":195,"props":1587,"children":1588},{},[1589,1612,1635],{"type":84,"tag":77,"props":1590,"children":1591},{},[1592,1597,1602,1607],{"type":84,"tag":202,"props":1593,"children":1594},{},[1595],{"type":90,"value":1596},"Ротировать server_seed",{"type":84,"tag":202,"props":1598,"children":1599},{},[1600],{"type":90,"value":1601},"Никакого (текущий раунд не затронут)",{"type":84,"tag":202,"props":1603,"children":1604},{},[1605],{"type":90,"value":1606},"Новый server_seed используется со следующей ставки",{"type":84,"tag":202,"props":1608,"children":1609},{},[1610],{"type":90,"value":1611},"Сбрасывает риск предвзятого сида",{"type":84,"tag":77,"props":1613,"children":1614},{},[1615,1620,1625,1630],{"type":84,"tag":202,"props":1616,"children":1617},{},[1618],{"type":90,"value":1619},"Изменить client_seed",{"type":84,"tag":202,"props":1621,"children":1622},{},[1623],{"type":90,"value":1624},"Никакого (нельзя изменить ретроспективно)",{"type":84,"tag":202,"props":1626,"children":1627},{},[1628],{"type":90,"value":1629},"Новый client_seed используется со следующей ставки",{"type":84,"tag":202,"props":1631,"children":1632},{},[1633],{"type":90,"value":1634},"Заставляет казино пересчитать все исходы",{"type":84,"tag":77,"props":1636,"children":1637},{},[1638,1643,1648,1653],{"type":84,"tag":202,"props":1639,"children":1640},{},[1641],{"type":90,"value":1642},"Сбросить nonce",{"type":84,"tag":202,"props":1644,"children":1645},{},[1646],{"type":90,"value":1647},"Невозможно — протокол это не позволяет",{"type":84,"tag":202,"props":1649,"children":1650},{},[1651],{"type":90,"value":1652},"Nonce продолжается с того же места",{"type":84,"tag":202,"props":1654,"children":1655},{},[1656],{"type":90,"value":1657},"Н\u002FП",{"type":84,"tag":93,"props":1659,"children":1660},{},[1661,1663,1668],{"type":90,"value":1662},"Главное: изменение любого сида — это защита на будущее, а не способ оспорить прошлые проигрыши. Если ты собираешься начать длительную сессию в кости на новом казино, ротируй оба сида немедленно, чтобы казино обязалось использовать значения ",{"type":84,"tag":132,"props":1664,"children":1665},{},[1666],{"type":90,"value":1667},"после",{"type":90,"value":1669}," того, как ты установил свой client_seed. Этот порядок важнее, чем любое конкретное значение сида.",{"type":84,"tag":85,"props":1671,"children":1673},{"id":1672},"ротация-сидов-когда-и-почему-менять-их",[1674],{"type":90,"value":1675},"Ротация Сидов — Когда и Почему Менять Их",{"type":84,"tag":93,"props":1677,"children":1678},{},[1679],{"type":90,"value":1680},"Если ты прочитаешь только один раздел на этой странице, прочитай этот. Ротация — это единственное действие со стороны игрока, которое реально меняет твой криптографический уровень защиты.",{"type":84,"tag":518,"props":1682,"children":1684},{"id":1683},"атака-со-смещённым-сидом-и-почему-ротация-её-останавливает",[1685],{"type":90,"value":1686},"Атака со Смещённым Сидом (И Почему Ротация Её Останавливает)",{"type":84,"tag":93,"props":1688,"children":1689},{},[1690,1692,1697],{"type":90,"value":1691},"Вот единственная теоретическая уязвимость, которую Provably Fair не может исключить без ротации: ",{"type":84,"tag":99,"props":1693,"children":1694},{},[1695],{"type":90,"value":1696},"смещённая генерация сидов",{"type":90,"value":1203},{"type":84,"tag":93,"props":1699,"children":1700},{},[1701],{"type":90,"value":1702},"Представь нечестное казино, которое заранее генерирует тысячи серверных сидов. Для каждого они предварительно вычисляют исходы против типичных паттернов клиентских сидов (стандартные форматы браузера, часто используемые слова, паттерны, которые они видели раньше). Затем они выборочно развёртывают сиды, которые случайно производят больше проигрышей, чем выигрышей для ожидаемых клиентских сидов.",{"type":84,"tag":93,"props":1704,"children":1705},{},[1706],{"type":90,"value":1707},"Потому что казино всё ещё публикует валидный хэш серверного сида — и раскрытый сид всё ещё соответствует этому обязательству — проверка работает. Протокол \"работает\". Но сам сид был вишенкой из смещённой коллекции, и твой долгосрочный преимущество казино хуже, чем заявлено.",{"type":84,"tag":93,"props":1709,"children":1710},{},[1711,1713,1718],{"type":90,"value":1712},"Защита простая: ",{"type":84,"tag":99,"props":1714,"children":1715},{},[1716],{"type":90,"value":1717},"ротируй достаточно часто, чтобы предварительные вычисления стали бесполезными",{"type":90,"value":1203},{"type":84,"tag":525,"props":1720,"children":1721},{},[1722,1727,1732],{"type":84,"tag":529,"props":1723,"children":1724},{},[1725],{"type":90,"value":1726},"Ротируй после каждых 50–100 ставок → казино должно зафиксировать новые сиды, которые они не предварительно оптимизировали",{"type":84,"tag":529,"props":1728,"children":1729},{},[1730],{"type":90,"value":1731},"Меняй свой клиентский сид в то же время → аннулирует любые предварительные вычисления на основе паттернов",{"type":84,"tag":529,"props":1733,"children":1734},{},[1735],{"type":90,"value":1736},"Вместе они делают атаки со смещённым сидом статистически невозможными в масштабе",{"type":84,"tag":93,"props":1738,"children":1739},{},[1740,1742,1748],{"type":90,"value":1741},"Эта атака крайне редка в авторитетных казино — репутационная стоимость разоблачения намного превышает полученное EV — но это единственная причина, почему ротация вообще важна. Наш рейтинг ",{"type":84,"tag":618,"props":1743,"children":1745},{"href":1744},"\u002Fblog\u002Fprovably-fair-bitcoin-games",[1746],{"type":90,"value":1747},"Provably Fair биткойн-игр",{"type":90,"value":1749}," специально фильтрует казино с опубликованными рабочими процессами ротации.",{"type":84,"tag":518,"props":1751,"children":1753},{"id":1752},"частота-ротации-в-популярных-казино",[1754],{"type":90,"value":1755},"Частота Ротации в Популярных Казино",{"type":84,"tag":93,"props":1757,"children":1758},{},[1759],{"type":90,"value":1760},"Разные сайты используют разные стандартные интервалы. Вот что на самом деле делает каждая платформа:",{"type":84,"tag":163,"props":1762,"children":1763},{},[1764,1789],{"type":84,"tag":167,"props":1765,"children":1766},{},[1767],{"type":84,"tag":77,"props":1768,"children":1769},{},[1770,1774,1779,1784],{"type":84,"tag":174,"props":1771,"children":1772},{},[1773],{"type":90,"value":214},{"type":84,"tag":174,"props":1775,"children":1776},{},[1777],{"type":90,"value":1778},"Авторотация по умолчанию",{"type":84,"tag":174,"props":1780,"children":1781},{},[1782],{"type":90,"value":1783},"Ручная ротация",{"type":84,"tag":174,"props":1785,"children":1786},{},[1787],{"type":90,"value":1788},"Рекомендуемая настройка",{"type":84,"tag":195,"props":1790,"children":1791},{},[1792,1818,1841,1865,1889],{"type":84,"tag":77,"props":1793,"children":1794},{},[1795,1803,1808,1813],{"type":84,"tag":202,"props":1796,"children":1797},{},[1798],{"type":84,"tag":99,"props":1799,"children":1800},{},[1801],{"type":90,"value":1802},"Stake",{"type":84,"tag":202,"props":1804,"children":1805},{},[1806],{"type":90,"value":1807},"Нет авторотации",{"type":84,"tag":202,"props":1809,"children":1810},{},[1811],{"type":90,"value":1812},"Когда угодно, моментально",{"type":84,"tag":202,"props":1814,"children":1815},{},[1816],{"type":90,"value":1817},"Каждые 50–100 ставок",{"type":84,"tag":77,"props":1819,"children":1820},{},[1821,1829,1833,1837],{"type":84,"tag":202,"props":1822,"children":1823},{},[1824],{"type":84,"tag":99,"props":1825,"children":1826},{},[1827],{"type":90,"value":1828},"BC.Game",{"type":84,"tag":202,"props":1830,"children":1831},{},[1832],{"type":90,"value":1807},{"type":84,"tag":202,"props":1834,"children":1835},{},[1836],{"type":90,"value":1812},{"type":84,"tag":202,"props":1838,"children":1839},{},[1840],{"type":90,"value":1817},{"type":84,"tag":77,"props":1842,"children":1843},{},[1844,1852,1857,1861],{"type":84,"tag":202,"props":1845,"children":1846},{},[1847],{"type":84,"tag":99,"props":1848,"children":1849},{},[1850],{"type":90,"value":1851},"Roobet",{"type":84,"tag":202,"props":1853,"children":1854},{},[1855],{"type":90,"value":1856},"Ротирует в конце сессии",{"type":84,"tag":202,"props":1858,"children":1859},{},[1860],{"type":90,"value":1812},{"type":84,"tag":202,"props":1862,"children":1863},{},[1864],{"type":90,"value":1817},{"type":84,"tag":77,"props":1866,"children":1867},{},[1868,1876,1880,1884],{"type":84,"tag":202,"props":1869,"children":1870},{},[1871],{"type":84,"tag":99,"props":1872,"children":1873},{},[1874],{"type":90,"value":1875},"Rainbet",{"type":84,"tag":202,"props":1877,"children":1878},{},[1879],{"type":90,"value":1807},{"type":84,"tag":202,"props":1881,"children":1882},{},[1883],{"type":90,"value":1812},{"type":84,"tag":202,"props":1885,"children":1886},{},[1887],{"type":90,"value":1888},"Каждые 100 ставок",{"type":84,"tag":77,"props":1890,"children":1891},{},[1892,1900,1904,1908],{"type":84,"tag":202,"props":1893,"children":1894},{},[1895],{"type":84,"tag":99,"props":1896,"children":1897},{},[1898],{"type":90,"value":1899},"Primedice",{"type":84,"tag":202,"props":1901,"children":1902},{},[1903],{"type":90,"value":1807},{"type":84,"tag":202,"props":1905,"children":1906},{},[1907],{"type":90,"value":1812},{"type":84,"tag":202,"props":1909,"children":1910},{},[1911],{"type":90,"value":1817},{"type":84,"tag":93,"props":1913,"children":1914},{},[1915],{"type":90,"value":1916},"\"Нет авторотации\" — это на самом деле честный стандарт — он заставляет игрока выбирать. Если сайт агрессивно автоматически ротирует, он может пытаться скрыть историю отдельных сидов.",{"type":84,"tag":1918,"props":1919,"children":1921},"h4",{"id":1920},"быстрая-чек-лист-ротации",[1922],{"type":90,"value":1923},"Быстрая Чек-лист Ротации",{"type":84,"tag":93,"props":1925,"children":1926},{},[1927],{"type":90,"value":1928},"Используй это перед любой длинной сессией:",{"type":84,"tag":1249,"props":1930,"children":1931},{},[1932,1937,1942,1947,1952,1957],{"type":84,"tag":529,"props":1933,"children":1934},{},[1935],{"type":90,"value":1936},"Открой панель честности игры",{"type":84,"tag":529,"props":1938,"children":1939},{},[1940],{"type":90,"value":1941},"Скопируй текущий хэш серверного сида (для проверки позже, если хочешь)",{"type":84,"tag":529,"props":1943,"children":1944},{},[1945],{"type":90,"value":1946},"Нажми \"Rotate Server Seed\" — старый сид раскрыт, новый хэш зафиксирован",{"type":84,"tag":529,"props":1948,"children":1949},{},[1950],{"type":90,"value":1951},"Измени свой клиентский сид (нажми обновить или введи новую случайную строку)",{"type":84,"tag":529,"props":1953,"children":1954},{},[1955],{"type":90,"value":1956},"Запомни стартовое значение nonce (обычно 0 после ротации)",{"type":84,"tag":529,"props":1958,"children":1959},{},[1960],{"type":90,"value":1961},"Ставь как обычно; ротируй снова после ~50–100 ставок",{"type":84,"tag":93,"props":1963,"children":1964},{},[1965],{"type":90,"value":1966},"Занимает 30 секунд. Защищает от единственной не-криптографической атаки на Provably Fair.",{"type":84,"tag":518,"props":1968,"children":1970},{"id":1969},"что-ты-не-можешь-ротировать-во-время-раунда",[1971],{"type":90,"value":1972},"Что Ты Не Можешь Ротировать Во время Раунда",{"type":84,"tag":93,"props":1974,"children":1975},{},[1976,1978,1983,1985,1989],{"type":90,"value":1977},"Одно важное ограничение: ты не можешь ротировать ",{"type":84,"tag":132,"props":1979,"children":1980},{},[1981],{"type":90,"value":1982},"во время",{"type":90,"value":1984}," раунда. Как только ты сделал ставку с определённым server_seed + client_seed + nonce, эти значения зафиксированы для этого конкретного раунда. Ротация влияет только на ставки, сделанные ",{"type":84,"tag":132,"props":1986,"children":1987},{},[1988],{"type":90,"value":1667},{"type":90,"value":1990}," ротации.",{"type":84,"tag":93,"props":1992,"children":1993},{},[1994],{"type":90,"value":1995},"Это также почему \"ретроспективная ротация, чтобы отменить проигрыш\" невозможна. Обязательство было зафиксировано до ставки — единственный способ изменить то, что уже произошло — это убедиться, что это было честно. Так как PF позволяет тебе это сделать за 60 секунд, это обычно достаточно.",{"type":84,"tag":85,"props":1997,"children":1999},{"id":1998},"частые-ошибки-с-сидами",[2000],{"type":90,"value":2001},"Частые Ошибки с Сидами",{"type":84,"tag":93,"props":2003,"children":2004},{},[2005],{"type":90,"value":2006},"Игроки, переходящие на Provably Fair из обычных онлайн-казино, постоянно делают одни и те же четыре ошибки. Ни одна из них не опасна — но они все тратят время.",{"type":84,"tag":518,"props":2008,"children":2010},{"id":2009},"изменение-клиентского-сида-меняет-мою-удачу",[2011],{"type":90,"value":2012},"\"Изменение Клиентского Сида Меняет Мою Удачу\"",{"type":84,"tag":93,"props":2014,"children":2015},{},[2016,2018,2024,2026,2032],{"type":90,"value":2017},"Не меняет. Каждый вывод HMAC статистически случаен независимо от входных данных. Изменение твоего клиентского сида с ",{"type":84,"tag":105,"props":2019,"children":2021},{"className":2020},[],[2022],{"type":90,"value":2023},"abc123",{"type":90,"value":2025}," на ",{"type":84,"tag":105,"props":2027,"children":2029},{"className":2028},[],[2030],{"type":90,"value":2031},"xyz789",{"type":90,"value":2033}," даёт тебе разные исходы, не лучшие. Ожидаемая ценность идентична.",{"type":84,"tag":93,"props":2035,"children":2036},{},[2037,2039,2044],{"type":90,"value":2038},"Что клиентский сид ",{"type":84,"tag":132,"props":2040,"children":2041},{},[2042],{"type":90,"value":2043},"на самом деле",{"type":90,"value":2045}," делает: он предотвращает предварительные вычисления смещённого сида, делая твои входные данные непредсказуемыми для казино перед каждым раундом. Это свойство безопасности, не свойство удачи.",{"type":84,"tag":518,"props":2047,"children":2049},{"id":2048},"казино-может-видеть-мой-клиентский-сид-заранее",[2050],{"type":90,"value":2051},"\"Казино Может Видеть Мой Клиентский Сид Заранее\"",{"type":84,"tag":93,"props":2053,"children":2054},{},[2055,2057,2062],{"type":90,"value":2056},"Нет, не для будущих сидов. Казино видит твой текущий клиентский сид (ты его отправил), но не имеет способа узнать, какой ты установишь дальше. В этом вся суть — казино зафиксирует хэш серверного сида ",{"type":84,"tag":132,"props":2058,"children":2059},{},[2060],{"type":90,"value":2061},"перед тем, как узнать твой следующий клиентский сид",{"type":90,"value":2063},". Как только они зафиксируют, они не могут изменить сид под хэшем.",{"type":84,"tag":93,"props":2065,"children":2066},{},[2067],{"type":90,"value":2068},"Если кто-то говорит \"казино читает твою клавиатуру и знает твой следующий сид перед тем, как ты нажмёшь enter\" — они описывают атаку вредоноса на клиентской стороне, не слабость протокола. Используй авторитетный браузер — и ты в порядке.",{"type":84,"tag":518,"props":2070,"children":2072},{"id":2071},"ротация-слишком-часто-разрушает-доказательство",[2073],{"type":90,"value":2074},"\"Ротация Слишком Часто Разрушает Доказательство\"",{"type":84,"tag":93,"props":2076,"children":2077},{},[2078],{"type":90,"value":2079},"Не разрушает. Ротация просто снимает один серверный сид с обращения и зафиксирует новый — оба по-прежнему проверяемы независимо. Ты можешь ротировать каждую ставку, если хочешь (медленно, но безвредно).",{"type":84,"tag":93,"props":2081,"children":2082},{},[2083],{"type":90,"value":2084},"Частая забота в том, что история сидов становится \"запутанной\" — но каждое казино с PF ведёт полную историю снятых с обращения сидов, привязанных к диапазонам ставок, которые они охватывали. Ротация 50 раз создаёт 50 проверяемых записей истории, не путаницу.",{"type":84,"tag":1918,"props":2086,"children":2088},{"id":2087},"быстрая-проверка-здравомыслия",[2089],{"type":90,"value":2090},"Быстрая Проверка Здравомыслия",{"type":84,"tag":93,"props":2092,"children":2093},{},[2094],{"type":90,"value":2095},"Если любое из этих применяется, твой Provably Fair процесс неправильный:",{"type":84,"tag":525,"props":2097,"children":2100},{"className":2098},[2099],"contains-task-list",[2101,2114,2123,2140],{"type":84,"tag":529,"props":2102,"children":2105},{"className":2103},[2104],"task-list-item",[2106,2112],{"type":84,"tag":2107,"props":2108,"children":2111},"input",{"disabled":2109,"type":2110},true,"checkbox",[],{"type":90,"value":2113}," Ты никогда не нажимал \"Rotate\" в своих первых 200 ставках → ротируй сейчас, ты может быть подвергаешься риску смещённых сидов",{"type":84,"tag":529,"props":2115,"children":2117},{"className":2116},[2104],[2118,2121],{"type":84,"tag":2107,"props":2119,"children":2120},{"disabled":2109,"type":2110},[],{"type":90,"value":2122}," Ты не можешь найти кнопку \"Rotate Server Seed\" → реализация PF казино сломана",{"type":84,"tag":529,"props":2124,"children":2126},{"className":2125},[2104],[2127,2130,2132,2138],{"type":84,"tag":2107,"props":2128,"children":2129},{"disabled":2109,"type":2110},[],{"type":90,"value":2131}," Ты никогда не проверял ни один раунд → попробуй один с нашим ",{"type":84,"tag":618,"props":2133,"children":2135},{"href":2134},"\u002Fcasino\u002Fprovably-fair",[2136],{"type":90,"value":2137},"верификатором Provably Fair",{"type":90,"value":2139},", чтобы освоиться",{"type":84,"tag":529,"props":2141,"children":2143},{"className":2142},[2104],[2144,2147],{"type":84,"tag":2107,"props":2145,"children":2146},{"disabled":2109,"type":2110},[],{"type":90,"value":2148}," Ты делишься сидами с друзьями → нет выгоды, малый риск — генерируй свои",{"type":84,"tag":518,"props":2150,"children":2152},{"id":2151},"все-казино-используют-один-формат-сида",[2153],{"type":90,"value":2154},"\"Все Казино Используют Один Формат Сида\"",{"type":84,"tag":93,"props":2156,"children":2157},{},[2158,2160,2165],{"type":90,"value":2159},"Нет. Stake и Primedice используют HMAC-SHA256 с картографией для костей. Блэкджек BC.Game использует HMAC-SHA512 с логикой, специфичной для карт. Aviator от Spribe использует другую стратегию nonce. Общий верификатор правильно получит ",{"type":84,"tag":132,"props":2161,"children":2162},{},[2163],{"type":90,"value":2164},"совпадение хэша",{"type":90,"value":2166}," во всех них, но воспроизведённое число исхода может отличаться, если ты не используешь точную формулу картографии казино.",{"type":84,"tag":93,"props":2168,"children":2169},{},[2170,2172,2178,2180,2186],{"type":90,"value":2171},"Всегда читай документы честности казино для конкретной игры, в которую ты играешь. Для Aviator специально, наш ",{"type":84,"tag":618,"props":2173,"children":2175},{"href":2174},"\u002Fblog\u002Fprovably-fair-aviator-calculator",[2176],{"type":90,"value":2177},"калькулятор Provably Fair Aviator",{"type":90,"value":2179}," реализует формулу Spribe непосредственно. Для блэкджека, ",{"type":84,"tag":618,"props":2181,"children":2183},{"href":2182},"\u002Fblog\u002Fprovably-fair-blackjack",[2184],{"type":90,"value":2185},"руководство по Provably Fair блэкджеку",{"type":90,"value":2187}," охватывает цепочку HMAC карта за картой.",{"type":84,"tag":85,"props":2189,"children":2191},{"id":2190},"как-найти-ваши-сиды-в-реальных-казино",[2192],{"type":90,"value":2193},"Как найти ваши сиды в реальных казино",{"type":84,"tag":93,"props":2195,"children":2196},{},[2197],{"type":90,"value":2198},"Слова — это легко. Показать вам точное расположение кнопок гораздо полезнее. Вот реальный путь на трёх топовых PF-казино по состоянию на 2026 год.",{"type":84,"tag":518,"props":2200,"children":2202},{"id":2201},"на-stake-primedice",[2203],{"type":90,"value":2204},"На Stake \u002F Primedice",{"type":84,"tag":1249,"props":2206,"children":2207},{},[2208,2213,2225,2253],{"type":84,"tag":529,"props":2209,"children":2210},{},[2211],{"type":90,"value":2212},"Откройте любую Original игру казино (Dice, Crash, Plinko, Mines)",{"type":84,"tag":529,"props":2214,"children":2215},{},[2216,2218,2223],{"type":90,"value":2217},"Нажмите на ",{"type":84,"tag":99,"props":2219,"children":2220},{},[2221],{"type":90,"value":2222},"значок щита",{"type":90,"value":2224}," в верхнем правом углу панели игры",{"type":84,"tag":529,"props":2226,"children":2227},{},[2228,2230],{"type":90,"value":2229},"Откроется модальное окно \"Fairness\" с четырьмя полями:\n",{"type":84,"tag":525,"props":2231,"children":2232},{},[2233,2238,2243,2248],{"type":84,"tag":529,"props":2234,"children":2235},{},[2236],{"type":90,"value":2237},"Active Server Seed (Hashed) — 64-символный SHA-256 hex",{"type":84,"tag":529,"props":2239,"children":2240},{},[2241],{"type":90,"value":2242},"Active Client Seed — редактируемая строка",{"type":84,"tag":529,"props":2244,"children":2245},{},[2246],{"type":90,"value":2247},"Total Bets Made With Pair — текущий nonce",{"type":84,"tag":529,"props":2249,"children":2250},{},[2251],{"type":90,"value":2252},"Кнопка \"Change Seeds\" внизу",{"type":84,"tag":529,"props":2254,"children":2255},{},[2256,2258,2263],{"type":90,"value":2257},"Нажмите ",{"type":84,"tag":99,"props":2259,"children":2260},{},[2261],{"type":90,"value":2262},"\"Change Seeds\"",{"type":90,"value":2264}," — старый серверный сид раскроется немедленно, новый хэш зафиксируется",{"type":84,"tag":93,"props":2266,"children":2267},{},[2268],{"type":90,"value":2269},"Интерфейс Stake — самый чистый из трёх. Всё, что тебе нужно, находится на одном экране, ротация происходит мгновенно, а история сидов показывает все снятые серверные сиды с их диапазоном ставок.",{"type":84,"tag":518,"props":2271,"children":2273},{"id":2272},"на-bcgame",[2274],{"type":90,"value":2275},"На BC.Game",{"type":84,"tag":1249,"props":2277,"children":2278},{},[2279,2284,2295,2307,2312],{"type":84,"tag":529,"props":2280,"children":2281},{},[2282],{"type":90,"value":2283},"Откройте любую Original игру (Crash, Dice, Ring, Limbo)",{"type":84,"tag":529,"props":2285,"children":2286},{},[2287,2288,2293],{"type":90,"value":2217},{"type":84,"tag":99,"props":2289,"children":2290},{},[2291],{"type":90,"value":2292},"меню из трёх точек",{"type":90,"value":2294}," в верхнем правом углу игры",{"type":84,"tag":529,"props":2296,"children":2297},{},[2298,2300,2305],{"type":90,"value":2299},"Выберите ",{"type":84,"tag":99,"props":2301,"children":2302},{},[2303],{"type":90,"value":2304},"\"Provably Fair\"",{"type":90,"value":2306}," из выпадающего меню",{"type":84,"tag":529,"props":2308,"children":2309},{},[2310],{"type":90,"value":2311},"Модальное окно fairness показывает: Hashed Server Seed, Client Seed (редактируемый), Nonce, Algorithm",{"type":84,"tag":529,"props":2313,"children":2314},{},[2315,2316,2321],{"type":90,"value":2257},{"type":84,"tag":99,"props":2317,"children":2318},{},[2319],{"type":90,"value":2320},"\"Change\"",{"type":90,"value":2322}," рядом с серверным сидом → подтверждение ротации → старый сид раскроется",{"type":84,"tag":93,"props":2324,"children":2325},{},[2326],{"type":90,"value":2327},"BC.Game использует HMAC-SHA512 для большинства игр (не SHA-256), поэтому хэши содержат 128 символов вместо 64. Математика проверки та же, просто с более длинным выводом.",{"type":84,"tag":518,"props":2329,"children":2331},{"id":2330},"на-roobet",[2332],{"type":90,"value":2333},"На Roobet",{"type":84,"tag":1249,"props":2335,"children":2336},{},[2337,2342,2353,2358,2363],{"type":84,"tag":529,"props":2338,"children":2339},{},[2340],{"type":90,"value":2341},"Откройте любую игру Roobet Originals (Mines, Crash, Dice, Towers)",{"type":84,"tag":529,"props":2343,"children":2344},{},[2345,2346,2351],{"type":90,"value":2217},{"type":84,"tag":99,"props":2347,"children":2348},{},[2349],{"type":90,"value":2350},"значок замка",{"type":90,"value":2352}," рядом с названием игры",{"type":84,"tag":529,"props":2354,"children":2355},{},[2356],{"type":90,"value":2357},"Боковая панель раскроется с данными fairness",{"type":84,"tag":529,"props":2359,"children":2360},{},[2361],{"type":90,"value":2362},"Вкладка \"Seed History\" внизу показывает все снятые сиды",{"type":84,"tag":529,"props":2364,"children":2365},{},[2366],{"type":90,"value":2367},"Кнопки \"Randomize Client Seed\" и \"Rotate Server Seed\" видны обе",{"type":84,"tag":93,"props":2369,"children":2370},{},[2371,2373,2378],{"type":90,"value":2372},"Roobet уникален автоматической ротацией серверных сидов в конце сессии, что немного агрессивно — ротируй вручную, если хочешь проверить раунды позже, чтобы авторотация не помешала будущей проверке. Их ",{"type":84,"tag":618,"props":2374,"children":2375},{"href":1744},[2376],{"type":90,"value":2377},"PF Originals сравниваются",{"type":90,"value":2379}," со Stake и BC.Game в нашем гайде биткоин-казино.",{"type":84,"tag":518,"props":2381,"children":2383},{"id":2382},"универсальный-рабочий-процесс",[2384],{"type":90,"value":2385},"Универсальный рабочий процесс",{"type":84,"tag":93,"props":2387,"children":2388},{},[2389],{"type":90,"value":2390},"Любое легитимное PF-казино будет следовать этому паттерну:",{"type":84,"tag":1249,"props":2392,"children":2393},{},[2394,2404,2414,2424,2434],{"type":84,"tag":529,"props":2395,"children":2396},{},[2397,2402],{"type":84,"tag":99,"props":2398,"children":2399},{},[2400],{"type":90,"value":2401},"Найди щит\u002Fзамок\u002Fвисячий замок",{"type":90,"value":2403}," — стандартный значок для панелей fairness",{"type":84,"tag":529,"props":2405,"children":2406},{},[2407,2412],{"type":84,"tag":99,"props":2408,"children":2409},{},[2410],{"type":90,"value":2411},"Найди активный хэш серверного сида, клиентский сид и nonce",{"type":90,"value":2413}," — все три должны быть видны",{"type":84,"tag":529,"props":2415,"children":2416},{},[2417,2422],{"type":84,"tag":99,"props":2418,"children":2419},{},[2420],{"type":90,"value":2421},"Протестируй ротацию",{"type":90,"value":2423}," — нажми кнопку ротации; если старый серверный сид не появится меньше чем за секунду, реализация сломана",{"type":84,"tag":529,"props":2425,"children":2426},{},[2427,2432],{"type":84,"tag":99,"props":2428,"children":2429},{},[2430],{"type":90,"value":2431},"Отметь алгоритм",{"type":90,"value":2433}," — SHA-256 (64-символ) или SHA-512 (128-символ); это нужно для проверки",{"type":84,"tag":529,"props":2435,"children":2436},{},[2437,2442],{"type":84,"tag":99,"props":2438,"children":2439},{},[2440],{"type":90,"value":2441},"Проверь хотя бы один раунд",{"type":90,"value":2443}," — используй калькулятор, чтобы подтвердить совпадение хэша + выход HMAC",{"type":84,"tag":93,"props":2445,"children":2446},{},[2447,2449,2454],{"type":90,"value":2448},"Если любой из этих пяти шагов не пройдёт, \"provably fair\" казино — это просто маркетинг. Перепроверь против нашего ",{"type":84,"tag":618,"props":2450,"children":2451},{"href":2134},[2452],{"type":90,"value":2453},"хаба с текущими PF-реализациями",{"type":90,"value":2455}," перед депозитом.",{"type":84,"tag":85,"props":2457,"children":2459},{"id":2458},"интерактивно-проверь-раунд-со-своими-сидами",[2460],{"type":90,"value":2461},"Интерактивно: проверь раунд со своими сидами",{"type":84,"tag":93,"props":2463,"children":2464},{},[2465],{"type":90,"value":2466},"Вставь четыре значения из панели fairness своего казино в верификатор ниже. Всё работает локально в твоём браузере через Web Crypto API — никакие данные не отправляются на наш сервер, и вычисление — это тот же HMAC-SHA256 (или SHA-512), который использует твоё казино.",{"type":84,"tag":2468,"props":2469,"children":2470},"inline-provably-fair-verifier",{},[],{"type":84,"tag":93,"props":2472,"children":2473},{},[2474],{"type":90,"value":2475},"Два момента, на которые надо обратить внимание при проверке:",{"type":84,"tag":1249,"props":2477,"children":2478},{},[2479,2489],{"type":84,"tag":529,"props":2480,"children":2481},{},[2482,2487],{"type":84,"tag":99,"props":2483,"children":2484},{},[2485],{"type":90,"value":2486},"Hash Match = PASS",{"type":90,"value":2488}," — твой раскрытый серверный сид при хэшировании совпадает с хэшем до раунда. Это доказывает, что казино не менял сиды после твоей ставки.",{"type":84,"tag":529,"props":2490,"children":2491},{},[2492,2497],{"type":84,"tag":99,"props":2493,"children":2494},{},[2495],{"type":90,"value":2496},"Выход Dice\u002FCrash совпадает с экраном",{"type":90,"value":2498}," — выход HMAC, отображённый через формулу игры, воспроизводит точное число, которое показала игра. Это доказывает, что результат не был изменён.",{"type":84,"tag":93,"props":2500,"children":2501},{},[2502,2504,2510,2512,2518,2519,2525,2527,2533],{"type":90,"value":2503},"Если оба пройдут, твой раунд криптографически честный. Если проверка хэша не пройдёт, подай жалобу — у тебя есть доказательство, что казино менял сиды. Для более широкого контекста математики банкролла при проверённой игре, дополни это нашим ",{"type":84,"tag":618,"props":2505,"children":2507},{"href":2506},"\u002Fcasino\u002Fhouse-edge-calculator",[2508],{"type":90,"value":2509},"калькулятором преимущества казино",{"type":90,"value":2511},", нашим ",{"type":84,"tag":618,"props":2513,"children":2515},{"href":2514},"\u002Fcasino\u002Frtp-calculator",[2516],{"type":90,"value":2517},"RTP-калькулятором",{"type":90,"value":112},{"type":84,"tag":618,"props":2520,"children":2522},{"href":2521},"\u002Fcasino\u002Fbankroll-calculator",[2523],{"type":90,"value":2524},"калькулятором банкролла",{"type":90,"value":2526},", чтобы ты мог честно размер ставки рядом с проверкой раунда. Если ты ведёшь более длинные сессии, наш ",{"type":84,"tag":618,"props":2528,"children":2530},{"href":2529},"\u002Fblog\u002Fbankroll-management-guide",[2531],{"type":90,"value":2532},"гайд управления банкроллом",{"type":90,"value":2534}," охватывает математику того, как часто ротация пересекается с решениями по размеру сессии.",{"type":84,"tag":93,"props":2536,"children":2537},{},[2538,2543,2545,2550],{"type":84,"tag":99,"props":2539,"children":2540},{},[2541],{"type":90,"value":2542},"И ещё:",{"type":90,"value":2544}," не каждое «provably fair» казино работает с seed так, как мы только что разобрали. Прежде чем доверить банк какой-то площадке, сверяйся с ",{"type":84,"tag":618,"props":2546,"children":2547},{"href":2134},[2548],{"type":90,"value":2549},"хабом provably fair",{"type":90,"value":2551}," — он подсвечивает, где хэш server seed не фиксируется до начала раунда.",{"type":84,"tag":85,"props":2553,"children":2555},{"id":2554},"faq",[2556],{"type":90,"value":2557},"FAQ"]