Прочитайте оновлення zkSync Boojum в одній статті: безпечніший і ефективніший zkEVM

Оригінальний автор: zkSync

Компіляція оригінального тексту: Deep Tide TechFlow

Ознайомтеся з оновленням zkSync Boojum в одній статті: безпечніший і ефективніший zkEVM

TLDR

  • Оновлення: zkSync Era переходить на нову систему Boojum proof без регенерації.
  • Продуктивність: Boojum демонструє найсучаснішу перевірену продуктивність, доповнюючи сортувальник zkSync Era, який уже може обробляти понад 100 TPS.
  • Децентралізація: пристроям Boojum потрібно лише 16 ГБ оперативної пам’яті, що може реалізувати децентралізацію великомасштабних пристроїв у майбутньому.

Місія zkSync полягає в тому, щоб просувати особисту свободу для всіх – зробити цифрове самоволодіння загальнодоступним, побудувавши мережу блокчейн, яка є надійною, безпечною, без дозволів, доступною, простою у використанні, стійкою та нескінченно масштабованою.

Відповідно до цієї місії, альфа-версія zkSync Era була відкрита для громадськості трохи більше трьох місяців тому, і відповідь була феноменальною. Основні моменти мережі:

  • Загальна заблокована вартість TVL 577 мільйонів доларів США (Джерело: L 2B eat);
  • 23 750 000 транзакцій за останні 30 днів - найбільше з усіх L2 (джерело: L 2B eat);
  • 9735 смарт-контрактів із перевіреним вихідним кодом.

У березні 2023 року народилася ZkSync Era на базі SNARK, яка використовує перевірену в боях структуру схеми, яка підтримує zkSync Lite в основній мережі протягом майже трьох років. Однак ми знали, що це не буде остаточна версія системи перевірки zkSync Era, і тому розробили систему, щоб дозволити нам вносити в неї фундаментальні зміни без її регенерації. Це означає, що ми можемо розгортати серйозні оновлення криптографії, не заважаючи розробникам і користувачам.

За лаштунками ми тривалий час працювали над оновленням криптографії. Сьогодні ми раді оголосити про перше оновлення: zkSync Era переходить на нову систему proof-of-STARK під назвою «Boojum».

Зустрічайте Буджум

Boojum — це наша бібліотека арифметики та обмежень на основі Rust, яку ми використовуємо для реалізації схем ZK, оновленої версії zkSync Era та ZK Stack.

Що таке Буджум?

Особливості Boojum:

  • Арифметика PLONK: у контексті протоколів з нульовим знанням арифметика — це процес перетворення загальних обчислень у математичну форму. Як і поточна система доказів, система оновлення все ще використовує арифметику в стилі PLONK. Завдяки такому підходу схеми ZK легше написати, ніж деякі альтернативи, що полегшує розробку, аудит, підтримку та оновлення системи.
  • Надійна схема зобов’язань: в основі Boojum лежить схема зобов’язань FRI, ключовий компонент, який дозволяє нам зобов’язуватися обмеженим поліномам, а потім ефективно доводити, що заявлене відкриття (полінома) справді є поліномом низького ступеня.
  • Ефективність системи: хоча створення свідків іноді не помічається, коли люди говорять про продуктивність прувера, у поточній версії системи перевірки ми досягли точки, коли оптимізований GPU прувер є настільки ефективним, що час створення свідка можна порівняти з часом створення доказу. час досить. З 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 Stack. Майбутня мета zkSync Era, що працює як Hyperchain, полягає в підтримці цих систем на довгі роки. Наше бачення цих систем полягає в тому, що докази можна генерувати та перевіряти дешево та швидко, що забезпечує швидку остаточність і взаємодію між гіперланцюгами.

Продуктивність системи підтвердження безпосередньо впливає на комісію, яку користувачі сплачують за свої транзакції, і з часом ці витрати мають наблизитися до нуля. Поточна версія системи перевірки достатньо ефективна, щоб створити zkEVM і обробляти мільйони транзакцій всього за кілька місяців, але з Boojum ми можемо зробити ще краще!

Щоб виміряти час створення перевірки мережі (та інші ключові показники, пов’язані з продуктивністю), ми співпрацюємо з Celer, чия команда має великий досвід порівняльного аналізу та аналізу систем перевірки. На зображенні нижче ви можете побачити, що Boojum дуже добре працює на більшості профільованих систем. Результати говорять самі за себе: наша реалізація демонструє ефективність перевірки світового рівня і, наскільки нам відомо, є найшвидшою системою перевірки, яка зараз використовується у виробництві.

