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

Розыгрыши

Проверка честности розыгрыша

Пересчитайте результат по опубликованному секрету и списку участников.

мгновенно считается локально SHA-256 без сервера
Результат проверки проверка не запущена
Вставьте секрет и список участников, затем нажмите «Проверить»
Метод проверки SHA-256 · сортировка по возрастанию
  1. 1
    Хеш секрета

    Сначала считаем SHA-256(секрет) и сравниваем с хешем, который был опубликован до розыгрыша. Разные значения означают, что секрет подменили.

  2. 2
    Хеш каждой строки

    Для участника с номером i считаем h = SHA-256(секрет + «:» + i + «:» + имя). Номер — позиция строки в списке, начиная с 1.

  3. 3
    Сортировка и победители

    Все h сортируются по возрастанию (при равенстве — по номеру строки). Первые N участников и есть победители.

Формула h = SHA-256(secret + ":" + (index + 1) + ":" + name)
Обратная сторона тоже публична: страница розыгрыша создаёт секрет и хеш, считает победителей и собирает протокол.

Как проверить розыгрыш

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

  1. Возьмите секрет из протокола розыгрыша — это 32 hex-символа рядом со словом «REVEAL».
  2. Вставьте список участников построчно, в том же порядке, что и при розыгрыше.
  3. Укажите число победителей N и нажмите «Проверить».
  4. Сверьте хеш секрета с опубликованным commit, а список победителей — с объявленным.

Что означает хеш

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

Commit публикуется до розыгрыша и связывает организатора обещанием, reveal раскрывает секрет после. Если SHA-256 раскрытого секрета совпал с опубликованным хешем — обязательство выполнено.

Можно ли подделать результат

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

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

Почему важен порядок участников

Номер строки входит в формулу, поэтому один и тот же человек на разных позициях получает разные хеши. При проверке список нужно вставлять в том же порядке и с тем же составом: иначе результат закономерно не совпадёт — это не ошибка, а другое условие задачи.

Частые вопросы
Где взять секрет?
В протоколе розыгрыша — строка «REVEAL (секрет)». Ещё он приходит в ссылке, которую формирует страница розыгрыша: тогда поля заполнятся автоматически.
Хеш секрета не совпал с опубликованным. Что это значит?
Раскрытый секрет отличается от того, из которого был сделан commit. Такой розыгрыш нельзя считать проверенным: результат могли пересчитать после публикации хеша.
Почему у меня получились другие победители?
Проверьте три вещи: состав и порядок списка, число победителей N и то, что повторы при розыгрыше не удалялись. Любое расхождение меняет номера строк, а значит и все хеши.
Что если в списке были повторяющиеся имена?
По умолчанию страница розыгрыша удаляет повторы: один человек — один шанс. При проверке вставляйте тот же список, который был опубликован, без ручной чистки.
Можно ли проверить чужой розыгрыш?
Да. Страница публичная и не требует регистрации: нужны только секрет, список участников и число победителей.
Куда отправляются данные?
Никуда. Секрет и список обрабатываются в браузере, SHA-256 считает WebCrypto. Сайт не сохраняет и не журналирует введённые данные.
Кто отвечает за законность розыгрыша?
Организатор. Сайт даёт инструмент случайного выбора, но не проводит лотереи, не принимает ставки и не выплачивает призы. Проверьте требования 138-ФЗ «О лотереях» и 38-ФЗ «О рекламе» применительно к вашему мероприятию.
Страница проверяет арифметику, а не добросовестность: ей нужно доверять ровно настолько, насколько вы доверяете алгоритму SHA-256.
↑↓ навигация Enter открыть Esc закрыть