Рейтинг:4

Какова связь между доказательствами знаний с нулевым разглашением и схемами?

флаг in

С ростом популярности доказательств с нулевым разглашением (ZKPoK), таких как Пиноккио, Грот16 и Соник, чтобы назвать некоторые ZKPoK, которые широко известны как zk-SNARK, я взялся понять, что происходит за капотом этих протоколов.

Единственная проблема, с которой я столкнулся, заключается в том, что я не совсем понимаю, какова связь ZKPoKs и базовой схемы на zk-SNAKRKs: Арифметические схемы.

Позвольте задать несколько вопросов по этому поводу:

  1. Чем интересны арифметические схемы в мире с нулевым разглашением?
  2. Почему ZKPoK на основе схемы считаются «универсальными»?
  3. Может ли какой-то конкретный (т.е. не основанный на схемах) "практический" ЗКПоК выполняться по схемам?
  4. Являются ли ZKPoK на основе схемы более эффективными (в время или же пространство) чем конкретные ЗКПоК?
Рейтинг:2
флаг us

Чем интересны арифметические схемы в мире с нулевым разглашением?

Существуют две основные модели общих вычислений: схемы и машины Тьюринга.
Описание пути вычислений машин Тьюринга - это то, что пытаются сделать большинство основных языков программирования, однако для криптографической обработки есть недостатки, связанные с машинами Тьюринга. А именно, приходится иметь дело с памятью, и, кроме того, машины Тьюринга — не совсем самая эффективная модель программирования, и все более эффективные обычно добавляют значительно больше сложности, усложняя криптографические протоколы. Итак, вместо этого люди используют схемы, которые могут довольно легко выражать многие сразу интересные утверждения, и вам обычно нужно указать обработку только для нескольких операций, то есть, что делать, когда встречается умножение и когда встречается сложение. Этих двух операций достаточно для описания всех функций, хотя некоторые из них описываются менее эффективно, чем другие, и многие интересующие функции оказываются небольшими.

Почему ZKPoK на основе схемы считаются «универсальными»?

Используя приведенные выше соображения, они позволяют сформулировать доказательства типа «Я знаю $х$ для некоторой публики $v$ и какая-то общественная схема $С$ такой, что $С(х,v)=1$", что делает их полностью универсальными в доказанном утверждении.

Может ли какой-то конкретный (т.е. не основанный на схемах) "практический" ЗКПоК выполняться по схемам?

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

Являются ли ZKPoK на основе цепей более эффективными (во времени или пространстве), чем конкретные ZKPoK?

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

Bean Guy avatar
флаг in
Таким образом, когда мы говорим о «ZKPoK на основе каналов», мы имеем в виду протоколы того типа, который можно использовать для любого канала, о котором мы только можем подумать. Напротив, определенные ZKPoK — это протоколы, которые можно использовать для **конкретного** канала (с использованием переформулировки, которую вы прокомментировали). Я прав?
Bean Guy avatar
флаг in
У вас есть ссылка, где я могу увидеть такую ​​​​переформулировку для простого примера? Я думал, как сформулировать [Протокол Шнор] (https://en.wikipedia.org/wiki/Proof_of_knowledge#Schnorr_protocol) в терминах цепей.
SEJPM avatar
флаг us
@BeanGuy Конкретные ZKPoK доказывают утверждения для определенных классов цепей, например. $C(x,v)=g^x\stackrel{?}{=}v\bmod p$ для доказательств Шнорра конечного поля (и варианты в других группах). У меня нет под рукой хорошей ссылки для сравнения Шнорра, хотя схема должна быть концептуально простой (см. Выше), хотя, конечно, фактическая формулировка модульного или возведения в степень ECC с помощью схем может генерировать довольно большие схемы...
Bean Guy avatar
флаг in
Позвольте мне тогда кое-что понять: поскольку протокол Шнорра является трехэтапным протоколом, я подумал, что, чтобы сформулировать его в терминах схем, нам потребуется 3 схемы, по одной на каждый шаг. Но похоже, что одна схема способна сжать весь протокол. Я предполагаю, что это верно **после** применения эвристики Fiat-Shamir и последующего рассмотрения протокола как функции. В противном случае я не вижу, как вы можете сформулировать интерактивную систему для чего-то (схемы), которая не имеет «взаимодействия».
Geoffroy Couteau avatar
флаг cn
Схема — это не *протокол*: схема — это *язык*. То есть протокол Шнорра представляет собой трехэтапный протокол для доказательства «я знаю $w$ такое, что $C(x,w) = 1$», где $C$ — это схема, которая выводит 1 тогда и только тогда, когда $g^w = x $ (над соответствующей группой). «ZK на основе схемы» относится к доказательствам ZK, которые описаны для всех языков, написанных «в форме схемы», как указано выше. Для дискретного лога стандартный ЗК на схеме будет малоэффективен, т.к. схема большая; здесь использование специального протокола (например, Schnorr), адаптированного для этого конкретного языка, будет более эффективным.
Bean Guy avatar
флаг in
@GeoffroyCouteau Тогда есть ли такой язык в случае *специфического* ZKPoK, то есть не перефразированный как схема? Какой язык в этих случаях?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.