Примечание авторов: init4 — это исследовательский коллектив, работающий над инструментами следующего поколения Ethereum. Это заметка исследования, а не документ о раскрытии информации. Хотя мы будем обсуждать тонкости и пробелы в моделях безопасности развернутых и предложенных систем, было бы гиперболически называть их «уязвимостями» или «ранее неизвестными».
С сопротивлением цензуре остается основной ценностью криптовалют в целом, и Ethereum в частностиМы считаем, что преимущества проведения транзакций on-chain должны быть доступны каждому, и что правила цепочки должны применяться к всем пользователям и использованиям в равной степени. Значения движут эту область вперед. Инженерия - это процесс проверки наших ценностей на прочность в реальности, чтобы найти места и способы их нарушения.
Домино тоже идут по очереди :) Фото от Том УилсоннаUnsplash
Мы склонны моделировать цензуру как намеренное предотвращение появления транзакций в каноническом порядке (т.е. исключение транзакций). Мы считаем заказы справедливыми или нейтральными, если они полностью зависят от экономического результата системы заказов, и несправедливыми или цензурированными, когда они зависят от другой информации. Например, при создании блока допустимо отказаться от включения транзакции с низкой комиссией, но недопустимо отказаться от включения транзакции из-за того, что она была отправлена конкретным человеком. Таким образом, мы говорим, что транзакция подвергается цензуре, если ее включение зависит от неэкономической информации. Если транзакция создает более заметную прибыль для системы заказов, чем любая включенная транзакция, но сама по себе не включена, она считается цензурированной. Это определение мотивирует работу над механизмами принудительного включения для сопротивления цензуре. Если пользователь может принудительно включить свою транзакцию, то она не может быть подвергнута цензуре в соответствии с этим определением.
Одной из основных целей безопасности OP Stack цепочек является то, что Секвенсор не должен иметь возможности предотвращать пользователей от отправки транзакций на L2 цепочку.
Современные роллапы обычно имеют централизованную последовательность. Это означает, что цензура со стороны последователя является тривиальной, поскольку он может просто не включать любую данную пользовательскую транзакцию. Чтобы смягчить это, несколько роллапов, включая ОптимизмиArbitrum- имеют механизмы принудительного включения. Эти механизмы позволяют пользователю гарантировать, что их транзакция будет выполнена роллапом после некоторой задержки времени, независимо от поведения секвенсора. Включение происходит за счет контракта, развернутого на L1. Таким образом, транзакции с принудительным включением (теоретически) имеют ту же стойкость к цензуре, что и другие транзакции Ethereum.
Вынужденная включенность определяет поддиапазон, который должен быть сохранен в любом допустимом порядке.
Также был предложен механизм принудительного включения для Ethereum через EIP-7547. Списки включения позволят частично указать содержимое следующего блока. При условии, что предложители блоков имеют меньше стимулов для цензуры, чем строители блоков, это обеспечит эффективное смягчение цензуры.
В общем, принудительные механизмы включения создают новые ограничения на допустимые порядки. Они делают широкие классы порядков недопустимыми в соответствии с правилами протокола1. Принудительное включение следует рассматривать как позволяющее пользователю указать подмножество будущего упорядочения. Все допустимые упорядочения должны расширяться на принудительное подмножество.
К сожалению, подтверждение транзакции - это средство, а не конечная цель. Наша модель цензуры неполна!
Цензура должна определяться с точки зрения целей. Пользователи хотят отправлять токены, покупать NFT, занимать средства и т. д. и т.. Подтверждение транзакции является побочным по отношению к этой цели2. Цензоры, так же, имеют конкретные цели. Эта цель может быть в том, чтобы предотвратить успешное совершение некоторой хакерской транзакции, соблюдать определенный закон или вмешаться в бизнес конкурента. С уважением к намерениям обеих сторон, нам нужно переопределить понятие цензуры.
Имея это в виду, мы должны расширить наше определение цензуры, чтобы сказать: транзакция подвергается цензуре, если третья сторона может помешать ей достигнуть своей цели. Другими словами, цензору не нужно предотвращать подтверждение транзакции; им просто нужно заставить выполнение смарт-контракта откатиться. Откат EVM-транзакции является цензурой этой транзакции, несмотря на то, что транзакция является частью канонической цепочки. Модели угроз, которые не учитывают содержание транзакции, не точно моделируют цензуру и, следовательно, не могут эффективно защитить пользователей от нее.
Полусформально можно сказать, что для любого данного взаимодействия с цепочкой существует некоторый предикат оценки f, который оценивает полученный порядок и выдает 0 (цель не достигнута) или 1 (цель достигнута). В этой модели функция оценки цензора просто отрицание: f’ = !f. Цензор достигает своей цели, когда пользователь этого не делает.3
Несмотря на то, что цель пользователя может быть скрыта, сама транзакция почти всегда содержит достаточно информации, чтобы сделать вывод. Сделки Uniswap имеют очевидные цели. Кроме того, поскольку блокчейны являются детерминированными, цензор может точно предсказать, какие порядки удовлетворят предикату цензора. В результате пользователи не могут полагаться на скрытую информацию, чтобы защитить себя от цензуры в модели EVM. Детали транзакции должны быть публичными, что означает, что информация о цели пользователя является публичной.
Для упрощения давайте предположим, что мы работаем в стандартной модели последовательности предварительного запуска.4. Мы займемся принудительным включением под последующей ротацией позже. В этой модели последователь имеет полный контроль над последовательностью и может идеально имитировать любой результат. Другими словами, они вольны выбирать из набора всех возможных порядков. Наш полуформальный вопрос о цензуре тогда становится "существует ли некоторый действительный порядок, над которым f оценивается как 0"? Если такой порядок существует, то последователь может его выбрать.
Оттуда мы можем расширить нашу модель, чтобы учесть принудительное включение. "Существует ли некоторый допустимый порядок, который включает подпорядок пользователя, при котором f равно 0?" Если такой порядок существует, секвенсор может его выбрать. Принудительное включение не мешает секвенсору контролировать порядок, оно только ограничивает их поведение. К сожалению, принудительное включение имеет фундаментальные проблемы, которые мешают ему быть эффективным механизмом сопротивления цензуре для многих транзакций.
Механизмы принудительного включения означают, что заказ происходит в одном из двух режимов: непринужденном или принудительном. Существует определенный момент, когда происходит переход из непринужденного в принудленный (и наоборот). Этот момент - передача. Передача представляет собой сложную проблему для проектирования механизмов принудительного включения.
Должен быть переход от добровольного к принудительному включению.
Принудительная транзакция выполняется на состоянии при передаче. Итак, снова состояние конфликта5поднимает свою уродливую голову. Когда передача происходит в пределах пакета транзакций (например, блока), создатель пакета может контролировать состояние на момент передачи. Если принудительная транзакция считывает какое-либо общедоступное состояние, то создатель пакета может переписать это состояние до и после выполнения принудительной транзакции. Конфликт достаточен для цензуры.
Поскольку создатель пакета может контролировать состояние при передаче, он может повлиять на результат принудительной транзакции. Если он может повлиять на результат, то потенциально он может повлиять на результат оценочного предиката. Например, рассмотрим простое взаимодействие с AMM. Пользователь задает минимальную допустимую цену, однако создатель пакета может убедиться, что в точке передачи рыночная цена ниже минимальной допустимой цены. Это приводит к откату транзакции пользователя, фактически цензируя пользователя.67
Интересно, цензура через состязание государства эффективнее, чем цензура через исключение. Исключенная транзакция может быть включена в будущие блоки. Транзакция, подвергнутая цензуре через состязание, окончательно аннулируется. Она была включена в цепочку и более никогда не может быть включена снова. Такая транзакция никогда не может достичь цели пользователя. Чтобы попытаться снова, пользователь должен создать и повторно отправить транзакцию (которая может быть потенциально подвергнута цензуре снова).
Любой пользователь может полностью обойти Секвенсор, чтобы отправить любую транзакцию Arbitrum (включая ту, которая, скажем, инициирует сообщение с L2 на L1 для вывода средств) напрямую на уровне 1. Таким образом, этот механизм сохраняет сопротивление цензуре даже в случае полного отсутствия ответа или злонамеренности Секвенсора.
В модели последовательности "run-ahead" у последователя практически полный контроль над местоположением передачи в последовательности и он платит сниженные комиссии (поскольку ему не нужно давать чаевые и он может упражнять некоторый контроль над базовой комиссией EIP-1559). В результате последователь находится в привилегированном положении для использования состязания состояний с целью цензуры действий пользователей. Это тривиально. Проблема передачи обеспечивает возможность последователю цензурировать большие классы транзакций.
Для EIP-7547 строители выбирают, где происходят передачи блока.8В результате строитель способен выбрать место передачи внутри блока. Это означает, что они могут выбрать префикс и постфикс по своему усмотрению,9пока они соблюдают правила использования блоков газа. Префикс может поместить цепь в состояние, на котором транзакция будет отменена, в то время как постфикс восстановит цепь в нормальное состояние. Списки включения EIP-7547 недостаточно для предотвращения цензуры для любой транзакции, получающей доступ к спорному состоянию. Проблема передачи предотвращает IL от обеспечения выполнения транзакции в большинстве случаев.
Принудительное включение неэффективно для защиты пользователей от цензуры при большинстве незначительных использований блокчейна. Проблема передачи управления обеспечивает достаточное усмотрение цензора даже если у него нет достаточного усмотрения в отношении порядка. Эта проблема затрагивает AMM, рынки кредитования, аукционы и большинство других действий DeFi. Многие важные действия могут быть подвержены цензуре, даже если вы можете гарантировать включение транзакции. Состояние спора создает жесткие ограничения для эффективности принудительного включения как механизма сопротивления цензуре.
Чтобы увидеть далеко идущие последствия этого, рассмотрим пользователя, предоставляющего в займ USDC на рынке займов на Optimism. Когда пользователь хочет вывести USDC с рынка, он отправляет транзакцию Optimism, которую цензор заблокировал. Затем они используют официальный механизм принудительного включения, чтобы поставить свою транзакцию в очередь на Ethereum, обойдя цензора.
Секвенсор может видеть эту транзакцию в очереди и может решить ее перехватить. Чтобы произвести цензуру транзакции, секвенсор занимает все доступные USDC с рынка непосредственно перед принудительной транзакцией. Поскольку на рынке больше нет ликвидности, принудительная транзакция отменяется. Затем секвенсор может немедленно погасить USDC.
Скриптовая или конструкторская часть может изменять состояние при передаче.
Для этого требуется, чтобы у последовательности было достаточно залога для займа USDC, но это накладывает лишь крайне малую затрату на займ.10Более того, залог можно использовать повторно для всех случаев цензуры, так как заем не остается открытым. В результате, пользователь AAVE или Compound на Optimism (или Arbitrum или любом другом централизованном rollup) не имеет гарантии, что сможет когда-либо вывести залог. Секвенсор может в любое время цензурировать любой вывод из любого рынка займа. Принудительное включение просто недостаточно для защиты пользователей от цензуры.
У нас есть несколько областей для дальнейших исследований.
Во-первых, EIP-7547 может быть легко улучшен путем требования обработки IL-транзакций в конце следующего блока. В контексте аукциона PBS цензура - это MEV. Застройщик получает некоторую неэкономическую ценность, которой он должен придать субъективную стоимость, выраженную в ETH. Цензура со стороны застройщика вызывает увеличение ставки застройщика на блок.11Это распространяется на искателей, которые могут создавать пакеты цензуры. Некоторая экономическая ценность цензуры затем захватывается предлагающим, обеспечивая стимул терпеть цензуру даже тогда, когда он не участвует в ней напрямую. Размещение принудительных транзакций включения в конце блока устраняет возможность строителя блока легко вставить транзакции IL и увеличивает экономические затраты на спорную цензуру. Например, цензура взаимодействия с AMM через состязание состояний может потребовать отказаться от некоторой арбитражной торговли AMM или высоких затрат, чтобы вывести рынок из диапазона, который не может быть скомпенсирован закрытием сэндвича. Кроме того, это ограничит производимые искателями (а не строителями) пакеты цензуры до одного на блок.12Мы рекомендуем выполнение начала блока, так как префикс более значим, чем постфикс, однако это значительно увеличит стоимость транзакции в IL, так как это позволит извлекать MEV начала блока путем принудительного включения.13 Отмена права цензора атомарно постфиксировать транзакции IL — это небольшое улучшение.
Во-вторых, проблема передачи существует из-за того, что цензор может заглянуть вперед с помощью моделирования транзакций и осуществлять контроль над состоянием ввода. Многие механизмы сопротивления MEV вводят скрытую информацию, чтобы лишить цензора возможности получать информацию о целях пользователей и моделировать результаты. Как правило, это схемы фиксации-раскрытия, в которых некоторая информация о транзакциях является конфиденциальной до тех пор, пока не произойдет заказ. Разделение порядка-исполнения и скрытая информация кажутся многообещающими, но в значительной степени несовместимы с цепочкой поставок MEV, процессами консенсуса Ethereum и моделью последовательного свертки. Какой-то способ свести на нет возможность симулировать транзакции позволил бы решить проблему цензуры и больших классов MEV, но был бы чрезвычайно агрессивным для протокола, операторов протокола, приложений и конечного пользователя.
Третье, существует интересный класс «независимых от порядка» функций оценки. Это цели, которые не могут быть ограничены государственным противоборством, либо потому, что они не обращаются к противоречивому состоянию, либо потому, что противоречивое состояние, к которому они обращаются, имеет достаточные ограничения, чтобы сделать его «надежным» в некотором смысле. Действия, независимые от порядка, включают отправку ETH на EOA, большинство отправок ERC-20,14и некоторые взаимодействия DeFi, такие как добавление залога на рынок. Эти действия защищены от цензуры через сопротивление. Этот класс целей также имеет интересные соответствия в безопасной межцепной коммуникации и сопротивлении MEV, и заслуживает более глубокого изучения. Приложения и протоколы могут быть разработаны так, чтобы в некоторых случаях включать только действия без учета порядка, но для этого требуется более глубокое изучение.
Расширенное состояние позволяет злоумышленникам подвергать транзакции цензуре, сохраняя при этом их. Проблема передачи является основополагающей для механизмов принудительной инклюзии, и ее можно только смягчить. В сводках с централизованной последовательностью устранение рисков невозможно. Принудительное включение не может решить проблему цензуры в присутствии спорного государства. Большие классы экономически важных сделок могут быть подвергнуты цензуре, даже если они включены силой. Проблема hand-off является эндемичной для современных роллапов и присутствует в EIP Ethereum, устойчивых к цензуре. В результате, принудительное включение, хотя и полезно, никогда не бывает достаточным для того, чтобы обеспечить устойчивость к цензуре для сетей богатых государств. Роллапы не «наследуют» свойства безопасности Ethereum, и глупо предполагать, что это так. Когда вы перестаете зацикливаться на инклюзии, становится очевидным, что сопротивление цензуре является частным случаем сопротивления MEV.
Мы хотели бы поблагодарить Майк Нойдер, Тарун Читра, и Брэндон Кертисдля рассмотрения и отзыва.
Как это обычно бывает, для L1 это достигается путем отбрасывания недопустимых блоков, в то время как в роллапах это достигается путем приведения недопустимых последовательностей к валидным последовательностям с помощью некоторой функции фильтрации.
Это не пост о намерениях, на данный момент миру не нужно больше таких.
Очевидно, что это неполная модель, так как она не учитывает субъективные значения результатов. Например, цензор может потерять любую сумму денег, если цензура не сработает (например, потому что он может быть арестован французской полицией, если он не подвергнет цензуре определенное поведение). С другой стороны, пользователь может выиграть/потерять любую сумму денег, если его цель не будет достигнута в течение определенного периода времени (например, он взял кредиты на сумму $100 млн+ под залог своего собственного токена и ему нужно повторно обеспечить позицию до того, как она будет ликвидирована).
В отличие от модели секвенсора 'based'. В большинстве современных rollups секвенсор 'пробегает впереди' Ethereum, поскольку он предоставляет аттестации включения и выполнения для транзакции до того, как транзакция была подтверждена в Ethereum. В этой модели секвенсор полностью контролирует последовательность, и результат транзакции должен быть независим от переупорядочивания Ethereum.
Когда несколько пользователей хотят получить доступ к одному и тому же контракту, активу или состоянию, их транзакции "соперничают" друг с другом и потенциально могут мешать друг другу. Соперничество может возникать случайно или намеренно. Это неразрешимая проблема богатого состояния в блокчейн-системах. Общедоступный доступ к общему состоянию является корнем MEV, проблем масштабируемости и упадка цивилизованности в современном обществе.
В целом, вам следует рассматривать цензуру через состязание государства как специализированный случай MEV. Поскольку извлеченная стоимость находится вне цепи, не наблюдаема и потенциально очень большая, может быть сложно предсказать, когда произойдет цензура через состязание государства.
Мы специально рассмотрели использование конкуренции штатов для отмены транзакций в нашей статье 2017 года «Майнеры не являются вашими друзьями”. В то время термин «MEV» еще не использовался.
Хорошо известно, что PBS значительно усложняет сопротивление цензуре. См. VB’s@vbuterin/pbs_censorship_resistance">Исследовательская записка.
Префикс и постфиксинг транзакции обычно называется «сэндвичингом» и хорошо понимается как метод использования конкуренции состояний для извлечения MEV.
Заём держится всего несколько секунд, если вообще держится. В некоторых случаях секвенсоры Rollup могут удерживать отметки времени или границы блоков, чтобы эффективное время займа было равно 0.
Застройщик будет готов платить в соответствии со своей субъективной ценностью цензуры, потенциально подталкивая ставку выше объективно наблюдаемой извлекаемой стоимости блока. В крайних случаях это может привести к тому, что у цензора будет отрицательное изменение баланса ETH (т.е. он заплатит больше ETH за создание блока, чем получит в виде комиссий и вознаграждений).
Обратите внимание, что это зависит от правил аукциона MEV, которые предотвращают взаимное пересечение транзакций из разных пакетов и не позволяют «должным образом откатываться» транзакции. Если эти правила будут смягчены для разрешения пересечения транзакций в пакетах и/или если разработчики начнут поддерживать блоки «должным образом откатываться» в пакетах, защита исчезнет. Эта динамика возникает потому, что если IL-транзакции должны быть в конце блока, невозможно пересекать необязательные транзакции, и, следовательно, максимум один пакет с цензурой поисковика может возникнуть.
Эффективно позволяя строителю создавать ограниченные межблочные пакеты. Предконсенсусные системы вроде ФОЦИЛможет смягчить это.
Для стандартного токена ERC-20 вызов передачи обычно не поддается цензуре через спор, поскольку сторонние лица не могут уменьшить баланс пользователя. Однако рассмотрим вызов transferFrom. Если утвержденный передающий является контрактом, который позволяет спорить на своем собственном состоянии, то действие может быть подвержено цензуре через этот спор (потребление утверждения, требуемого для transferFrom, непреднамеренным образом).
Примечание авторов: init4 — это исследовательский коллектив, работающий над инструментами следующего поколения Ethereum. Это заметка исследования, а не документ о раскрытии информации. Хотя мы будем обсуждать тонкости и пробелы в моделях безопасности развернутых и предложенных систем, было бы гиперболически называть их «уязвимостями» или «ранее неизвестными».
С сопротивлением цензуре остается основной ценностью криптовалют в целом, и Ethereum в частностиМы считаем, что преимущества проведения транзакций on-chain должны быть доступны каждому, и что правила цепочки должны применяться к всем пользователям и использованиям в равной степени. Значения движут эту область вперед. Инженерия - это процесс проверки наших ценностей на прочность в реальности, чтобы найти места и способы их нарушения.
Домино тоже идут по очереди :) Фото от Том УилсоннаUnsplash
Мы склонны моделировать цензуру как намеренное предотвращение появления транзакций в каноническом порядке (т.е. исключение транзакций). Мы считаем заказы справедливыми или нейтральными, если они полностью зависят от экономического результата системы заказов, и несправедливыми или цензурированными, когда они зависят от другой информации. Например, при создании блока допустимо отказаться от включения транзакции с низкой комиссией, но недопустимо отказаться от включения транзакции из-за того, что она была отправлена конкретным человеком. Таким образом, мы говорим, что транзакция подвергается цензуре, если ее включение зависит от неэкономической информации. Если транзакция создает более заметную прибыль для системы заказов, чем любая включенная транзакция, но сама по себе не включена, она считается цензурированной. Это определение мотивирует работу над механизмами принудительного включения для сопротивления цензуре. Если пользователь может принудительно включить свою транзакцию, то она не может быть подвергнута цензуре в соответствии с этим определением.
Одной из основных целей безопасности OP Stack цепочек является то, что Секвенсор не должен иметь возможности предотвращать пользователей от отправки транзакций на L2 цепочку.
Современные роллапы обычно имеют централизованную последовательность. Это означает, что цензура со стороны последователя является тривиальной, поскольку он может просто не включать любую данную пользовательскую транзакцию. Чтобы смягчить это, несколько роллапов, включая ОптимизмиArbitrum- имеют механизмы принудительного включения. Эти механизмы позволяют пользователю гарантировать, что их транзакция будет выполнена роллапом после некоторой задержки времени, независимо от поведения секвенсора. Включение происходит за счет контракта, развернутого на L1. Таким образом, транзакции с принудительным включением (теоретически) имеют ту же стойкость к цензуре, что и другие транзакции Ethereum.
Вынужденная включенность определяет поддиапазон, который должен быть сохранен в любом допустимом порядке.
Также был предложен механизм принудительного включения для Ethereum через EIP-7547. Списки включения позволят частично указать содержимое следующего блока. При условии, что предложители блоков имеют меньше стимулов для цензуры, чем строители блоков, это обеспечит эффективное смягчение цензуры.
В общем, принудительные механизмы включения создают новые ограничения на допустимые порядки. Они делают широкие классы порядков недопустимыми в соответствии с правилами протокола1. Принудительное включение следует рассматривать как позволяющее пользователю указать подмножество будущего упорядочения. Все допустимые упорядочения должны расширяться на принудительное подмножество.
К сожалению, подтверждение транзакции - это средство, а не конечная цель. Наша модель цензуры неполна!
Цензура должна определяться с точки зрения целей. Пользователи хотят отправлять токены, покупать NFT, занимать средства и т. д. и т.. Подтверждение транзакции является побочным по отношению к этой цели2. Цензоры, так же, имеют конкретные цели. Эта цель может быть в том, чтобы предотвратить успешное совершение некоторой хакерской транзакции, соблюдать определенный закон или вмешаться в бизнес конкурента. С уважением к намерениям обеих сторон, нам нужно переопределить понятие цензуры.
Имея это в виду, мы должны расширить наше определение цензуры, чтобы сказать: транзакция подвергается цензуре, если третья сторона может помешать ей достигнуть своей цели. Другими словами, цензору не нужно предотвращать подтверждение транзакции; им просто нужно заставить выполнение смарт-контракта откатиться. Откат EVM-транзакции является цензурой этой транзакции, несмотря на то, что транзакция является частью канонической цепочки. Модели угроз, которые не учитывают содержание транзакции, не точно моделируют цензуру и, следовательно, не могут эффективно защитить пользователей от нее.
Полусформально можно сказать, что для любого данного взаимодействия с цепочкой существует некоторый предикат оценки f, который оценивает полученный порядок и выдает 0 (цель не достигнута) или 1 (цель достигнута). В этой модели функция оценки цензора просто отрицание: f’ = !f. Цензор достигает своей цели, когда пользователь этого не делает.3
Несмотря на то, что цель пользователя может быть скрыта, сама транзакция почти всегда содержит достаточно информации, чтобы сделать вывод. Сделки Uniswap имеют очевидные цели. Кроме того, поскольку блокчейны являются детерминированными, цензор может точно предсказать, какие порядки удовлетворят предикату цензора. В результате пользователи не могут полагаться на скрытую информацию, чтобы защитить себя от цензуры в модели EVM. Детали транзакции должны быть публичными, что означает, что информация о цели пользователя является публичной.
Для упрощения давайте предположим, что мы работаем в стандартной модели последовательности предварительного запуска.4. Мы займемся принудительным включением под последующей ротацией позже. В этой модели последователь имеет полный контроль над последовательностью и может идеально имитировать любой результат. Другими словами, они вольны выбирать из набора всех возможных порядков. Наш полуформальный вопрос о цензуре тогда становится "существует ли некоторый действительный порядок, над которым f оценивается как 0"? Если такой порядок существует, то последователь может его выбрать.
Оттуда мы можем расширить нашу модель, чтобы учесть принудительное включение. "Существует ли некоторый допустимый порядок, который включает подпорядок пользователя, при котором f равно 0?" Если такой порядок существует, секвенсор может его выбрать. Принудительное включение не мешает секвенсору контролировать порядок, оно только ограничивает их поведение. К сожалению, принудительное включение имеет фундаментальные проблемы, которые мешают ему быть эффективным механизмом сопротивления цензуре для многих транзакций.
Механизмы принудительного включения означают, что заказ происходит в одном из двух режимов: непринужденном или принудительном. Существует определенный момент, когда происходит переход из непринужденного в принудленный (и наоборот). Этот момент - передача. Передача представляет собой сложную проблему для проектирования механизмов принудительного включения.
Должен быть переход от добровольного к принудительному включению.
Принудительная транзакция выполняется на состоянии при передаче. Итак, снова состояние конфликта5поднимает свою уродливую голову. Когда передача происходит в пределах пакета транзакций (например, блока), создатель пакета может контролировать состояние на момент передачи. Если принудительная транзакция считывает какое-либо общедоступное состояние, то создатель пакета может переписать это состояние до и после выполнения принудительной транзакции. Конфликт достаточен для цензуры.
Поскольку создатель пакета может контролировать состояние при передаче, он может повлиять на результат принудительной транзакции. Если он может повлиять на результат, то потенциально он может повлиять на результат оценочного предиката. Например, рассмотрим простое взаимодействие с AMM. Пользователь задает минимальную допустимую цену, однако создатель пакета может убедиться, что в точке передачи рыночная цена ниже минимальной допустимой цены. Это приводит к откату транзакции пользователя, фактически цензируя пользователя.67
Интересно, цензура через состязание государства эффективнее, чем цензура через исключение. Исключенная транзакция может быть включена в будущие блоки. Транзакция, подвергнутая цензуре через состязание, окончательно аннулируется. Она была включена в цепочку и более никогда не может быть включена снова. Такая транзакция никогда не может достичь цели пользователя. Чтобы попытаться снова, пользователь должен создать и повторно отправить транзакцию (которая может быть потенциально подвергнута цензуре снова).
Любой пользователь может полностью обойти Секвенсор, чтобы отправить любую транзакцию Arbitrum (включая ту, которая, скажем, инициирует сообщение с L2 на L1 для вывода средств) напрямую на уровне 1. Таким образом, этот механизм сохраняет сопротивление цензуре даже в случае полного отсутствия ответа или злонамеренности Секвенсора.
В модели последовательности "run-ahead" у последователя практически полный контроль над местоположением передачи в последовательности и он платит сниженные комиссии (поскольку ему не нужно давать чаевые и он может упражнять некоторый контроль над базовой комиссией EIP-1559). В результате последователь находится в привилегированном положении для использования состязания состояний с целью цензуры действий пользователей. Это тривиально. Проблема передачи обеспечивает возможность последователю цензурировать большие классы транзакций.
Для EIP-7547 строители выбирают, где происходят передачи блока.8В результате строитель способен выбрать место передачи внутри блока. Это означает, что они могут выбрать префикс и постфикс по своему усмотрению,9пока они соблюдают правила использования блоков газа. Префикс может поместить цепь в состояние, на котором транзакция будет отменена, в то время как постфикс восстановит цепь в нормальное состояние. Списки включения EIP-7547 недостаточно для предотвращения цензуры для любой транзакции, получающей доступ к спорному состоянию. Проблема передачи предотвращает IL от обеспечения выполнения транзакции в большинстве случаев.
Принудительное включение неэффективно для защиты пользователей от цензуры при большинстве незначительных использований блокчейна. Проблема передачи управления обеспечивает достаточное усмотрение цензора даже если у него нет достаточного усмотрения в отношении порядка. Эта проблема затрагивает AMM, рынки кредитования, аукционы и большинство других действий DeFi. Многие важные действия могут быть подвержены цензуре, даже если вы можете гарантировать включение транзакции. Состояние спора создает жесткие ограничения для эффективности принудительного включения как механизма сопротивления цензуре.
Чтобы увидеть далеко идущие последствия этого, рассмотрим пользователя, предоставляющего в займ USDC на рынке займов на Optimism. Когда пользователь хочет вывести USDC с рынка, он отправляет транзакцию Optimism, которую цензор заблокировал. Затем они используют официальный механизм принудительного включения, чтобы поставить свою транзакцию в очередь на Ethereum, обойдя цензора.
Секвенсор может видеть эту транзакцию в очереди и может решить ее перехватить. Чтобы произвести цензуру транзакции, секвенсор занимает все доступные USDC с рынка непосредственно перед принудительной транзакцией. Поскольку на рынке больше нет ликвидности, принудительная транзакция отменяется. Затем секвенсор может немедленно погасить USDC.
Скриптовая или конструкторская часть может изменять состояние при передаче.
Для этого требуется, чтобы у последовательности было достаточно залога для займа USDC, но это накладывает лишь крайне малую затрату на займ.10Более того, залог можно использовать повторно для всех случаев цензуры, так как заем не остается открытым. В результате, пользователь AAVE или Compound на Optimism (или Arbitrum или любом другом централизованном rollup) не имеет гарантии, что сможет когда-либо вывести залог. Секвенсор может в любое время цензурировать любой вывод из любого рынка займа. Принудительное включение просто недостаточно для защиты пользователей от цензуры.
У нас есть несколько областей для дальнейших исследований.
Во-первых, EIP-7547 может быть легко улучшен путем требования обработки IL-транзакций в конце следующего блока. В контексте аукциона PBS цензура - это MEV. Застройщик получает некоторую неэкономическую ценность, которой он должен придать субъективную стоимость, выраженную в ETH. Цензура со стороны застройщика вызывает увеличение ставки застройщика на блок.11Это распространяется на искателей, которые могут создавать пакеты цензуры. Некоторая экономическая ценность цензуры затем захватывается предлагающим, обеспечивая стимул терпеть цензуру даже тогда, когда он не участвует в ней напрямую. Размещение принудительных транзакций включения в конце блока устраняет возможность строителя блока легко вставить транзакции IL и увеличивает экономические затраты на спорную цензуру. Например, цензура взаимодействия с AMM через состязание состояний может потребовать отказаться от некоторой арбитражной торговли AMM или высоких затрат, чтобы вывести рынок из диапазона, который не может быть скомпенсирован закрытием сэндвича. Кроме того, это ограничит производимые искателями (а не строителями) пакеты цензуры до одного на блок.12Мы рекомендуем выполнение начала блока, так как префикс более значим, чем постфикс, однако это значительно увеличит стоимость транзакции в IL, так как это позволит извлекать MEV начала блока путем принудительного включения.13 Отмена права цензора атомарно постфиксировать транзакции IL — это небольшое улучшение.
Во-вторых, проблема передачи существует из-за того, что цензор может заглянуть вперед с помощью моделирования транзакций и осуществлять контроль над состоянием ввода. Многие механизмы сопротивления MEV вводят скрытую информацию, чтобы лишить цензора возможности получать информацию о целях пользователей и моделировать результаты. Как правило, это схемы фиксации-раскрытия, в которых некоторая информация о транзакциях является конфиденциальной до тех пор, пока не произойдет заказ. Разделение порядка-исполнения и скрытая информация кажутся многообещающими, но в значительной степени несовместимы с цепочкой поставок MEV, процессами консенсуса Ethereum и моделью последовательного свертки. Какой-то способ свести на нет возможность симулировать транзакции позволил бы решить проблему цензуры и больших классов MEV, но был бы чрезвычайно агрессивным для протокола, операторов протокола, приложений и конечного пользователя.
Третье, существует интересный класс «независимых от порядка» функций оценки. Это цели, которые не могут быть ограничены государственным противоборством, либо потому, что они не обращаются к противоречивому состоянию, либо потому, что противоречивое состояние, к которому они обращаются, имеет достаточные ограничения, чтобы сделать его «надежным» в некотором смысле. Действия, независимые от порядка, включают отправку ETH на EOA, большинство отправок ERC-20,14и некоторые взаимодействия DeFi, такие как добавление залога на рынок. Эти действия защищены от цензуры через сопротивление. Этот класс целей также имеет интересные соответствия в безопасной межцепной коммуникации и сопротивлении MEV, и заслуживает более глубокого изучения. Приложения и протоколы могут быть разработаны так, чтобы в некоторых случаях включать только действия без учета порядка, но для этого требуется более глубокое изучение.
Расширенное состояние позволяет злоумышленникам подвергать транзакции цензуре, сохраняя при этом их. Проблема передачи является основополагающей для механизмов принудительной инклюзии, и ее можно только смягчить. В сводках с централизованной последовательностью устранение рисков невозможно. Принудительное включение не может решить проблему цензуры в присутствии спорного государства. Большие классы экономически важных сделок могут быть подвергнуты цензуре, даже если они включены силой. Проблема hand-off является эндемичной для современных роллапов и присутствует в EIP Ethereum, устойчивых к цензуре. В результате, принудительное включение, хотя и полезно, никогда не бывает достаточным для того, чтобы обеспечить устойчивость к цензуре для сетей богатых государств. Роллапы не «наследуют» свойства безопасности Ethereum, и глупо предполагать, что это так. Когда вы перестаете зацикливаться на инклюзии, становится очевидным, что сопротивление цензуре является частным случаем сопротивления MEV.
Мы хотели бы поблагодарить Майк Нойдер, Тарун Читра, и Брэндон Кертисдля рассмотрения и отзыва.
Как это обычно бывает, для L1 это достигается путем отбрасывания недопустимых блоков, в то время как в роллапах это достигается путем приведения недопустимых последовательностей к валидным последовательностям с помощью некоторой функции фильтрации.
Это не пост о намерениях, на данный момент миру не нужно больше таких.
Очевидно, что это неполная модель, так как она не учитывает субъективные значения результатов. Например, цензор может потерять любую сумму денег, если цензура не сработает (например, потому что он может быть арестован французской полицией, если он не подвергнет цензуре определенное поведение). С другой стороны, пользователь может выиграть/потерять любую сумму денег, если его цель не будет достигнута в течение определенного периода времени (например, он взял кредиты на сумму $100 млн+ под залог своего собственного токена и ему нужно повторно обеспечить позицию до того, как она будет ликвидирована).
В отличие от модели секвенсора 'based'. В большинстве современных rollups секвенсор 'пробегает впереди' Ethereum, поскольку он предоставляет аттестации включения и выполнения для транзакции до того, как транзакция была подтверждена в Ethereum. В этой модели секвенсор полностью контролирует последовательность, и результат транзакции должен быть независим от переупорядочивания Ethereum.
Когда несколько пользователей хотят получить доступ к одному и тому же контракту, активу или состоянию, их транзакции "соперничают" друг с другом и потенциально могут мешать друг другу. Соперничество может возникать случайно или намеренно. Это неразрешимая проблема богатого состояния в блокчейн-системах. Общедоступный доступ к общему состоянию является корнем MEV, проблем масштабируемости и упадка цивилизованности в современном обществе.
В целом, вам следует рассматривать цензуру через состязание государства как специализированный случай MEV. Поскольку извлеченная стоимость находится вне цепи, не наблюдаема и потенциально очень большая, может быть сложно предсказать, когда произойдет цензура через состязание государства.
Мы специально рассмотрели использование конкуренции штатов для отмены транзакций в нашей статье 2017 года «Майнеры не являются вашими друзьями”. В то время термин «MEV» еще не использовался.
Хорошо известно, что PBS значительно усложняет сопротивление цензуре. См. VB’s@vbuterin/pbs_censorship_resistance">Исследовательская записка.
Префикс и постфиксинг транзакции обычно называется «сэндвичингом» и хорошо понимается как метод использования конкуренции состояний для извлечения MEV.
Заём держится всего несколько секунд, если вообще держится. В некоторых случаях секвенсоры Rollup могут удерживать отметки времени или границы блоков, чтобы эффективное время займа было равно 0.
Застройщик будет готов платить в соответствии со своей субъективной ценностью цензуры, потенциально подталкивая ставку выше объективно наблюдаемой извлекаемой стоимости блока. В крайних случаях это может привести к тому, что у цензора будет отрицательное изменение баланса ETH (т.е. он заплатит больше ETH за создание блока, чем получит в виде комиссий и вознаграждений).
Обратите внимание, что это зависит от правил аукциона MEV, которые предотвращают взаимное пересечение транзакций из разных пакетов и не позволяют «должным образом откатываться» транзакции. Если эти правила будут смягчены для разрешения пересечения транзакций в пакетах и/или если разработчики начнут поддерживать блоки «должным образом откатываться» в пакетах, защита исчезнет. Эта динамика возникает потому, что если IL-транзакции должны быть в конце блока, невозможно пересекать необязательные транзакции, и, следовательно, максимум один пакет с цензурой поисковика может возникнуть.
Эффективно позволяя строителю создавать ограниченные межблочные пакеты. Предконсенсусные системы вроде ФОЦИЛможет смягчить это.
Для стандартного токена ERC-20 вызов передачи обычно не поддается цензуре через спор, поскольку сторонние лица не могут уменьшить баланс пользователя. Однако рассмотрим вызов transferFrom. Если утвержденный передающий является контрактом, который позволяет спорить на своем собственном состоянии, то действие может быть подвержено цензуре через этот спор (потребление утверждения, требуемого для transferFrom, непреднамеренным образом).