Соглашение至上:重新思考 ZK 时代的基础层

Автор: krane, lamby (Asula), sylve, lancelot (Hyle) Источник: исследование bedlam Перевод: Шаньоуба, золотые финансы

Введение

За прошедшую неделю мы увидели несколько предложений, касающихся дорожной карты слоя Соглашения ETH Square. В частности, Джастин Дрейк изложил свое видение эры ETH Workshop ZK в своей презентации на Devcon 2024. Она называется beam chain или beam форк и реализовала ряд крупных обновлений для пакетной торговли ETH, включая более короткое время слота, более быстрое завершение и «снаркификацию» ETH Agreement. Была неоднозначная реакция на амбициозность предложения и сроки этих изменений. Однако, учитывая размер экономики ETH Workshop, мы также должны признать, насколько важно подходить к ETH Workshop с осторожностью. Несмотря на признание этого, полезно подумать о том, как выглядит наиболее амбициозное будущее для базового уровня экосистемы, ориентированной на роллап. В духе «не отягощенный прошлым, только для будущего» эта статья представляет будущее, которое использует преимущества достижений ZK и Соглашения.

Мы сначала рассмотрим основы с точки зрения основных принципов, затем исследуем ключевые концепции Соглашения. Наконец, мы более подробно рассмотрим, как применять это исследование к проектированию следующего поколения базового уровня, особенно в рамках механизма ZK.

Базовый слой

В настоящее время большинство Rollup используют централизованный сортировщик для сортировки и выполнения транзакций. После создания блока сортировщик также отвечает за создание доказательства выполнения для проверки другими. Для проверки выполнения третьей стороне нужны данные о состоянии Rollup и доказательство выполнения. Обычно данные о состоянии и доказательство публикуются на уровне доступности данных (DA), а переход состояния проверяется * * уровнем проверки * (часто неправильно называемым уровнем расчетов).

В начале своего пути Ethereum разработал дорожную карту с фокусом на rollup и стал первым базовым уровнем, одновременно выполняя DA и проверку. Уникальное состояние Ethereum (то есть огромное количество ценных активов, выпущенных на Ethereum) делает его естественным слоем для проверки или поселка rollup. Используя Ethereum в качестве основы, rollup может наследовать его безопасность и ликвидность. В то же время на рынке не было специальных вариантов поселков или DA.

Даже в сегодняшнем мире с множеством специализированных уровней, Ethereum, имеющий самое большое собрание валидаторов PoS и поддержку blob, является очень безопасным выбором в качестве слоя DA. Кроме того, количество активов в семействе Ethereum и рыночная капитализация продолжают расти. Поскольку «Поселок» является специфичным для активов, для роллапов, которые позволяют принудительный выход, необходима проверка в блокчейне выпуска активов. Если роллап хочет позволить принудительный выход активов выпуска Ethereum, он должен использовать Ethereum для проверки.

Сегодня Ethereum выглядит так:

qcvqjAX5sHXReQJcPK2SEZ6rWOFuEU87EcvgfAe4.png

Однако специализированные уровни DA и уровни Поселок действительно конкурируют напрямую с выполнением этих операций на Ethereum. Например, Celestia и EigenDA уже предоставили значительно более высокую пропускную способность DA (хотя модель безопасности отличается). Точно так же, Initia расширяет концепцию проверки или центра Поселок, предоставляя Машина Oracle, единое Кошелек-приложение и встроенную интероперабельность, обеспечивая пользователям в экосистеме более безупречный опыт (что также стало важным моментом в дорожной карте Ethereum за последние несколько месяцев).

Все эти системы используют ту же форму, что и Ethereum, основной уровень разбивается на доступность данных и проверку, каждый уровень служит в качестве специализированной ступени для своих операций:

nGxJlhq3a0l5VW1ayYqW5Mkga9e60pbJ4rN24Z6e.png

Новое ключевое понимание в новом дизайне заключается в том, что DA-слою и слою проверки требуется оптимизация и разделение. Исходная цель блокчейна заключалась в достижении Децентрализация доверенного третьего лица между двумя недоверяющими друг другу сторонами сделки. В системе, сосредоточенной вокруг rollup, роль базового слоя заключается в выступлении Децентрализация доверенного третьего лица между rollup для обеспечения их взаимодействия. Как только базовый слой подтверждает состояние rollup, все другие rollup могут неявно доверять базовому слою. Еще одной ключевой особенностью дизайна, сосредоточенного вокруг rollup, является то, что он позволяет приложениям предоставлять пользователям быстрый и недорогой доступ к подтверждению транзакций в среднем случае (через некоторого рода централизованного сортировщика), не подвергая окончательный аудит риску в худшем случае (через вынужденное завершение базового слоя).

