Составление оригинального текста: Deep Tide TechFlow
TLDR
Обновление: zkSync Era переходит на новую систему проверки Boojum без регенерации.
Производительность: Boojum демонстрирует передовую производительность, дополняя сортировщик zkSync Era, который уже может обрабатывать более 100 TPS.
Децентрализация: пруверам Boojum требуется всего 16 ГБ ОЗУ, что может обеспечить децентрализацию крупномасштабных пруверов в будущем.
Миссия zkSync состоит в том, чтобы продвигать личную свободу для всех — сделать цифровое владение собой общедоступным путем создания сети блокчейнов, которая не требует доверия, безопасна, не требует разрешений, доступна, проста в использовании, устойчива и бесконечно масштабируема.
В соответствии с этой миссией альфа-версия zkSync Era была открыта для публики чуть более трех месяцев назад, и отклик был феноменальным. Особенности сети:
Общая заблокированная стоимость 577 миллионов долларов США (источник: L 2B eat);
23 750 000 транзакций за последние 30 дней — больше, чем у любого L2 (источник: L 2B eat);
9735 смарт-контрактов с проверенным исходным кодом.
В марте 2023 года родилась zkSync Era на основе SNARK, в которой используется проверенная в боевых условиях схема, которая почти три года поддерживает zkSync Lite в основной сети. Однако мы знали, что это будет не окончательная версия системы проверки zkSync Era, и поэтому разработали систему, позволяющую нам вносить в нее фундаментальные изменения без ее регенерации. Это означает, что мы можем развертывать основные обновления криптографии, не нарушая работу разработчиков и пользователей.
За кулисами мы долгое время работали над обновлением криптографии. Сегодня мы рады объявить о первом обновлении: zkSync Era переходит на новую систему проверки подлинности STARK под названием «Boojum».
Познакомьтесь с Буджумом
Boojum — это наша библиотека арифметики и ограничений на основе Rust, которую мы используем для реализации схем ZK, обновленной версии zkSync Era и ZK Stack.
Что такое Буджум?
Особенности Буджума:
Арифметика PLONK: В контексте протоколов с нулевым разглашением арифметика — это процесс преобразования общих вычислений в математическую форму. Как и текущая система проверки, система обновления по-прежнему использует арифметику в стиле PLONK. При таком подходе схемы ZK писать проще, чем некоторые альтернативы, что упрощает разработку, аудит, обслуживание и обновление системы.
Надежная схема фиксации: в основе Boojum лежит схема фиксации FRI, ключевой компонент, который позволяет нам фиксировать ограниченные полиномы, а затем эффективно доказывать, что заявленное открытие (многочлена) действительно является полиномом низкой степени.
Эффективность системы: хотя генерация свидетелей иногда упускается из виду, когда люди говорят о производительности доказательной базы, в текущей версии системы доказательств мы достигли точки, когда оптимизированный прувер на графическом процессоре настолько эффективен, что время генерации свидетелей сравнимо с генерацией доказательств. время вполне. С помощью Boojum мы предоставляем генерацию свидетелей, которая автоматически распараллеливается (если это позволяет граф зависимостей), сохраняя при этом простоту определения функций генерации свидетелей.
Простота расширяемости: базовая абстракция системы ограничений очень проста, но позволяет пользователю добавлять собственные типы вентилей различными способами, например, добавляя к ним некоторые специализированные полиномы или повторно используя так называемые «общие столбцы». После того как пользователи определят простую геометрию для своих цепей, интерфейс расширения предоставляет возможность автоматически генерировать пруверы, верификаторы и рекурсивные верификаторы. Это обеспечивает очень эффективный процесс разработки; если пользователь изменит структуру схемы и выберет другой тип вентиля для использования, он может просто снова вызвать интерфейс, и он повторно сгенерирует ключи и обеспечит использование правильного средства проверки и проверки.
Единый стек: с помощью Boojum все вышеперечисленное можно выразить, используя только стандартный идиоматический Rust, используя выразительную мощь его системы типов. Ресурсоемкие части GPU Prover написаны на CUDA C++, но мы предоставляем привязки к Rust для компоновки.
Boojum по умолчанию использует поле простого числа размером 2^64 - 2^32 + 1 (называемое «полем Златовласки») и предоставляет реализации соответствующих примитивов привязки полей, таких как хеш-функции Poseidon 2, и реализации на основе таблицы поиска более стандартные криптографические примитивы, такие как SHA 256, Keccak 256 и Blake 2 s.
Важно отметить, что на последнем этапе мы обернем доказательство STARK непрозрачным SNARK на основе пар и проверим этот SNARK на Ethereum. Это доказательство намного меньше и менее затратно для проверки; этот шаг снижает стоимость системы доказательства и, следовательно, самой транзакции.
Почему стоит выбрать Boojum?
При разработке Boojum решение было обусловлено двумя ключевыми факторами: (1) производительность мирового класса и (2) сниженные требования к оборудованию для децентрализации.
Производительность мирового уровня
Текущая система на основе SNARK, хотя и эффективна на данный момент, не может масштабироваться до больших объемов транзакций почти в реальном времени в стеке ZK. Будущая цель zkSync Era, работающей как Hyperchain, — поддерживать эти системы на долгие годы. Наше видение этих систем заключается в том, что доказательства можно генерировать и проверять дешево и быстро, что обеспечивает быструю завершенность и совместимость между гиперцепями.
Производительность системы подтверждения напрямую влияет на комиссию, которую пользователи платят за свои транзакции, и со временем эти затраты должны приближаться к нулю. Текущая версия системы проверки достаточно эффективна, чтобы построить zkEVM и обработать миллионы транзакций всего за несколько месяцев, но с Boojum мы можем добиться еще большего успеха!
Чтобы измерить время генерации доказательства сети (и другие ключевые показатели, связанные с производительностью), мы сотрудничали с Celer, чья команда имеет большой опыт в тестировании и анализе нескольких систем доказательства. На изображении ниже видно, что Boojum очень хорошо работает на большинстве профилированных систем. Результаты говорят сами за себя: наша реализация демонстрирует производительность проверки мирового класса и, насколько нам известно, является самой быстрой системой проверки, используемой в настоящее время в производстве.
Для честного сравнения, Celer запустил эти тесты на тестере на базе процессора, но в нашей основной сети используется программа на базе графического процессора, которая работает намного быстрее.
Переход на систему проверки на основе STARK представляет собой значительный прирост производительности и поможет обеспечить завершенность и низкую задержку для поддержки повышенных уровней активности для zkSync Era и других систем на основе стека ZK.
Снижение требований к децентрализованному оборудованию
Эти результаты производительности особенно впечатляют, если учесть, что это не единственная метрика, для которой мы оптимизируем — мы хотим повысить производительность системы при одновременном снижении требований к оборудованию для ее запуска.
Системы проверки, обычно используемые сегодня, включая нашу существующую систему, имеют относительно высокие требования к оборудованию. Наша текущая система проверки работает на наборе графических процессоров A100 с 80 ГБ ОЗУ каждый. Потребность в дорогих и мощных машинах является серьезным препятствием на пути к нашей цели: будущему децентрализованной генерации доказательств, управляемой пользователями. Для достижения этой цели недостаточно сделать генерацию доказательств без разрешений, пользователям для участия не нужна дорогая машина с сотнями гигабайт оперативной памяти.
Это еще одна область, в которой мы добились чрезвычайно впечатляющего прогресса! Нашему GPU-проверщику для Boojum требуется всего 16 ГБ ОЗУ, и этот низкий порог — важный шаг в будущее, которое мы предвидим. Доказательства на основе процессора также могут использовать всего 64 ГБ оперативной памяти, которую мы надеемся сократить до 32 ГБ и в полной мере использовать преимущества современных многоядерных процессоров.
Наконец, секвенсор zkSync Era на основе Rust уже может обрабатывать более 100 транзакций в секунду (TPS). Внедрение новой системы проверки не только повышает производительность, но и снижает требования к оборудованию, что делает ее идеальным дополнением к секвенсорам. Повышение производительности, обеспечиваемое Boojum, означает, что система может быстрее подтверждать транзакции, а сниженные требования к оборудованию улучшают сетевой доступ к более дешевым машинам для более высокой горизонтальной масштабируемости.
Путешествие Boojum в основную сеть
Команда потратила месяцы на разработку этого обновления, и мы рады, что достигли этапа тестирования системы в основной сети. Мы также хотели поделиться некоторыми историями.
Обновление эпохи zkSync
Во-первых, дизайн zkSync Era позволяет нам обновлять каждый компонент с течением времени, и система доказательства не является исключением.
Подобно Ethereum, мы используем структуру данных дерева Меркла для хранения информации о состоянии сети. Учитывая, что мы доказываем утверждение о состоянии системы, эта информация необходима для доказательства системы. Для этого дерева Меркла (и того, как с ним взаимодействует система доказательства) ключевым дизайнерским решением было использование неалгебраической хеш-функции, а именно Blake 2 s. Если бы мы оптимизировали только для простоты генерации доказательств, мы бы использовали алгебраическую хэш-функцию (например, Poseidon 2), но этот выбор связывает наблюдаемое состояние с параметрами системы доказательств, такими как выбор простого поля. Любые обновления системы доказательств требуют полной регенерации состояния.
Путешествие Boojum от дизайна до обзора
Около месяца назад мы начали сворачивать полную сквозную версию нашей новой реализации системы доказательств. Учитывая сложность этого изменения и важность корректности системы, мы приступили к серии внутренних и внешних аудитов.
В то время схема zkEVM и арифметическая библиотека Boojum все еще находились в стадии активной разработки, но мы работали с внешними аудиторами безопасности, чтобы сосредоточиться на раннем выявлении потенциальных проблем с работоспособностью нашей основной схемы и компонентов Boojum. Мы тесно сотрудничали, предоставив им полный доступ к исходному коду и документации, и они рассмотрели и протестировали схему zkEVM и гаджет Boojum, используя как автоматизированные, так и ручные методы тестирования.
Boojum: от обзора к тесту
Это подводит нас к сегодняшнему дню, следующему шагу в нашем поэтапном развертывании: теневой режим основной сети! Мы рады сообщить, что теперь мы запускаем новую систему проверки параллельно с существующей, хотя Boojum в настоящее время находится только в бета-версии. Мы начали генерировать и проверять «теневые доказательства» блоков основной сети.
Эти теневые доказательства не требуются для версии zkSync Era для основной сети — она по-прежнему будет управляться существующей системой доказательств. Мы только проверяем эти теневые доказательства для дальнейшего тестирования и оптимизации системы, но с использованием реальных производственных данных об активности пользователей zkSync Era.
Boojum: от теста к основной сети
Как и во всем, что мы делаем, безопасность всегда является главным приоритетом. Мы рассмотрим миграцию только тогда, когда будем полностью удовлетворены результатами тестирования новой системы и поделимся более подробной информацией в ближайшие недели и месяцы. Мы также планируем провести дополнительные аудиты и оценки безопасности, чтобы приблизить это захватывающее обновление к полному развертыванию и поэтапно отказаться от текущей системы аттестации.
Мы считаем, что Boojum — это следующий этап более безопасного, масштабируемого и эффективного zkEVM.
Посмотреть Оригинал
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
Читайте об обновлении zkSync Boojum в одной статье: более безопасный и эффективный zkEVM
Оригинальный автор: zkSync
Составление оригинального текста: Deep Tide TechFlow
TLDR
Миссия zkSync состоит в том, чтобы продвигать личную свободу для всех — сделать цифровое владение собой общедоступным путем создания сети блокчейнов, которая не требует доверия, безопасна, не требует разрешений, доступна, проста в использовании, устойчива и бесконечно масштабируема.
В соответствии с этой миссией альфа-версия zkSync Era была открыта для публики чуть более трех месяцев назад, и отклик был феноменальным. Особенности сети:
В марте 2023 года родилась zkSync Era на основе SNARK, в которой используется проверенная в боевых условиях схема, которая почти три года поддерживает zkSync Lite в основной сети. Однако мы знали, что это будет не окончательная версия системы проверки zkSync Era, и поэтому разработали систему, позволяющую нам вносить в нее фундаментальные изменения без ее регенерации. Это означает, что мы можем развертывать основные обновления криптографии, не нарушая работу разработчиков и пользователей.
За кулисами мы долгое время работали над обновлением криптографии. Сегодня мы рады объявить о первом обновлении: zkSync Era переходит на новую систему проверки подлинности STARK под названием «Boojum».
Познакомьтесь с Буджумом
Boojum — это наша библиотека арифметики и ограничений на основе Rust, которую мы используем для реализации схем ZK, обновленной версии zkSync Era и ZK Stack.
Что такое Буджум?
Особенности Буджума:
Boojum по умолчанию использует поле простого числа размером 2^64 - 2^32 + 1 (называемое «полем Златовласки») и предоставляет реализации соответствующих примитивов привязки полей, таких как хеш-функции Poseidon 2, и реализации на основе таблицы поиска более стандартные криптографические примитивы, такие как SHA 256, Keccak 256 и Blake 2 s.
Важно отметить, что на последнем этапе мы обернем доказательство STARK непрозрачным SNARK на основе пар и проверим этот SNARK на Ethereum. Это доказательство намного меньше и менее затратно для проверки; этот шаг снижает стоимость системы доказательства и, следовательно, самой транзакции.
Почему стоит выбрать Boojum?
При разработке Boojum решение было обусловлено двумя ключевыми факторами: (1) производительность мирового класса и (2) сниженные требования к оборудованию для децентрализации.
Производительность мирового уровня
Текущая система на основе SNARK, хотя и эффективна на данный момент, не может масштабироваться до больших объемов транзакций почти в реальном времени в стеке ZK. Будущая цель zkSync Era, работающей как Hyperchain, — поддерживать эти системы на долгие годы. Наше видение этих систем заключается в том, что доказательства можно генерировать и проверять дешево и быстро, что обеспечивает быструю завершенность и совместимость между гиперцепями.
Производительность системы подтверждения напрямую влияет на комиссию, которую пользователи платят за свои транзакции, и со временем эти затраты должны приближаться к нулю. Текущая версия системы проверки достаточно эффективна, чтобы построить zkEVM и обработать миллионы транзакций всего за несколько месяцев, но с Boojum мы можем добиться еще большего успеха!
Чтобы измерить время генерации доказательства сети (и другие ключевые показатели, связанные с производительностью), мы сотрудничали с Celer, чья команда имеет большой опыт в тестировании и анализе нескольких систем доказательства. На изображении ниже видно, что Boojum очень хорошо работает на большинстве профилированных систем. Результаты говорят сами за себя: наша реализация демонстрирует производительность проверки мирового класса и, насколько нам известно, является самой быстрой системой проверки, используемой в настоящее время в производстве.
Для честного сравнения, Celer запустил эти тесты на тестере на базе процессора, но в нашей основной сети используется программа на базе графического процессора, которая работает намного быстрее.
Переход на систему проверки на основе STARK представляет собой значительный прирост производительности и поможет обеспечить завершенность и низкую задержку для поддержки повышенных уровней активности для zkSync Era и других систем на основе стека ZK.
Снижение требований к децентрализованному оборудованию
Эти результаты производительности особенно впечатляют, если учесть, что это не единственная метрика, для которой мы оптимизируем — мы хотим повысить производительность системы при одновременном снижении требований к оборудованию для ее запуска.
Системы проверки, обычно используемые сегодня, включая нашу существующую систему, имеют относительно высокие требования к оборудованию. Наша текущая система проверки работает на наборе графических процессоров A100 с 80 ГБ ОЗУ каждый. Потребность в дорогих и мощных машинах является серьезным препятствием на пути к нашей цели: будущему децентрализованной генерации доказательств, управляемой пользователями. Для достижения этой цели недостаточно сделать генерацию доказательств без разрешений, пользователям для участия не нужна дорогая машина с сотнями гигабайт оперативной памяти.
Это еще одна область, в которой мы добились чрезвычайно впечатляющего прогресса! Нашему GPU-проверщику для Boojum требуется всего 16 ГБ ОЗУ, и этот низкий порог — важный шаг в будущее, которое мы предвидим. Доказательства на основе процессора также могут использовать всего 64 ГБ оперативной памяти, которую мы надеемся сократить до 32 ГБ и в полной мере использовать преимущества современных многоядерных процессоров.
Наконец, секвенсор zkSync Era на основе Rust уже может обрабатывать более 100 транзакций в секунду (TPS). Внедрение новой системы проверки не только повышает производительность, но и снижает требования к оборудованию, что делает ее идеальным дополнением к секвенсорам. Повышение производительности, обеспечиваемое Boojum, означает, что система может быстрее подтверждать транзакции, а сниженные требования к оборудованию улучшают сетевой доступ к более дешевым машинам для более высокой горизонтальной масштабируемости.
Путешествие Boojum в основную сеть
Команда потратила месяцы на разработку этого обновления, и мы рады, что достигли этапа тестирования системы в основной сети. Мы также хотели поделиться некоторыми историями.
Обновление эпохи zkSync
Во-первых, дизайн zkSync Era позволяет нам обновлять каждый компонент с течением времени, и система доказательства не является исключением.
Подобно Ethereum, мы используем структуру данных дерева Меркла для хранения информации о состоянии сети. Учитывая, что мы доказываем утверждение о состоянии системы, эта информация необходима для доказательства системы. Для этого дерева Меркла (и того, как с ним взаимодействует система доказательства) ключевым дизайнерским решением было использование неалгебраической хеш-функции, а именно Blake 2 s. Если бы мы оптимизировали только для простоты генерации доказательств, мы бы использовали алгебраическую хэш-функцию (например, Poseidon 2), но этот выбор связывает наблюдаемое состояние с параметрами системы доказательств, такими как выбор простого поля. Любые обновления системы доказательств требуют полной регенерации состояния.
Путешествие Boojum от дизайна до обзора
Около месяца назад мы начали сворачивать полную сквозную версию нашей новой реализации системы доказательств. Учитывая сложность этого изменения и важность корректности системы, мы приступили к серии внутренних и внешних аудитов.
В то время схема zkEVM и арифметическая библиотека Boojum все еще находились в стадии активной разработки, но мы работали с внешними аудиторами безопасности, чтобы сосредоточиться на раннем выявлении потенциальных проблем с работоспособностью нашей основной схемы и компонентов Boojum. Мы тесно сотрудничали, предоставив им полный доступ к исходному коду и документации, и они рассмотрели и протестировали схему zkEVM и гаджет Boojum, используя как автоматизированные, так и ручные методы тестирования.
Boojum: от обзора к тесту
Это подводит нас к сегодняшнему дню, следующему шагу в нашем поэтапном развертывании: теневой режим основной сети! Мы рады сообщить, что теперь мы запускаем новую систему проверки параллельно с существующей, хотя Boojum в настоящее время находится только в бета-версии. Мы начали генерировать и проверять «теневые доказательства» блоков основной сети.
Эти теневые доказательства не требуются для версии zkSync Era для основной сети — она по-прежнему будет управляться существующей системой доказательств. Мы только проверяем эти теневые доказательства для дальнейшего тестирования и оптимизации системы, но с использованием реальных производственных данных об активности пользователей zkSync Era.
Boojum: от теста к основной сети
Как и во всем, что мы делаем, безопасность всегда является главным приоритетом. Мы рассмотрим миграцию только тогда, когда будем полностью удовлетворены результатами тестирования новой системы и поделимся более подробной информацией в ближайшие недели и месяцы. Мы также планируем провести дополнительные аудиты и оценки безопасности, чтобы приблизить это захватывающее обновление к полному развертыванию и поэтапно отказаться от текущей системы аттестации.
Мы считаем, что Boojum — это следующий этап более безопасного, масштабируемого и эффективного zkEVM.