В блокчейне, зарабатывая деньги путем решения, какие транзакции упаковывать в блок, какие исключать, или изменяя порядок транзакций, максимальная ценность, которую можно извлечь, называется «максимальная извлекаемая ценность», сокращенно MEV. MEV широко распространен в большинстве блокчейнов и всегда был предметом широкого внимания и обсуждения в отрасли.
Примечание: В данной статье предполагается, что читатель имеет базовое понимание MEV. Некоторые читатели могут сначала ознакомиться с нашейнаучно-популярной статьей о MEV*.*
Множество исследователей, наблюдая за феноменом MEV, задаются четким вопросом: может ли криптография решить эту проблему? Одно из предложенных решений заключается в использовании зашифрованного мемпула: пользователи транслируют зашифрованные транзакции, которые будут расшифрованы и раскрыты только после завершения сортировки. Таким образом, консенсусный протокол должен «слепо» выбирать порядок транзакций, что, похоже, может предотвратить получение прибыли за счет возможностей MEV на этапе сортировки.
Однако, к сожалению, как с практической, так и с теоретической точки зрения, крипто-пул памяти не может предложить универсальное решение для проблемы MEV. В этой статье будут изложены трудности, а также исследовано направление проектирования крипто-пула памяти.
Принцип работы зашифрованного пула памяти
Существует множество предложений по крипто-пулов памяти, но его общая структура выглядит следующим образом:
Пользователь передает зашифрованную транзакцию.
Крипто-транзакция отправлена в блокчейн (в некоторых предложениях транзакция должна сначала пройти проверяемую случайную перетасовку).
Когда блоки, содержащие эти транзакции, будут окончательно подтверждены, транзакции будут расшифрованы.
В конце концов выполните эти сделки.
Важно отметить, что на этапе 3 (декодирование транзакций) существует ключевая проблема: кто отвечает за декодирование? Что делать, если декодирование не удалось? Простой подход заключается в том, чтобы позволить пользователям самостоятельно декодировать свои транзакции (в этом случае даже не обязательно шифровать, достаточно просто скрыть обязательство). Но этот способ имеет уязвимость: злоумышленники могут осуществлять спекулятивный MEV.
В спекулятивном MEV атакующий будет предполагать, что определенная крипто-транзакция содержит возможности MEV, затем шифрует свою транзакцию и пытается вставить её в выгодное положение (например, перед или после целевой транзакции). Если транзакции располагаются в ожидаемом порядке, атакующий расшифровывает и извлекает MEV через свою транзакцию; если нет, он откажется расшифровывать, и его транзакция не будет включена в финальную блокчейн.
Возможно, стоит наложить наказание на пользователей, которые не смогли расшифровать, но реализация этого механизма крайне затруднительна. Причина в том, что все наказания за зашифрованные транзакции должны быть единообразными (в конце концов, после шифрования невозможно различить транзакции), и наказания должны быть достаточно строгими, чтобы сдерживать спекулятивный MEV даже при наличии высокоценных целей. Это может привести к значительной блокировке средств, и эти средства должны оставаться анонимными (чтобы избежать раскрытия связи между транзакциями и пользователями). Более того, если настоящие пользователи не смогут нормально расшифровать из-за программных ошибок или сетевых сбоев, они также понесут убытки.
Поэтому большинство предложений рекомендуют, что при шифровании транзакций необходимо гарантировать, что они обязательно могут быть расшифрованы в какой-то момент в будущем, даже если пользователь, инициировавший транзакцию, оффлайн или отказывается сотрудничать. Эта цель может быть достигнута следующими способами:
Доверенная исполняемая среда (TEE): пользователи могут шифровать транзакции с использованием ключа, который хранится в защищенной области доверенной исполняемой среды (TEE). В некоторых базовых версиях TEE используется только для расшифровки транзакций после определенного момента времени (что требует наличия временного восприятия внутри TEE). Более сложные решения позволяют TEE расшифровывать транзакции и формировать блоки, сортируя транзакции по стандартам, таким как время прибытия и сборы. Преимущество TEE по сравнению с другими решениями по шифрованным мемпули заключается в том, что он может напрямую обрабатывать открытые транзакции, уменьшая избыточную информацию в цепочке за счет фильтрации транзакций, которые будут откатаны. Однако недостатком этого метода является зависимость от надежности аппаратного обеспечения.
Секретное распределение и шифрование с порогом (Secret-sharing and threshold encryption): в этой схеме пользователь шифрует транзакцию с использованием определенного ключа, который совместно хранится определенным комитетом (обычно подмножеством валидаторов). Для расшифровки необходимо выполнить определенные пороговые условия (например, согласие двух третей членов комитета).
При использовании порогового шифрования доверенный носитель переходит от аппаратного обеспечения к комитету. Сторонники считают, что, поскольку большинство протоколов в механизме консенсуса по умолчанию предполагают, что валидаторы обладают свойством «честного большинства», мы также можем сделать аналогичное предположение, что большинство валидаторов будут оставаться честными и не будут предварительно расшифровывать транзакции.
Однако здесь следует отметить ключевое различие: эти два предположения о доверии не являются одним и тем же понятием. Согласие, как в случае с разделением блокчейна, имеет публичную видимость (относится к «слабым предположениям о доверии»), тогда как злонамеренный комитет заранее расшифровывает транзакции в частном порядке, не оставляя никаких публичных доказательств; такая атака не может быть обнаружена и не может быть наказана (относится к «сильным предположениям о доверии»). Поэтому, несмотря на то, что на первый взгляд механизмы согласия и предположения о безопасности криптокомитета кажутся согласованными, на практике достоверность предположения «комитет не будет заговариваться» оказывается значительно ниже.
Замок времени и задержанное шифрование (Time-lock and delay encryption): В качестве альтернативы шифрованию с порогом, принцип задержанного шифрования заключается в следующем: пользователь шифрует транзакцию к определенному открытому ключу, в то время как закрытый ключ, соответствующий этому открытому ключу, скрыт в головоломке с замком времени. Головоломка с замком времени представляет собой криптографическую задачу, которая запечатывает секрет, и его содержание может быть раскрыто только после заранее установленного времени; более конкретно, процесс расшифровки требует многократного выполнения ряда вычислений, которые нельзя выполнять параллельно. В этой механике любой может разгадать головоломку, чтобы получить ключ и расшифровать транзакцию, но при условии выполнения серии вычислений, которые занимают достаточно много времени (по сути, выполняются последовательно), чтобы обеспечить невозможность расшифровки транзакции до окончательного подтверждения. Самая сильная форма данного криптографического примитива заключается в том, что с помощью технологии задержанного шифрования публично генерируются подобные головоломки; этот процесс также можно приближенно реализовать с помощью надежного комитета с использованием технологии шифрования с замком времени, хотя в этом случае его относительные преимущества по сравнению с шифрованием с порогом уже становятся предметом обсуждения.
Независимо от того, используется ли отложенное шифрование или вычисления выполняются надежным комитетом, такие схемы сталкиваются со многими практическими проблемами: во-первых, поскольку задержка по своей сути зависит от процесса вычисления, трудно обеспечить точность времени расшифровки; во-вторых, эти схемы должны полагаться на определенные сущности для работы с высокопроизводительным оборудованием, чтобы эффективно решать задачи, хотя любой может взять на себя эту роль, однако как мотивировать эту сущность участвовать, все еще неясно; наконец, в таких конструкциях все транзакции, переданные по сети, будут расшифрованы, включая те, которые никогда не были окончательно записаны в блоки. В то время как схемы, основанные на пороге (или шифровании с доказательством), могут расшифровывать только те транзакции, которые были успешно включены.
Свидетельское шифрование (Witness encryption): Последнее из самых современных криптографических решений использует технологию «свидетельского шифрования». В теории механизм свидетельского шифрования заключается в том, что информация шифруется таким образом, что только тот, кто знает конкретное NP отношение, соответствующее «свидетельской информации», может ее расшифровать. Например, информацию можно зашифровать так: только тот, кто может решить головоломку судоку или предоставить определенный хеш-образ, сможет выполнить расшифровку.
(Примечание: NP-отношение — это соответствие между «вопросом» и «ответом, который можно быстро проверить»)
Для любых NP-отношений можно реализовать подобную логику с помощью SNARK. Можно сказать, что свидетельское шифрование по сути заключается в шифровании данных в такую форму, которая может быть расшифрована только субъектами, способными доказать удовлетворение определенным условиям с помощью SNARK. В сценарии зашифрованного мемпула典型例子 таких условий заключается в том, что транзакции могут быть расшифрованы только после окончательного подтверждения блока.
Это теоретический язык, обладающий огромным потенциалом. На самом деле, это универсальная схема, основанная на методах комитета и методах, основанных на задержке, которые являются лишь конкретными формами его применения. К сожалению, в настоящее время у нас нет никаких реально осуществимых криптографических схем, основанных на свидетелях. Более того, даже если такие схемы существуют, трудно сказать, что они могут иметь преимущества над методами, основанными на комитете, в цепочке с доказательством доли. Даже если установить шифрование свидетелей на "разрешено расшифровывать только после того, как транзакция будет отсортирована в окончательном блоке", злонамеренный комитет все равно сможет тайно имитировать протокол консенсуса для подделки окончательного состояния подтверждения транзакции, а затем использовать эту частную цепочку в качестве "свидетеля" для расшифровки транзакции. В этом случае тот же комитет, используя пороговое расшифрование, сможет достичь такого же уровня безопасности, а операции будут гораздо проще.
Однако в консенсусном протоколе Proof of Work преимущества криптографического свидетельствования становятся более очевидными. Поскольку даже если комитет полностью злонамерен, он не сможет втихую вырыть несколько новых блоков на текущем блокчейне, чтобы подделать окончательное состояние подтверждения.
Технические проблемы, с которыми сталкивается криптопул
Множество реальных вызовов ограничивают способность крипто-мемори-пула предотвращать MEV. В целом, конфиденциальность информации сама по себе представляет собой проблему. Следует отметить, что использование криптографии в области Web3 не широко распространено, однако многолетняя практика развертывания криптографических технологий в сетях (таких как TLS/HTTPS) и частной связи (от PGP до современных криптографических мессенджеров, таких как Signal и WhatsApp) полностью выявила сложности: криптография, хотя и является инструментом защиты конфиденциальности, не может обеспечить абсолютную защиту.
Во-первых, некоторые субъекты могут напрямую получать открытые данные о транзакциях пользователей. В典型ном сценарии пользователи обычно не шифруют транзакции самостоятельно, а доверяют эту работу провайдерам кошельков. Таким образом, провайдеры кошельков могут получить доступ к открытым данным транзакций и даже могут использовать или продавать эту информацию для извлечения MEV. Безопасность шифрования всегда зависит от всех субъектов, имеющих доступ к ключам. Объем контроля над ключами является границей безопасности.
Кроме того, главная проблема заключается в метаданных, то есть в нешифрованных данных, окружающих зашифрованный груз (транзакцию). Искатели могут использовать эти метаданные для предположений о намерениях транзакции, что позволяет им осуществлять спекулятивный MEV. Следует отметить, что искателям не нужно полностью понимать содержание транзакции, и не обязательно каждый раз угадывать правильно. Например, если они могут с разумной вероятностью определить, что транзакция является покупкой из определенной децентрализованной биржи (DEX), этого достаточно для начала атаки.
Мы можем разделить метаданные на несколько категорий: одна категория — классические проблемы, присущие криптографическим технологиям, а другая категория — проблемы, характерные для криптопамяти.
Размер транзакции: Шифрование само по себе не может скрыть размер открытого текста (следует отметить, что в формальном определении семантической безопасности явно исключается скрытие размера открытого текста). Это распространенный вектор атаки в зашифрованной связи,典型案例是,即便经过加密,窃听者仍能通过视频流中每个数据包的大小,实时判断 Netflix 上正在播放的内容。在加密内存池中,特定类型的交易可能具有独特大小,从而泄露信息。
Время вещания: крипто также не может скрыть временную информацию (это еще один классический вектор атаки). В сценариях Web3 некоторые отправители (например, в сценариях структурированной распродажи) могут инициировать транзакции с фиксированными интервалами. Время транзакции также может быть связано с другой информацией, такой как активность на внешних биржах или новостные события. Более скрытый способ использования временной информации - это арбитраж между централизованными биржами (CEX) и децентрализованными биржами (DEX): сортировщик может воспользоваться последней информацией о ценах CEX, вставляя транзакции, созданные как можно позже; одновременно сортировщик может исключить все другие транзакции, переданные после определенного момента времени (даже если они зашифрованы), чтобы гарантировать, что его транзакция получает эксклюзивное преимущество в отношении последней цены.
Исходный IP-адрес: Исследователи могут определить личность отправителя транзакции, отслеживая исходный IP-адрес через точки мониторинга в сети пиринговых узлов. Эта проблема была обнаружена еще в ранние дни биткойна (более десяти лет назад). Если у конкретного отправителя есть фиксированный паттерн поведения, это может быть крайне полезным для исследователей. Например, зная личность отправителя, можно связать криптографические транзакции с уже расшифрованными историческими транзакциями.
Информация о отправителе транзакции и комиссиях / gas: Транзакционные сборы являются уникальным типом метаданных в крипто-пулe. В Ethereum традиционная транзакция включает адрес отправителя в сети (для оплаты сборов), максимальный бюджет gas и единичную стоимость gas, которую отправитель готов заплатить. Адрес отправителя, подобно адресу исходной сети, может быть использован для связывания нескольких транзакций и реальных сущностей; бюджет gas может указывать на намерение транзакции. Например, взаимодействие с конкретным DEX может потребовать фиксированного объема gas, который можно идентифицировать.
Сложные исследователи могут комбинировать несколько типов метаданных, упомянутых выше, для прогнозирования содержания сделок.
Теоретически, эта информация может быть скрыта, но это требует жертвы производительности и сложности. Например, заполнение транзакции до стандартной длины может скрыть размер, но это приведет к потере пропускной способности и пространства в блокчейне; добавление задержки перед отправкой может скрыть время, но это увеличит задержку; отправка транзакций через анонимные сети, такие как Tor, может скрыть IP-адрес, но это создаст новые проблемы.
Наиболее трудно скрываемые метаданные — это информация о комиссиях за транзакции. Данные о комиссиях в криптовалюте создают ряд проблем для строителей блоков: прежде всего, это проблема мусорной информации. Если данные о комиссиях за транзакции зашифрованы, любой может транслировать неправильно отформатированные зашифрованные транзакции, которые, хотя и будут отсортированы, не смогут оплатить комиссию, а после расшифровки не смогут быть выполнены, но никто не сможет быть привлечен к ответственности. Это может быть решено с помощью SNARK, то есть доказательства правильности формата транзакции и достаточности средств, но это значительно увеличит затраты.
Во-вторых, это проблема эффективности построения блоков и аукционов за плату. Строители полагаются на информацию о плате, чтобы создавать блоки с максимальной прибылью и определять текущую рыночную цену ресурсов в цепи. Данные о крипто-плате могут нарушить этот процесс. Одно из решений — установить фиксированную плату за каждый блок, но это экономически неэффективно и может привести к возникновению вторичного рынка упаковки транзакций, что противоречит первоначальному замыслу крипто-меню. Другой вариант — проводить аукционы за плату с помощью безопасных многопартийных вычислений или надежного оборудования, но оба варианта крайне затратны.
Наконец, безопасный крипто-пул памяти увеличит системные затраты с различных сторон: шифрование увеличивает задержку цепи, вычислительную нагрузку и потребление полосы пропускания; как это будет сочетаться с важными будущими целями, такими как шардирование или параллельное выполнение, пока неясно; также могут появиться новые точки отказа для активности (liveness) (например, декодирующий комитет в схемах с порогом, решатели задерживающих функций); при этом сложность проектирования и реализации также значительно возрастет.
Многие проблемы крипто-пулов связаны с вызовами, с которыми сталкиваются блокчейны, предназначенные для обеспечения конфиденциальности транзакций (такие как Zcash, Monero). Если говорить о каких-либо положительных аспектах, то это: решение всех задач, связанных с криптографическими технологиями в смягчении MEV, также устранит препятствия для конфиденциальности транзакций.
Экономические вызовы, стоящие перед крипто-мемори-пулом
Наконец, крипто-пул памяти также сталкивается с экономическими вызовами. В отличие от технических проблем, которые могут быть постепенно смягчены за счет достаточных инженерных вложений, эти экономические вызовы являются фундаментальными ограничениями и их решение представляет собой огромную сложность.
Основная проблема MEV связана с информационной асимметрией между создателями транзакций (пользователями) и добытчиками возможностей MEV (поисковиками и строителями блоков). Пользователи обычно не понимают, сколько извлекаемой ценности содержится в их транзакциях, поэтому, даже если существует идеальный крипто-мемориальный пул, они могут быть соблазнены раскрыть ключи расшифровки в обмен на вознаграждение, которое ниже фактической ценности MEV. Это явление можно назвать «стимулирующей расшифровкой».
Такую ситуацию несложно представить, поскольку подобные механизмы, такие как MEV Share, уже существуют в реальности. MEV Share — это механизм аукциона потока заказов, который позволяет пользователям выборочно отправлять информацию о транзакциях в пул, а искатели конкурируют за право использовать возможности MEV, связанные с этой транзакцией. Победитель аукциона после извлечения MEV возвращает часть дохода (то есть сумму ставки или её определённый процент) пользователю.
Эта модель может быть напрямую адаптирована к крипто-пулю памяти: пользователи должны раскрыть ключи для расшифровки (или часть информации), чтобы участвовать. Но большинство пользователей не осознают альтернативные издержки участия в таких механизмах; они видят только немедленную прибыль и с радостью раскрывают информацию. В традиционных финансах также есть аналогичные примеры: например, платформа для торговли без комиссий Robinhood, чей бизнес-модель заключается в продаже потока заказов третьим лицам через "платежи за поток заказов" (payment-for-order-flow).
Другой возможный сценарий заключается в следующем: крупные строители под предлогом проверки могут заставить пользователей раскрывать содержимое транзакций (или соответствующую информацию). Антицензура является важной и спорной темой в области Web3, но если крупные валидаторы или строители обязаны выполнять списки для проверки из-за юридических ограничений (например, требований OFAC Министерства финансов США), они могут отказаться обрабатывать любые криптографические транзакции. С технической точки зрения, пользователи могут подтвердить, что их криптографические транзакции соответствуют требованиям проверки через нулевые доказательства, но это увеличивает дополнительные затраты и сложность. Даже если блокчейн обладает сильной антицензурной защищенностью (обеспечивая, что криптографические транзакции обязательно будут включены), строители все равно могут отдавать приоритет известным открытым транзакциям, помещая их в начало блока, в то время как криптографические транзакции могут оказаться в конце. Таким образом, те, кто нуждается в обеспечении приоритета выполнения транзакций, в конечном итоге могут быть вынуждены раскрывать их содержимое строителям.
Другие вызовы в области эффективности
Крипто-пул памяти увеличивает системные расходы различными очевидными способами. Пользователи должны зашифровывать транзакции, и системе также необходимо каким-то образом их расшифровывать, что увеличивает вычислительные затраты и может также увеличить объем транзакций. Как уже упоминалось, обработка метаданных усугубляет эти расходы. Однако есть и некоторые затраты на эффективность, которые не так очевидны. В финансовой сфере, если цены могут отражать всю доступную информацию, рынок считается эффективным; задержки и информационная асимметрия могут привести к неэффективности рынка. Это как раз неизбежный результат крипто-пула памяти.
Эта низкая эффективность приведет к прямому следствию: увеличение неопределенности цен, что является прямым продуктом дополнительной задержки, вводимой в крипто-мемори-пул. В результате может увеличиться количество сделок, которые терпят неудачу из-за превышения допустимого уровня проскальзывания цен, что приведет к расточительству пространства в цепочке.
Аналогично, эта ценовая неопределенность может также привести к спекулятивным сделкам MEV, которые пытаются извлечь прибыль из арбитража на цепи. Стоит отметить, что крипто-пул памяти может сделать такие возможности более распространенными: из-за задержки выполнения текущее состояние децентрализованных бирж (DEX) становится более неясным, что, вероятно, приведет к снижению рыночной эффективности и появлению ценовых различий между различными торговыми платформами. Такие спекулятивные сделки MEV также будут тратить пространство блока, так как, как только арбитражные возможности не будут обнаружены, они, как правило, прекращают выполнение.
Резюме
Цель данной статьи заключается в том, чтобы рассмотреть проблемы, с которыми сталкиваются крипто-пулы ликвидности, чтобы люди могли сосредоточить свои усилия на разработке других решений, однако крипто-пулы ликвидности все же могут стать частью решений по управлению MEV.
Один из возможных подходов — это смешанный дизайн: часть сделок реализуется через зашифрованный пул памяти с использованием «слепой сортировки», а другая часть использует другие схемы сортировки. Для определенных типов сделок (например, ордера на покупку и продажу крупных участников рынка, которые могут тщательно зашифровать или заполнить сделки и готовы платить более высокую цену для избежания MEV) смешанный дизайн может быть подходящим выбором. Для высокочувствительных сделок (например, сделок по исправлению уязвимого смарт-контракта) такой дизайн также имеет практический смысл.
Однако, из-за технических ограничений, высокой сложности проекта и затрат на производительность, крипто-майнинг-пул вряд ли станет «универсальным решением MEV», которого ожидают люди. Сообществу необходимо разработать другие решения, включая аукционы MEV, механизмы защиты на уровне приложений и сокращение времени окончательного подтверждения. MEV останется проблемой на некоторое время в будущем, и для решения ее негативных последствий необходимо углубленное исследование, чтобы найти баланс различных решений.
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
a16z: Почему шифрование Пул памяти не может стать универсальным решением для MEV?
** Труды: Пранав Гаримиди, Жозеф Бонно, Лиоба Хаймбах, a16z**
Перевод: Саорша, Foresight News
В блокчейне, зарабатывая деньги путем решения, какие транзакции упаковывать в блок, какие исключать, или изменяя порядок транзакций, максимальная ценность, которую можно извлечь, называется «максимальная извлекаемая ценность», сокращенно MEV. MEV широко распространен в большинстве блокчейнов и всегда был предметом широкого внимания и обсуждения в отрасли.
Примечание: В данной статье предполагается, что читатель имеет базовое понимание MEV. Некоторые читатели могут сначала ознакомиться с нашей научно-популярной статьей о MEV*.*
Множество исследователей, наблюдая за феноменом MEV, задаются четким вопросом: может ли криптография решить эту проблему? Одно из предложенных решений заключается в использовании зашифрованного мемпула: пользователи транслируют зашифрованные транзакции, которые будут расшифрованы и раскрыты только после завершения сортировки. Таким образом, консенсусный протокол должен «слепо» выбирать порядок транзакций, что, похоже, может предотвратить получение прибыли за счет возможностей MEV на этапе сортировки.
Однако, к сожалению, как с практической, так и с теоретической точки зрения, крипто-пул памяти не может предложить универсальное решение для проблемы MEV. В этой статье будут изложены трудности, а также исследовано направление проектирования крипто-пула памяти.
Принцип работы зашифрованного пула памяти
Существует множество предложений по крипто-пулов памяти, но его общая структура выглядит следующим образом:
Важно отметить, что на этапе 3 (декодирование транзакций) существует ключевая проблема: кто отвечает за декодирование? Что делать, если декодирование не удалось? Простой подход заключается в том, чтобы позволить пользователям самостоятельно декодировать свои транзакции (в этом случае даже не обязательно шифровать, достаточно просто скрыть обязательство). Но этот способ имеет уязвимость: злоумышленники могут осуществлять спекулятивный MEV.
В спекулятивном MEV атакующий будет предполагать, что определенная крипто-транзакция содержит возможности MEV, затем шифрует свою транзакцию и пытается вставить её в выгодное положение (например, перед или после целевой транзакции). Если транзакции располагаются в ожидаемом порядке, атакующий расшифровывает и извлекает MEV через свою транзакцию; если нет, он откажется расшифровывать, и его транзакция не будет включена в финальную блокчейн.
Возможно, стоит наложить наказание на пользователей, которые не смогли расшифровать, но реализация этого механизма крайне затруднительна. Причина в том, что все наказания за зашифрованные транзакции должны быть единообразными (в конце концов, после шифрования невозможно различить транзакции), и наказания должны быть достаточно строгими, чтобы сдерживать спекулятивный MEV даже при наличии высокоценных целей. Это может привести к значительной блокировке средств, и эти средства должны оставаться анонимными (чтобы избежать раскрытия связи между транзакциями и пользователями). Более того, если настоящие пользователи не смогут нормально расшифровать из-за программных ошибок или сетевых сбоев, они также понесут убытки.
Поэтому большинство предложений рекомендуют, что при шифровании транзакций необходимо гарантировать, что они обязательно могут быть расшифрованы в какой-то момент в будущем, даже если пользователь, инициировавший транзакцию, оффлайн или отказывается сотрудничать. Эта цель может быть достигнута следующими способами:
Доверенная исполняемая среда (TEE): пользователи могут шифровать транзакции с использованием ключа, который хранится в защищенной области доверенной исполняемой среды (TEE). В некоторых базовых версиях TEE используется только для расшифровки транзакций после определенного момента времени (что требует наличия временного восприятия внутри TEE). Более сложные решения позволяют TEE расшифровывать транзакции и формировать блоки, сортируя транзакции по стандартам, таким как время прибытия и сборы. Преимущество TEE по сравнению с другими решениями по шифрованным мемпули заключается в том, что он может напрямую обрабатывать открытые транзакции, уменьшая избыточную информацию в цепочке за счет фильтрации транзакций, которые будут откатаны. Однако недостатком этого метода является зависимость от надежности аппаратного обеспечения.
Секретное распределение и шифрование с порогом (Secret-sharing and threshold encryption): в этой схеме пользователь шифрует транзакцию с использованием определенного ключа, который совместно хранится определенным комитетом (обычно подмножеством валидаторов). Для расшифровки необходимо выполнить определенные пороговые условия (например, согласие двух третей членов комитета).
При использовании порогового шифрования доверенный носитель переходит от аппаратного обеспечения к комитету. Сторонники считают, что, поскольку большинство протоколов в механизме консенсуса по умолчанию предполагают, что валидаторы обладают свойством «честного большинства», мы также можем сделать аналогичное предположение, что большинство валидаторов будут оставаться честными и не будут предварительно расшифровывать транзакции.
Однако здесь следует отметить ключевое различие: эти два предположения о доверии не являются одним и тем же понятием. Согласие, как в случае с разделением блокчейна, имеет публичную видимость (относится к «слабым предположениям о доверии»), тогда как злонамеренный комитет заранее расшифровывает транзакции в частном порядке, не оставляя никаких публичных доказательств; такая атака не может быть обнаружена и не может быть наказана (относится к «сильным предположениям о доверии»). Поэтому, несмотря на то, что на первый взгляд механизмы согласия и предположения о безопасности криптокомитета кажутся согласованными, на практике достоверность предположения «комитет не будет заговариваться» оказывается значительно ниже.
Замок времени и задержанное шифрование (Time-lock and delay encryption): В качестве альтернативы шифрованию с порогом, принцип задержанного шифрования заключается в следующем: пользователь шифрует транзакцию к определенному открытому ключу, в то время как закрытый ключ, соответствующий этому открытому ключу, скрыт в головоломке с замком времени. Головоломка с замком времени представляет собой криптографическую задачу, которая запечатывает секрет, и его содержание может быть раскрыто только после заранее установленного времени; более конкретно, процесс расшифровки требует многократного выполнения ряда вычислений, которые нельзя выполнять параллельно. В этой механике любой может разгадать головоломку, чтобы получить ключ и расшифровать транзакцию, но при условии выполнения серии вычислений, которые занимают достаточно много времени (по сути, выполняются последовательно), чтобы обеспечить невозможность расшифровки транзакции до окончательного подтверждения. Самая сильная форма данного криптографического примитива заключается в том, что с помощью технологии задержанного шифрования публично генерируются подобные головоломки; этот процесс также можно приближенно реализовать с помощью надежного комитета с использованием технологии шифрования с замком времени, хотя в этом случае его относительные преимущества по сравнению с шифрованием с порогом уже становятся предметом обсуждения.
Независимо от того, используется ли отложенное шифрование или вычисления выполняются надежным комитетом, такие схемы сталкиваются со многими практическими проблемами: во-первых, поскольку задержка по своей сути зависит от процесса вычисления, трудно обеспечить точность времени расшифровки; во-вторых, эти схемы должны полагаться на определенные сущности для работы с высокопроизводительным оборудованием, чтобы эффективно решать задачи, хотя любой может взять на себя эту роль, однако как мотивировать эту сущность участвовать, все еще неясно; наконец, в таких конструкциях все транзакции, переданные по сети, будут расшифрованы, включая те, которые никогда не были окончательно записаны в блоки. В то время как схемы, основанные на пороге (или шифровании с доказательством), могут расшифровывать только те транзакции, которые были успешно включены.
Свидетельское шифрование (Witness encryption): Последнее из самых современных криптографических решений использует технологию «свидетельского шифрования». В теории механизм свидетельского шифрования заключается в том, что информация шифруется таким образом, что только тот, кто знает конкретное NP отношение, соответствующее «свидетельской информации», может ее расшифровать. Например, информацию можно зашифровать так: только тот, кто может решить головоломку судоку или предоставить определенный хеш-образ, сможет выполнить расшифровку.
(Примечание: NP-отношение — это соответствие между «вопросом» и «ответом, который можно быстро проверить»)
Для любых NP-отношений можно реализовать подобную логику с помощью SNARK. Можно сказать, что свидетельское шифрование по сути заключается в шифровании данных в такую форму, которая может быть расшифрована только субъектами, способными доказать удовлетворение определенным условиям с помощью SNARK. В сценарии зашифрованного мемпула典型例子 таких условий заключается в том, что транзакции могут быть расшифрованы только после окончательного подтверждения блока.
Это теоретический язык, обладающий огромным потенциалом. На самом деле, это универсальная схема, основанная на методах комитета и методах, основанных на задержке, которые являются лишь конкретными формами его применения. К сожалению, в настоящее время у нас нет никаких реально осуществимых криптографических схем, основанных на свидетелях. Более того, даже если такие схемы существуют, трудно сказать, что они могут иметь преимущества над методами, основанными на комитете, в цепочке с доказательством доли. Даже если установить шифрование свидетелей на "разрешено расшифровывать только после того, как транзакция будет отсортирована в окончательном блоке", злонамеренный комитет все равно сможет тайно имитировать протокол консенсуса для подделки окончательного состояния подтверждения транзакции, а затем использовать эту частную цепочку в качестве "свидетеля" для расшифровки транзакции. В этом случае тот же комитет, используя пороговое расшифрование, сможет достичь такого же уровня безопасности, а операции будут гораздо проще.
Однако в консенсусном протоколе Proof of Work преимущества криптографического свидетельствования становятся более очевидными. Поскольку даже если комитет полностью злонамерен, он не сможет втихую вырыть несколько новых блоков на текущем блокчейне, чтобы подделать окончательное состояние подтверждения.
Технические проблемы, с которыми сталкивается криптопул
Множество реальных вызовов ограничивают способность крипто-мемори-пула предотвращать MEV. В целом, конфиденциальность информации сама по себе представляет собой проблему. Следует отметить, что использование криптографии в области Web3 не широко распространено, однако многолетняя практика развертывания криптографических технологий в сетях (таких как TLS/HTTPS) и частной связи (от PGP до современных криптографических мессенджеров, таких как Signal и WhatsApp) полностью выявила сложности: криптография, хотя и является инструментом защиты конфиденциальности, не может обеспечить абсолютную защиту.
Во-первых, некоторые субъекты могут напрямую получать открытые данные о транзакциях пользователей. В典型ном сценарии пользователи обычно не шифруют транзакции самостоятельно, а доверяют эту работу провайдерам кошельков. Таким образом, провайдеры кошельков могут получить доступ к открытым данным транзакций и даже могут использовать или продавать эту информацию для извлечения MEV. Безопасность шифрования всегда зависит от всех субъектов, имеющих доступ к ключам. Объем контроля над ключами является границей безопасности.
Кроме того, главная проблема заключается в метаданных, то есть в нешифрованных данных, окружающих зашифрованный груз (транзакцию). Искатели могут использовать эти метаданные для предположений о намерениях транзакции, что позволяет им осуществлять спекулятивный MEV. Следует отметить, что искателям не нужно полностью понимать содержание транзакции, и не обязательно каждый раз угадывать правильно. Например, если они могут с разумной вероятностью определить, что транзакция является покупкой из определенной децентрализованной биржи (DEX), этого достаточно для начала атаки.
Мы можем разделить метаданные на несколько категорий: одна категория — классические проблемы, присущие криптографическим технологиям, а другая категория — проблемы, характерные для криптопамяти.
Сложные исследователи могут комбинировать несколько типов метаданных, упомянутых выше, для прогнозирования содержания сделок.
Теоретически, эта информация может быть скрыта, но это требует жертвы производительности и сложности. Например, заполнение транзакции до стандартной длины может скрыть размер, но это приведет к потере пропускной способности и пространства в блокчейне; добавление задержки перед отправкой может скрыть время, но это увеличит задержку; отправка транзакций через анонимные сети, такие как Tor, может скрыть IP-адрес, но это создаст новые проблемы.
Наиболее трудно скрываемые метаданные — это информация о комиссиях за транзакции. Данные о комиссиях в криптовалюте создают ряд проблем для строителей блоков: прежде всего, это проблема мусорной информации. Если данные о комиссиях за транзакции зашифрованы, любой может транслировать неправильно отформатированные зашифрованные транзакции, которые, хотя и будут отсортированы, не смогут оплатить комиссию, а после расшифровки не смогут быть выполнены, но никто не сможет быть привлечен к ответственности. Это может быть решено с помощью SNARK, то есть доказательства правильности формата транзакции и достаточности средств, но это значительно увеличит затраты.
Во-вторых, это проблема эффективности построения блоков и аукционов за плату. Строители полагаются на информацию о плате, чтобы создавать блоки с максимальной прибылью и определять текущую рыночную цену ресурсов в цепи. Данные о крипто-плате могут нарушить этот процесс. Одно из решений — установить фиксированную плату за каждый блок, но это экономически неэффективно и может привести к возникновению вторичного рынка упаковки транзакций, что противоречит первоначальному замыслу крипто-меню. Другой вариант — проводить аукционы за плату с помощью безопасных многопартийных вычислений или надежного оборудования, но оба варианта крайне затратны.
Наконец, безопасный крипто-пул памяти увеличит системные затраты с различных сторон: шифрование увеличивает задержку цепи, вычислительную нагрузку и потребление полосы пропускания; как это будет сочетаться с важными будущими целями, такими как шардирование или параллельное выполнение, пока неясно; также могут появиться новые точки отказа для активности (liveness) (например, декодирующий комитет в схемах с порогом, решатели задерживающих функций); при этом сложность проектирования и реализации также значительно возрастет.
Многие проблемы крипто-пулов связаны с вызовами, с которыми сталкиваются блокчейны, предназначенные для обеспечения конфиденциальности транзакций (такие как Zcash, Monero). Если говорить о каких-либо положительных аспектах, то это: решение всех задач, связанных с криптографическими технологиями в смягчении MEV, также устранит препятствия для конфиденциальности транзакций.
Экономические вызовы, стоящие перед крипто-мемори-пулом
Наконец, крипто-пул памяти также сталкивается с экономическими вызовами. В отличие от технических проблем, которые могут быть постепенно смягчены за счет достаточных инженерных вложений, эти экономические вызовы являются фундаментальными ограничениями и их решение представляет собой огромную сложность.
Основная проблема MEV связана с информационной асимметрией между создателями транзакций (пользователями) и добытчиками возможностей MEV (поисковиками и строителями блоков). Пользователи обычно не понимают, сколько извлекаемой ценности содержится в их транзакциях, поэтому, даже если существует идеальный крипто-мемориальный пул, они могут быть соблазнены раскрыть ключи расшифровки в обмен на вознаграждение, которое ниже фактической ценности MEV. Это явление можно назвать «стимулирующей расшифровкой».
Такую ситуацию несложно представить, поскольку подобные механизмы, такие как MEV Share, уже существуют в реальности. MEV Share — это механизм аукциона потока заказов, который позволяет пользователям выборочно отправлять информацию о транзакциях в пул, а искатели конкурируют за право использовать возможности MEV, связанные с этой транзакцией. Победитель аукциона после извлечения MEV возвращает часть дохода (то есть сумму ставки или её определённый процент) пользователю.
Эта модель может быть напрямую адаптирована к крипто-пулю памяти: пользователи должны раскрыть ключи для расшифровки (или часть информации), чтобы участвовать. Но большинство пользователей не осознают альтернативные издержки участия в таких механизмах; они видят только немедленную прибыль и с радостью раскрывают информацию. В традиционных финансах также есть аналогичные примеры: например, платформа для торговли без комиссий Robinhood, чей бизнес-модель заключается в продаже потока заказов третьим лицам через "платежи за поток заказов" (payment-for-order-flow).
Другой возможный сценарий заключается в следующем: крупные строители под предлогом проверки могут заставить пользователей раскрывать содержимое транзакций (или соответствующую информацию). Антицензура является важной и спорной темой в области Web3, но если крупные валидаторы или строители обязаны выполнять списки для проверки из-за юридических ограничений (например, требований OFAC Министерства финансов США), они могут отказаться обрабатывать любые криптографические транзакции. С технической точки зрения, пользователи могут подтвердить, что их криптографические транзакции соответствуют требованиям проверки через нулевые доказательства, но это увеличивает дополнительные затраты и сложность. Даже если блокчейн обладает сильной антицензурной защищенностью (обеспечивая, что криптографические транзакции обязательно будут включены), строители все равно могут отдавать приоритет известным открытым транзакциям, помещая их в начало блока, в то время как криптографические транзакции могут оказаться в конце. Таким образом, те, кто нуждается в обеспечении приоритета выполнения транзакций, в конечном итоге могут быть вынуждены раскрывать их содержимое строителям.
Другие вызовы в области эффективности
Крипто-пул памяти увеличивает системные расходы различными очевидными способами. Пользователи должны зашифровывать транзакции, и системе также необходимо каким-то образом их расшифровывать, что увеличивает вычислительные затраты и может также увеличить объем транзакций. Как уже упоминалось, обработка метаданных усугубляет эти расходы. Однако есть и некоторые затраты на эффективность, которые не так очевидны. В финансовой сфере, если цены могут отражать всю доступную информацию, рынок считается эффективным; задержки и информационная асимметрия могут привести к неэффективности рынка. Это как раз неизбежный результат крипто-пула памяти.
Эта низкая эффективность приведет к прямому следствию: увеличение неопределенности цен, что является прямым продуктом дополнительной задержки, вводимой в крипто-мемори-пул. В результате может увеличиться количество сделок, которые терпят неудачу из-за превышения допустимого уровня проскальзывания цен, что приведет к расточительству пространства в цепочке.
Аналогично, эта ценовая неопределенность может также привести к спекулятивным сделкам MEV, которые пытаются извлечь прибыль из арбитража на цепи. Стоит отметить, что крипто-пул памяти может сделать такие возможности более распространенными: из-за задержки выполнения текущее состояние децентрализованных бирж (DEX) становится более неясным, что, вероятно, приведет к снижению рыночной эффективности и появлению ценовых различий между различными торговыми платформами. Такие спекулятивные сделки MEV также будут тратить пространство блока, так как, как только арбитражные возможности не будут обнаружены, они, как правило, прекращают выполнение.
Резюме
Цель данной статьи заключается в том, чтобы рассмотреть проблемы, с которыми сталкиваются крипто-пулы ликвидности, чтобы люди могли сосредоточить свои усилия на разработке других решений, однако крипто-пулы ликвидности все же могут стать частью решений по управлению MEV.
Один из возможных подходов — это смешанный дизайн: часть сделок реализуется через зашифрованный пул памяти с использованием «слепой сортировки», а другая часть использует другие схемы сортировки. Для определенных типов сделок (например, ордера на покупку и продажу крупных участников рынка, которые могут тщательно зашифровать или заполнить сделки и готовы платить более высокую цену для избежания MEV) смешанный дизайн может быть подходящим выбором. Для высокочувствительных сделок (например, сделок по исправлению уязвимого смарт-контракта) такой дизайн также имеет практический смысл.
Однако, из-за технических ограничений, высокой сложности проекта и затрат на производительность, крипто-майнинг-пул вряд ли станет «универсальным решением MEV», которого ожидают люди. Сообществу необходимо разработать другие решения, включая аукционы MEV, механизмы защиты на уровне приложений и сокращение времени окончательного подтверждения. MEV останется проблемой на некоторое время в будущем, и для решения ее негативных последствий необходимо углубленное исследование, чтобы найти баланс различных решений.