I. Нулевое знание (ZK) | по битам обучения

Nov 30 2022
Лондон А что, если вы сможете продемонстрировать другу, что в вашем гардеробе больше 5 брюк, не называя точное количество и не показывая фотографии? Что ж, представьте себе мир, в котором люди могут доказывать факты друг другу, не зная ничего, кроме самого факта. Несмотря на утопию, мы живем в эпоху, которая, к счастью, склоняется к такому сценарию.

Лондон

Что, если вы сможете продемонстрировать другу, что в вашем гардеробе больше 5 штанов, не называя точное количество и не показывая фото? Что ж, представьте себе мир, в котором люди могут доказывать факты друг другу, не зная ничего, кроме самого факта. Несмотря на утопию, мы живем в эпоху, которая, к счастью, склоняется к такому сценарию.

Концепция, позволяющая создать описанную выше ситуацию, называется нулевым знанием (ZK) — потому что вы можете не делиться никакими атрибутами о себе помимо того, что вы уже заявили. Пример: если вы хотите купить вино, вы можете создать доказательство с нулевым разглашением (ZKP), подтверждающее, что вам больше 18 лет. вино. Вам не нужно было сообщать свое имя, гражданство и даже дату рождения. Звучит круто, правда?

Приятного чтения!

ТАК… что такое ZKP?

По своей сути ZKP представляет собой метод, с помощью которого один человек (доказывающий) может продемонстрировать другому лицу (верификатору), что конкретное утверждение верно, не предоставляя дополнительной информации, помимо того факта, что утверждение верно. Фактическая генерация и проверка доказательства включают криптографические алгоритмы.

Другими словами, ZKP — очень элегантный способ передать как можно меньше информации от A (доказывающего) до B (верифицирующего)¹.

Или, что еще проще, разные стороны могут проверить истинность заявления, которое вы сказали, не имея фактического доступа к данным, из которых состоит ваше заявление.

Вы знали, что..?

Одним из важных факторов для работы ZKP является наличие доверенного органа/источника. Надежный источник — это ключевое слово, потому что для создания доказательств вам нужно надежное место, где можно проверить истинность ваших утверждений.

Например , если вы хотите доказать своим друзьям, что у вас более 1 тыс. подписчиков в Твиттере, следующим шагом будет создание ZKP на общее количество подписчиков вашей учетной записи и поделиться им с друзьями. Ваши друзья будут знать, что результат правильный, потому что доказательство генерируется на основе информации, которая бесспорно верна, поскольку

  1. Вы не можете подделать/выдумать количество своих подписчиков в Твиттере,
  2. Информация поступает из надежного источника (например, Twitter), а не только из чьего-то ума.

Другие варианты использования

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

Giphy.com

✔️ Финансы: ING Bank³ хочет использовать ZKP, чтобы позволить своим клиентам доказывать определенные факты о себе, не раскрывая свои фактические данные. Например, если кто-то хочет взять кредит, он может сделать это, доказав, что его доход находится в диапазоне, принятом банком.

✔️ Онлайн-голосование: вы можете проголосовать анонимно и проверить, был ли ваш голос учтен в окончательном подсчете.

✔️ Сделайте интернет безопасным. Используя ZKP в сочетании с проверкой личности, пользователи могут доказать, что они являются уникальными людьми на веб-сайтах, которые они посещают, не отправляя им никакой личной информации. Это может иметь большое значение в борьбе с дезинформацией, ботами в социальных сетях (в качестве примера можно взять Twitter⁴), кампаниями, спонсируемыми государством, и другими.

✔️ Проверка личной информации . Если мы вернемся к приведенному выше примеру с вином, давайте представим, что вы хотите пойти в клуб, и есть возрастное ограничение — никто не моложе 25 лет не входит. Обычно вы идете к телохранителю и показываете ему свое удостоверение личности, которое содержит более не только ваш возраст, но и вашу фотографию, год рождения, возможно, ваш адрес, где вы живете, и так далее. Вместо этого, используя ZKP, вы можете создать доказательство того, что у вас есть документ, который принадлежит вам, и что ваш возраст превышает 25 лет. Вы показываете это доказательство, которое может быть QR-кодом, например, сотрудник службы безопасности сканирует код, и экран становится зеленым, если вы соответствуете возрастным требованиям. Вот и все.

Вкратце, вот еще несколько примеров того, что можно и что нельзя делать с ЗКП:

Превзошел

Как OutDID использует ZKP

Вышеупомянутый пример может отражать наше решение следующим образом: мы используем паспорта (аутентифицированные источники, такие как Twitter), которые предоставляют такие данные, как дата рождения, гражданство и т. д. (как количество подписчиков в Twitter), на основании которых вы может создать доказательства, такие как возраст старше 18 лет, гражданин США и т. д. (или наличие более 1000 подписчиков в Твиттере).

Говоря более конкретно, наше приложение использует ZKP, чтобы продемонстрировать, что вы соответствуете требованиям пользователя конкретного проекта Web3, не сообщая более подробной информации. Например, если вы хотите зарегистрироваться для участия в аирдропе, вам нужно доказать, что вы не являетесь гражданином США. С помощью OutDID вы можете создать в нашем приложении доказательство (например, этот QR-код в примере с охранником), что у вас есть другое гражданство. После этого вы можете отправить его в dApp. Проект может проверить правильность отправленного вами доказательства, и вы сможете получить аирдроп.

Небольшой вызов

Теперь, когда вы знаете, что такое ЗКП, расскажите в комментариях, почему мы не можем применить эту технологию в примере со штанами из интро. :)

И не забывайте…

Слоган Биткойн

Будем на связи

Когда-то личное, навсегда личное. Ты в деле?

Веб -сайт | Телеграмма | Линкедин | Твиттер | Средний ❤

Giphy.com

Ресурсы:

  1. https://link.springer.com/content/pdf/10.1007/BF02351717.pdf
  2. https://www.blockchain-council.org/blockchain/zero-knowledge-proof-protocol/
  3. https://www.ingwb.com/en/insights/distributed-ledger-technology/ing-launches-major-addition-to-blockchain-technology
  4. https://www.rand.org/blog/2022/09/elon-musk-may-have-a-point-about-bots-on-twitter.html
  • https://www.youtube.com/watch?v=fOGdb1CTu5c
  • https://ethereum.org/en/zero-knowledge-proofs/
  • https://polygon.technology/blog/a-gentle-introduction-to-zero-knowledge-proofs