Лотерея, в якій можна переконатися, що це справедливо


27

(Вибачте, якщо це добре відомо.) Я хотів би надати якийсь елемент одному з агентів, щоб агент отримав елемент з імовірністю . Чи існує криптографічний (чи інший) інструмент, щоб кожен агент (і навіть кожен спостерігач) міг переконатися, що випадковий малюнок справді був справедливим?kjpi


1
Чи агентам дозволено знати .. ? р кp0pk
Майк Самуель

Відповіді:


19

Якщо я правильно розумію проблему, то, здавалося б, суспільне гортання монети на сторону . Здається, існує багато способів зробити це, якщо ви берете на себе зобов'язання. Одним із прикладів може бути те, щоб кожна сторона генерувала випадкове ціле число між 0 і , використовуючи бітове зобов'язання, щоб публічно скористатися цим бітовим рядком. Потім, коли кожен агент здійснив, вони публічно розкривають своє таємне ціле число. Агент-виграш - це той, який індексується сумою цілих чисел за модулем . Якщо навіть один агент чесний, то фліп повинен бути випадковим.k - 1 кkk1k

Звичайно, одна проблема в цьому полягає в тому, що воно вимагає бітової прихильності. Інформаційно-теоретичні схеми бітової прихильності неможливі як для класичних, так і для квантових обчислень (хоча Адріан Кент нещодавно запропонував схему, що використовує відносність). Однак безпечне зобов’язання бітів можна досягти за допомогою обчислювальних припущень.


2
Моя проблема такого підходу полягає в тому, що якщо ви хочете переконати багатьох сторонніх спостерігачів у справедливості, то кожен з них повинен зробити трохи зобов’язань, і ви повинні бути впевнені, що кожен з них розкриє докази своєї прихильності. Ви не можете просто ігнорувати частину спостерігача, яка не виявляє їх доказів, оскільки тоді останній спостерігач, який виявив, може маніпулювати результатом лотереї, вирішуючи, чи слід розкривати його доказ чи ні.
Zsbán Ambrus

1
@ user8067: Я не вірю, що це можливо без взаємодії чи довіри, що хоча б одна сторона чесна. Причиною, через яку я кажу, є те, що якщо початкова випадковість насправді заздалегідь визначена через змову всіх, хто бере участь у цьому пункті, то весь процес є детермінованим, а не випадковим. Однак проблема вимагає, щоб процес був випадковим, тому, здається, це найкраще, що ви можете зробити.
Joe Fitzsimons

2
Я не переконаний, що це можливо.
Джо Фіцсімонс

2
@ RickyDemer: У запитанні недостатньо інформації, щоб сказати, яка модель противника застосовна тут. Якби Гіл сказав нам саме для чого це, то було б простіше довести, чи відповідає конкретна схема його вимогам чи ні. Але, маючи на увазі, я не сумніваюся, що Гіл більш ніж здатний перевірити, чи відповідають наші відповіді його потребам чи ні.
Джо Фіцсімонс