Учитывая наше понимание разделения доступности данных и проверки, а также основную функцию базового уровня в обеспечении конечной проверки и взаимодействия между компонентами сопротивления и Rollup в выпуске активов, мы можем сделать вывод о том, как построить более эффективный базовый уровень. В настоящее время Rollup публикует данные состояния на базовый уровень каждые несколько часов, что означает, что предварительное подтверждение, предоставляемое классификатором Rollup, завершается только в этом временном интервале на основе базового уровня. Базовый уровень с более высокой пропускной способностью данных, чем ETH Ethereum L1, позволяет Rollup более часто публиковать данные, сокращая время от предварительного подтверждения Rollup до подтверждения на базовом уровне и повышая безопасность Rollup. Также более быстрая проверка может обеспечить более быстрое взаимодействие между Rollup, что позволяет избежать использования мостов и маркетмейкеров для Ликвидность. Мы можем использовать конкретное понимание формы рабочей нагрузки, с которой базовый уровень должен работать, чтобы построить базовый уровень с более высокой пропускной способностью и более быстрой связью между Rollup.

Интеграция Блокчейн имеет «горячую зону», такую ​​как пул DEX, который часто подвергается атакам. Это делает относительный порядок транзакций всех участников очень важным. С другой стороны, rollup обычно работает на значительно отдельном пространстве состояний, и большинство транзакций влияют только на состояние внутри своего собственного rollup. Хотя меж-rollup взаимодействие действительно происходит (например, когда пользователь перемещает активы между rollup или объединяет rollup), эти взаимодействия явны, четко определены и известны заранее. Поскольку большинство транзакций в каждом rollup работает в отдельном состоянии и взаимодействия между rollup обрабатываются через определенный механизм взаимодействия, то необходимость строгой полной сортировки всех данных rollup на базовом уровне меньше. Напротив, сортировка должна выполняться только при явном взаимодействии между rollup:

HaaEfmlNoUbNl3zZ5yF8KaFQI65V7FglMvMQh6co.png

Два Rollup публикуют список различий в состоянии и свои доказательства ZK для преобразования состояния на базовый уровень.

Внимание: Мы предполагаем, что Rollup публикует здесь список различий состояний и ZK-доказательство преобразования состояний Rollup.

Здесь основные идеи крутятся вокруг причинно-следственных отношений между сделками, иподдержкали значительную работу вокруг модели Направленный ациклический граф (DAG) Соглашение. В целом, DAG Алгоритм пытается четко определить зависимости, чтобы вычисления/обработка могли выполняться параллельно. Исходя из этих идей, мы ожидаем появление базового уровня rollup, где Соглашение в значительной степени расслабляется для поддержки более высокой пропускной способности и более низкой задержки.

Естественное разделение состояния Rollup показывает, что принудительное соблюдение общего порядка для всех транзакций Rollup может быть излишней нагрузкой. Системы, такие как delta и Hylé, используют это понимание, позволяя Rollup работать независимо, требуя только координации между доменами для передачи активов. Однако это не полностью устраняет Соглашение; наоборот, это улучшение в местах, где оно действительно нужно. Инновация заключается в понимании, что этот порядок может быть ограничен только в тех местах, где он действительно необходим, а не принудительно применяться ко всем транзакциям.

Основное влияние этой разделенной зоны заключается в создании элегантного решения Rollup для увеличения пропускной способности отдельной исполняющей среды без ущерба для комбинируемости с другими Rollup.

Порядок причинности и полный порядок

