Рейтинг:2

Как гарантировать, что ZKP был сгенерирован честно?

флаг ng

Следующие выдержки были взяты со страницы доказательства с нулевым разглашением в Википедии:

В криптографии доказательство с нулевым разглашением или протокол с нулевым разглашением — это метод, с помощью которого одна сторона (доказывающая) может доказать другой стороне (проверяющей), что данное утверждение истинно, в то время как доказывающая сторона избегает передачи какой-либо дополнительной информации, кроме факт, что утверждение действительно верно. Суть доказательств с нулевым разглашением заключается в том, что доказать, что кто-то обладает знанием определенной информации, тривиально, просто раскрыв ее; задача состоит в том, чтобы доказать такое владение, не раскрывая ни самой информации, ни какой-либо дополнительной информации.

Если для доказательства утверждения требуется, чтобы доказывающий обладал некоторой секретной информацией, то проверяющий не сможет доказать это утверждение кому-либо другому, не обладая секретной информацией. Доказываемое утверждение должно включать утверждение о том, что доказывающий обладает таким знанием, но без включения или передачи самого знания в утверждение. В противном случае утверждение не будет доказано с нулевым разглашением, поскольку оно предоставляет проверяющему дополнительную информацию об утверждении к концу протокола. Доказательство знания с нулевым разглашением — это особый случай, когда утверждение состоит только из того факта, что доказывающий владеет секретной информацией.

Справка: https://en.wikipedia.org/wiki/Zero-knowledge_proof

В качестве примера предположим, что Алиса знает, что Икс является 123 и Д является 456, и Алиса хочет доказать Бобу, что Икс меньше чем Д. Следовательно, Алиса должна построить доказательство таким образом, чтобы Икс и Д не раскрываются Бобу.

Предположим, что рассматриваемый протокол ZKP реализован на основе следующих допущений:

  • А может быть получено из Икс
  • Б может быть получено из Д
  • Икс не может быть получено из А либо Алисой, либо Бобом (Алиса может получить только А от Икс)
  • Д не может быть получено из Б либо Алисой, либо Бобом (Алиса может получить только Б от Д)
А = е(Х)
В = f(Y)

А < В // правда

Теперь Боб может убедиться, что Икс действительно меньше, чем Д исключительно путем вычислений А < В и без того, чтобы Алиса когда-либо раскрывала Икс и Д к Бобу.

Мой вопрос в том, как Боб гарантирует, что А и Б происходят от Икс и Д (и, таким образом, знать, что Алиса не злонамеренна), не зная, что Икс и Д находятся?

Рейтинг:1
флаг es

Мой вопрос в том, как Боб гарантирует, что A и B получены из X и Y (и, таким образом, знать, что Алиса не злонамерен) без зная, что такое X и Y?

В вашем сценарии A и B объявлены как обязательства перед X и Y соответственно.

Вы правы в том, что без дополнительной доступной информации или шагов в протоколе Боб не может быть уверен, что обязательства были произведены должным образом. Если обязательства должным образом ослеплены для предотвращения грубой силы, даже если Боб знает, что такое X и Y, Боб все равно не может знать, правильно ли были созданы обязательства, если только Алиса не захочет предоставить доказательства.

Однако могут быть определенные полезные протоколы, такие как:

  1. Алиса объявляет об обязательствах, подтвержденных третьей стороной, которой Боб действительно доверяет, и поэтому ZKP, включающие эти обязательства, имеют смысл.

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

  3. Алиса раскрывает значение Z, а затем объявляет, что она разбила значение Z на нераскрытые значения X и Y. Она предоставляет обязательства A и B значениям X и Y соответственно и использует аддитивно-гомоморфное свойство обязательств (обязательства Педерсена имеют это свойство), чтобы продемонстрировать, что сумма обязательств A и B является обязательством значения Z.Это используется в протоколах конфиденциальных активов, где ряд единиц разделен между сторонами, а общее количество единиц является общедоступным, но доля владения единицами между сторонами должна быть частной. Алиса может доказать, что одному человеку было дано больше единиц, чем другому, не раскрывая, сколько единиц было дано каждому из них.

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

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