A16z: Ключевые элементы создателя: «Внутренний толчок»

Автор статьи: a16z crypto

Перевод статьи: Block unicorn

Введение

Сегодня LayerZero выпустила свою новую цепочку Zero, которая включает в себя ряд технологических достижений — в том числе совершенно новый метод доказательства с нулевым разглашением, который отделяет выполнение транзакций от их проверки. Всё это стало возможным благодаря «Jolt Inside».

Что такое Jolt? Jolt — это открытая RISC-V zkVM (знание с нулевым разглашением виртуальная машина, или более точно — «лаконичная» виртуальная машина), которая работает быстро, безопасно и проста в использовании. Она представляет собой новую, передовую методику проектирования SNARK, разработанную компанией a16z crypto за три года, и мы делимся её открытым исходным кодом для использования и дальнейшей разработки любыми желающими. Но создание Jolt — это история, которая шла десятилетиями.

Почему так важны zkVM и дизайн SNARK?

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

Такие виртуальные машины обычно называют «zk» виртуальными машинами, но здесь чаще подчеркивается их лаконичность. Хотя «знание с нулевым разглашением» критически важно для приватности, «лаконичность» означает, что доказательства короткие и легко проверяемые — два полезных, но разных свойства, которые зачастую путают. (Jolt уже обладает лаконичностью и скоро реализует нулевое разглашение.)

Но почему zkVM так важны? zkVM и более широкое понятие SNARK (лаконичные неинтерактивные доказательства знания) — важнейшие компоненты масштабируемости, приватности и безопасности блокчейнов. Эти доказательства, аргументы и знания с нулевым разглашением (все вместе — проверяемые вычислительные технологии) находят применение в криптоиндустрии и за её пределами.

Из-за традиционных архитектурных решений и других причин индустрия до сих пор использовала довольно сложные подходы к созданию zkVM; об этом подробнее ниже. Однако Jolt с самого начала сосредоточена на совершенно иной методике проектирования SNARK, которая обеспечивает большую эффективность, удобство и производительность.

Кратко говоря, zkVM — это способ доказать, что вы правильно выполнили вычисление. В отличие от других SNARK, zkVM удобна для разработчиков. Используя существующую инфраструктуру вычислений (например, открытый LLVM-экосистему), разработчики могут применять мощь SNARK в своих языках программирования без необходимости использовать специальные языки (DSL).

Это очень похоже на современную криптографию — у нас есть стандарты и встроенные библиотеки для шифрования и цифровых подписей, которыми пользуются разработчики ежедневно, не вникая в их внутреннюю работу. Jolt предоставляет аналогичный уровень абстракции: достаточно взять существующий код и проверить его, не заботясь о взаимодействии между ними. Это необходимое условие для массового распространения новых криптографических технологий.

Разработчики могут сосредоточиться на практических задачах. Благодаря Jolt, им не нужно обладать специальными знаниями о SNARK — достаточно нажать кнопку, и их код сможет сгенерировать доказательство Jolt.

Однако, несмотря на достижения Jolt, доказательство даже умеренно сложных задач (например, выполнения за одну секунду на одном стандартном CPU) всё равно требует значительных вычислительных ресурсов. Чтобы генерировать сложные доказательства за разумное время, нужны несколько GPU. LayerZero портировала Jolt на CUDA и запустила Zero: она объединяет высоко параллелизированные алгоритмы Jolt с параллельным аппаратным обеспечением GPU, что обеспечивает масштабируемость.

LayerZero стремится вывести Jolt на уровень промышленного производства для GPU-доказательств, включая совместную работу по разработке GPU-дружелюбных версий алгоритмов Jolt, что критически важно для повышения масштабируемости zkVM и доказательств.

Открытая разработка

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

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

Поддержка обратного проектирования SNARK особенно важна для Jolt, поскольку она представляет собой кардинальный «парадигмальный сдвиг» по сравнению с традиционными подходами. Этот эволюционный путь занял годы.

История инноваций — это история смены архитектурных подходов

Чтобы понять кардинальные изменения в дизайне SNARK, предпринятые в Jolt, нужно проследить историю более чем двух тысяч лет: от первых формальных систем математических доказательств в Древней Греции, до их развития в Ближнем Востоке, Азии и других регионах.

Эти ранние доказательства — логические выводы, записанные в виде формальных языков или формул, — позволяли любому их проверить. Например, математик мог написать доказательство в книге, а другой — читать его по строкам, чтобы убедиться в его правильности. Эта статическая концепция доказательства — прообраз знаменитого «NP» в теории сложности.

Важно отметить, что такие доказательства — последовательные, требуют очередности и неинтерактивны.

Но в 1985 году* Шафи Гольдвасер, Сильвио Микали и Чарльз Ракофф предложили концепцию интерактивных доказательств («IP»). [*На самом деле их статья вышла раньше, но была неоднократно отклонена и принята позже.] Основная идея — в том, что два участника могут взаимодействовать в реальном времени, задавая друг другу вопросы, а не просто писать доказательство и предъявлять его. Такой интерактивный подход позволяет более эффективно проверять сложные утверждения.

Эта мощь — по сравнению с традиционными статическими доказательствами — была полностью признана лишь к 1990 году. Тогда Карстен Лунд, Лэнс Фортноу, Ховард Карлоф и Ноам Нисан предложили алгебраические протоколы суммирования для интерактивных систем. В сочетании с работой Ади Шамира это привело к фундаментальному результату «IP=PSPACE» — что в простых словах означает:

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

Это дало мощное преимущество — интерактивность. А протокол суммирования (sum-check) стал ключевым инструментом для эффективной проверки: он позволяет проверяющему убедиться в правильности результата без полного пересмотра всей вычислительной процедуры.

