I. Нулевое знание (ZK) | по битам обучения
Лондон
Что, если вы сможете продемонстрировать другу, что в вашем гардеробе больше 5 штанов, не называя точное количество и не показывая фото? Что ж, представьте себе мир, в котором люди могут доказывать факты друг другу, не зная ничего, кроме самого факта. Несмотря на утопию, мы живем в эпоху, которая, к счастью, склоняется к такому сценарию.
Концепция, позволяющая создать описанную выше ситуацию, называется нулевым знанием (ZK) — потому что вы можете не делиться никакими атрибутами о себе помимо того, что вы уже заявили. Пример: если вы хотите купить вино, вы можете создать доказательство с нулевым разглашением (ZKP), подтверждающее, что вам больше 18 лет. вино. Вам не нужно было сообщать свое имя, гражданство и даже дату рождения. Звучит круто, правда?
Приятного чтения!
ТАК… что такое ZKP?
По своей сути ZKP представляет собой метод, с помощью которого один человек (доказывающий) может продемонстрировать другому лицу (верификатору), что конкретное утверждение верно, не предоставляя дополнительной информации, помимо того факта, что утверждение верно. Фактическая генерация и проверка доказательства включают криптографические алгоритмы.
Другими словами, ZKP — очень элегантный способ передать как можно меньше информации от A (доказывающего) до B (верифицирующего)¹.
Или, что еще проще, разные стороны могут проверить истинность заявления, которое вы сказали, не имея фактического доступа к данным, из которых состоит ваше заявление.
Вы знали, что..?
Одним из важных факторов для работы ZKP является наличие доверенного органа/источника. Надежный источник — это ключевое слово, потому что для создания доказательств вам нужно надежное место, где можно проверить истинность ваших утверждений.
Например , если вы хотите доказать своим друзьям, что у вас более 1 тыс. подписчиков в Твиттере, следующим шагом будет создание ZKP на общее количество подписчиков вашей учетной записи и поделиться им с друзьями. Ваши друзья будут знать, что результат правильный, потому что доказательство генерируется на основе информации, которая бесспорно верна, поскольку
- Вы не можете подделать/выдумать количество своих подписчиков в Твиттере,
- Информация поступает из надежного источника (например, Twitter), а не только из чьего-то ума.
Другие варианты использования
Вот лишь несколько способов использования доказательств с нулевым разглашением в реальной жизни:

✔️ Финансы: ING Bank³ хочет использовать ZKP, чтобы позволить своим клиентам доказывать определенные факты о себе, не раскрывая свои фактические данные. Например, если кто-то хочет взять кредит, он может сделать это, доказав, что его доход находится в диапазоне, принятом банком.
✔️ Онлайн-голосование: вы можете проголосовать анонимно и проверить, был ли ваш голос учтен в окончательном подсчете.
✔️ Сделайте интернет безопасным. Используя ZKP в сочетании с проверкой личности, пользователи могут доказать, что они являются уникальными людьми на веб-сайтах, которые они посещают, не отправляя им никакой личной информации. Это может иметь большое значение в борьбе с дезинформацией, ботами в социальных сетях (в качестве примера можно взять Twitter⁴), кампаниями, спонсируемыми государством, и другими.
✔️ Проверка личной информации . Если мы вернемся к приведенному выше примеру с вином, давайте представим, что вы хотите пойти в клуб, и есть возрастное ограничение — никто не моложе 25 лет не входит. Обычно вы идете к телохранителю и показываете ему свое удостоверение личности, которое содержит более не только ваш возраст, но и вашу фотографию, год рождения, возможно, ваш адрес, где вы живете, и так далее. Вместо этого, используя ZKP, вы можете создать доказательство того, что у вас есть документ, который принадлежит вам, и что ваш возраст превышает 25 лет. Вы показываете это доказательство, которое может быть QR-кодом, например, сотрудник службы безопасности сканирует код, и экран становится зеленым, если вы соответствуете возрастным требованиям. Вот и все.
Вкратце, вот еще несколько примеров того, что можно и что нельзя делать с ЗКП:

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

Будем на связи
Когда-то личное, навсегда личное. Ты в деле?
Веб -сайт | Телеграмма | Линкедин | Твиттер | Средний ❤

Ресурсы:
- https://link.springer.com/content/pdf/10.1007/BF02351717.pdf
- https://www.blockchain-council.org/blockchain/zero-knowledge-proof-protocol/
- https://www.ingwb.com/en/insights/distributed-ledger-technology/ing-launches-major-addition-to-blockchain-technology
- 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