Защитите свои данные в блокчейне
Когда-нибудь у вас было ощущение, что вы живете в песне Стинга? В той, где поется: «Каждый ваш вдох, каждое ваше движение, я буду следить за вами»? В наши дни кажется, что всегда есть кто-то, кто отслеживает каждый ваш шаг — буквально. Идете в магазин, и ваш банк знает, что вы купили, сколько вы потратили и даже где вы это сделали. GPS на вашем смартфоне отслеживает ваше местоположение каждую секунду, камеры видеонаблюдения постоянно следят за вами на улице, а ваш интернет-провайдер следит за вашими онлайн-привычками, как ястреб. Так что, если все это кажется немного реалити-шоу, возможно, это так и есть, но без гламура!
Вопрос в том, что если бы вы могли перевернуть сценарий и сохранить хотя бы часть своей жизни в тайне? На самом деле, очень значительную часть — вашу финансовую жизнь. Входят нулевые знания (ZKP). Эти удобные криптографические инструменты позволяют вам доказать, что транзакция легитимна, не раскрывая никаких деталей — кто заплатил что и где, кто отправил сколько и когда, или любые другие интересные детали. По сути, это как сказать: «Все в порядке», не показывая никому настоящие квитанции. Звучит интересно? Оставайтесь с нами, чтобы увидеть, как этот протокол может помочь вам достичь уровня конфиденциальности, который кажется научной фантастикой, но совершенно реален.
Доказательства с нулевым разглашением (ZKP) — это криптографические методы, которые позволяют кому-то доказать, что он знает или имеет что-то, например, пароль, не раскрывая саму информацию
Существуют различные формы ZKP, включая ZK-SNARK (доказательства с нулевым разглашением, краткие, неинтерактивные аргументы знания) и ZK-STARK (доказательства с нулевым разглашением, масштабируемые, прозрачные аргументы знания)
ZKP все чаще интегрируются в различные блокчейн-приложения, от криптовалют, ориентированных на конфиденциальность, таких как ZCash, до решений второго уровня, таких как zkSync, увеличивая пропускную способность транзакций
Давайте сразу погрузимся в определение ZKP. Не беспокойтесь, если это кажется немного сложным в начале, мы разберем это и объясним все в следующем предложении.
Доказательство с нулевым разглашением (ZKP) — это криптографический метод, с помощью которого одна сторона (доказатель) может доказать другой стороне (проверяющему), что утверждение истинно, не раскрывая никакой дополнительной информации, кроме действительности самого утверждения. Это означает, что проверяющий может быть убежден в истинности утверждения, не получая никаких сведений о базовых данных или о том, как было построено доказательство. Другими словами, доказательство с нулевым разглашением — это криптографический метод, при котором одна сторона — скажем, это вы, покупающие вещи в Walmart — может доказать другой стороне, такой как Walmart, что утверждение истинно, например, что у вас достаточно средств на вашем счете, не раскрывая никаких дополнительных деталей, таких как точная сумма денег, которая у вас есть. Доказательство с нулевым разглашением просто подтверждает, что утверждение истинно — что у вас достаточно денег. Конец истории.
Динамика Prover-Verifier
Несколько блокчейнов поддерживают использование доказательств с нулевым разглашением для приложений, сохраняющих конфиденциальность: Zcash использует ZKP для защиты данных транзакций от публичного просмотра, zkSync является решением второго уровня для Ethereum, использующим ZKP для обеспечения конфиденциальности и масштабируемости. Также есть Aztec Protocol, который по сути является платформой, сохраняющей конфиденциальность, использующей ZKP для обеспечения частных транзакций и смарт-контрактов. И, конечно, есть и другие.
Вот пример того, как работает протокол на основе ZK-доказательства в реальной жизни. Представьте, что вы хотите отправить частное сообщение другу на платформе блокчейн-сообщений. В старой парадигме блокчейн-системы ваше сообщение было бы видно всем в сети. Это могло бы скомпрометировать вашу конфиденциальность. Но, скажем, вы используете Aztec. С помощью этого протокола ваше сообщение будет зашифровано и объединено с другими транзакциями в пакет. Затем генерируется ZKP, чтобы доказать, что пакет транзакций действителен, не раскрывая содержимое отдельных транзакций. Этот ZKP отправляется в базовый блокчейн (например, Ethereum) для проверки.
Разработанная в 1980-х годах некоторыми умными людьми — Шафи Голдвассер, Сильвио Микали и Чарльзом Раккоффом — эта технология была создана для решения большой проблемы: как доказать, что вы что-то знаете (например, что у вас есть деньги для оплаты), не раскрывая, что именно вы знаете. ZKP были разработаны специально для этой задачи, именно поэтому они так популярны в блокчейне, области, которая полностью посвящена конфиденциальности. Чтобы продолжить аналогию с Walmart, можно сказать, что когда вы используете технологию с нулевым разглашением для своей покупки продуктов, вы по сути шифруете кусок разумной информации в секретный код, который доказывает, что вы можете покрыть стоимость.
Система Walmart затем расшифровывает его и проверяет без необходимости видеть ваш фактический баланс или историю транзакций. Это похоже на то, если бы кто-то сказал: «Доверься мне, я все уладил», не показывая при этом чеки или раскрывая какие-либо конфиденциальные детали. Так что вы покупаете и уходите, и ни одна душа в мире, кроме, возможно, Walmart, не знает, что вы купили и сколько вы заплатили.
Шафи Голдвассер и Сильвио Микали
Если доказательство является доказательством с нулевым разглашением, оно всегда будет полностью удовлетворять этим трем основным свойствам:
Хорошо, надеюсь, теперь вас не пугают такие термины, как «утверждение», «проверяющий» и «доказатель», так что пришло время узнать о технологии нулевого знания. Эти ребята бывают разных видов, каждый из которых имеет свой способ доказательства истины, сохраняя детали в секрете. Вот краткий обзор основных типов, интерактивных и неинтерактивных zk-доказательств, но прежде чем мы начнем, давайте упростим вещи с помощью кулинарной аналогии. Представьте, что вы печете пирог.
Интерактивное доказательство: Чтобы доказать, что пирог подлинный, используя интерактивное доказательство, вы пригласите друга посмотреть, как вы печете. Они попробуют тесто, начинку и готовый продукт, чтобы убедиться, что он настоящий. Это похоже на проверяющего, наблюдающего за всем процессом создания доказательства.
Неинтерактивное доказательство: Чтобы доказать подлинность пирога неинтерактивно, вы испечете пирог, а затем предложите своему другу небольшой кусочек попробовать. Они могут проверить вкус и ингредиенты, не наблюдая за тем, как вы печете. Это похоже на проверяющего, который проверяет заранее сгенерированное доказательство, не нуждаясь в наблюдении за всем процессом.
В терминах блокчейна:
Проблема с интерактивными доказательствами заключается в том, что обе стороны должны быть онлайн одновременно, и каждое доказательство похоже на начало совершенно нового разговора — супер неэффективно. Вот тут-то и приходят на помощь неинтерактивные доказательства.
В 1988 году Мануэль Блум, Пол Фельдман и Сильвио Микали предложили первые неинтерактивные доказательства с нулевым знанием, где доказатель и проверяющий имеют общий ключ (CRS). Вот как это работает. И вы (доказатель), и ваш друг (проверяющий) соглашаетесь на общий рецепт (CRS). Вы печете пирог (создаете доказательство), следуя рецепту. Ваш друг пробует пирог (проверяет доказательство). Если он на вкус как лимон и молоко, они знают, что вы следовали рецепту. В терминах блокчейна обе стороны генерируют публичное значение, известное как доказателю, так и проверяющему, CRS. Доказатель генерирует криптографический объект (доказательство). Проверяющий проверяет, соответствует ли доказательство CRS.
Примеры протоколов на основе неинтерактивных доказательств включают протоколы на основе zk-SNARK и zk-STARK, которые мы рассмотрим в следующем разделе.
В то время как интерактивные доказательства сосредоточены на взаимодействиях в реальном времени, неинтерактивные доказательства позволяют вам выполнить задачу всего с одним, хорошо подготовленным одноразовым доказательством. Это делает их суперэффективными для ситуаций, когда вы не хотите или не нуждаетесь в постоянных разговорах. zk-SNARKs и zk-STARKs берут концепцию неинтерактивного доказательства и еще больше усиливают конфиденциальность в блокчейне. Как именно?
ZK-SNARKs могут звучать как что-то из научно-фантастического фильма, но на самом деле это просто модная аббревиатура для нулевого знания, сжатого неинтерактивного аргумента знания. Если разобрать это, это на самом деле более продвинутая версия тех неинтерактивных доказательств, о которых мы только что говорили, так что не переживайте, вы все поймете. Если вы имеете дело с протоколом ZK-SNARK, он полностью удовлетворит эти пять основных свойств:
Представьте, что вы испекли пирог по секретному рецепту. Вы хотите сохранить его уникальным и предотвратить его копирование другими. Если кто-то сможет воспроизвести пирог, он больше не будет особенным. Аналогично, в блокчейне злонамеренные транзакции должны быть трудными для воспроизведения. Это обеспечивает целостность и безопасность сети.
Несколько "поваров" работают вместе, чтобы создать секретный ингредиент рецепта
Чтобы гарантировать, что «рецепт» уникален и безопасен, несколько «поваров» работают вместе, чтобы создать секретный ингредиент рецепта — известный в терминах блокчейна как CRS. Как только они заканчивают создание CRS, они «уничтожают» рецепт, чтобы никто не мог его неправомерно использовать. Загвоздка в том, что этот процесс зависит от доверия к тому, что все повара действительно уничтожат свою часть секрета. Но что, если кто-то из них этого не сделает? Вот тут и приходят на помощь ZK-STARKs (Аргументы Знания с Нулевым Знанием, Масштабируемые и Прозрачные)
Хотя ZK-SNARKs принесли доказательства с нулевым знанием в массы благодаря своей компактности и эффективности, они представили новые проблемы, такие как необходимость в доверенной настройке «поваров» и ограниченная масштабируемость с большими наборами данных. ZK-STARKs решают эти проблемы. Подумайте о них как о эволюции от раскладного телефона к современному смартфону — больше никаких рискованных настроек и гораздо лучшее управление большими данными, что делает их более мощными, безопасными и удобными для пользователя. Но ZK-STARKs не требуют фазы доверенной настройки, где вы генерируете и храните секретные случайные числа или параметры. Вместо этого они устраняют необходимость в конфиденциальных процедурах настройки и снижают риск подделки или компрометации. Давайте разберем, что такое ZK-STARKs:
Таким образом, мы все еще пытаемся испечь пирог и доказать, что можем испечь его идеально, не раскрывая секретный ингредиент. В ZK-STARKs «рецепт» является общеизвестным, что означает, что все знают шаги, которые нужно выполнить. Однако только «повар» знает секретный ингредиент, который называется свидетелем. Когда повар правильно следует рецепту и печет пирог, это доказывает, что он знает секретный ингредиент — не раскрывая, что это такое.
Только «повар» знает секретный ингредиент
ZK-STARKs прозрачны. Им не требуется доверительная настройка, что делает их более безопасными в некоторых случаях. Основное внимание уделяется самому доказательству, которое можно проверить публично, не полагаясь на секретный ингредиент. Как ZK-SNARKs, так и ZK-STARKs являются мощными инструментами для обеспечения конфиденциальности и масштабируемости в блокчейне. Выбор между ними зависит от конкретных требований приложения.
Будущее доказательств с нулевым знанием будет захватывающим — представьте себе: zk-SNARKs и zk-STARKs уже производят фурор, но исследователи, как будто переполненные кофе, делают их еще быстрее и плавнее. Их цель? Уменьшить вычислительную нагрузку, что означает сделать все быстрее и проще на вашем компьютере. Представьте себе блокчейн-сети, работающие как горячий нож по маслу — звучит хорошо, не так ли?
ZKPs объединяются с самыми крутыми технологиями, такими как ИИ и IoT. Мы говорим о ИИ, который может учиться и развиваться, не подглядывая за вашими личными данными, и устройствах IoT, которые общаются друг с другом безопасно, сохраняя ваши секреты в безопасности. Это как высокотехнологичная вечеринка, одержимая конфиденциальностью, где никто не выдает секретов!
И угадайте что? ZKPs не просто вторгаются на вечеринку блокчейна — они также выходят в другие области. Мы скоро можем увидеть их в безопасных системах голосования, суперсекретных медицинских записях и конфиденциальных бизнес-сделках. Все дело в том, чтобы доказать что-то, не раскрывая деталей. Говоря о революции!
По мере того как ZKPs становятся более продвинутыми, мы движемся к миру, где все стандартизировано и хорошо взаимодействует с другими. Подумайте об этом как о том, чтобы убедиться, что все технологические игрушки в песочнице ладят друг с другом, чтобы ZKPs можно было использовать повсюду без проблем.
С всей этой магией конфиденциальности все еще существует канат, по которому нужно пройти между безопасностью и соблюдением таких норм, как борьба с отмыванием денег и финансированием терроризма. Найти эту золотую середину будет задачей, но, эй, это часть удовольствия!
В кратце, доказательства с нулевым знанием станут супергероями цифрового мира, делая все приватным, безопасным и эффективным. По мере развития технологий ZKPs сделают нашу онлайн-жизнь не только быстрее, но и безопаснее и гораздо более конфиденциальной.
Смотря в будущее, очевидно, что доказательства с нулевым знанием (ZKPs) — это не просто концепция, а технология с большими последствиями. Эти криптографические чудеса меняют то, как мы обрабатываем конфиденциальность, безопасность и масштабируемость в цифровом пространстве. От частных транзакций в блокчейне до безопасных систем голосования и конфиденциальных бизнес-сделок ZKPs будут героями за кулисами. Путешествие ZKPs от интерактивных доказательств до zk-SNARKs и zk-STARKs было невероятным. Каждый шаг приближает нас к миру, где наши данные могут быть приватными и при этом проверяемыми.
По мере развития технологий мы ожидаем, что еще больше приложений интегрируется с ИИ и IoT, чтобы предложить решения, сохраняющие конфиденциальность, которые когда-то были научной фантастикой. Но, как и с любой технологией, инновации должны соответствовать регулированию. Навигация по этому ландшафту потребует тщательного рассмотрения, чтобы гарантировать, что ZKPs используются ответственно и этично.
В кратце, доказательства с нулевым знанием переопределят цифровую конфиденциальность и безопасность, создавая более приватный, безопасный и эффективный онлайн-мир. Независимо от того, являетесь ли вы энтузиастом технологий, разработчиком или просто любопытным, как развивается цифровая конфиденциальность, следите за ZKPs. Будущее светлое, и его формируют эти криптографические чудеса.
ZKP — это криптографические методы, которые позволяют одной стороне доказать истинность утверждения, не раскрывая никаких деталей о самом утверждении. Они обеспечивают, что проверяющий знает только, истинно ли утверждение или ложно, не получая никакой дополнительной информации.
Существуют интерактивные и неинтерактивные ZKP. Интерактивные доказательства включают обмен информацией для доказательства знания, в то время как неинтерактивные доказательства используют общий ключ для одного статического доказательства. Оба типа направлены на проверку утверждений, сохраняя при этом конфиденциальность исходных данных.
ZKP повышают уровень конфиденциальности в блокчейне, позволяя проводить конфиденциальные транзакции, безопасное голосование и эффективные решения для масштабирования, такие как zk-rollups. Они используются в проектах, таких как ZCash и zkSync, для сохранения конфиденциальности деталей транзакций и повышения эффективности системы.