Большое будущее ZK-роллапов
----------------------------------------------------------------------------------
Предисловие: Уважаемые друзья, материал, представленный в статье, не является инвестиционной рекомендацией. Важно оценивать риски: SEC по-прежнему может признать криптовалюту скамом, протокол могут взломать, проект может поменять свою стратегию, риски ликвидаций, риски ошибочных действий и зомби-апокалипсис.
-----------------------------------------------------------------------------------
Привет, дорогой друг.
Ты наверняка помнишь, как несколько лет назад многие криптаны встречали новый тренд на zk-роллапы: «Вот оно, будущее масштабируемости!» — говорили они. «Таким скоро будет DeFi!» — говорили они. Даже Виталик писал, что это одна из самых мощных технологий десятилетия. Казалось, что рецепт «трушной» масштабируемости блокчейна найден. Но...
С тех пор одни тренды сменяли другие, а вся мощь и потенциал роллапов с нулевым разглашением сошла почти к нулю в нашем инфополе. Что это: завершение тренда? Или затишье перед новым витком развития? Не зря ведь говорят, что самое тёмное время — перед рассветом.
В этой статье мы обсудим причины, по которым развитие такой безусловно многообещающей zk-технологии замедлилось (по сравнению с Optimistic-роллапами) и подумаем, как эта технология будет интегрирована в DeFi и блокчейн в будущем. Устраивайся поудобнее и заодно повспоминай свои уроки математики.
ПОВТОРЯЕМ ОСНОВЫ
Если говорить максимально ёмко, то доказательства с нулевым разглашением позволяют кому-то доказать утверждение, не раскрывая основной информации. Технология ZK основана на самых передовых математических методах в криптовалюте, но я не буду грузить тебя высшей математикой в самом начале статьи — чтобы вспомнить главную особенность технологии ZK давай лучше воспользуемся аналогией.
Выход из пещеры
Представь себе пещеру с двумя путями: путём A и путём B. Между ними стоит дверь, которую можно отпереть только с помощью секретного кода.
Код настолько секретный, что его знает только один человек — назовём его Дима (ничего личного, Дима). У Димы есть друг Вася (тоже ничего личного, Василий), который хочет убедиться, что Дима точно знает код. Но для этого Вася не будет узнавать код самостоятельно.
Доказатель Дима: Знает секретный код, чтобы отпереть дверь.
Верификатор Вася: Хочет подтвердить, что Дима знает код, не узнавая его самостоятельно.
Что в таком случае может сделать Верификатор Вася? Попросить Доказателя Диму зайти в пещеру и выйти из неё так, чтобы задействовать дверь с кодом:
Вот как выглядит весь процесс:
1. Доказатель и Верификатор стоят у входа в пещеру.
2. Доказатель входит в пещеру, выбирая путь A или B. Верификатор стоит снаружи и не видит, какой путь выбрал Доказатель.
2. Доказатель входит в пещеру, выбирая путь A или B. Верификатор стоит снаружи и не видит, какой путь выбрал Доказатель.
3. Как только Доказатель окажется внутри, Верификатор крикнет, по какому пути он должен выйти:
– Если Доказатель выбрал путь А, и Верификатор тоже попросит его выйти по пути А, он просто выходит по пути А.
– Если Доказатель выбрал путь А, но Верификатор попросит его выйти по пути B, Доказатель должен использовать секретный код, чтобы отпереть дверь, пройти через нее, а затем выйти по пути B. Хорошо, что Дима знает этот код, ведь так он успеет домой, чтобы заклеймить новый дроп от Jupiter.
Затем этот процесс повторяется несколько раз. Если Доказатель последовательно проходит по правильному пути, Верификатор получает уверенность в том, что Доказатель действительно знает код. Важно отметить, что Верификатор никогда не узнает сам код — отсюда и термин Zero Knowledge («нулевое разглашение» или «нулевое знание»).
→ То, как построена пещера в этом примере (дверь с секретным кодом и то, как он может повлиять на результат), очень похоже на то, как строятся системы ZK.
СНОВА В ШКОЛУ: МАТЕМАТИКА ZK
Доказательства ZK можно объяснить, опираясь на математику, в частности на многочлены (полиномы). Возможно, ты помнишь из курса школьной математики, что это такие алгебраические выражения, образованные суммой любого количества членов вида cx^k (cx в степени k).
Важно помнить, что полиномы могут содержать неограниченное количество членов. Таким образом, одно уравнение с несколькими полиномами может представлять бесконечное количество уравнений (читай: отношений) между числами.
Например, рассмотрим уравнение, включающее полиномы A, B, C и переменную x: A(x) + B(x) = C(x). Если это уравнение верно, то верно и то, что:
…
Если уравнение с некоторыми многочленами решается для случайно выбранного x, то это почти наверняка справедливо и для всех многочленов в целом. Вернёмся к примеру с пещерой: подобно тому, как человек может выйти через случайно выбранный путь несколько раз — так и уравнение с полиномами, решающееся для случайно выбранного x, может быть выполнено несколько раз.
Это вкратце доказывает, что Доказатель владеет полным объемом информации, будь то секретный код, как в примере с пещерой, или информация обо всех транзакциях в блоке L2.
Для более подробного объяснения можешь изучить статью Виталика или видео основателя Starknet Эли Бен-Сассона.
Добавлю, что доказательства требуют больших вычислительных затрат при создании, но зато их главное преимущество — скорость (очень быстро проверяются). Это ты и должен знать: хотя ZK позиционируется как механизм с нулевой утечкой информации, именно свойство скорости, а не секретность, лежит в его основе. И до сих пор, уже после выхода в мейннет таких гигантов как zkSync и Starknet, математики и криптографы по-прежнему усердно работают над дальнейшим сокращением времени проверки.
Устройство ZK-proofs
Рассмотрим схему работы ZK-роллапов.
1/ ZK-роллапы объединяют транзакции вне основной сети в группы, генерируя доказательства (zk-SNARK или zk-STARK), которые используются для подтверждения групп транзакций.
2/ Объединённое доказательство вместе с минимальным количеством данных, необходимых для восстановления состояния, отправляется в основную сеть (например, Ethereum).
3/ Это доказательство используется для подтверждения того, что транзакции вне сети были обработаны правильно. Основной сети нужно проверить только это небольшое доказательство, а не проводить каждую транзакцию заново, что значительно снижает вычислительную нагрузку и повышает скорость — масштабируемость.
Доказательства ZK гарантируют, что операторы роллапов не смогут незаметно обмануть или совершить мошенничество. Доказательство гарантирует, что переходы между состояниями и вычисления корректны в соответствии с протоколом. До тех пор, пока доказательство действительно, результаты принимаются как правильные, поддерживая целостность и безопасность роллапа.
Поскольку доказательства ZK лаконичны, не требуют хранения и обработки полных данных о транзакциях внутри сети, роллапы ZK могут обрабатывать бóльшее количество транзакций по сравнению с их обработкой непосредственно в основной сети. Такая масштабируемость достигается без ущерба для гарантий безопасности, предоставляемых основной сетью.
ТИПЫ zkEVM
Технологию ZK нельзя использовать для прямой проверки любой вычислительной задачи — для начала задача должна быть преобразована в правильную «форму». Обычная логика программы должна быть представлена группой полиномов.
Ты, наверное, можешь себе представить, насколько сложно переписать EVM (или любую другую виртуальную машину), чтобы она могла работать с этими полиномами. Вот почему создать полностью совместимую с EVM виртуальную машину zkEVM сложно.
Именно поэтому существует такой широкий спектр реализаций zkEVM (от полностью Ethereum-эквивалентных до эквивалентных на языке более высокого уровня). Всё это влияет на применимость отраслевой инфраструктуры и на то, насколько необходимо изменить код смарт-контрактов существующих проектов для работы в сети.
Немного иллюстраций для нагладности.
Вот 4 типа ZK:
Вот 4 типа ZK:
А вот статистика по разработке проектов zkEVM.
Слева – TVL, справа – market cap:
Слева – TVL, справа – market cap:
ПОЧЕМУ ZK ОТСТАЁТ ОТ OPTIMISTIC-РОЛЛАПОВ?
Итак, теперь, когда мы поняли основы технологии ZK, настало время разобраться с причиной, почему же роллапы ZK не пользуются такой популярностью.
Мы видели несколько успешных реализаций ZK: ZKsync, Scroll, Starknet. То, что они функционируют на данный момент без существенных взломов (была разве что пара остановок), уже само по себе является успехом. Однако оптимистичные роллапы по-прежнему сильно доминируют над ZK, занимающим всего 10% рынка только по TVL и активности пользователей.
За последние 90 дней по данным L2beat.com, коэффициент масштабирования для роллапов ZK, составил 2,3 — это означает, что благодаря ZK в Ethereum совершается в два раза больше транзакций. Для оптимистичных роллапов этот показатель составляет 9 раз, что означает более широкое использование оптимистичных роллапов в качестве предпочтительного решения для масштабирования Ethereum.
Так что же сдерживает роллапы ZK? Вот три возможных объяснения:
1. Непроверенная технология
Технология, лежащая в основе ZK, пока просто не вызывает такого доверия, как технология оптимистичных роллапов.
Похоже, что большинство технологически подкованных «китов» еще не перевели свои капиталы в роллапы ZK. Думаю, киты ждут, пока роллапы ZK пройдут все испытания рынком, и в них будут исправлены все мыслимые и немыслимые ошибки. Например, поскольку верификаторы (которые еще не выложены в открытый доступ) составляют такую важную часть стека, индустрия не может проверить и верифицировать их.
Это наглядно показывает, что сделать zkEVM (или любую другую zkVM) доказуемой - задача не из простых. Veridise (компания, специализирующаяся на аудите безопасности ZK), утверждает, что достигнуть полной безопасности ZK намного сложнее. Аудиты ZK выявили в два раза больше критических ошибок по сравнению с другими аудитами. Это вполне объяснимо, учитывая сложность и быстрое развитие технологии ZK.
Даже если мы посмотрим на смарт-контракты 4 типа ZK (Starknet и zkSync) — это будут не просто форки существующих контрактов Solidity, а абсолютно новые вселенные кода, поэтому их приходится писать с нуля, и инвесторы меньше доверяют им.
Проверенные временем контракты настолько востребованы, что Starknet, изначально представлявший собой роллап ZK 4-го типа, добавляет EVM-реализацию Kakarot, чтобы стать роллапом 3-го типа (который будет поддерживать существующие контракты Solidity). Судя по всему, решающую роль в принятии проекта разработчиками играет полная поддержка EVM и Solidity.
2. Приверженность пользователей
Оптимистичные L2 были запущены на три-четыре года раньше своих конкурентов ZK. И как только пользователи перешли на эти решения, они остались, не видя существенных стимулов для перехода на новые сети ZK. Тарифы на оптимистичные роллапы остались на том же уровне, что и на ZK, несмотря на обещанное в 10 раз большее снижение комиссий, чем в оптимистичных роллапах. Чтобы красноречиво продемонстрировать свое преимущество в масштабировании, роллапам ZK банально не хватает этих миллиардов транзакций от массового внедрения.
3. Токеномика и экономика
Также нужно отметить, что относительная рыночная капитализация этих сетей удивительно низкая (zkSync, Taiko и Scroll занимают 126, 342 и 344 места на CoinMarketCap), что во многом объясняется плохой токеномикой. Низкий уровень Float при высоком FDV означает, что токенам еще предстоят годы разблокировки, что отпугивает инвесторов от их покупки. Время запуска токенов также не самое удачное: альткоины сейчас демонстрируют худшие результаты, чем в предыдущих циклах, поэтому роллапы ZK были запущены на менее приветливых рынках, чем оптимистичные роллапы один цикл назад. Меньшие рыночные капиталы означают меньшие казначейства для стимулирования разработчиков и пользователей, поэтому ликвидность и активность ниже.
БУДУЩЕЕ ZK: ВСЁ БУДЕТ ХОРОШО
Технология ZK обладает огромным потенциалом для масштабирования блокчейна, увеличивая пропускную способность транзакций на несколько порядков — потенциально до тысяч транзакций в секунду, в зависимости от реализации.
Ethereum Foundation планирует внести изменения в Ethereum для поддержки роллапов ZK, чтобы еще больше повысить эффективность. Вполне вероятно, что в долгосрочной перспективе ZK фактически станет основной частью самой L1. Ожидается, что клиенты нод Ethereum начнут экспериментировать с ZK для проверки выполнения блоков Ethereum на L1.
Мы ожидаем постепенного перехода от клиентов, проверяющих блоки Ethereum L1 путем прямого повторного исполнения, к большинству клиентов, полагающихся на доказательства ZK для проверки.
До сих пор реализации ZK не демонстрировали юзерам серьёзной разницы. Комиссии почти одинаковы — одно только это не позволяет отвлечь пользователей от оптимистичных роллапов. Чтобы новая технология привлекла на порядки больше пользователей, она должна быть на порядки лучше. В долгосрочной перспективе, когда в сети будет совершаться в 100 раз или в 1000 раз больше транзакций, технология ZK будет намного более востребованной.
Но главный вопрос заключается в том, произойдет ли это через текущие версии роллапов ZK, или же технология ZK будет внедрена в существующие L2 или базовый уровень.
Последний вариант выглядит все более вероятным. Учитывая растущие опасения по поводу позиционирования Ethereum и проблемы совместимости L2, интеграция ZK, похоже, станет ключевым усовершенствованием для улучшения исполнения L1. Или даже ключевым стандартом, с которым должны согласиться все L2 Ethereum, как это показано в предложении Джастина Дрейка «Beam Chain» по внедрению исполнения ZK на базовом уровне, или в предложении Мартина Коппельмана о 128 одобренных Ethereum роллапах ZK, которые разделяют одни и те же стандарты.
В cухом остатке мы думаем, что ZK точно оправдают возросшую шумиху. Но выиграют ли от этого первые участники? Пока не видим гарантий для этого.
Спасибо, что дочитал до конца.
Увидимся в следующий раз.
Команда DeFi Hardcore
Увидимся в следующий раз.
Команда DeFi Hardcore