Для справедливого порівняння Celer запустив ці тести на перевірці на основі центрального процесора, але наша система основної мережі використовує перевірку на основі графічного процесора, яка є набагато швидшою.

Ознайомтеся з оновленням zkSync Boojum в одній статті: безпечніший і ефективніший zkEVM

Перехід до системи перевірки на основі STARK значно підвищує продуктивність і допоможе забезпечити остаточність і низьку затримку для підтримки підвищених рівнів активності для zkSync Era та інших систем на основі ZK Stack.

Зниження вимог до децентралізованого обладнання

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

Системи перевірки, які зазвичай використовуються сьогодні, включаючи нашу існуючу систему, мають відносно високі вимоги до обладнання. Наша поточна система тестування працює на наборі графічних процесорів A100 із 80 ГБ оперативної пам’яті кожен. Потреба в дорогих і потужних машинах є значною перешкодою для нашої мети: майбутнього децентралізованого створення доказів, керованого користувачами. Для досягнення цієї мети недостатньо заборонити створення доказів; користувачам не потрібна дорога машина з сотнями гігабайт оперативної пам’яті для участі.

Це ще одна сфера, де ми досягли надзвичайно вражаючого прогресу! Наш GPU перевір для Boojum потребує лише 16 ГБ оперативної пам’яті, і цей низький поріг є важливим кроком для майбутнього, яке ми передбачаємо. Докази на основі ЦП також можуть використовувати лише 64 ГБ оперативної пам’яті, яку ми сподіваємось скоротити до 32 ГБ і повністю використовувати переваги сучасних багатоядерних процесорів.

Нарешті, секвенсор zkSync Era на основі Rust вже може обробляти понад 100 транзакцій за секунду (TPS). Впровадження нової системи перевірки не тільки покращує продуктивність, але й знижує вимоги до обладнання, що робить її ідеальним доповненням до секвенсорів. Підвищення продуктивності завдяки Boojum означає, що система може підтверджувати транзакції швидше, а зменшені вимоги до апаратного забезпечення покращують доступ до мережі для дешевших машин для більшої горизонтальної масштабованості.

Подорож Буджума до основної мережі

Команда витратила місяці на розробку цього оновлення, і ми щасливі, що досягли етапу тестування системи в основній мережі. Ми також хотіли поділитися деякими історіями.

Оновіть zkSync Era

По-перше, дизайн zkSync Era дозволяє нам з часом оновлювати кожен компонент, і система перевірки не є винятком.

Подібно до Ethereum, ми використовуємо структуру даних Merkle для зберігання інформації про стан мережі. Враховуючи, що ми підтверджуємо твердження про стан системи, ця інформація необхідна для підтвердження системи. Для цього дерева Merkle (і способу, яким система перевірки взаємодіє з ним) ключовим проектним рішенням було використання неалгебраїчної хеш-функції, зокрема Blake 2 s. Якби ми лише оптимізували для простоти створення доказів, ми б використали алгебраїчну хеш-функцію (наприклад, Poseidon 2), але цей вибір поєднує спостережуваний стан із параметрами системи перевірки, такими як вибір полів простих чисел. Будь-які оновлення системи підтвердження вимагають повної регенерації стану.

Подорож Буджум від дизайну до огляду

Близько місяця тому ми почали згортати повну наскрізну версію нашої нової системи перевірки. Враховуючи складність цієї зміни та критичність правильності системи, ми розпочали серію внутрішніх і зовнішніх аудитів.

У той час схема zkEVM і арифметична бібліотека Boojum все ще перебували в стадії активної розробки, але ми працювали із зовнішніми аудиторами безпеки, щоб зосередитися на ранньому виявленні потенційних проблем із працездатністю нашої основної схеми та компонентів Boojum. Ми тісно співпрацювали, надавши їм повний вихідний код і доступ до документації, і вони перевірили та протестували схему zkEVM і гаджет Boojum, використовуючи як автоматизовані, так і ручні методи тестування.

Boojum: від огляду до тесту

Це підводить нас до сьогоднішнього дня, наступного кроку в нашому поетапному розгортанні: Тіньовий режим мережі Mainnet! Ми раді повідомити, що тепер ми запускаємо нову систему перевірки паралельно з існуючою, хоча 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.
  • Нагородити
  • Прокоментувати
  • Поділіться
Прокоментувати
0/400
Немає коментарів
  • Закріпити