демо · anfisaa.ru

Проверяемый тираж

Главный приз разыгрывается среди проданных билетов, поэтому победитель есть в каждом тираже. Организатор не может подкрутить результат, а любой зритель может пересчитать его сам в своём браузере.

Как устроено

Секрет организатора фиксируется хешем до продаж, фраза зала появляется после продаж. Номер получается из обоих, поэтому ни одна сторона не управляет им в одиночку.

1До продаж

Организатор создаёт секретное зерно и публикует только его отпечаток SHA-256. Поменять зерно потом нельзя: отпечаток не сойдётся.

2Продажи закрыты

Число билетов известно. Зал или ведущий в эфире называет фразу, которую организатор не мог знать заранее.

3Тираж

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

Барабан лишь показывает номер, который уже определён зерном и фразой. Шансы всех билетов равны.

честный барабан: ширина цифры = число билетов за ней барабан по формуле LT 6494 B: по одному шару на цифру
Нажмите «Крутить барабан».

Проверить тираж самому

После тиража организатор раскрывает зерно. Вставьте четыре значения из протокола, и страница пересчитает номер без участия организатора. Сеть для этого не нужна.

Тиража ещё не было.
h = SHA-256(зерно|N|фраза|попытка)
x = первые 64 бита h
если x ≥ 2⁶⁴ − (2⁶⁴ mod N): попытка+1, повторить
победитель = x mod N + 1

Почему не барабан по патенту

В формуле патента LT 6494 B для каждого разряда в барабан кладут по одному шару «от 0 до цифры N», если старшие цифры совпали с N, иначе от 0 до 9. Номер всегда в диапазоне, но шансы неравны: у номеров рядом с N на каждом разряде мало шаров, и каждый шар весит больше. Здесь оба барабана крутятся тысячи раз подряд.

—
выигрышей у последнего билета
—
доля последних 5% билетов
—
несуществующий №0
—
выигрышей у последнего билета
—
доля последних 5% билетов
—
несуществующий №0

Честно последний билет должен выигрывать примерно в 100 000 / N тиражах. По формуле патента его точный шанс равен произведению 1/(цифра+1) по всем цифрам N.