Сьогодні LayerZero представила свою нову ланцюг Zero, яка містить кілька технологічних нововведень — зокрема, новий метод доведення з нульовими знаннями, що роз’єднує виконання транзакцій і їх верифікацію. Усе це стало можливим завдяки “Jolt Inside”.
Що таке Jolt? Jolt — це відкритий RISC-V zkVM (знаний також як нульове знання віртуальна машина, або точніше, “лаконічна” віртуальна машина), яка швидка, безпечна і легка у використанні. Вона представляє новий, передовий підхід до проектування SNARK, розроблений компанією a16z crypto протягом трьох років, і буде відкритий для спільноти — для використання або подальшої розробки. Але створення Jolt — це історія, яка формувалася десятиліттями.
Чому так важливі zkVM і дизайн SNARK?
Перш ніж заглиблюватися у еволюцію дизайну SNARK, потрібно чітко зрозуміти, що таке zkVM.
Ці віртуальні машини зазвичай називають “zk” VM, але тут важливіше саме характеристика — лаконічність. Хоча “нульове знання” має велике значення для приватності, “лаконічність” означає, що доведення коротке і легко перевіряється — два корисних, але різних аспекти, які часто плутають. (Jolt вже має характеристику лаконічності і скоро також реалізує нульове знання.)
Чому zkVM так важливі? zkVM і ширше — концепція SNARK (лаконічних неінтерактивних доказів знань) — є ключовими компонентами для масштабованості блокчейну, приватності, безпеки та інших аспектів. Ці доведення, аргументи і нульове знання (загалом — технології підтверджувальних обчислень) мають безліч застосувань у криптоіндустрії та поза нею.
Через традиційні архітектурні підходи та інші причини, у галузі досі використовувалися досить складні методи побудови zkVM; у наступному тексті буде детальніше. Однак Jolt з самого початку зосереджена на абсолютно іншому підході до дизайну SNARK, що має на меті підвищити ефективність, зручність і продуктивність.
Коротко кажучи, zkVM — це спосіб довести, що ви правильно виконали обчислення. В порівнянні з іншими SNARK, zkVM більш дружні до розробників. Вони дозволяють використовувати існуючу обчислювальну інфраструктуру (наприклад, відкриту екосистему LLVM), без необхідності в спеціалізованих мовах програмування (DSL), щоб у будь-якій обраній мові писати програми і отримувати сильні доведення SNARK.
Це дуже схоже на сучасні стандарти у криптографії — у нас є стандартні бібліотеки для шифрування і цифрових підписів, які використовуються щодня без глибокого розуміння їх внутрішньої роботи. Jolt пропонує розробникам таку ж абстракцію: просто використовувати існуючі програми і перевіряти їх, не турбуючись про взаємодію між ними. Це необхідна умова для поширення нових криптографічних застосувань.
Розробники можуть зосередитися на практичних задачах. За допомогою Jolt їм не потрібно мати глибоких знань про SNARK — достатньо натиснути кнопку, і вони зможуть згенерувати доведення для вже написаного коду.
Навіть попри значний прогрес, доведення будь-яких довгих або складних обчислень (наприклад, операцій, виконаних за одну секунду на одному CPU) все ще вимагає потужних обчислювальних ресурсів. Щоб швидко отримати складне доведення, потрібні кілька GPU. LayerZero адаптувала Jolt під CUDA і випустила Zero — систему, яка поєднує високий рівень паралелізму алгоритмів Jolt із паралельною апаратурою GPU, що дозволяє масштабувати процеси.
LayerZero прагне зробити Jolt готовим для виробничого використання на GPU, включно з розробкою дружніх до GPU версій алгоритмів, що є критично важливим для масштабованості zkVM і доведень.
Відкриті дослідження і розробки
Jolt — це відкритий проект, і кожен може використовувати або розвивати його інноваційні технології. Відкритість — це ключовий фактор зростання: публічно ділитися результатами, щоб екосистема могла їх використовувати, повторювати, тестувати, аудитувати, покращувати і створювати нові рішення.
Інвестиції у відкриті проекти — можливо, здається незвичним, але сучасна структура R&D передбачає, що більша частина роботи виконується або в компаніях (наприклад, у колишніх корпоративних лабораторіях або сучасних фундаціях), або в академічних колах. Місія a16z crypto — створити дослідницький і інженерний центр, що поєднує академічну теорію і промислову практику. Як інвестиційна компанія, ми можемо фінансувати проекти, які інші не можуть — особливо у випадках, коли потрібно робити зворотний інжиніринг.
Підтримка розробки SNARK із зворотнім проектуванням — це особливо важливо для Jolt, адже це кардинальна “парадигмальна зміна”, що відрізняється від попередніх підходів. Ця еволюція триває вже багато років.
Історія інновацій — це історія змін архітектури
Щоб зрозуміти сутність революцій у дизайні SNARK, потрібно повернутися більш ніж на дві тисячі років назад: греки започаткували формалізовані системи математичних доказів, які згодом розвивалися в інших регіонах — на Близькому Сході, в Азії та інших частинах світу.
Ці ранні доведення — логічні висновки, записані у формальній мові або формулі — дозволяли будь-кому їх перевірити. Наприклад, математик міг написати доказ у вигляді книги, а інший — прочитати її по рядках і переконатися у правильності. Саме ця статична, письмова концепція доказів і стала прообразом NP — класу “недоказів” у складності.
Важливо зазначити, що такі традиційні доведення — послідовні, потребують чергового виконання — є статичними і неінтерактивними.
Але у 1985 році* Шафі Гольдвасер, Сільвіо Мікалі і Чарльз Ракофф запропонували концепцію інтерактивних доказів (“IP”).[* Насправді їхній основний документ був написаний раніше, але був кілька разів відхилений і прийнятий лише після доопрацювань.] Ідея полягала в тому, що, наприклад, двоє математиків можуть спілкуватися у реальному часі, без необхідності писати доведення і переконувати один одного по черзі. Вони можуть ставити один одному запитання і відповідати — тобто, доведення стає інтерактивним.
Ця здатність — порівняно з традиційними статичними доказами — була величезним проривом і стала зрозумілою лише через кілька років, у 1990-му. Тоді Карстен Лунд, Ланс Фортноу, Говард Карлофф і Ноам Нісан запропонували алгебраїчний протокол для перевірки сум — так званий “sum-check”. У поєднанні з роботами Аді Шаміра це швидко привело до фундаментального результату “IP=PSPACE” — тобто, що системи інтерактивних доказів здатні підтверджувати будь-які обчислювальні задачі, що належать класу PSPACE.
Це означає, що якщо доведення і перевірка можуть взаємодіяти — наприклад, у форматі challenge-response, — то можна швидко перевірити складніші твердження, ніж у статичних доказах. Це відкриває величезні можливості для створення більш потужних і зручних систем доведень.
Згодом, Джо Кіліан запропонував побудову коротких доказів на основі Probabilistically Checkable Proofs (PCP). У цій моделі доказ зберігається у вигляді великої, але надмірно повторюваної книги, яку можна перевірити, випадково вибравши кілька позицій. Це дозволяє зменшити обсяг доказу, зберігаючи при цьому високу довірливість перевірки.
Однак, PCP-протоколи мають довгі докази, хоча й швидку перевірку. Тому Кіліан показав, що їх можна поєднати з криптографією, щоб створити “заставний” доказ — коли доказовий документ складається з кількох ключових слів, які можна підтвердити криптографічним способом, а решту доведення приховано.
Згодом Мікалі застосував трансформацію Fiat-Shamir, щоб перетворити інтерактивні протоколи у неінтерактивні, що зробило їх більш практичними.
Спадщина архітектурних підходів
Якщо подивитися на історію доказових систем, то можна побачити еволюцію від статичних доказів до інтерактивних, потім — до PCP, потім — до коротких інтерактивних доказів (SNARK), і знову — до неінтерактивних. Вони з’являлися і зникали, але основна ідея — зменшити обсяг доказу і швидкість його перевірки.
Перші SNARK базувалися на PCP, але їхній недолік — надмірна обчислювальна складність для доказувача. Тому, незважаючи на довжину доказів, їх швидкість створення залишалася проблемою.
Довгий час дизайн SNARK базувався на ідеях PCP і схожих концепціях, хоча і з деякими модифікаціями. Вони давали короткі доведення, але не були швидкими для доказувача.
З часом, дизайнери SNARK не поверталися до коренів — до протоколів на основі сумових перевірок — і використовували переважно “інтуїтивні” або “гібридні” підходи, що не дозволяли досягти максимальної швидкості.
Якщо б раніше застосовувалися протоколи на основі сумових перевірок, то можна було б отримати ще швидші і зручніші доведення. Це — ключова ідея Jolt: безпосередньо з інтерактивних доказів перейти до SNARK, використовуючи саме сумові протоколи, і пропустити проміжний етап PCP.
Чому ж не зробили цього раніше? Можливо, через те, що дизайн SNARK і PCP здавалися схожими, і багато хто вважав, що потрібно зберігати обидва підходи. Але тепер, з розвитком обчислювальних можливостей, відкриваються нові шляхи — і Jolt цим користується.
“Jolt Inside”
Метод SNARK, який використовує Jolt (заснований на пакетних обчисленнях і механізмах перевірки пам’яті, таких як Twist + Shout), базується на інтерактивних доказах і сумових протоколах.
Зараз, коли ми вже кілька років працюємо над Jolt, інші починають застосовувати схожі підходи — з використанням сумових перевірок. Які ж особливості Jolt у сучасних zkVM? Вона максимально використовує повторювану структуру CPU. Аналізуючи, як кожен ядро CPU виконує “інструкцію — декодування — виконання”, Jolt реалізує цю ідею у пакетних обчисленнях з мінімальною складністю і високою ефективністю.
Інші zkVM здебільшого покладаються на “препроцесинг” (подібно до ASIC-ускорювачів) для досягнення потрібної продуктивності. Jolt відмовляється від таких підходів, оскільки вони повторюють помилки старих архітектур — вимагають залучення експертів для створення спеціалізованих SNARK, що ускладнює використання і підвищує ймовірність помилок. Jolt орієнтована на широке поширення SNARK.
Перевірка правильності виконання CPU — це основна цінність zkVM, і це значний прорив для досвіду розробників, оскільки дозволяє повторно використовувати існуючу інфраструктуру. Світова обчислювальна інфраструктура побудована навколо CPU, і Jolt максимально використовує цю “структуру” для підвищення лаконічності і продуктивності.
Jolt з самого початку орієнтована на практичність і виробничу стабільність: розробники можуть безпосередньо перевіряти існуючі програми; навіть для швидкої перевірки не потрібно змінювати код. Jolt не вимагає створення спеціальних схем або API — вона зберігає цілісність оригінального коду, що полегшує інтеграцію і аудит.
Крім того, Jolt не тільки швидша, але й простіша. Інші рішення вимагають створення схем для кожної інструкції віртуальної машини, тоді як у Jolt кожна команда — всього близько десяти рядків Rust-коду. Без схем, без складних налаштувань — просто десять рядків.
Що далі з Jolt?
Ми вже лідируємо у швидкості. З подальшими оптимізаціями і додаванням функцій, таких як рекурсивні доведення і нульове знання — особливо з урахуванням переходу від кривих Еліпса до решіткових криптографій — ми плануємо до кінця року підняти швидкість ще на один порядок, а також врахувати виклики постквантової епохи.
Jolt відкриває нові можливості для застосувань. У блокчейні — довгоочікувана масштабованість і децентралізація стануть більш доступними. Застосування нульових доведень стане простішим і швидшим, без тривалих криптографічних робіт.
У майбутньому, розвиваючи Jolt, ми прагнемо створити швидкі і зручні нульові доведення для мобільних пристроїв і ноутбуків — щоб розробники могли використовувати їх у клієнтських додатках і системах приватності. Наприклад, мобільні додатки з приватністю зможуть працювати швидко і просто, без складних налаштувань.
Загалом, ці системи доведень стануть основою цифрової інфраструктури світу — подібно до шифрування і цифрових підписів. Це універсальні криптографічні технології, що дозволяють будь-кому підтвердити, що він володіє кількома гігабайтами даних, маючи лише 50 тисяч байт доказу. Їх потенціал — безмежний, і важко передбачити, які застосування з’являться у майбутньому.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
a16z: Ключові елементи для творців: ‘Jolt Inside’
Автор статті: a16z crypto
Переклад статті: Block unicorn
Вступ
Сьогодні LayerZero представила свою нову ланцюг Zero, яка містить кілька технологічних нововведень — зокрема, новий метод доведення з нульовими знаннями, що роз’єднує виконання транзакцій і їх верифікацію. Усе це стало можливим завдяки “Jolt Inside”.
Що таке Jolt? Jolt — це відкритий RISC-V zkVM (знаний також як нульове знання віртуальна машина, або точніше, “лаконічна” віртуальна машина), яка швидка, безпечна і легка у використанні. Вона представляє новий, передовий підхід до проектування SNARK, розроблений компанією a16z crypto протягом трьох років, і буде відкритий для спільноти — для використання або подальшої розробки. Але створення Jolt — це історія, яка формувалася десятиліттями.
Чому так важливі zkVM і дизайн SNARK?
Перш ніж заглиблюватися у еволюцію дизайну SNARK, потрібно чітко зрозуміти, що таке zkVM.
Ці віртуальні машини зазвичай називають “zk” VM, але тут важливіше саме характеристика — лаконічність. Хоча “нульове знання” має велике значення для приватності, “лаконічність” означає, що доведення коротке і легко перевіряється — два корисних, але різних аспекти, які часто плутають. (Jolt вже має характеристику лаконічності і скоро також реалізує нульове знання.)
Чому zkVM так важливі? zkVM і ширше — концепція SNARK (лаконічних неінтерактивних доказів знань) — є ключовими компонентами для масштабованості блокчейну, приватності, безпеки та інших аспектів. Ці доведення, аргументи і нульове знання (загалом — технології підтверджувальних обчислень) мають безліч застосувань у криптоіндустрії та поза нею.
Через традиційні архітектурні підходи та інші причини, у галузі досі використовувалися досить складні методи побудови zkVM; у наступному тексті буде детальніше. Однак Jolt з самого початку зосереджена на абсолютно іншому підході до дизайну SNARK, що має на меті підвищити ефективність, зручність і продуктивність.
Коротко кажучи, zkVM — це спосіб довести, що ви правильно виконали обчислення. В порівнянні з іншими SNARK, zkVM більш дружні до розробників. Вони дозволяють використовувати існуючу обчислювальну інфраструктуру (наприклад, відкриту екосистему LLVM), без необхідності в спеціалізованих мовах програмування (DSL), щоб у будь-якій обраній мові писати програми і отримувати сильні доведення SNARK.
Це дуже схоже на сучасні стандарти у криптографії — у нас є стандартні бібліотеки для шифрування і цифрових підписів, які використовуються щодня без глибокого розуміння їх внутрішньої роботи. Jolt пропонує розробникам таку ж абстракцію: просто використовувати існуючі програми і перевіряти їх, не турбуючись про взаємодію між ними. Це необхідна умова для поширення нових криптографічних застосувань.
Розробники можуть зосередитися на практичних задачах. За допомогою Jolt їм не потрібно мати глибоких знань про SNARK — достатньо натиснути кнопку, і вони зможуть згенерувати доведення для вже написаного коду.
Навіть попри значний прогрес, доведення будь-яких довгих або складних обчислень (наприклад, операцій, виконаних за одну секунду на одному CPU) все ще вимагає потужних обчислювальних ресурсів. Щоб швидко отримати складне доведення, потрібні кілька GPU. LayerZero адаптувала Jolt під CUDA і випустила Zero — систему, яка поєднує високий рівень паралелізму алгоритмів Jolt із паралельною апаратурою GPU, що дозволяє масштабувати процеси.
LayerZero прагне зробити Jolt готовим для виробничого використання на GPU, включно з розробкою дружніх до GPU версій алгоритмів, що є критично важливим для масштабованості zkVM і доведень.
Відкриті дослідження і розробки
Jolt — це відкритий проект, і кожен може використовувати або розвивати його інноваційні технології. Відкритість — це ключовий фактор зростання: публічно ділитися результатами, щоб екосистема могла їх використовувати, повторювати, тестувати, аудитувати, покращувати і створювати нові рішення.
Інвестиції у відкриті проекти — можливо, здається незвичним, але сучасна структура R&D передбачає, що більша частина роботи виконується або в компаніях (наприклад, у колишніх корпоративних лабораторіях або сучасних фундаціях), або в академічних колах. Місія a16z crypto — створити дослідницький і інженерний центр, що поєднує академічну теорію і промислову практику. Як інвестиційна компанія, ми можемо фінансувати проекти, які інші не можуть — особливо у випадках, коли потрібно робити зворотний інжиніринг.
Підтримка розробки SNARK із зворотнім проектуванням — це особливо важливо для Jolt, адже це кардинальна “парадигмальна зміна”, що відрізняється від попередніх підходів. Ця еволюція триває вже багато років.
Історія інновацій — це історія змін архітектури
Щоб зрозуміти сутність революцій у дизайні SNARK, потрібно повернутися більш ніж на дві тисячі років назад: греки започаткували формалізовані системи математичних доказів, які згодом розвивалися в інших регіонах — на Близькому Сході, в Азії та інших частинах світу.
Ці ранні доведення — логічні висновки, записані у формальній мові або формулі — дозволяли будь-кому їх перевірити. Наприклад, математик міг написати доказ у вигляді книги, а інший — прочитати її по рядках і переконатися у правильності. Саме ця статична, письмова концепція доказів і стала прообразом NP — класу “недоказів” у складності.
Важливо зазначити, що такі традиційні доведення — послідовні, потребують чергового виконання — є статичними і неінтерактивними.
Але у 1985 році* Шафі Гольдвасер, Сільвіо Мікалі і Чарльз Ракофф запропонували концепцію інтерактивних доказів (“IP”).[* Насправді їхній основний документ був написаний раніше, але був кілька разів відхилений і прийнятий лише після доопрацювань.] Ідея полягала в тому, що, наприклад, двоє математиків можуть спілкуватися у реальному часі, без необхідності писати доведення і переконувати один одного по черзі. Вони можуть ставити один одному запитання і відповідати — тобто, доведення стає інтерактивним.
Ця здатність — порівняно з традиційними статичними доказами — була величезним проривом і стала зрозумілою лише через кілька років, у 1990-му. Тоді Карстен Лунд, Ланс Фортноу, Говард Карлофф і Ноам Нісан запропонували алгебраїчний протокол для перевірки сум — так званий “sum-check”. У поєднанні з роботами Аді Шаміра це швидко привело до фундаментального результату “IP=PSPACE” — тобто, що системи інтерактивних доказів здатні підтверджувати будь-які обчислювальні задачі, що належать класу PSPACE.
Це означає, що якщо доведення і перевірка можуть взаємодіяти — наприклад, у форматі challenge-response, — то можна швидко перевірити складніші твердження, ніж у статичних доказах. Це відкриває величезні можливості для створення більш потужних і зручних систем доведень.
Згодом, Джо Кіліан запропонував побудову коротких доказів на основі Probabilistically Checkable Proofs (PCP). У цій моделі доказ зберігається у вигляді великої, але надмірно повторюваної книги, яку можна перевірити, випадково вибравши кілька позицій. Це дозволяє зменшити обсяг доказу, зберігаючи при цьому високу довірливість перевірки.
Однак, PCP-протоколи мають довгі докази, хоча й швидку перевірку. Тому Кіліан показав, що їх можна поєднати з криптографією, щоб створити “заставний” доказ — коли доказовий документ складається з кількох ключових слів, які можна підтвердити криптографічним способом, а решту доведення приховано.
Згодом Мікалі застосував трансформацію Fiat-Shamir, щоб перетворити інтерактивні протоколи у неінтерактивні, що зробило їх більш практичними.
Спадщина архітектурних підходів
Якщо подивитися на історію доказових систем, то можна побачити еволюцію від статичних доказів до інтерактивних, потім — до PCP, потім — до коротких інтерактивних доказів (SNARK), і знову — до неінтерактивних. Вони з’являлися і зникали, але основна ідея — зменшити обсяг доказу і швидкість його перевірки.
Перші SNARK базувалися на PCP, але їхній недолік — надмірна обчислювальна складність для доказувача. Тому, незважаючи на довжину доказів, їх швидкість створення залишалася проблемою.
Довгий час дизайн SNARK базувався на ідеях PCP і схожих концепціях, хоча і з деякими модифікаціями. Вони давали короткі доведення, але не були швидкими для доказувача.
З часом, дизайнери SNARK не поверталися до коренів — до протоколів на основі сумових перевірок — і використовували переважно “інтуїтивні” або “гібридні” підходи, що не дозволяли досягти максимальної швидкості.
Якщо б раніше застосовувалися протоколи на основі сумових перевірок, то можна було б отримати ще швидші і зручніші доведення. Це — ключова ідея Jolt: безпосередньо з інтерактивних доказів перейти до SNARK, використовуючи саме сумові протоколи, і пропустити проміжний етап PCP.
Чому ж не зробили цього раніше? Можливо, через те, що дизайн SNARK і PCP здавалися схожими, і багато хто вважав, що потрібно зберігати обидва підходи. Але тепер, з розвитком обчислювальних можливостей, відкриваються нові шляхи — і Jolt цим користується.
“Jolt Inside”
Метод SNARK, який використовує Jolt (заснований на пакетних обчисленнях і механізмах перевірки пам’яті, таких як Twist + Shout), базується на інтерактивних доказах і сумових протоколах.
Зараз, коли ми вже кілька років працюємо над Jolt, інші починають застосовувати схожі підходи — з використанням сумових перевірок. Які ж особливості Jolt у сучасних zkVM? Вона максимально використовує повторювану структуру CPU. Аналізуючи, як кожен ядро CPU виконує “інструкцію — декодування — виконання”, Jolt реалізує цю ідею у пакетних обчисленнях з мінімальною складністю і високою ефективністю.
Інші zkVM здебільшого покладаються на “препроцесинг” (подібно до ASIC-ускорювачів) для досягнення потрібної продуктивності. Jolt відмовляється від таких підходів, оскільки вони повторюють помилки старих архітектур — вимагають залучення експертів для створення спеціалізованих SNARK, що ускладнює використання і підвищує ймовірність помилок. Jolt орієнтована на широке поширення SNARK.
Перевірка правильності виконання CPU — це основна цінність zkVM, і це значний прорив для досвіду розробників, оскільки дозволяє повторно використовувати існуючу інфраструктуру. Світова обчислювальна інфраструктура побудована навколо CPU, і Jolt максимально використовує цю “структуру” для підвищення лаконічності і продуктивності.
Jolt з самого початку орієнтована на практичність і виробничу стабільність: розробники можуть безпосередньо перевіряти існуючі програми; навіть для швидкої перевірки не потрібно змінювати код. Jolt не вимагає створення спеціальних схем або API — вона зберігає цілісність оригінального коду, що полегшує інтеграцію і аудит.
Крім того, Jolt не тільки швидша, але й простіша. Інші рішення вимагають створення схем для кожної інструкції віртуальної машини, тоді як у Jolt кожна команда — всього близько десяти рядків Rust-коду. Без схем, без складних налаштувань — просто десять рядків.
Що далі з Jolt?
Ми вже лідируємо у швидкості. З подальшими оптимізаціями і додаванням функцій, таких як рекурсивні доведення і нульове знання — особливо з урахуванням переходу від кривих Еліпса до решіткових криптографій — ми плануємо до кінця року підняти швидкість ще на один порядок, а також врахувати виклики постквантової епохи.
Jolt відкриває нові можливості для застосувань. У блокчейні — довгоочікувана масштабованість і децентралізація стануть більш доступними. Застосування нульових доведень стане простішим і швидшим, без тривалих криптографічних робіт.
У майбутньому, розвиваючи Jolt, ми прагнемо створити швидкі і зручні нульові доведення для мобільних пристроїв і ноутбуків — щоб розробники могли використовувати їх у клієнтських додатках і системах приватності. Наприклад, мобільні додатки з приватністю зможуть працювати швидко і просто, без складних налаштувань.
Загалом, ці системи доведень стануть основою цифрової інфраструктури світу — подібно до шифрування і цифрових підписів. Це універсальні криптографічні технології, що дозволяють будь-кому підтвердити, що він володіє кількома гігабайтами даних, маючи лише 50 тисяч байт доказу. Їх потенціал — безмежний, і важко передбачити, які застосування з’являться у майбутньому.