Автор: Виталик Бутерин
Составитель: Пэн Сунь, Foresight News
Оригинальная ссылка: https://vitalik.eth.limo/general/2024/05/23/l2exec.html.
Два с половиной года назад я упомянул в статье «Финал», что разные пути развития блокчейна в будущем выглядят очень похоже, по крайней мере технически. В обоих случаях в цепочке присутствует большое количество транзакций, и обработка этих транзакций требует: (1) большого количества вычислений (2) большой пропускной способности данных; Обычных узлов Ethereum (таких как узел архива reth объемом 2 ТБ, работающий сейчас на моем компьютере), даже с мощной производительностью разработки программного обеспечения и деревьями Веркла, недостаточно для прямой проверки огромного объема данных и вычислений. Напротив, в двух схемах «шардинг L1» и Rollup-centric ZK-SNARK используется для проверки вычислений, а DAS — для проверки доступности данных. Будь то сегментирование L2 или объединение, DAS один и тот же, и технология ZK-SNARKs одна и та же. Это одновременно код смарт-контракта и функция протокола. В техническом смысле Ethereum — это шардинг, а Rollup — это шардирование.
Естественно, возникает вопрос: в чем разница между ними? Один из них — последствия уязвимостей кода разные: в Rollup будут украдены токены, в шардинге нарушится консенсус; Но я ожидаю, что по мере стабилизации протокола и совершенствования формальных методов проверки влияние уязвимостей кода будет становиться все меньше и меньше. Так какие же еще различия существуют между этими двумя потенциально долгосрочными вариантами?
Разнообразие сред выполнения
Одна из идей, которую мы кратко обсуждали в Ethereum в 2019 году, — это среды исполнения. По сути, в Ethereum будут разные «зоны», в которых могут быть разные правила для учетных записей (включая совершенно разные методы, такие как UTXO), принципы работы виртуальной машины и другие функции. Это позволяет использовать разнообразие методов в различных частях стека, чего было бы трудно достичь, если бы Ethereum попытался объединить несколько функций в одну.
В конце концов мы отказались от некоторых наиболее амбициозных планов и оставили только EVM. Однако можно сказать, что Ethereum L2 (включая накопительные пакеты, валдиумы и Plasmas) в конечном итоге функционирует как среда исполнения. В настоящее время мы часто сосредотачиваемся на эквиваленте EVM L2, но игнорируем разнообразие, привносимое многими другими методами:
● Arbitrum Stylus, добавляющий в дополнение к EVM второй оракул на базе WASM;
● Fuel, использующий архитектуру на основе UTXO, аналогичную Bitcoin (но более совершенную);
● Aztec, который представляет новый язык и парадигму программирования, основанную на смарт-контрактах, сохраняющих конфиденциальность, на основе ZK-SNARK.
Архитектура на основе UTXO, источник: документация по топливу.
Мы можем попытаться превратить EVM в супервиртуальную машину, охватывающую все возможные парадигмы, но это значительно снизит эффективность каждой функции. Лучше позволить этим платформам заниматься своими профессиональными задачами.
Компромисс безопасности: масштабирование и скорость транзакций
Ethereum L1 обеспечивает очень надежную безопасность. Если последний завершенный блок на L1 содержит определенные данные, то весь консенсус (включая социальный консенсус в крайних случаях) будет усердно работать, чтобы гарантировать, что эти данные не будут изменены и что любое выполнение, инициированное этими данными, не будет отменено. по-прежнему иметь доступ к данным. Чтобы добиться этой гарантии безопасности, Ethereum L1 готов пойти на высокую цену. На момент написания статьи комиссии за транзакции были относительно низкими: уровень 2 взимает менее 1 цента за транзакцию, и даже на уровне L1 базовый перевод ETH составляет менее 1 доллара США. Если технологии развиваются достаточно быстро и рост доступного пространства блоков будет идти в ногу со спросом, то эти комиссии могут оставаться низкими в будущем, но могут и не остаться. Для многих нефинансовых приложений, таких как социальные сети или игры, даже 0,01 доллара за транзакцию слишком высока.
Но социальные сети и игры не требуют той же модели безопасности, что и L1. Если кто-то может заплатить миллион долларов, чтобы аннулировать свою запись о проигрыше в шахматы или сделать так, будто один из ваших твитов был опубликован через три дня после его публикации, это нормально. Следовательно, эти приложения не должны нести одинаковые затраты на безопасность. Решения L2 достигают этого, поддерживая ряд методов доступности данных: от объединений до плазмы и валидий.
Другой компромисс возникает вокруг вопроса перевода активов из L2 в L2. Я предсказываю, что в ближайшие 5–10 лет все накопительные пакеты будут ZK-накопительными, а сверхэффективные системы доказательства, такие как Binius и Circle STARK, с поиском в сочетании со слоем агрегирования доказательств, позволят L2 предоставлять окончательный корень состояния в каждом слот становится возможным. Но в настоящее время мы можем только сложно комбинировать Optimistic Rollup и ZK Rollup и использовать разные временные окна проверки. Если мы реализуем сегментирование исполнения в 2021 году, моделью безопасности, обеспечивающей честность сегментов, будет Optimitic Rollup, а не ZK, поэтому L1 придется управлять сложной логикой защиты от мошенничества внутрисетевой системы, а время вывода средств будет составлять до неделю, для переноса активов между шардами. Но, как и в случае с ошибками в коде, я думаю, что эта проблема в конечном итоге носит временный характер.
Скорость транзакций — третий и более постоянный аспект компромисса в области безопасности. Эфириум производит блоки каждые 12 секунд, и быстрее он работать не может, иначе уровень централизации был бы слишком высок. Однако многие L2 изучают возможность сжатия времени блока до сотен миллисекунд. 12 секунд — это не так уж и плохо: в среднем пользователям приходится ждать около 6–7 секунд после отправки транзакции, чтобы ее включили в блок (а не только 6 секунд, поскольку следующий блок может их не включать). Это сравнимо со временем ожидания, которое мне приходится ждать при оплате кредитной картой. Однако многим приложениям требуется более высокая скорость, и L2 может ее обеспечить.
Чтобы сделать это быстрее, в L2 есть механизм предварительного подтверждения: собственные валидаторы L2 обещают в цифровом виде включить транзакцию в определенное время и наказываются, если транзакция не будет включена. Механизм StakeSure еще больше способствует развитию этого механизма.
Предварительное подтверждение L2
Теперь мы можем попробовать реализовать все эти возможности в L1. L1 может включать в себя систему «быстрого предварительного подтверждения» и «медленного окончательного подтверждения». Он может содержать разные шарды с разными уровнями безопасности. Однако это увеличивает сложность протокола. Кроме того, выполнение всей работы на уровне L1 сопряжено с риском перегрузки консенсуса, поскольку многие более масштабные подходы или подходы с более высокой пропускной способностью имеют более высокие риски централизации или требуют более сильных форм «управления», если они выполняются на уровне L1. Влияние этих более жестких требований будет распространяться повсюду. другие части договора. Эфириум может в значительной степени избежать этих рисков, предоставив компромисс с L2.
Преимущества уровня 2 для организаций и культуры
Представьте себе страну, разделенную на две части: одна половина становится капиталистической страной, а другая половина — страной, в которой сильно доминирует правительство (в отличие от того, что происходит в действительности, давайте предположим в этом мысленном эксперименте, что это не результат какой-либо травмирующей войны, Но однажды граница появляется естественным образом и всё). В капиталистической части все рестораны состоят из различных децентрализованных форм собственности, блокчейна и права голоса. В стране, где доминирует правительство, все они являются ветвями власти, как и полицейское управление. В первый день мало что изменится. Люди будут в основном следовать существующим привычкам, и то, что работает, а что нет, зависит от технических реалий, таких как трудовые навыки и инфраструктура. Однако через год вы видите огромные изменения, поскольку различные структуры стимулирования и контроля приводят к огромным изменениям в поведении, что влияет на то, кто приходит и остается, что строится, что поддерживается, а что заброшено.
Теория промышленной организации может многое сказать об этих различиях: она говорит не только о разнице между экономикой, управляемой государством, и капиталистической экономикой, но также об экономике, в которой доминируют крупные франчайзинги, и экономике, в которой каждый супермаркет находится в ведении независимый предприниматель разница между. Я думаю, что разница между экосистемой, ориентированной на L1, и экосистемой, ориентированной на L2, аналогична.
Существует большая проблема с архитектурой «основные разработчики управляют всем».
Я считаю, что основные преимущества Ethereum, как экосистемы, ориентированной на L2, заключаются в следующем:
Поскольку Ethereum представляет собой экосистему, ориентированную на L2, у вас есть свобода самостоятельно создавать подэкосистему со своими уникальными функциями, оставаясь при этом частью более крупного Ethereum.
Если вы просто создаете клиент Ethereum, вы являетесь частью более крупного Ethereum, и хотя у вас есть пространство для инноваций, оно далеко не так хорошо, как L2. А если вы строите полностью независимую цепочку, у вас есть много возможностей для творчества, но вы также теряете преимущества общей безопасности и общих сетевых эффектов. L2 — хороший баланс.
Он не только предоставляет технические возможности опробовать новые среды выполнения и компромиссы в области безопасности, которые обеспечивают масштабирование, гибкость и скорость, но также предоставляет механизм стимулирования, который стимулирует как разработчиков создавать и поддерживать, так и поддержку сообщества.
Тот факт, что каждый L2 изолирован, также означает, что развертывание новых методов не требует разрешений: нет необходимости убеждать всех основных разработчиков в том, что ваш новый метод «безопасен» для остальной части цепочки. Если ваш L2 выйдет из строя, это ваша ответственность. Любой может придумать странную идею (например, подход Plasma от Intmax), и даже если основные разработчики Ethereum вообще не обращают на это внимания, они могут продолжить ее создание и в конечном итоге развернуть. Это не относится к функциям L1 и предварительной компиляции, и даже в Ethereum успех или неудача разработки L1 часто оказывается политическим в большей степени, чем нам хотелось бы. Независимо от того, что можно построить теоретически, различные стимулы, создаваемые экосистемами, ориентированными на L1 и экосистемами, ориентированными на L2, в конечном итоге окажут серьезное влияние на то, что фактически создается, уровень качества и порядок, в котором это строится. .
С какими проблемами сталкивается L2-ориентированная экосистема Ethereum?
Что-то ужасно не так с архитектурой L1+L2. Источник изображения: Reddit
Этот подход, ориентированный на L2, сталкивается с ключевой проблемой, с которой редко сталкиваются экосистемы, ориентированные на L1: координация. Другими словами, хотя у Эфириума много L2, задача состоит в том, как заставить его по-прежнему ощущаться как «Эфириум» и иметь сетевые эффекты Эфириума, а не N независимых цепочек. Сегодня эта ситуация неудовлетворительна во многих отношениях:
● Для перекрестных цепочек между L2 обычно требуется централизованный межцепной мост, что очень сложно для обычных пользователей. Если у вас есть токены на Optimism, вы не можете вставить чужой адрес Arbitrum в свой кошелек для отправки средств.
● Как для личных кошельков со смарт-контрактами, так и для кошельков организаций (включая DAO), поддержка кросс-чейн кошельков со смарт-контрактами не очень хороша. Если вы меняете ключ на одном L2, вам также необходимо поменять ключ и на другом L2.
● Децентрализованная инфраструктура проверки часто отсутствует. У Ethereum наконец-то появились приличные легкие клиенты, такие как Helios. Однако это не имеет смысла, если вся деятельность происходит на уровне L2 и требует собственного централизованного RPC. В принципе, собрать легкий клиент для L2, имея заголовок блока Ethereum, несложно, но на практике этому моменту уделяется слишком мало внимания;
Сообщество усердно работает над улучшением этих трех областей. Для обмена токенами между цепочками стандарт ERC-7683 является новым решением. В отличие от существующих «централизованных межцепочных мостов», он не имеет каких-либо фиксированных централизованных узлов, токенов или управления. Для кросс-чейн-аккаунтов подход, используемый большинством кошельков, заключается в использовании кросс-чейн воспроизводимых сообщений для обновления ключей в краткосрочной перспективе и объединений хранилища ключей в долгосрочной перспективе. Начинают появляться легкие клиенты для L2, такие как Beerus для Starknet. Кроме того, недавние улучшения пользовательского опыта с помощью кошельков следующего поколения решили более фундаментальные проблемы, такие как отсутствие необходимости вручную переключать сети для доступа к DApps.
Rabby имеет полное представление о балансах активов в нескольких цепочках, чего не могли сделать предыдущие кошельки!
Но важно понимать, что экосистемам, ориентированным на L2, действительно трудно в какой-то степени координировать свои действия. Потому что у отдельного L2 нет естественного экономического стимула для создания инфраструктуры координации: мелкие L2 не будут этого делать, потому что они хотят получить лишь небольшую долю выгод, а крупные L2 не будут этого делать, потому что они могут; получить выгоду от усиления своих собственных локальных сетевых эффектов. Получите столько же или больше выгод. Если каждый L2 будет думать только о себе, и никто не будет думать о том, как он вписывается в более широкую систему Ethereum, тогда мы потерпим неудачу, как и городская утопия на картинках несколькими абзацами выше.
Трудно сказать, что существует идеальное решение этой проблемы. Все, что я могу сказать, это то, что экосистеме необходимо более полно осознать, что кросс-L2-инфраструктура является таким же типом инфраструктуры Ethereum, как и клиенты L1, инструменты разработки и языки программирования, и поэтому ее следует ценить и финансировать. У нас есть Гильдия Протоколов, возможно, нам нужна Гильдия Базовой Инфраструктуры.
Подведем итог
В различных публичных дискуссиях «L2» и «шардинг» часто рассматриваются как две противоположные стратегии расширения блокчейна. Однако, если вы посмотрите на лежащую в основе технологию, вы обнаружите загадку: фактические методы масштабирования, лежащие в основе, абсолютно одинаковы. Будь то сегментирование данных, валидаторы мошенничества или валидаторы ZK-SNARK или решения, которые обмениваются данными через «агрегаты, сегменты», основная разница заключается в том, кто отвечает за создание и обновление этих компонентов и насколько они автономны?
Экосистема, ориентированная на L2, представляет собой шардинг в истинном техническом смысле, но в рамках шардинга вы можете создавать свои собственные шарды со своими правилами. Это очень мощный, безграничный творческий потенциал, позволяющий достичь множества независимых инноваций. Но это также создает некоторые ключевые проблемы, особенно с точки зрения координации. Чтобы экосистема, ориентированная на L2, такая как Ethereum, была успешной, она должна понимать эти проблемы и решать их напрямую, чтобы получить как можно больше преимуществ от экосистемы, ориентированной на L1, и быть близкими к лучшему из обоих.