ГСЧ лаборатория случайностей

Розыгрыши

Честный розыгрыш призов

Секрет и публичный хеш до розыгрыша — результат невозможно пересдать незаметно.

мгновенно считается локально commit-reveal до 20 победителей
Шаг 1 · Опубликовать хеш секрет не создан

Сайт создаёт случайный секрет из 16 байт (32 hex-символа) и показывает его SHA-256. Хеш — это обещание: секрет уже нельзя заменить незаметно. Опубликуйте хеш до старта приёма заявок — в канале, чате или посте.

commit
SHA-256 секрета — публикуется до старта —
Хеш ещё не создан: нажмите «Создать секрет и опубликовать хеш».
Секрет сохраняется только в вашем браузере (localStorage). Можно закрыть страницу и вернуться позже: хеш и секрет останутся на месте.
Шаг 2 · Розыгрыш и reveal источник энтропии —
Заполните список участников и нажмите «Провести розыгрыш»
Как это проверяется commit → список → reveal
  1. 1
    Commit — хеш до старта

    Организатор публикует SHA-256 секрета. Пока секрет скрыт, подобрать его под нужный хеш нельзя: SHA-256 необратим.

  2. 2
    Список участников

    Список фиксируется открыто, по одному имени в строке. Номер строки входит в формулу, поэтому порядок должен быть тем же при проверке.

  3. 3
    Reveal — секрет после

    После приёма заявок секрет раскрывается. Любой участник проверяет его хеш и пересчитывает победителей на странице «Проверка розыгрыша».

Формула h = SHA-256(secret + ":" + (index + 1) + ":" + name)
Ничего не отправляется на сервер: секрет, список и хеши считаются локально в браузере через WebCrypto. Как работает генератор.

Почему розыгрыш получается честным

Обычному генератору случайных чисел не хватает главного — доказательства. Результат виден только после нажатия кнопки, и никто не может подтвердить, что его не пересчитали. Схема commit-reveal решает это двумя публикациями: хеша до розыгрыша и секрета после него.

Пока хеш опубликован, а секрет скрыт, организатор связан обещанием: подобрать другой секрет с тем же SHA-256 невозможно. После раскрытия секрета любой участник пересчитывает победителей по открытой формуле и убеждается, что они совпадают.

Что такое commit-reveal

Commit — обязательство. Случайный секрет превращается в хеш SHA-256 и публикуется до старта. Reveal — раскрытие: после розыгрыша секрет показывается всем, и хеш можно проверить обычным калькулятором SHA-256.

Хеш — это «отпечаток» данных: одна и та же строка всегда даёт один и тот же результат, а любое изменение, даже один символ, полностью меняет его. Поэтому подмена секрета сразу видна: SHA-256 нового секрета уже не совпадёт с опубликованным.

Как проверить результат за минуту

  1. Скопируйте секрет из протокола розыгрыша.
  2. Откройте страницу проверки розыгрыша.
  3. Вставьте секрет и список участников в том же порядке, что и в протоколе.
  4. Укажите число победителей и нажмите «Проверить».
  5. Сверьте победителей и хеш секрета с опубликованными.

Что схема не гарантирует

  • Она не защищает от подмены списка участников: список должен быть опубликован до раскрытия секрета.
  • Она не фиксирует время публикации хеша — для этого нужен независимый след: пост в канале, скриншот, архивная копия.
  • Она не делает розыгрыш лотереей: билеты не продаются, призовой фонд не формируется за счёт взносов.
Частые вопросы
Можно ли подделать результат?
Нет, если хеш был опубликован до розыгрыша. Чтобы «пересдать» результат, нужен другой секрет, а его SHA-256 не совпадёт с опубликованным. Подобрать секрет под готовый хеш вычислительно невозможно.
Зачем публиковать хеш, а не секрет?
Хеш — это обязательство без раскрытия. Если опубликовать секрет заранее, можно было бы посчитать победителей и подогнать список участников. Хеш такую возможность исключает.
Сколько участников поддерживается?
До 2000 строк в списке и до 20 победителей за один розыгрыш. Каждая строка — один участник; пустые строки игнорируются.
Что будет, если участников меньше, чем призов?
Количество победителей автоматически ограничится числом участников, а лишние названия призов останутся неиспользованными.
Можно провести розыгрыш позже?
Да. Секрет и хеш сохраняются в localStorage браузера. Если вернуться на страницу, хеш останется прежним — розыгрыш можно провести в другой день, не нарушая обязательство.
Нужна ли регистрация и отправляются ли данные на сервер?
Нет. Всё считается локально: секрет генерирует CSPRNG браузера, SHA-256 считает WebCrypto. На сервер не уходит ни список, ни секрет.
Это лотерея?
Нет. Это инструмент случайного выбора победителей. Организатор сам отвечает за соблюдение 138-ФЗ «О лотереях» и 38-ФЗ «О рекламе»; сайт лотереи не проводит, ставки не принимает и призы не выплачивает.
Хеш работает только тогда, когда его видели до розыгрыша. Сохраните ссылку на публикацию: без неё проверить время обещания не получится.
↑↓ навигация Enter открыть Esc закрыть