Доказательство нулевого разглашения: фактическая анонимность и децентрализация

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

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

По сути, в двух словах, он обеспечивает контроль над конфиденциальностью и имеет поддержку в будущем, но думаете ли вы, что блокчейн выполняет свое обещание по обеспечению секретности для конечного пользователя? Простой ответ на этот вопрос - НЕТ.

Различные сети блокчейнов используют общедоступные базы данных для хранения истории транзакций (см. Etherscan.io), и оттуда любой, у кого есть подключение к Интернету, может просматривать список сетевых транзакций, и в конечном итоге они могут видеть все транзакции, выполненные поставщиком кошелька и все сети, связанные с сетью этого кошелька, в некотором смысле это похоже на то, что если у вас есть чей-то номер кредитной карты, вы можете видеть прошлую транзакцию этого человека, но во всем этом процессе имя все еще невидимо для вас. Пользователь останется неизвестным с помощью открытого ключа, обеспечивающего защиту ваших личных данных.
Как говорится

Конфиденциальная информация пользователя, хранящаяся в цепочке блоков, является конфиденциальной, а не анонимной.

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

Но теперь, с применением этой простой, но глубокой концепции доказательства с нулевым разглашением, это вполне выполнимо.

Что такое доказательство с нулевым разглашением?

Это схема шифрования, предложенная исследователем Массачусетского технологического института Сильвио Микали, Шафи Голдвассером и Чарльзом Ракоффом в 1980-х годах. В этом методе сторона, то есть доказывающий, может доказать, что конкретное утверждение верно для другой стороны, без обсуждения какой-либо дополнительной информации.

Давайте разберемся в этом на небольшом примере

Детские и сладкие батончики

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

Итак, они делают то, что Боб приносит четыре запираемых коробки в комнату, предполагая, что количество полученных шоколадных батончиков будет 10, 20, 30 и 40. Он маркирует каждую коробку значением, соответствующим количеству шоколадных батончиков.

Затем Боб оставляет ключ от коробки, в которой указано количество шоколадных батончиков, которые он получил в кармане (допустим, у него 30 шоколадных батончиков), и выбрасывает ключи от всех остальных коробок. И он выходит из комнаты.

Теперь Алиса входит в комнату с 4 небольшими листками бумаги и пишет «+» на одном из них, а «-» - на каждом другом. Здесь «+» обозначает количество конфет, которые она получила, а «-» представляет все остальные значения.

Она кладет листок со знаком «+» в одну коробку (допустим, в коробку с 20 шоколадными батончиками) и «-» в остальные коробки. И она уходит.

Теперь Боб снова входит в комнату и открывает ящик, ключ от которого лежит в его кармане. Затем он проверяет, есть ли в коробке лист бумаги со знаком «+» или «-». Если это знак «+», он понимает, что у Алисы такое же количество шоколадных батончиков. А в другом случае - нет.

Поскольку мы знаем, что у Алисы 20 шоколадных батончиков, а у Боба 30 шоколадных батончиков, Боб найдет знак «-» в запирающейся коробке, ключ от которой у него есть. Это даст ему понять, что у них обоих разное количество шоколадных батончиков.

В тот же момент Алиса снова войдет в комнату и обнаружит знак «-» в руке Боба, а также узнает, что у них другое количество шоколадных батончиков.

Примечание. С помощью этого метода Боб узнает, что у них разное количество шоколадных батончиков. Но он все равно не поймет, есть ли у Алисы больше или меньше шоколадных батончиков, и наоборот.

Докажите, что знаете, где находится Уолдо, не сообщая его местонахождение

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

Загадка:

Алиса: я знаю, где Уолдо!

Боб: Алиса, вы знаете, что такое лгун?

Алиса: Я могу доказать вам, где он, не раскрывая его местонахождение.

Чтобы защитить свою честность, Алиса придумывает два решения, чтобы доказать свои знания.

Доказательство 1

Алиса вырезает Уолдо из своей сцены и показывает только Бобу фрагмент Уолдо. Чтобы Алиса не просто распечатала новое изображение Уолдо, Боб может поставить водяной знак на обратной стороне страницы сцены Алисы. Или он может провести тщательный осмотр полости на Алисе, прежде чем Алиса войдет в секретную комнату, чтобы разрезать страницу.

Доказательство 2

Алиса вырезает отверстие в очень большом непрозрачном листе картона. Она помещает картонный вырез поверх исходной сцены. В этом решении показан только Уолдо. Его координаты относительно остальной части сцены пока неизвестны. Позже Алиса может воспроизвести сцену внизу, чтобы доказать, что она использовала исходную головоломку.

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

Алиса может использовать одни и те же доказательства, чтобы убедиться, что она находила Уолдо много раз за игру и во многих играх. В этом смысле ее системы доказательств статистически достигают:

  1. Надежность - все, что можно доказать, - это правда: предположим, что Алиса не знает местоположения Уолдо и представляет случайные части сцены своим системам доказательства ... тогда ее картонные отверстия будут отображаться случайные изображения без Уолдо. Проще говоря, системы доказательств Алисы правдивы и не позволяют ей обманывать.
  2. Полнота - все истинное имеет доказательства: пока Алиса находит Уолдо, она может постоянно использовать свои доказательства, чтобы показать Уолдо в каждой игре. Проще говоря, системы доказательств Алисы убеждают Боба, что она нашла Уолдо.
  3. С нулевым разглашением - раскрывается только доказываемое утверждение: когда Алиса доказывает Бобу, что она нашла Уолдо, единственная информация, раскрытая Бобу, - это то, что «Алиса нашла Уолдо». Местоположение Уолдо никогда не разглашается. Проще говоря, системы доказательств Алисы доказывают ее победу перед Бобом, не раскрывая ее знаний.

Плюсы доказательства с нулевым разглашением

Простой, но изощренный: одно из основных преимуществ ZKP в том, что он не использует сложный метод шифрования.

Конфиденциальность и анонимность. Для завершения процесса не требуется никакой информации.

Минусы доказательства с нулевым разглашением

Длительный: метод ZKP включает около 2000 вычислений, каждое из которых требует определенного времени.

Несовершенный и все еще разрабатывается: сообщение, доставленное на проверку / доказательство, может быть уничтожено или изменено.

Ограничено: протокол ZKP требует, чтобы секрет был числовым значением, в других случаях требуется перевод.

Реальные реализации

  • Обмен сообщениями. При обмене сообщениями необходимо сквозное шифрование, чтобы никто не мог прочитать ваше личное сообщение, кроме того, с которым вы общаетесь. Для обеспечения безопасности платформы обмена сообщениями просят пользователей подтвердить свою личность на сервере и наоборот.
    Но с появлением ZKP они смогут создать сквозное доверие в мире обмена сообщениями без утечки какой-либо дополнительной информации. Это одно из основных приложений доказательства с нулевым разглашением в мире блокчейнов.
  • Проверка личности. Подтверждение с нулевым разглашением также может облегчить передачу конфиденциальной информации, такой как данные аутентификации, с большей безопасностью. Он может создать безопасный канал, по которому пользователи смогут использовать свою информацию, не раскрывая ее. И таким образом избежать утечки данных в худших сценариях.

Проблемы, с которыми вы столкнетесь при внедрении ZKP в свои проекты

1. Отсутствие стандартов

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

2. Масштабируемость

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