News

Доказуемая честность против сертифицированного ГСЧ

Сертифицированный ГСЧ просит поверить аудиту. Доказуемая честность выдаёт квитанцию на каждую партию, которую можно проверить самому. В чём разница.

fairnessprovably fairexplainer

Сертифицированный ГСЧ означает, что независимая лаборатория в какой-то момент исследовала генератор случайных чисел и признала его вывод статистически состоятельным. Доказуемая честность означает, что игра выдаёт каждому игроку криптографическую квитанцию на его собственный матч, так что каждый бросок можно перепроверить, никому не доверяя. Одна модель проверяет машину. Другая доказывает твою партию.

Обе формулировки встречаются на страницах о доверии в онлайн-играх, которые бросают за тебя кости, и звучат они взаимозаменяемо. Это не так. Они отвечают на разные вопросы, ломаются по-разному, и именно эта разница решает, во что тебя просят поверить, когда ты садишься играть.

Что на самом деле сертифицирует сертифицированный ГСЧ?

Сертификационная лаборатория берёт генератор, прогоняет его вывод через батареи статистических тестов и ищет смещение: числа, которые приходят слишком часто, повторяющиеся узоры, дрейфующие последовательности. Если миллионы образцов неотличимы от случайности, лаборатория подписывает сертификат. Эта работа настоящая и требует мастерства. Она устанавливает, что генератор, в том виде, в каком его тестировали, в тот день выдавал состоятельную случайность.

Обрати внимание, чего сертификат не видит. Он выдан в лаборатории, а твои кости бросаются на сервере.

  • Тот ли это код, который развёрнут, спустя месяцы и множество обновлений.
  • Проводка между генератором и твоей игрой: код, превращающий сырое случайное число в твои 6 и 4.
  • Любой отдельный бросок в любом отдельном матче. Сертификация говорит о генераторе вообще и никогда о твоей партии во вторник вечером.

Так что у сертификации есть тихая вторая оговорка: поверь, что с момента теста ничего не изменилось, и поверь, что сертифицированный путь это тот самый путь, по которому пошла твоя игра. Большинство студий её соблюдают. Дело в том, что проверить это ты не можешь. Модель это осмотр машины в один момент, а затем вера в развёртывание во все последующие.

Что означает доказуемая честность?

Доказуемая честность это другая сделка. Вместо того чтобы указывать на аудит, которого ты не видел, игра обязуется по своей случайности до начала партии, а потом раскрывает достаточно, чтобы ты сам пересчитал каждый бросок. Доказательство путешествует вместе с матчем. На практике это работает как запечатанный конверт.

Обязательство. До первого хода сервер порождает секретное зерно и публикует его отпечаток SHA-256. Отпечаток ничего не сообщает о будущих бросках, но пришпиливает зерно на место. Измени потом хоть один бит зерна, и отпечаток перестанет совпадать.

Бросок. Во время игры каждый бросок выводится из зерна через HMAC-SHA256, по одному вычислению на бросок. Кости были решены в тот момент, когда конверт запечатали. Более дружелюбное число нельзя подсунуть посреди партии, не сломав уже опубликованное обязательство.

Раскрытие. После партии зерно раскрывается. Любой может его захешировать, сравнить с обязательством, пересчитать каждый бросок и положить результаты рядом с костями, которые появились на доске. Если всё сходится, партией нельзя было управлять. Если что-то подменили, математика об этом скажет.

Доверие переезжает от компании к арифметике. Тебе больше не нужно верить, что аудит был тщательным, а развёртывание добросовестным. Тебе нужно, чтобы устоял SHA-256, а это то же самое допущение, на которое весь остальной интернет опирается каждый день.

Сертификат говорит, что монета была честной в день проверки. Квитанция говорит, что честным был твой бросок, и показывает расчёт.

Значит, сертификация больше не важна?

Важна. Commit-reveal доказывает, что ты получил ровно ту случайность, к которой обязались. Он не доказывает, что то, к чему обязались, было хорошим изначально. Слабый или предсказуемый источник зерна всё равно выдавал бы квитанции, которые прекрасно проходят проверку: доказуемая доставка плохих костей. Оценка качества источника это ровно то, для чего существуют аудиты и статистическое тестирование, а в регулируемых отраслях сертификат просто обязателен.

Две модели отвечают на разные вопросы. Аудит спрашивает: хороша ли сама случайность? Квитанция спрашивает: а моя партия её действительно получила? Система только с первым живёт на вечной вере в развёртывание. Система только со вторым могла бы добросовестно доставлять плохие кости и это доказывать. Самые крепкие системы закрывают обе двери.

Почему важен публичный верификатор?

Потому что квитанция, которую никто не может прочесть, никого не защищает. Некоторые игры публикуют обязательства, но не дают игрокам практического способа их проверить, или прячут проверку внутрь того самого приложения, о котором идёт речь. Это не замыкает круг. Если единственный инструмент, способный поручиться за систему, принадлежит самой системе, ты снова оказываешься в вере, только с лишними шагами.

Самые крепкие устройства публикуют три вещи. Обязательство, до партии. Зерно, после неё. И независимый, публичный способ пересчитать броски, работающий вне приложения. Именно поэтому верификатор Orion живёт в браузере на orion.arthea.ai/verify: без аккаунта, без установки, и наше слово в проверке не участвует.