Перед тем как мы погрузимся в дальнейшее обсуждение, давайте сначала вспомним, что такое сортировка. В общем смысле, Соглашение представляет собой единодушное мнение всех Узел в сети относительно упорядочивания действительных транзакций:

  • Линейный Блокчейн должен достичь единства в полном порядке сделок, то есть в полном линейном порядке событий, как они видятся всеми участниками Узла. Независимые друг от друга сделки по-прежнему упорядочены в глобальном порядке.
  • С другой стороны, порядок причинности просто упорядочивает транзакции, то есть транзакции, которые произошли раньше, расположены перед транзакциями, зависящими от их вывода. Транзакции без причинной связи не нуждаются в взаимном упорядочивании. Это также называется частичным порядком. DAG - это структура данных, которая реализует частичный порядок в наборе транзакций. Частичный порядок также открывает возможность для параллельного выполнения транзакций между непересекающимися частями DAG. Здесь нет единого глобального порядка транзакций, с которым согласны все узлы.

Полный порядок может быть построен на основе DAG. Для достижения согласованности порядка параллельных событий требуется дополнительный механизм согласования. Протокол Narwhal And Tusk или более новое развитие в Mysticeti SUI является примером.

PR8JzkDaaYtfT0IOq8HEoNEC1422fu5hjslMC3KK.png

DAG внутри транзакции может быть подтверждено независимо от других не связанных транзакций. Как только транзакция получает признание большинства валидаторы, она считается действительной. Разрешение отдельных транзакций подтверждать их без подтверждения в блоке может значительно увеличить пропускную способность транзакций, поскольку можно параллельно предложить и подтвердить множество транзакций. Это можно рассматривать как обобщение Соглашение одиночного лидера, где любые валидаторы могут предложить новые транзакции (Примечание: это также можно рассматривать как предложение блока, содержащего отдельную транзакцию).

Подведем итоги принципа работы проверки транзакций в DAG:

  • Пользователь передает Трансляция транзакций подмножеству Узлов-валидаторов.
  • Когда Узел получает транзакцию, он сначала проверяет, конфликтует ли эта транзакция с любой известной ему на данный момент транзакцией на основе локального представления графа.
  • Если возникают конфликты, например, если пытаться потратить одни и те же средства, транзакция будет отклонена.
  • Если конфликта нет, принимающий узел будет взаимодействовать с другими узлами в сети, чтобы достичь какой-либо формы соглашения о действительности транзакции. Одним из таких методов является субвыборка, при которой узел начинает несколько раундов запросов, выбирая подмножество других узлов и спрашивая их, считают ли они транзакцию действительной, основываясь на своем локальном мнении. Если пороговое значение для узла выборки — положительный ответ, раунд запросов считается успешным и кворум достигнут. Этот процесс выборки повторяется до тех пор, пока узел не будет уверен в действительности транзакции. Этот процесс позволяет узлам быстро достичь вероятностного консенсуса относительно действительности транзакции без необходимости глобального согласия. Двойная выборка помогает обеспечить консенсус во всей сети, что делает крайне маловероятным, что конфликтующие транзакции будут приняты одновременно.

xRaCG8YyEgH8OdrZNpqo5HU7ZjWRdp1gjRufjlYD.png

Подвыборка проверки сделок

Необходимо подчеркнуть, что любой Узел в любое время может запустить этот интерактивный процесс для достижения законного количества лиц, что позволяет иметь различные пути к достижению Соглашение. В каком-то смысле каждый валидатор или реплика работает на своей собственной блокчейн и регулярно синхронизируется с другими Узел. Идея продвижения нескольких различных блокчейнов перед координацией также изучается вне DAG-дизайна, например, в Autobahn (по-прежнему зависит от разделения передачи данных и упорядочения). В Autobahn каждый валидатор поддерживает свой собственный канал транзакций, а затем координируется в процессе синхронизации. Хотя в данной статье они явно не называются блокчейнами, мы считаем, что каналы очень близки к блокчейнам, а процесс синхронизации похож на объединение нескольких блокчейнов.

Причинно-следственные связи в базовом слое

Теперь, когда мы понимаем концепцию причинности, мы можем попытаться собрать воедино то, как это понятие соотносится с основополагающим слоем. Как упоминалось ранее, накопительные пакеты обычно публикуют данные о состоянии или списки различий состояний, которые соответствуют обновлениям состояния в их собственном постоянном состоянии секции. Данные, опубликованные двумя свертками, не являются спорными для некоторого «горячего состояния», поскольку данные вообще не пересекаются друг с другом. Это ослабляет необходимость в глобальном упорядочении на базовом уровне. Кроме того, чтобы проверить новое состояние свертки, просто проверьте ранее опубликованное состояние свертки. В результате базовый уровень может свободно сортировать эти транзакции свертки, что позволяет им работать независимо друг от друга, не дожидаясь глобального упорядочения:

