Випадковість

Кубики, монети, жеребкування та колесо фортуни — кожен результат походить з ентропії вашої операційної системи або з посіву, який ви обираєте, щоб будь-хто міг повторити розіграш і перевірити його.

Числа та ігри

3

Жеребкування

3

Імена та команди

3

Оберіть форму жеребкування

Вибір здебільшого залежить від того, як має виглядати результат для людей, які спостерігають.

Число або набір чисел — генератор випадкових чисел для заданого вами діапазону, лотерейні числа для п’ятнадцяти ігор з фіксованими правилами, кубики, коли потрібна нотація кубиків і модифікатори, а не простий діапазон.

Один переможець зі списку — вибір імені, коли вам потрібна відповідь, колесо фортуни, коли за цим спостерігає аудиторія і драматизм — це і є суть.

Так чи ні — підкидання монети.

Усі розподілені по групах — генератор команд, який розподіляє по колу, тож 7 осіб на 3 групи дають 3/2/2, а не скидання залишку в останню групу.

Гра, що триває якийсь час — ведучий бінго, 75, 90 чи 99 куль, керовані з одного екрана.

Перевірка чужого жеребкування — верифікатор жеребкування, єдиний інструмент тут, який нічого не генерує.

Що робить цю категорію відмінною

Будь-який сайт може згенерувати випадкове число. Складніша задача — згенерувати таке, яке скептичний учасник прийме потім, і це ланцюжок, що проходить через кожен інструмент тут, а не функція якогось одного з них.

Працює це так. Запустіть жеребкування із насінням (seed) — значенням, яке ви обираєте, або яке підбирає й показує вам сам інструмент. Насіння робить жеребкування відтворюваним: будь-хто, хто має це насіння і той самий список, отримає той самий результат щоразу. Саме по собі цього недостатньо, бо організатор міг би провести жеребкування з різними насіннями, доки одне не вийде зручним, і опублікувати лише його.

Тож жеребкування також отримує відбиток (fingerprint) списку, на якому воно проведене. Публікація насіння й відбитка до жеребкування зобов’язує вас і щодо учасників, і щодо методу. Пізніше будь-хто може вставити сертифікат у верифікатор, який перераховує результат і перевіряє, що насіння, список і результат узгоджуються. Зміна імені, додавання пізнього запису чи підміна переможця — і відбиток перестає збігатися.

Це не доводить, що організатор чесний. Це доводить, що це жеребкування, над цим списком, дало цей результат — а саме це раніше було неможливо перевірити будь-кому іншому.

Коли насіння не потрібне

Залиште поле насіння порожнім, і жеребкування використає crypto.getRandomValues() замість цього: ентропію вашої операційної системи, а не відтворювану послідовність. Це правильний вибір для всього, де відтворюваність була б слабкістю, а не перевагою — вибір пароля, поділ рахунку чи розв’язання суперечки. Нікому не потрібно перевіряти, чия черга мити посуд.

Чому жеребкування в браузері краще за фізичний предмет

Справжня монета трохи зміщена тим, як карбують її грані, і приземляється так, як почала обертання, дещо частіше, ніж має бути. Дешевий кубик ще гірший: литі крапки видаляють різну кількість матеріалу з кожної грані, тому сторона з шісткою трохи легша. Жодне зі зміщень не має значення для настільної гри, і жодне не можна усунути обережністю.

Жеребкування, обчислене з пулу ентропії операційної системи, не успадковує жодної фізичної асиметрії. Це не «так само добре», як справжня монета — за критерієм справедливості, це краще.

Я буду вдячний, якщо ви поділитеся цими сторінками з друзями, збережете їх у закладках або посилання на них. Дякую! 🙏