Zero-knowledge proof
Nov. 28th, 2002 09:08 pmНаконец-то узнал, что такое zero-knowledge proof. Удивительная вещь ! Можно абсолютно точно доказать кому-то, что ты кое-что знаешь наверняка, никак при этом не открывая своего знания. Причём тот, кого убеждают, может сам выбирать, насколько он хочет быть уверенным в подлинности доказательства, то есть варьировать степень своей уверенности.
Вот это да.
no subject
no subject
Date: 2002-11-28 04:44 am (UTC)Если б я поступил честно, то сразу и написал бы суть дела. Но мне было лень.
И не только - когда узнаешь, в чём дело, теряется вся прелесть этого волнующего откровения.
Ну да ладно, напишу.
Возьмем какую-нибудь NP-complete задачу. Например, о трёхцветном раскрашивании графа, т.е., чтобы никакие две смежные вершины не были одинакового цвета.
Допустим, А говорит: я эту задачу решил (то есть "доказал", что для данного графа решение существует). В говорит: ну-ка докажи !
Тогда А втайне раскрашивает вершины графа и чем-нибудь их закрывает. В говорит - открывай вот эти две смежные вершины. А открывает - они закрашены разными цветами. "Сойдёт ?" - спрашивает А. "Не тут-то было", - отвечает В - "давай другие две".
А раскрашивает вершины другими цветами (или просто перемешивает те же самые), закрывает и по указке В снова открывает любые две смежные - они опять разного цвета.
И так продолжается, пока В не удовлетворит своих аппетитов.
Легко подсчитать, что, если В в начале на 100% уверен, что А лжёт, то после первого раунда его уверенность становится (N-1)/N (N - число вершин), после второго (N-1)/N в квадрате и т.д., до бесконечности. Как понятно, очень быстро вероятность вранья А падает почти до нуля, причем В сам выбирает точность, но при этом не узнаёт, как на самом деле раскрашен граф.
Красиво.
no subject
Date: 2002-11-28 05:14 am (UTC)no subject
Date: 2002-11-28 02:22 pm (UTC)no subject
Или В придётся проглядеть все вершины - но тогда он узнает всё!
no subject
Date: 2002-11-28 02:26 pm (UTC)no subject
Date: 2002-11-29 01:01 am (UTC)no subject
Date: 2002-11-29 04:28 am (UTC)no subject
Date: 2002-11-29 04:36 am (UTC)А вообще очень интересная тема, спасибо!
no subject
Date: 2002-11-28 08:33 am (UTC)