KCHOwUtFFFk5FD2Cr1yC9GT0S3SrOVJ7WSrFs6IU.png

В более широком смысле, rollup должен иметь возможность свободно публиковать данные и доказательства на базовом уровне, не беспокоясь о затратах. При распространении данных в сети валидаторы базового уровня будут проверять доказательства, опубликованные упорядочивателем rollup. Если определенное количество валидаторов проверят это доказательство, предполагается, что сделка подтверждена. Такая система позволит rollup подтверждать данные со скоростью их распространения через базовый уровень. В теории это также должно сократить время между предварительным подтверждением упорядочивателя и подтверждением базового уровня.

4Nryc8KdJRiE6BPil7NJY2OMlxR2tWBw5a41d8jX.png

Вышеперечисленные системы зависят от Шардинга, основанного на ZK, а не от репликации выполнения, как будущих верифицируемых приложений.

Для перемещения данных между двумя rollup через кросс-шардовые транзакции требуется сортировка, но это только частично. Например, для перемещения актива X из rollup A в rollup B необходимо, чтобы транзакции вывода с rollup A достигли установленного законом количества лиц, после чего rollup B сможет включить транзакции депозита. Быстрые подтверждения от базового уровня обеспечат надежные гарантии для взаимодействия между rollup в одной экосистеме и создадут сетевой эффект для базового уровня. Быстрое взаимодействие вместе с большим количеством ценных активов может сделать базовый уровень привлекательным для потенциальных rollup. В конце концов, такой специализированный дизайн позволит:

  • Время подтверждения сделок Rollup быстрое.
  • Быстрая взаимосвязь между Rollup (без моста Ликвидность или ликвидности).
  • Специальная пропускная способность DA для Rollup.
  • Специальный инструмент для проверки Rollup (более мощная система подтверждения).

Краткое объяснение: накопление стоимости базового актива

Обсуждение выше предоставляет основу для rollup, предоставляющую дешевый, быстрый и безопасный базовый уровень. Однако большая часть обсуждений вокруг дорожной карты, сосредоточенной на rollup, в настоящее время связана с накоплением стоимости ETH и Ethereum. L2 с пользовательскими отношениями (например, Base) могут взимать премию за свое Блок-пространство и возвращать только небольшую часть своего дохода в виде DA-сборов для Ethereum.

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

Есть и другие аргументы, согласно которым улучшение выполнения базового уровня может увеличить накопление стоимости родного Токена. Фактически это позволяет базовому уровню конкурировать с rollup, нарушая принципы дизайна, ориентированные на rollup. Другой способ выполнения (возможно, даже предпочтительный) - создание утвержденного rollup, в котором активы базового уровня защищены путем вновь застейкания сортировщика rollup. При необходимости даже набор валидаторов базового уровня может выступать в качестве набора сортировщиков rollup (хотя наборы валидаторов не обязательно должны быть одинаковыми). Фактически, после выступления Мартина Кёппельмана на Devcon 2024, тема утвержденного или родного rollup начинает обретать популярность. Для экосистемы, подобной Ethereum, это позволит вернуть ETH часть утраченной стоимости, а также дать разработчикам больше свободы для экспериментов на rollup, поскольку затраты на застейкание rollup могут быть значительно ниже, чем на уровне Layer-1 Ethereum.

Вывод

В целом мы считаем, что эра zk представляет собой настоящее и перспективное будущее Ethereum и всего блокчейна. В этой статье мы обобщаем, как комбинация zk с передовым соглашением представляет потенциально новое направление для базового уровня в системе, сосредоточенной на rollup. Путем сочетания zk-SNARKs с идеей, заимствованной из механизма консенсуса на основе DAG, мы можем переосмыслить базовый уровень, оптимизированный специально для rollup. Соглашение применяется только там, где фактически используется общее состояние, а не в качестве единого требования для всех операций. По мере развития экосистемы в сторону модульного дизайна, мы ожидаем, что такой более тонкий подход к базовому уровню соглашения станет стандартом в модульном блокчейне.

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

Мы не должны бояться иметь большие мечты.

Посмотреть Оригинал
  • Награда
  • комментарий
  • Поделиться
комментарий
Нет комментариев