Детальне пояснення оновлення Boojum: чому zkSync Era обрала систему перевірки STARK

Автор: zkSync; переклад: Jinse Finance xiaozou

Основні моменти цієї статті:

Оновлення: zkSync Era переходить на нову систему Boojum proof без відновлення.

**Продуктивність: **Boojum продемонстрував продуктивність світового класу, підвищивши продуктивність сортувальника zkSync Era, який уже може обробляти понад 100 TPS.

**Децентралізація: **Проверу Boojum (сертифікатору) потрібно лише 16 ГБ оперативної пам’яті, що підтримує широкомасштабну децентралізацію првера в майбутньому.

**Готово:**Shadow proving (доказ тіні) запущено в основній мережі!

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

Для виконання цієї місії альфа-версія zkSync Era була відкрита для громадськості більше трьох місяців тому і отримала дивовижний відгук. За цей час ми спостерігали велику активність в Інтернеті.

Основні моменти мережі:

· Загальна заблокована вартість 577 мільйонів доларів (джерело: L2Beat).

За останні 30 днів оброблено 23,75 мільйона транзакцій — найбільше в L2 (джерело: L2Beat).

· 9735 смарт-контрактів, перевірених вихідним кодом.

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

Ми давно працюємо над оновленням шифрування. Сьогодні ми раді оголосити про наше перше оновлення шифрування: zkSync Era переходить на нову систему перевірки на основі STARK**, сказав для «Boojum». **

1. Вступ до Буджума

Boojum — це назва нашої бібліотеки алгоритмів і обмежень на основі Rust, яку ми використовуємо для впровадження оновленої версії схем ZK від zkSync Era та ZK Stack. На назву Буджум надихнула поема Льюїса Керролла «Полювання на Снарка», і Буджум представляє найжахливіший тип Снарка.

**(1) Що таке Буджум? **

Дизайн Boojum має ряд привабливих особливостей:

· Алгоритм типу PLONK**: **Для протоколів з нульовим знанням алгоритм (арифметизація) — це процес перетворення загальних обчислень у математичні форми. Що стосується поточної системи доказів, наша оновлена система продовжує використовувати алгоритм типу PLONK. Використовуючи цей підхід, схеми ZK легше писати, ніж деякі інші альтернативи, а систему легше розробляти, перевіряти, підтримувати та оновлювати.

· **Потужна схема зобов’язань: **Ядром Boojum є схема зобов’язань FRI. Зобов’язання FRI є ключовим компонентом, який дозволяє нам прийняти зобов’язання щодо обмеженого полінома, а потім ефективно довести, що (поліном) заявлене відкриття справді належить до поліномів нижчого порядку.

**Ефективність «boring» частини системи: **Хоча створення свідків іноді ігнорується, коли люди говорять про продуктивність пруера, у поточній версії системи перевірки оптимізовано GPU прувер є дуже ефективним, а час генерації свідків можна порівняти з часом генерації доказів. За допомогою Boojum ми забезпечуємо автоматичне паралельне (якщо це дозволяє граф залежностей) генерування свідків, водночас спрощуючи визначення функцій генерування свідків, таких як |(a, b)| a + b.

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

· Один стек: за допомогою Boojum усе вищезазначене можна виразити просто стандартним ідіоматичним Rust і використовувати виразність його системи типів. Обчислювально важкі частини перевірки GPU написані на CUDA C++, але ми надаємо прив’язки Rust для композиції.

За замовчуванням Boojum працює з полем простих чисел розміром 2^64 - 2^32 + 1 (називається «поле Золотовласки», спочатку запропоноване Майком Гамбургом, використовуючи спеціальні параметри, запропоновані Хемішем Айві-Лоу), і надає відповідне поле зв'язування примітивних реалізацій криптографічних примітивів, таких як хеш-функція Poseidon2, і реалізацій більш стандартних криптографічних примітивів на основі таблиць пошуку, таких як SHA256, Keccak256 і Blake2s.

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

Буджум отримав користь від внесків багатьох людей у спільноті, і ми вдячні за різноманітність ідей, які ми отримуємо. Ми черпаємо натхнення з базових документів STARK, FRI та DEEP-FRI, вдосконалення хеш-функцій, запропонованих у Poseidon і Poseidon2, і розробки алгоритму PLONK, запропонованого Габізоном, Вільямсоном і Чіоботару. Крім того, інноваційний підхід проекту Plonky2 (Farmer, Lubarov, Borgeaud та ін.) - включаючи вибір Poseidon MDS і використання круглих констант, а також нову ідею кешованих коефіцієнтів і дослідження багатовимірного пошуку, проведені Eagen, Fiore, Gabizon , і Haböck. Саме ці цінні внески разом формують дизайн Boojum.

**2. Чому обирають Boojum? **

Розробляючи Boojum, ми врахували два ключові фактори: (1) надійність світового рівня та (2) зниження вимог до апаратного забезпечення для децентралізації.

(1) Продуктивність світового класу

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

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

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

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

R30sS1Jn4hTAjEo4DBDqmCQrVTg1htiAeyqvkcx5.png

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

(2) Зниження вимог до апаратного забезпечення для децентралізації

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

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

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

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

3**, Boojum’s Road to Mainnet**

Команда працювала над цим оновленням місяцями, і ми раді нарешті перенести систему в основну мережу. Ми також хотіли поділитися деякими історіями.

(1) Оновити zkSync Era

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

Подібно до Ethereum, ми використовуємо деревовидну структуру даних Merkle для зберігання інформації про стан мережі. Ця інформація потрібна для підтвердження системи, оскільки ми підтверджуємо твердження про стан системи. Ключовим проектним рішенням цього дерева Merkle (і способу взаємодії системи перевірки з ним) є використання неалгебраїчних хеш-функцій, зокрема Blake2s. Якби ми проводили оптимізацію виключно для полегшення генерації доказів, ми б використали алгебраїчну хеш-функцію (наприклад, Poseidon2), але цей вибір поєднав би спостережуваний стан із параметрами системи доказів, такими як вибір простого поля. Будь-яке оновлення системи перевірки вимагало б повної регенерації стану, що було б надзвичайно руйнівним досвідом для користувачів zkSync Era. Все, що нам потрібно зробити, щоб оновити нашу систему перевірки, це повторно розгорнути Blake2s у схемі.

(2) Буджум: від дизайну до огляду

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

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

(3) Буджум: від огляду до тесту

Тепер ми перейшли до наступного кроку нашого плану: Mainnet Shadow Mode! Ми раді, що тепер можемо запустити нову систему перевірки разом із існуючою системою перевірки, хоча Boojum лише в бета-версії. Ми вже генеруємо та перевіряємо «тіньові докази» блоків основної мережі.

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

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

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

Сьогодні ми також відкриваємо кодову базу Boojum. Будь ласка, зверніть увагу: кодова база все ще триває! Під час тестування ви, ймовірно, також побачите численні налаштування, оптимізації, виправлення та покращення документації. Найближчими тижнями ми також відкриваємо ще кілька цікавих репозиторіїв, включаючи оновлені схеми та перевірку GPU.

(4) 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
Немає коментарів
  • Закріпити