Сегодня LayerZero выпустила свою новую цепочку Zero, которая включает в себя ряд технологических новшеств — в том числе совершенно новый метод доказательства с нулевым разглашением, который отделяет выполнение транзакций от их проверки. Всё это стало возможным благодаря «Jolt Inside».
Что такое Jolt? Jolt — это открытая RISC-V zkVM (знаниевая виртуальная машина, или более точно — «лаконичная» виртуальная машина), которая работает быстро, безопасно и проста в использовании. Она представляет собой новую, передовую разработку SNARK, основанную на трёхлетних исследованиях a16z crypto, и мы делимся её исходным кодом, чтобы любой мог использовать или развивать её дальше. Но создание Jolt — это история, которая шла десятилетиями.
Почему так важны дизайн zkVM и SNARK?
Прежде чем углубляться в эволюцию дизайна SNARK, необходимо понять, что такое zkVM.
Такие виртуальные машины обычно называют «zk» виртуальными машинами, но здесь важнее их характеристика — лаконичность. Хотя «знание» (zero-knowledge) критически важна для приватности, «лаконичность» означает, что доказательство короткое и легко проверяемое — два полезных, но разных свойства, которые зачастую путают. (Jolt уже обладает лаконичностью и скоро реализует знаниевость.)
Но почему zkVM так важны? zkVM и более широкое понятие SNARK (лаконичное неинтерактивное доказательство знания) — важнейшие компоненты масштабируемости, приватности и безопасности блокчейнов. Эти доказательства, аргументы и знания (все вместе — проверяемые вычислительные технологии) находят применение в криптоиндустрии и за её пределами.
Из-за традиционных архитектурных решений и других причин индустрия до сих пор строила zkVM довольно сложными методами; далее мы подробнее остановимся на этом. Однако Jolt с самого начала сосредоточена на совершенно ином подходе к дизайну SNARK, который обеспечивает большую эффективность, удобство и производительность.
Проще говоря, zkVM — это способ доказать, что вы правильно выполнили программу. В отличие от других SNARK, zkVM более дружелюбны к разработчикам. Используя существующую инфраструктуру (например, открытый LLVM-компилятор), разработчики могут применять мощь SNARK прямо в выбранных ими языках программирования, не прибегая к специальным DSL.
Это очень похоже на современную криптографию — у нас есть стандарты и встроенные библиотеки для шифрования и цифровых подписей, которые разработчики используют ежедневно, не вникая в их внутреннюю работу. Jolt предоставляет аналогичный уровень абстракции: достаточно взять существующий код и проверить его, не заботясь о взаимодействии между ними. Это необходимое условие для массового распространения новых криптографических технологий.
Разработчики могут сосредоточиться на практических задачах. Благодаря Jolt им не нужно иметь глубокие знания о SNARK — достаточно нажать кнопку, и их программа с помощью Jolt сгенерирует доказательство.
Однако, несмотря на прогресс, доказательство любой средней сложности (например, выполнение за одну секунду на одном CPU) всё равно требует мощных вычислительных ресурсов. Чтобы быстро получать сложные доказательства, нужны несколько GPU. LayerZero портировала Jolt на CUDA и запустила Zero — она объединяет высоко параллелизированные алгоритмы Jolt с аппаратным параллелизмом GPU, что обеспечивает масштабируемость.
LayerZero стремится вывести Jolt на уровень производственных GPU-решений, включая совместную работу по разработке GPU-оптимизированных версий алгоритмов Jolt, что критически важно для масштабируемости zkVM и доказательств.
Открытые разработки
Jolt — это открытый проект, и любой может использовать или развивать его на базе. Открытость — это мощный драйвер роста: делясь результатами, мы даём возможность всему экосистеме использовать, переиспользовать, тестировать, проверять, исправлять и улучшать технологию, создавая новые инновации.
Инвестиции в открытые проекты могут казаться необычными, но современная структура R&D предполагает, что большая часть работы ведётся внутри компаний — например, в корпоративных лабораториях или университетских центрах. Создание a16z крипто исследовательского института — это попытка связать академическую теорию с промышленной практикой, создать исследовательскую лабораторию и инженерную команду. Как венчурная фирма, мы можем финансировать проекты, которые другим недоступны, особенно в условиях обратных инвестиций.
Поддержка обратных методов проектирования SNARK особенно важна для Jolt, поскольку она представляет собой значительный «парадигмальный сдвиг», кардинально отличающийся от прежних подходов. Этот эволюционный путь длился много лет.
Истории инноваций — это истории о смене архитектурных подходов
Чтобы понять кардинальные изменения в дизайне SNARK, нужно проследить историю более чем двух тысяч лет назад: греки заложили основы формализованных систем математических доказательств, которые затем развивали учёные Ближнего Востока, Азии и других регионов.
Эти ранние доказательства — логические выводы, записанные в виде формальных языков или формул, — позволяли любому их проверить. Например, математик мог написать доказательство в книге, а другой — прочитать его по строкам, чтобы убедиться в его правильности. Эта статическая концепция доказательства — прообраз знаменитого NP-класса «P против NP».
Важно отметить, что такие доказательства — последовательные, требуют очередности и неинтерактивны.
Но в 1985 году* Шафи Гольдвасер, Сильвио Микали и Чарльз Ракофф предложили концепцию интерактивных доказательств («IP»).[*На самом деле их статья вышла чуть раньше, но была отклонена несколько раз.] В основе — возможность обмена сообщениями в реальном времени: например, два математика могут задавать друг другу вопросы, не дожидаясь, пока один напишет доказательство полностью. Взаимодействие позволяет более эффективно проверять истинность утверждений.
Эта мощь — по сравнению с традиционными статическими доказательствами — стала очевидна лишь к 1990 году. Тогда Карстен Лунд, Лэнс Фортноу, Ховард Карлофф и Ноам Нисан предложили алгебраические протоколы суммирования для интерактивных систем. В связке с работами Ади Шамира это привело к фундаментальному результату «IP=PSPACE» — что в интуитивном смысле означает:
если доказатель и проверяющий могут взаимодействовать — как в классических системах — и доказатель не сможет обмануть, — то можно быстро проверить более сложные утверждения, чем в статических доказательствах.
Иными словами: интерактивность даёт огромные преимущества. А протокол суммирования (sum-check) — это ключ к эффективной проверке: он позволяет проверяющему убедиться в результате, не пересобирая весь вычислительный процесс.
Через несколько лет Джо Килиан предложил строить короткие нулевые знания на базе вероятностных проверяемых доказательств (PCP). В этой теории доказательство — это «книга», в которой записан длинный, избыточный текст. Проверяющий, выбирая случайные места, может с высокой вероятностью убедиться в его правильности, не читая всю книгу.
Но PCP — очень длинные доказательства, хотя и очень легко проверяемые.
Килиан показал, как соединить PCP с криптографией: доказательство можно «запечатать» в виде commitments, а затем раскрывать только отдельные части, подтверждая их криптографическими средствами. Итоговое доказательство — это лишь несколько выбранных «слов» из книги, вместе с криптографическими доказательствами их правильности, — и этого достаточно, чтобы убедить проверяющего.
Изначально такие доказательства были интерактивными. Позже Микали показал, как с помощью преобразования Fiat-Shamir сделать их неинтерактивными: доказатель сам генерирует вызовы, основываясь на хэшах, и выдаёт полный протокол одним махом.
Наследие архитектурных решений
История доказательств — это путь от статических, интерактивных, PCP, к неинтерактивным и обратно. SNARK — это вершина этого пути: применяя Fiat-Shamir к интерактивным протоколам Килиана, Микали получил первый SNARK.
Но в ранних SNARK на базе PCP доказательства были очень дорогими — их трудно было использовать на практике.
Тем не менее, подходы к проектированию SNARK шли десятилетиями. Даже пытаясь избавиться от PCP, разработчики использовали похожие идеи — например, «линейные PCP» — которые были лишь вариациями исходных концепций. Эти методы давали очень короткие доказательства, но не самые быстрые для генерации.
Дизайнеры SNARK так и не вернулись к корням — протоколам суммирования — чтобы добиться ещё большей скорости и удобства.
Если бы раньше начали использовать протоколы суммирования, — например, отказавшись от идеи о необходимости интерактивности, — то получили бы более быстрые и простые доказательства. Это и есть главный инсайт Jolt: он строится прямо из интерактивных доказательств и протоколов суммирования, без промежуточных шагов.
Почему же большинство не перешли на протоколы суммирования раньше? Возможно, потому что первые SNARK казались похожими на PCP — оба обеспечивают короткое проверяемое доказательство. А архитектурные и ментальные барьеры сохранялись.
Для нас — инвестировать в разработку zkVM Jolt, основанную на протоколах суммирования, — это рискованный, но принципиально важный шаг, который противоречит многолетней доминантной парадигме.
‘Jolt Inside’
Метод SNARK в Jolt (основанный на пакетных вычислениях и механизмах проверки памяти, таких как Twist + Shout) — это сочетание интерактивных доказательств и протоколов суммирования.
Теперь, спустя годы после начала разработки Jolt, другие тоже начинают использовать протоколы суммирования в своих решениях. Какие же особенности Jolt делают его уникальным в современном zkVM? Jolt максимально использует повторяющиеся структуры при выполнении CPU. Анализируя, как «захват-распаковка-исполнение» каждого ядра CPU применим к пакетным вычислениям, Jolt достигает невероятной эффективности с минимальной сложностью.
В то время как другие zkVM сильно полагаются на «предварительно скомпилированные» компоненты (аналог ASIC-ускорителей для конкретных подзадач), Jolt отказывается от этого. Такие ускорители — повторение ошибок старых методов SNARK: требуют экспертов для проектирования, более склонны к ошибкам и сложнее в использовании. Jolt делает ставку на массовую доступность SNARK.
Проверка правильности CPU — это ядро zkVM и ключ к хорошему опыту разработчика: она позволяет переиспользовать существующую инфраструктуру общего назначения. Всё вычислительное оборудование мира построено вокруг CPU, и Jolt максимально использует его «структуру», повышая лаконичность и производительность.
Jolt с самого начала ориентирована на практическую применимость и производительность: разработчики могут сразу проверять существующие программы; даже для быстрой проверки не нужно менять код. В отличие от других решений, которые требуют «предварительной компиляции» или специальных API, Jolt сохраняет исходный код целым, что облегчает внедрение, аудит и обновление.
Более того, Jolt не только быстрее, но и проще: другие системы требуют проектирования специальных схем для каждой инструкции виртуальной машины, а в Jolt — достаточно около десяти строк Rust для каждой базовой операции. Без схем, без сложных настроек — всего десять строк.
Что дальше у Jolt?
Мы уже лидируем по скорости. В планах — дальнейшие оптимизации и расширение возможностей, включая рекурсию и нулевые знания — особенно с учётом перехода к эллиптическим кривым и постквантовым криптографическим алгоритмам. В этом году мы достигнем ещё одного скачка скорости, а также подготовимся к эпохе постквантовых технологий.
Jolt откроет новые возможности для приложений. В блокчейне — масштабируемость и децентрализация станут проще в развертывании. Нулевые знания можно будет использовать «из коробки», без месяцев или лет криптоинженерии.
В дальнейшем, например, мы планируем создавать быстрые и простые zkVM, которые смогут работать на смартфонах и ноутбуках, — что откроет новые сценарии приватности и доверия. Например, мобильные приложения с приватностью, которые раньше было трудно реализовать из-за сложности и ресурсов.
В перспективе эти системы станут частью глобальной цифровой инфраструктуры, подобно шифрованию и цифровым подписям. Эта универсальная криптографическая технология — когда человек отправляет всего 50 кБ доказательства, а не весь массив данных — настолько мощна, что трудно предсказать, какие приложения появятся. Возможности безграничны.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
a16z: Ключевые элементы создателя: «Взрыв внутри»
Автор статьи: a16z crypto
Перевод статьи: Block unicorn
Введение
Сегодня LayerZero выпустила свою новую цепочку Zero, которая включает в себя ряд технологических новшеств — в том числе совершенно новый метод доказательства с нулевым разглашением, который отделяет выполнение транзакций от их проверки. Всё это стало возможным благодаря «Jolt Inside».
Что такое Jolt? Jolt — это открытая RISC-V zkVM (знаниевая виртуальная машина, или более точно — «лаконичная» виртуальная машина), которая работает быстро, безопасно и проста в использовании. Она представляет собой новую, передовую разработку SNARK, основанную на трёхлетних исследованиях a16z crypto, и мы делимся её исходным кодом, чтобы любой мог использовать или развивать её дальше. Но создание Jolt — это история, которая шла десятилетиями.
Почему так важны дизайн zkVM и SNARK?
Прежде чем углубляться в эволюцию дизайна SNARK, необходимо понять, что такое zkVM.
Такие виртуальные машины обычно называют «zk» виртуальными машинами, но здесь важнее их характеристика — лаконичность. Хотя «знание» (zero-knowledge) критически важна для приватности, «лаконичность» означает, что доказательство короткое и легко проверяемое — два полезных, но разных свойства, которые зачастую путают. (Jolt уже обладает лаконичностью и скоро реализует знаниевость.)
Но почему zkVM так важны? zkVM и более широкое понятие SNARK (лаконичное неинтерактивное доказательство знания) — важнейшие компоненты масштабируемости, приватности и безопасности блокчейнов. Эти доказательства, аргументы и знания (все вместе — проверяемые вычислительные технологии) находят применение в криптоиндустрии и за её пределами.
Из-за традиционных архитектурных решений и других причин индустрия до сих пор строила zkVM довольно сложными методами; далее мы подробнее остановимся на этом. Однако Jolt с самого начала сосредоточена на совершенно ином подходе к дизайну SNARK, который обеспечивает большую эффективность, удобство и производительность.
Проще говоря, zkVM — это способ доказать, что вы правильно выполнили программу. В отличие от других SNARK, zkVM более дружелюбны к разработчикам. Используя существующую инфраструктуру (например, открытый LLVM-компилятор), разработчики могут применять мощь SNARK прямо в выбранных ими языках программирования, не прибегая к специальным DSL.
Это очень похоже на современную криптографию — у нас есть стандарты и встроенные библиотеки для шифрования и цифровых подписей, которые разработчики используют ежедневно, не вникая в их внутреннюю работу. Jolt предоставляет аналогичный уровень абстракции: достаточно взять существующий код и проверить его, не заботясь о взаимодействии между ними. Это необходимое условие для массового распространения новых криптографических технологий.
Разработчики могут сосредоточиться на практических задачах. Благодаря Jolt им не нужно иметь глубокие знания о SNARK — достаточно нажать кнопку, и их программа с помощью Jolt сгенерирует доказательство.
Однако, несмотря на прогресс, доказательство любой средней сложности (например, выполнение за одну секунду на одном CPU) всё равно требует мощных вычислительных ресурсов. Чтобы быстро получать сложные доказательства, нужны несколько GPU. LayerZero портировала Jolt на CUDA и запустила Zero — она объединяет высоко параллелизированные алгоритмы Jolt с аппаратным параллелизмом GPU, что обеспечивает масштабируемость.
LayerZero стремится вывести Jolt на уровень производственных GPU-решений, включая совместную работу по разработке GPU-оптимизированных версий алгоритмов Jolt, что критически важно для масштабируемости zkVM и доказательств.
Открытые разработки
Jolt — это открытый проект, и любой может использовать или развивать его на базе. Открытость — это мощный драйвер роста: делясь результатами, мы даём возможность всему экосистеме использовать, переиспользовать, тестировать, проверять, исправлять и улучшать технологию, создавая новые инновации.
Инвестиции в открытые проекты могут казаться необычными, но современная структура R&D предполагает, что большая часть работы ведётся внутри компаний — например, в корпоративных лабораториях или университетских центрах. Создание a16z крипто исследовательского института — это попытка связать академическую теорию с промышленной практикой, создать исследовательскую лабораторию и инженерную команду. Как венчурная фирма, мы можем финансировать проекты, которые другим недоступны, особенно в условиях обратных инвестиций.
Поддержка обратных методов проектирования SNARK особенно важна для Jolt, поскольку она представляет собой значительный «парадигмальный сдвиг», кардинально отличающийся от прежних подходов. Этот эволюционный путь длился много лет.
Истории инноваций — это истории о смене архитектурных подходов
Чтобы понять кардинальные изменения в дизайне SNARK, нужно проследить историю более чем двух тысяч лет назад: греки заложили основы формализованных систем математических доказательств, которые затем развивали учёные Ближнего Востока, Азии и других регионов.
Эти ранние доказательства — логические выводы, записанные в виде формальных языков или формул, — позволяли любому их проверить. Например, математик мог написать доказательство в книге, а другой — прочитать его по строкам, чтобы убедиться в его правильности. Эта статическая концепция доказательства — прообраз знаменитого NP-класса «P против NP».
Важно отметить, что такие доказательства — последовательные, требуют очередности и неинтерактивны.
Но в 1985 году* Шафи Гольдвасер, Сильвио Микали и Чарльз Ракофф предложили концепцию интерактивных доказательств («IP»).[*На самом деле их статья вышла чуть раньше, но была отклонена несколько раз.] В основе — возможность обмена сообщениями в реальном времени: например, два математика могут задавать друг другу вопросы, не дожидаясь, пока один напишет доказательство полностью. Взаимодействие позволяет более эффективно проверять истинность утверждений.
Эта мощь — по сравнению с традиционными статическими доказательствами — стала очевидна лишь к 1990 году. Тогда Карстен Лунд, Лэнс Фортноу, Ховард Карлофф и Ноам Нисан предложили алгебраические протоколы суммирования для интерактивных систем. В связке с работами Ади Шамира это привело к фундаментальному результату «IP=PSPACE» — что в интуитивном смысле означает:
если доказатель и проверяющий могут взаимодействовать — как в классических системах — и доказатель не сможет обмануть, — то можно быстро проверить более сложные утверждения, чем в статических доказательствах.
Иными словами: интерактивность даёт огромные преимущества. А протокол суммирования (sum-check) — это ключ к эффективной проверке: он позволяет проверяющему убедиться в результате, не пересобирая весь вычислительный процесс.
Через несколько лет Джо Килиан предложил строить короткие нулевые знания на базе вероятностных проверяемых доказательств (PCP). В этой теории доказательство — это «книга», в которой записан длинный, избыточный текст. Проверяющий, выбирая случайные места, может с высокой вероятностью убедиться в его правильности, не читая всю книгу.
Но PCP — очень длинные доказательства, хотя и очень легко проверяемые.
Килиан показал, как соединить PCP с криптографией: доказательство можно «запечатать» в виде commitments, а затем раскрывать только отдельные части, подтверждая их криптографическими средствами. Итоговое доказательство — это лишь несколько выбранных «слов» из книги, вместе с криптографическими доказательствами их правильности, — и этого достаточно, чтобы убедить проверяющего.
Изначально такие доказательства были интерактивными. Позже Микали показал, как с помощью преобразования Fiat-Shamir сделать их неинтерактивными: доказатель сам генерирует вызовы, основываясь на хэшах, и выдаёт полный протокол одним махом.
Наследие архитектурных решений
История доказательств — это путь от статических, интерактивных, PCP, к неинтерактивным и обратно. SNARK — это вершина этого пути: применяя Fiat-Shamir к интерактивным протоколам Килиана, Микали получил первый SNARK.
Но в ранних SNARK на базе PCP доказательства были очень дорогими — их трудно было использовать на практике.
Тем не менее, подходы к проектированию SNARK шли десятилетиями. Даже пытаясь избавиться от PCP, разработчики использовали похожие идеи — например, «линейные PCP» — которые были лишь вариациями исходных концепций. Эти методы давали очень короткие доказательства, но не самые быстрые для генерации.
Дизайнеры SNARK так и не вернулись к корням — протоколам суммирования — чтобы добиться ещё большей скорости и удобства.
Если бы раньше начали использовать протоколы суммирования, — например, отказавшись от идеи о необходимости интерактивности, — то получили бы более быстрые и простые доказательства. Это и есть главный инсайт Jolt: он строится прямо из интерактивных доказательств и протоколов суммирования, без промежуточных шагов.
Почему же большинство не перешли на протоколы суммирования раньше? Возможно, потому что первые SNARK казались похожими на PCP — оба обеспечивают короткое проверяемое доказательство. А архитектурные и ментальные барьеры сохранялись.
Для нас — инвестировать в разработку zkVM Jolt, основанную на протоколах суммирования, — это рискованный, но принципиально важный шаг, который противоречит многолетней доминантной парадигме.
‘Jolt Inside’
Метод SNARK в Jolt (основанный на пакетных вычислениях и механизмах проверки памяти, таких как Twist + Shout) — это сочетание интерактивных доказательств и протоколов суммирования.
Теперь, спустя годы после начала разработки Jolt, другие тоже начинают использовать протоколы суммирования в своих решениях. Какие же особенности Jolt делают его уникальным в современном zkVM? Jolt максимально использует повторяющиеся структуры при выполнении CPU. Анализируя, как «захват-распаковка-исполнение» каждого ядра CPU применим к пакетным вычислениям, Jolt достигает невероятной эффективности с минимальной сложностью.
В то время как другие zkVM сильно полагаются на «предварительно скомпилированные» компоненты (аналог ASIC-ускорителей для конкретных подзадач), Jolt отказывается от этого. Такие ускорители — повторение ошибок старых методов SNARK: требуют экспертов для проектирования, более склонны к ошибкам и сложнее в использовании. Jolt делает ставку на массовую доступность SNARK.
Проверка правильности CPU — это ядро zkVM и ключ к хорошему опыту разработчика: она позволяет переиспользовать существующую инфраструктуру общего назначения. Всё вычислительное оборудование мира построено вокруг CPU, и Jolt максимально использует его «структуру», повышая лаконичность и производительность.
Jolt с самого начала ориентирована на практическую применимость и производительность: разработчики могут сразу проверять существующие программы; даже для быстрой проверки не нужно менять код. В отличие от других решений, которые требуют «предварительной компиляции» или специальных API, Jolt сохраняет исходный код целым, что облегчает внедрение, аудит и обновление.
Более того, Jolt не только быстрее, но и проще: другие системы требуют проектирования специальных схем для каждой инструкции виртуальной машины, а в Jolt — достаточно около десяти строк Rust для каждой базовой операции. Без схем, без сложных настроек — всего десять строк.
Что дальше у Jolt?
Мы уже лидируем по скорости. В планах — дальнейшие оптимизации и расширение возможностей, включая рекурсию и нулевые знания — особенно с учётом перехода к эллиптическим кривым и постквантовым криптографическим алгоритмам. В этом году мы достигнем ещё одного скачка скорости, а также подготовимся к эпохе постквантовых технологий.
Jolt откроет новые возможности для приложений. В блокчейне — масштабируемость и децентрализация станут проще в развертывании. Нулевые знания можно будет использовать «из коробки», без месяцев или лет криптоинженерии.
В дальнейшем, например, мы планируем создавать быстрые и простые zkVM, которые смогут работать на смартфонах и ноутбуках, — что откроет новые сценарии приватности и доверия. Например, мобильные приложения с приватностью, которые раньше было трудно реализовать из-за сложности и ресурсов.
В перспективе эти системы станут частью глобальной цифровой инфраструктуры, подобно шифрованию и цифровым подписям. Эта универсальная криптографическая технология — когда человек отправляет всего 50 кБ доказательства, а не весь массив данных — настолько мощна, что трудно предсказать, какие приложения появятся. Возможности безграничны.