Розыгрыш победителей с проверкой
Запечатайте список участников сейчас, проведите розыгрыш в назначенное время и дайте своей аудитории ссылку, по которой каждый сможет сам перепроверить победителей.
Как это работает
- Вставьте участников, по одному в строке: имена, никнеймы или номера билетов. «Аня *3» даёт Ане три билета.
- Выберите число победителей и запасных, а также время розыгрыша.
- Нажмите «Запечатать розыгрыш» и сразу опубликуйте ссылку — до времени розыгрыша.
- В момент розыгрыша ссылка показывает победителей каждому, кто её открывает, вместе со всем, что нужно для их проверки.
Что умеет инструмент
- Доказательство, а не обещание
- Победители вычисляются из значения, которое публичный маяк случайности публикует в момент розыгрыша. Никто, включая вас и нас, не может узнать его заранее или изменить потом. Опубликуйте ссылку до времени розыгрыша — и время вашей публикации покажет, что список появился раньше.
- Перепроверить может любой
- В ссылке хранятся участники и раунд маяка. При каждом открытии страница получает значение маяка и заново вычисляет победителей, так что сомневающийся увидит те же имена на своём телефоне.
- Запасные в фиксированном порядке
- Нужна замена, если победитель не отвечает? Запасные берутся из того же розыгрыша по порядку, так что следующее имя — никогда не новый выбор.
- Бесплатно и без аккаунта
- Никакой регистрации и никаких платных тарифов для проверяемых розыгрышей.
Вопросы
Что такое маяк случайности?
drand, который ведёт League of Entropy: группа независимых организаций, которые вместе публикуют новое случайное значение каждые 3 секунды. Каждое значение подписано группой, и ни один участник в одиночку не может его предсказать или повлиять на него.
Зачем запечатывать розыгрыш заранее?
Запечатывание фиксирует участников (по их отпечатку SHA-256) и раунд маяка, по которому они будут разыграны. Публикация ссылки до этого раунда показывает, что список существовал раньше случайного значения, — значит, организатор не мог перебирать списки, пока один из них не дал нужного ему победителя.
Как именно вычисляются победители?
Каждый участник превращается в строку «имя, табуляция, его билеты»; эти строки, соединённые переводами строки в порядке ввода, дают отпечаток (SHA-256, в шестнадцатеричном виде). Зерно — это SHA-256 от четырёх строк: pickahat-draw-v1, отпечаток, раунд и значение маяка. Числа берутся из SHA-256 от зерна, за которым следует 4-байтовый счётчик (0, 1, 2 …), и каждый хеш читается как восемь 32-битных чисел big-endian. Для каждого выбора при T оставшихся билетах число x, большее или равное 2³² − (2³² mod T), пропускается, а r = x mod T указывает на участника, чьи билеты покрывают r, если считать оставшихся участников в порядке ввода. «Проверить этот розыгрыш» показывает отпечаток, раунд, значение и зерно целиком.
Чего проверка не доказывает?
Она доказывает, что победители следуют из этого списка и этого раунда маяка. Она не может доказать, что список полный или что ссылка была опубликована до выхода раунда: посмотрите, когда организатор её опубликовал, и найдите себя в списке, который показывает проверка.
Можно добавить участников после запечатывания?
Нет: любое изменение даёт новый отпечаток и новую ссылку. В этом весь смысл. Сначала закройте приём участников, потом запечатывайте.
Список участников приватен?
Он передаётся внутри ссылки, после знака #, поэтому никогда не попадает на наш сервер. Любой, кому вы дадите ссылку, может его прочитать, — именно это и позволяет проверить розыгрыш. Используйте имена без фамилий или номера билетов, если в списке не должно быть полных имён.
Другие инструменты
- Колесо Добавьте имена или варианты на колесо и крутите. Убирайте победителя или дайте каждому выпасть по разу, прежде чем кто-то выпадет снова.
- Да или нет Колесо «да или нет» для вопросов, которые никак не решить. Добавьте «может быть», если не боитесь.
- Случайное имя Выберите одно имя или десять либо расставьте весь список в случайном порядке.
- Команды Разделите класс или команду на равные группы — с капитанами и нужными вам правилами.
- Тайный Санта Жеребьёвка Тайного Санты без чьих-либо e-mail. Каждый получает личную ссылку, где видно только, кому дарит он сам.
- Опрос времени Найдите время, удобное всем: каждый закрашивает, когда может, без регистрации.
- Монетка Орёл или решка: одна монетка или двести, с текущим счётом.
- Кубики Бросайте до ста кубиков: шестигранные или от d4 до d100 для настольных и ролевых игр.
- Число Случайные числа в любом диапазоне: без повторов, с исключениями, по порядку.