September 19, 2022

Какими должны быть Layer3?

Подготовлено специально для каналов BE•CRYPTO и Криптолаборатория

Одной из тем, которая вновь и вновь возникает в обсуждениях масштабирования Layer 2, является концепция «Layer 3». Если мы можем создать протокол второго уровня, который привязывается к первому уровню (для обеспечения безопасности и добавляет масштабируемость поверх него), то, безусловно, мы можем масштабироваться еще больше, создав протокол третьего уровня, который привязывается к Layer 2 для обеспечения безопасности и добавляет еще большую масштабируемость поверх этого? (нет)

Простая версия этой идеи звучит так: если у вас есть схема, которая может дать вам квадратичное масштабирование, можете ли вы наложить схему поверх самой себя и получить экспоненциальное масштабирование? К сожалению, все не так легко и просто. В дизайне всегда есть то, что просто не может быть стекировано и может дать вам повышение масштабируемости только один раз - ограничения на доступность данных, зависимость от пропускной способности L1 для экстренного вывода средств или многие другие проблемы.

Новые идеи, касающиеся уровней 3, такие как фреймворк, предложенный Starkware, более сложны: они не просто накладывают одно и тоже поверх самих себя, они назначают второму и третьему уровням разные цели. Некоторая форма этого подхода вполне может быть хорошей идеей, если она будет правильно реализована.

Так что же такое «разумная» версия Layer 3?

Давайте посмотрим, что отстаивает Starkware в своем посте о Layer 3. Starkware состоит из очень умных и осознанных криптографов, и поэтому, если они выступают за Layer 3, их версия будет намного сложнее, чем «если роллапы сжимают данные в 8 раз, то, очевидно, что роллапы поверх роллапов будут сжимать данные в 64 раза».

Мы можем сократить их статью до трех представлений о том, для чего нужны «Layer 3»:

1) L2 - для масштабирования, L3 - для настраиваемой функциональности, например конфиденциальности. В этом видении нет попытки обеспечить «масштабируемость в квадрате». Скорее, есть один уровень стека, который помогает масштабировать приложения, а затем отдельные уровни для настраиваемых функциональных потребностей различных вариантов использования.

2) L2 предназначен для масштабирования общего назначения, L3 - для индивидуального масштабирования. Индивидуальное масштабирование может быть в разных формах: специализированные приложения, которые используют для своих вычислений не EVM, а сжатие данных, оптимизированное для форматов данных для конкретных приложений (включая отделение «данных» от «доказательств» и замену доказательств одним SNARK за блок целиком) и т. д.

3) L2 - для масштабирования без доверия (rollups), L3 — для масштабирования со слабым доверием (validiums). Валидиумы - это системы, которые используют SNARK для проверки вычислений, но оставляют доступность данных на усмотрение доверенной третьей стороны или комитета. На мой взгляд, валидиумы сильно недооценены: в частности, многие приложения «корпоративного блокчейна» лучше всего обслуживаются централизованным сервером, который запускает валидатор и регулярно передает хэши в цепочку. Валидиумы имеют более низкий уровень безопасности, чем накопительные пакеты, но могут быть значительно дешевле.

Все три взгляда, как мне кажется, в своей основе разумны. Но это все еще оставляет открытым один большой вопрос: является ли трехуровневая структура правильным способом достижения этих целей? Т.е. разумно ли реализовывать эти вещи через дополнительный слой, или же все-таки правильнее этим решениям взаимодействовать напрямую с Layer 1?

Какой вариант на самом деле лучше?

Становится ли внесение и снятие средств дешевле и проще в поддереве уровня 2?

Одним из возможных аргументов в пользу трехуровневой модели по сравнению с двухуровневой моделью является то, что трехуровневая модель позволяет целой подэкосистеме существовать в рамках одного объединения, что позволяет выполнять междоменные операции в этой экосистеме очень дешево, без необходимости проходить дорогостоящий Layer 1.

Но, как оказалось, вы можете выгодно и дешево вносить и снимать средства даже между двумя Layer 2 (или даже Layer 3), которые находятся на одном и том же Layer 1! Ключевым моментом является то, что токены и другие активы не обязательно должны выпускаться в корневой цепочке. То есть вы можете иметь токен ERC20 на Arbitrum, создать его оболочку на Optimism и перемещаться между этими Layer 2 без каких-либо транзакций в L1.

У такой схемы есть один ключевой недостаток, по крайней мере, в optimistic rollups: для внесения депозита также требуется дождаться окна защиты от мошенничества. Если токен привязан к L1, вывод из Arbitrum или Optimism обратно в L1 занимает неделю, но зачисление происходит мгновенно. Однако в этой схеме как пополнение, так и снятие средств имеет недельную задержку. Тем не менее, неясно, лучше ли трехуровневая архитектура optimistic роллапов: существует много технических сложностей в обеспечении безопасности игры с защитой от мошенничества, происходящей внутри системы, которая сама работает на игре с защитой от мошенничества.

К счастью, это не будет проблемой для ZK rollups. Для ZK не требуется недельное окно ожидания, для них требуется более короткое окно (возможно, 12 часов с технологией первого поколения).

В заключение: что вообще такое "слой"?

Трехуровневая архитектура масштабирования, состоящая из наложения одной и той же схемы масштабирования поверх самой себя, скорее всего не будет работать должным образом. Роллапы поверх роллапов, где два уровня роллапов используют одну и ту же технологию не будут работать.

Однако трехуровневая архитектура, в которой L2 и L3 имеют разные цели, может иметь смысл. Валидиумы поверх роллапов действительно имеют смысл, даже если в долгосрочной перспективе они не станут самым лучшим решением.

Моим личным предпочтением было бы ограничить термин «Layer 2» следующими свойствами:

  • Их цель - повысить масштабируемость.
  • Они следуют схеме «блокчейн внутри блокчейна»: у них есть собственный механизм обработки транзакций и собственное внутреннее состояние.
  • Они наследуют полную безопасность сети Ethereum.

Тем не менее, языковые дебаты менее важны, чем технический вопрос о том, какие конструкции на самом деле имеют наибольший смысл. Очевидно, важную роль должны играть некие «уровни», которые служат не масштабируемым потребностям, таким как конфиденциальность, и явно существует важная функция агрегации доказательств, которую необходимо каким-то образом заполнить, и все это желательно с помощью открытого протокола.

Но в то же время есть веские технические причины сделать промежуточные уровни, которые соединяют среду, обращенную к пользователю, с уровнем 1 как можно проще. "Склеивающий слой", являющийся сверткой EVM, вероятно, не является правильным подходом во многих случаях. Я подозреваю, что более сложные (и более простые) конструкции, описанные в этой статье, начнут играть более важную роль по мере развития экосистемы масштабирования Layer 2.

Более полная и углубленная статья здесь.

Спасибо за внимание и оставайтесь с нами ❤️

Больше полезного и интересного в нашем Telegram канале