2
@RickyDemer: Мені зовсім не зрозуміло, яка очевидна модель для цього випадку. Це сильно залежить від налаштування, і не очевидно, якими повинні бути припущення за замовчуванням. Потрібно трохи знизити і почати діяти так, як моя відповідь, так і Лев помиляються. Вони не містять явного застереження, зазначеного у відповіді Адама. Зауважте, що я не редагую свою відповідь, оскільки без додаткової інформації від Gil я не вважаю сенсом здогадуватися про модель противника, і тому я залишаю її якомога загальнішою (не вказуючи, чи є бітове зобов'язання повинно бути недостовірним).
Джо Фіцсімонс

15

Як натякали інші користувачі, це досить добре вивчена проблема криптографії. Він називається "монети-гортання" і є особливим випадком обчислення багатопартійних.

Який протокол виконує завдання, насправді залежить від контексту.

  • У режимі "автономний" протокол буде запускатися ізольовано, без участі гравців в інших протоколах (або взагалі будь-яких взаємодіях із зовнішнім світом) одночасно. Про це є дивовижно ґрунтовне ставлення до цього підручника Одіда Голдрейха «Основи криптографії» (думаю, том 2).

Просто для того, щоб дати уявлення про те, наскільки він тонкий, протокол "всі здійснюють випадкові значення", запропонований іншим респондентом, не є небезпечним, якщо використана вами схема зобов’язань є податливою. Схеми непридатного зобов’язання дають вам захищений протокол, але вони трохи складні в проектуванні.

  • У налаштуваннях, де учасники беруть участь в інших паралельних протоколах, ви хочете, щоб протокол був сумісний . Існують різні поняття комбінованості, але найсильніша з них - під назвою універсальна сумісність , вимагає додаткових припущень щодо налаштування (наприклад, PKI або загальна випадкова рядок, видима для всіх сторін, але керована жодною з них). На жаль, я не знаю про доступне лікування цієї теми, на жаль. Але, дивлячись на нещодавній документ про універсальну сумісність чи непридатні зобов’язання, було б добре почати.

1
«Загальна випадкова рядок, видимий для всіх сторін, але керований жодною з них» - це саме те, що ми хочемо створити.
Zsbán Ambrus

1
і після того, як якимось чином вирішити цю проблему один раз, можна загальнозміцнюватися вирішити це ще раз (довільно багато разів).

Я думаю, що зобов'язання UC відомі для налаштування зареєстрованого відкритого ключа (що є більш сильним припущенням, ніж PKI) та налаштування багаторядкових (що є слабшим припущенням, ніж звичайний випадковий рядок).

2
Ласкаво просимо на сайт, Адаме!
Гіл Калай

11

Примітка: будь ласка, прочитайте коментарі нижче. Цей протокол, схоже, має проблеми.


pj

{0,1}bb

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


Вибачте Лев, я щойно помітив вашу відповідь. Коли я почав писати відповідь, тут нічого не було, але ми обидва, схоже, придумали дуже схожі відповіді.
Joe Fitzsimons

Не хвилюйтесь! Здається, ми на правильному шляху.
Лев Рейзін

Так, насправді я думаю, що в цьому контексті перегортання монети є багато праць, але я не знаю, що література достатньо добре, щоб дати належну відповідь на її основі.
Джо Фіцсімонс

7
Найдавніша інформація, яку я знаю, - це М. Блюм. Монета гортається по телефону. CRYPTO 1981: 11-15. Можна завантажити на dm.ing.unibs.it/giuzzi/corsi/Support/papers-cryptography/…
Ryan Williams

4
Існує стандартна атака, якщо ви використовуєте стандартні схеми прихильності бітів (наприклад, хешування). Розглянемо випадок з двома сторонами, Алісою та Боб, де Аліса йде першою. Після того, як Аліса передає свою прихильність, Боб може скопіювати це. Після того, як Аліса відкриє своє зобов'язання, Боб може відкрити своє те саме зараз. Тепер їх випадкові вектори рівні, тому вони дорівнюють нулю - Боб зміг примусити остаточне значення до нуля, що суперечить вимозі справедливості.
DW

-3

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

Однак якщо спостерігач може надати випадкове число, яке він знає, випадкове І переконатися, що інші агенти після цього не змінять свої дані (тому що вони зможуть компенсувати його ефект своїми введеннями), то він може бути впевнений, що результат був справді випадковим .

Для цього потрібна схема зобов'язань, яку ми не знаємо жодної, яка математично доведена як безпечна, але на практиці може бути реалізована за допомогою захищеного хешу (наприклад, SHA3).

Розглянемо цей приклад:

введіть тут опис зображення

Я зробив приклад реалізації. Побачити його можна тут: https://mrogalski.eu/cl/ або перевірити джерела на GitHub .


1
Це вже зазначається у відповіді Джо.
Каве

1
Графічна ілюстрація дуже приємна!
Гіл Калай

3
Графіка дуже гарна, але ваша відповідь не містить нічого, що не є в існуючих відповідях.
Девід Річербі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.