Через несколько лет Джо Килиан предложил строить лаконичные нулевые знания на базе вероятностных проверяемых доказательств (PCP). В рамках PCP доказатель — это «книга», содержащая избыточную информацию, которую можно проверить, выбрав случайные места. Проверяющий, выбирая всего несколько точек, с высокой вероятностью может определить, действительно ли доказательство верно.

Но PCP — это длинные доказательства с низкими затратами на проверку. Поэтому Килиан показал, как объединить PCP с криптографией: доказательство можно «запечатать» в короткую цепочку, а проверяющий — убедиться в его подлинности, проверяя лишь несколько выбранных фрагментов.

Эти доказательства оставались интерактивными. Позже Микали применил преобразование Файта-Шамира, чтобы сделать их неинтерактивными — то есть, чтобы доказательство можно было сгенерировать один раз и проверить без взаимодействия.

Наследие архитектур

История доказательств — от статических к интерактивным, затем к PCP и обратно — показывает, что в основе лежит постоянное возвращение к интерактивности и её устранение. SNARK появился в конце этого пути: применяя преобразование Файта-Шамира к интерактивным протоколам Килиана, Микали получил первый SNARK.

Но в ранних SNARK на базе PCP доказательства были очень тяжелыми — их было трудно использовать на практике.

Тем не менее, дизайн SNARK оставался почти неизменным десятилетиями. Даже когда индустрия пыталась уйти от PCP, она использовала похожие идеи — например, «линейные PCP» — которые были лишь вариациями исходных концепций. Эти подходы давали очень короткие доказательства, но не обеспечивали быстрой генерации.

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

Если бы мы хотели раньше использовать протоколы суммирования, нужно было бы переосмыслить всю историю развития SNARK — от (a) интерактивных доказательств, через (b) PCP, © лаконичные интерактивные доказательства, до (d) ранних SNARK. В этом процессе возникли ключевые переходы:

При переходе от (a) к (b) — основной вызов заключался в том, чтобы убрать интерактивность, сохранив лаконичность проверки. Это привело к отказу от протоколов суммирования.

При переходе от (b) к © — интерактивность вновь появилась, и затем её убрали с помощью преобразования Файта-Шамира, что привело к (d) — ранним SNARK.

Если рассматривать все эти шаги линейно, то видно, что разработчики SNARK дважды исключали интерактивность — один раз при переходе от (a) к (b), второй — при переходе от © к (d).

Но если использовать преобразование Файта-Шамира для устранения интерактивности, логично было бы сразу пропустить промежуточный этап (b) — PCP. Это и есть ключевая идея Jolt: напрямую строить SNARK из интерактивных доказательств, используя протоколы суммирования.

Почему раньше не делали так? Возможно, потому что первые SNARK казались похожими на PCP — оба обеспечивают лаконичность. А архитектурные и ментальные барьеры сохранялись.

Для нас — инвестировать в разработку zkVM Jolt на базе протоколов суммирования — это рискованный шаг, потому что он противоречит доминирующей парадигме SNARK, которая сложилась десятилетиями.

‘Jolt Inside’

Метод проектирования SNARK в Jolt (основанный на пакетных вычислениях и механизмах проверки памяти, таких как Twist + Shout) использует идеи интерактивных протоколов и протоколов суммирования.

Через несколько лет после начала разработки Jolt другие тоже начали применять протоколы суммирования. Какие же особенности Jolt в современном zkVM? Jolt максимально использует повторяющиеся структуры CPU. Анализируя, как «инструкция-декодирование-исполнение» реализуются в пакетных вычислениях, Jolt достигает невероятной эффективности при минимальной сложности.

В то время как другие zkVM сильно полагаются на «предварительно скомпилированные» ускорители (аналог ASIC), Jolt отказывается от них. Эти ускорители усложняют разработку и увеличивают риск ошибок, а также делают систему менее доступной для разработчиков. Jolt ориентирована на популяризацию SNARK.

Проверка правильности выполнения CPU — это ядро zkVM и главный прорыв для разработчиков, потому что она позволяет использовать существующую мощную инфраструктуру общего назначения. Весь мировой вычислительный потенциал построен вокруг CPU, и Jolt максимально использует его «структуру», повышая лаконичность и производительность.

Jolt с самого начала ориентирована на практическую применимость и производительность: разработчики могут сразу проверять существующие программы; для быстрой проверки не нужно менять код. В отличие от других решений, которые требуют пересборки и использования специальных API, Jolt сохраняет исходный код, делая его более доступным, безопасным и дешевым в итерациях.

Более того, Jolt не только быстрее, но и проще. Другие системы требуют проектирования специальных схем для каждой инструкции виртуальной машины, а в Jolt — достаточно около десяти строк Rust для каждой базовой операции. Нет необходимости в схемах — всего десять строк кода.

Что дальше у Jolt?

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

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

В дальнейшем, например, появятся быстрые и простые zkVM для мобильных устройств и ноутбуков, что откроет новые сценарии приватных приложений. Например, приватность на смартфонах станет проще реализовать, а приложения — легче поддерживать.

В перспективе эти доказательства станут частью мировой цифровой инфраструктуры, подобно шифрованию и цифровым подписям. Эта универсальная криптографическая технология — когда любой сможет отправить доказательство в 50 кБ, подтверждающее владение несколькими гигабайтами данных с определенными свойствами — настолько мощна, что трудно предсказать, какие новые приложения появятся. Возможности безграничны.

Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • комментарий
  • Репост
  • Поделиться
комментарий
0/400
Нет комментариев
  • Закрепить