Aleo, zk-Snark и zk-Stark.
Приветствую всех, продолжаем изучать и погружаться в приватность вместе с Aleo и другими приватными блокчейнами.
Сегодня разберем zk-SNARKS и zk-STARKS
zk-Snark: Впервые термин сформулирован в 2012 году в Калифорнийском университете Беркли Алессандро Кьеза, zk-SNARK используют математическую концепцию, известную как билинейное спаривание по эллиптической кривой, в качестве основы для своей безопасности. Важным свойством zk-SNARK является требование надежной установки. Этот процесс влечет за собой создание криптографических ключей, которые представляют собой доказательства, необходимые для проверки и проведения частных транзакций. Скрытый параметр связывает ключ проверки и ключ, который проводит транзакции во время создания ключа. На этом этапе существует вероятность нарушения безопасности. Например, если мы предположим, что секрет, связанный с ключами, не уничтожен на этом этапе, затем его можно использовать для фальсификации процесса проверки и транзакций, при этом никто не узнает о двуличном характере таких транзакций. Несмотря на то, что доверенная установка происходит только один раз в процессе, она все равно вызывает беспокойство у пользователей. Еще одним недостатком этого решения для обеспечения безопасности является его уязвимость по отношению к квантовым вычислениям. Как только квантовые компьютеры станут широко доступны, функции безопасности, представленные zk-SNARK, станут недействительными.
Хотя SNARK имеет некоторые явные преимущества перед STARK в отношении документации и поддержки разработчиков, STARK предлагает некоторые уникальные преимущества. Но сначала давайте немного углубимся в то, что такое STARK с технической точки зрения.
Эли Бен-Сассон, Иддо Бентов, Йинон Хореши и Майкл Рябзев написали первые статьи с описанием STARK в 2018 году, можно ознакомиться по ссылке https://eprint.iacr.org/2018/046.pdf. В отличие от SNARK, базовая технология STARK основана на хеш-функциях. С самого начала использование хеш-функций дает некоторые преимущества, например квантовую устойчивость. Кроме того, для начала использования STARK в сети не требуется доверенной настройки.
При этом STARK имеют гораздо большие размеры доказательств, чем SNARK, а это означает, что проверка STARK занимает больше времени, чем SNARK, а также приводит к тому, что STARK требует больше газа.
Кроме того, разработчикам будет гораздо труднее использовать STARK из-за отсутствия документации для разработчиков и сообщества. Хотя есть некоторые проекты, создающие решения для масштабирования на основе STARK, такие как STARKWARE , сообщество SNARKs все еще намного больше.
В то время как оба сообщества разработчиков поддерживают как SNARK, так и STARK, Ethereum Foundation, в частности, активно поддерживает STARKware, в котором используется Starks. На самом деле Ethereum Foundation предоставил STARKware грант в размере 12 миллионов долларов , что наглядно демонстрирует их приверженность новым технологиям.
Кроме того, хотя документация для STARK бледнеет по сравнению с SNARK.
zk-SNARK против zk-STARK: сходства и различия
Сходства. zk-SNARK и zk-STARK имеют несколько общих черт.
- Это неинтерактивные протоколы доказательства с нулевым разглашением, требующие небольшого взаимодействия между доказывающим и проверяющим. Генерация, отправка и проверка доказательств обычно выполняются в рамках одной транзакции.
- Оба протокола повышают масштабируемость блокчейна. Доказательства с нулевым разглашением намного меньше, чем средняя биткойн-транзакция, и проверяются намного быстрее. Быстрая проверка и меньшее количество блоков означают большую масштабируемость для таких сетей, как Ethereum.
Отличия. zk-SNARK и zk-STARK отличаются по крайней мере в четырех основных моментах:
Прозрачность. zk-SNARK нуждается в начальной доверенной установке для генерации случайности, необходимой для создания доказательств с нулевым разглашением. Эти параметры обычно хранятся у небольшой группы для их защиты. Если параметры попадут в чужие руки, недобросовестные участники могут использовать их для создания ложных доказательств.
zk-STARK придерживаются другого подхода, используя устойчивую к коллизиям криптографию, чтобы устранить необходимость в частных церемониях генерации параметров. Без доверенных установок параметры генерации случайности являются общедоступными, что ограничивает централизацию и повышает прозрачность.
Безопасность. zk-SNARK используют начальную установку для генерации параметров и, в соответствии со своей установкой, являются вычислительно надежными. Однако их вычислительная состоятельность предполагает, что доказатели имеют ограниченную вычислительную мощность. Однако, когда проверяющий использует неограниченное количество вычислительной мощности, он может нарушить систему и создать поддельные доказательства. Таким образом, zk-SNARK теоретически уязвимы к атакам квантовых вычислений.
zk-STARK не нуждаются в начальной доверенной установке, выбирая вместо этого устойчивый к коллизиям подход. Таким образом, они не требуют больших вычислительных затрат, как zk-SNARK, устраняя угрозу быть скомпрометированными неограниченной вычислительной мощностью квантовых вычислений.
Масштабируемость. zk-SNARK имеют меньший размер в байтах по сравнению с zk-STARK, но их вычислительные потребности заставляют их медленнее генерировать доказательства по сравнению с zk-STARK. zk-SNARK потребляют меньше газа, чем zk-STARK, и быстрее проверяют доказательства из-за разницы в размере байта.
Хотя может показаться, что zk-SNARK более масштабируемы из-за более быстрой проверки доказательств, zk-STARK быстрее генерируют доказательства и быстрее масштабируются, потребляя меньше газа при входе в цепочку благодаря использованию вычислений и хранения вне цепочки. Однако в периоды низкой пропускной способности (создается мало доказательств) проверка доказательств zk-STARKs занимает гораздо больше времени.
Структура. zk-SNARK построены на эллиптических кривых, которые повышают безопасность и конфиденциальность, исходя из предположения, что найти логарифм случайного элемента эллиптической кривой относительно публичной базовой точки невозможно.
zk-STARK, с другой стороны, использует бережливую криптографию — устойчивые к коллизиям хэш-функции — для обеспечения масштабируемости и безопасности.
Хочу напомнить про Aleo и в чем уникальность
Aleo — первая децентрализованная платформа с открытым исходным кодом, позволяющая использовать как частные, так и программируемые приложения.
По своей сути Aleo использует доказательство с нулевым разглашением (ZKP), криптографический метод, который доказывает утверждение или факт, не раскрывая, что делает его верным.
Платформа Aleo предоставляет комплексные инструменты, которые позволяют разрабатывать, развертывать и обеспечивать устойчивость приложений, сохраняющих конфиденциальность. С Aleo приложения и взаимодействие с пользователем по умолчанию являются приватными.
Специальное решение Aleo с нулевым разглашением, Zexe, поддерживает полную программируемость и конфиденциальность. Не менее важно, что Aleo обеспечивает конфиденциальность, гарантируя, что окончательный контроль лежит на пользователе, который может выбрать, какую информацию он хочет сделать общедоступной. Aleo позволяет участникам сети взаимодействовать в общедоступной сети с полной конфиденциальностью , не жертвуя какой-либо степенью производительности или мощности, которую обеспечивают децентрализованные сети.
В ZEXE пользователи выполняют переходы между состояниями в автономном режиме. Этот процесс создает доказательство, которое объединяется в транзакцию в сети. Эта транзакция обновляет состояние системы, используя или создавая записи в цепочке. Как и Zcash, эта система дает более надежные гарантии конфиденциальности, поскольку транзакции содержат только доказательство, а не входные данные, которые его сгенерировали. И, как и Ethereum, ZEXE может поддерживать смарт-контракты, которые позволяют пользователям взаимодействовать или передавать значения заранее определенным образом. Подробнее про ZEXE можно почитать в статье https://eprint.iacr.org/2018/962.pdf
В чем преимущество перехода Aleo на POS?
POS обеспечит точность блоков, то есть после создания блока он не вернется. Таким образом, будет обеспечен лучший опыт для пользователей приложений. Потому что ему не придется ждать более одного блока, чтобы думать, что транзакции окончательные.
Совместимость с другими блокчейнами станет намного проще.
Некоторые проблемы с децентрализацией, будут решены.
Aleo переходит на механизм PoS, но команда сохраняет механизм PoSW, сетевые блоки Aleo больше не будут основаны на PoSW.
Обычно, только валидатор может получить вознаграждение за блок в сети PoS, но команда внесла изменения: часть вознаграждения за блок будет предоставлена проверяющему, поэтому, хотя Aleo перешел на PoS, проверяющий все равно может получить вознаграждение.
Можно выделить два основных преимущества метода PoS: эффективность и экономия энергии. Эффективность означает более быстрые транзакции, финализацию и лучшую масштабируемость. Финализация — момент, когда транзакция навсегда вписывается в блокчейн.
Очень часто утверждают, что минусом PoS является недостаточная децентрализация, при которой крупные держатели токенов контролируют их основную часть и могут влиять на сеть.
Хочу выделить, что Aleo предоставляет инструменты для программирования с нулевым знанием:
- Язык программирования Leo . Чтобы писать частные приложения на Aleo было интуитивно и легко. Leo выглядит и работает как традиционный язык программирования. Leo абстрагирует низкоуровневые криптографические концепции и упрощает интеграцию частных приложений в ваш стек. Leo представляет высокоуровневый синтаксис, который позволяет легко писать и интуитивно понятно выражать логику с нулевым знанием. На язык Leo повлияли традиционные языки программирования, такие как JavaScript, Scala и Rust, с упором на удобочитаемость и простоту использования. Leo преобразует высокоуровневый код разработчика в схемы с нулевым разглашением.
- Aleo Studio. Чтобы ускорить цикл разработки, создали Aleo Studio, первую IDE для написания приложений с нулевым разглашением. Aleo Studio — это интерактивная среда разработки для написания приложений с нулевым разглашением на Leo. Aleo Studio предназначена для разработчиков, чтобы упростить цикл разработки и упростить публикацию вашего проекта Leo в виде пакета в экосистеме.
- Aleo Package Manager. Чтобы упростить объединение и совместное использование вашей работы, создали менеджер пакетов для Leo. Aleo Package Manager — первый менеджер пакетов для цепей с нулевым разглашением. Он включает в себя функции совместной работы, такие как команды и организации, которые упрощают работу с друзьями и коллегами над частными приложениями. Кроме того, Aleo Package Manager интегрирован с Aleo Studio, что позволяет легко импортировать и публиковать новые пакеты, не выходя из редактора.
- snarkOS — Aleo работает на децентрализованной операционной системе для частных приложений под названием snarkOS. Он формирует логическую основу для переходов между состояниями и позволяет приложениям проверять и сохранять состояние в блокчейне Aleo публично проверяемым способом. snarkOS обеспечивает гарантии доступности данных на Aleo для всех программ и транзакций. Более того, механизм консенсуса гарантирует, что верификаторы вычисляют доказательства с нулевым разглашением для состояния контрольной точки в цепочке.