Как это работает
Организатор задаёт условия, мы записываем их и список участников в открытые журналы раньше, чем станет известно случайное число. Победителя считает формула из условий, пересчитать её может любой.
Что публикуем и где это проверить
| Момент | Что публикуем | Где проверить |
|---|---|---|
| До начала приёма | Условия розыгрыша и отпечаток секретного числа сервиса. В условиях уже записан номер раунда drand, который решит итог. | Открытый журнал Rekor и канал отметок |
| Пока идёт приём | Каждая запись получает номер и квитанцию с подписью сервиса. Раз в 30 секунд отпечаток журнала розыгрыша уходит в канал. | Квитанция у участника, страница проверки |
| Закрытие приёма | Отпечаток всего списка и число записей. После этой отметки список уже не поменять незаметно. | Rekor и канал, в течение 10 секунд |
| Выход раунда drand | Случайное число сети drand с подписью сети. Его номер назначен в условиях до старта. | Зеркала сети drand |
| Итог | Секретное число, победители и запасные, подпись сервиса. | Страница проверки, утилита на Python |
Список превращается в один отпечаток
Каждая запись превращается в отпечаток, а отпечатки склеиваются попарно, пока не останется один, корень. При закрытии приёма корень уходит в Rekor и в канал. Поменять одну запись задним числом значит получить другой корень, а прежний уже лежит у третьих лиц со временем отметки.
Откуда случайность
Случайное число даёт сеть drand: её ведут независимые организации, новое число выходит раз в три секунды. Номер раунда записан в условиях ещё до старта, а его число до выхода не знает никто, мы тоже.
Секретное число сервиса закреплено отпечатком до начала приёма. После выхода раунда его уже не подобрать под нужного победителя: отпечаток не сойдётся, и страница проверки это покажет.
Чего журнал не доказывает
Журнал доказывает, что записанное не меняли. Но он не доказывает, что организатор передал все события участия: кто не нашёл своей записи, предъявляет квитанцию организатору и нам. И проверка исхода не говорит, что программа организатора работает так, как написано в условиях.
Запись положена одна на аккаунт площадки, а не на человека, и журнал не говорит, кто за ней стоит. Мы не проводим деньги, не выбираем победителя и не выдаём призы: приз выдаёт организатор.