Аннотация. В этом материале мы рассматриваем степень устойчивости к цензуре в сети Ethereum после слияния блокчейнов в контексте недавнего решения Управления по контролю за иностранными активами Министерства финансов США (Office of Foreign Assets Control, OFAC) о санкциях в отношении смарт-контракта Tornado Cash в блокчейне Ethereum. Эта статья посвящена техническим характеристикам и спецификациям системы доказательства участия (Proof of Stake, PoS) и тому, как на них могут повлиять санкции, если участники стейкинга решат их соблюдать. Мы также рассмотрим изменения в системе MEV-аукционов после слияния блокчейнов и их возможное влияние на уровень устойчивости к цензуре в сети. В заключение мы утверждаем, что в системе на базе PoS-алгоритма гораздо больше сложностей с цензурой, чем в системе на базе алгоритма PoW. Мы также приходим к выводу, что новая архитектура аукциона MEV существенно ухудшает ситуацию, но в будущем эта проблема может быть исправлена.
Обзор
8 августа 2022 года Министерство финансов США объявило о санкциях в отношении смарт-контракта Tornado Cash, используемого для обеспечения приватности. Мы не будем вдаваться в правомерность или неправомерность этого решения, а сосредоточимся на некоторых технических аспектах, в частности на том, как изменится система Ethereum после слияния блокчейнов и перехода на алгоритм PoS.
Во-первых, нужно отметить, что и в системах PoW, и в системах PoS перед майнерами и стейкерами в условиях этих санкций стоит непростой выбор. Этот выбор не сводится к тому, чтобы блокировать транзакции, подпадающие под санкции OFAC, или игнорировать санкции OFAC. Вариантов куда больше. Мы выделили три основных варианта:
1. Игнорировать санкции OFAC.
2. Отказаться включать запрещенные OFAC транзакции в свои блоки.
3. Отказаться продолжать ответвление блокчейна, содержащее запрещенные OFAC транзакции.
Вариант 2 считается гораздо более консервативным/умеренным, чем вариант 3. Кроме того, многие считают вариант 2 вполне приемлемым, ведь создатель блока должен иметь право включать в него любые транзакции по своему усмотрению. Если он хочет исключить из блока определенные транзакции, это его дело. Вариант 3, с другой стороны, является более экстремальным, и многие расценивают его как атаку на сеть. Если на сторонников варианта 3 будет приходиться лишь незначительная часть хешрейта, это с большой вероятностью приведет к неудачной попытке цензуры и значительной потере капитала для потенциального цензора. С другой стороны, если цензоры окажутся в большинстве, сеть ожидает серьезный кризис и, возможно, даже крах.
Сложности, связанные с алгоритмом РoS
Если рассматривать систему PoS в Ethereum, ситуация осложняется еще больше. В этой системе вместо трех основных вариантов мы обнаружили по меньшей мере восемь. В действительности вариантов еще больше, но мы не будем их здесь рассматривать.
- Отказаться включать «подпадающие под санкции OFAC» транзакции в свои блоки.
- Отказаться подтверждать блоки, содержащие подпадающие под санкции OFAC транзакции.
- Создавать и подтверждать блоки, соответствующие правилам OFAC, даже если они конфликтуют с несоответствующими правилам блоками.
- Отказаться от создания блоков после блоков, содержащих подпадающие под санкции OFAC транзакции.
- Отказаться подтверждать блоки в ответвлении блокчейна, содержащем подпадающие под санкции OFAC транзакции.
- Отказаться включать подтверждение блоков с подпадающими под санкции OFAC транзакциями в свои блоки.
- Отказаться включать подтверждение блоков в свои блоки в блокчейне с запрещенными OFAC транзакциями.
- Игнорировать правила OFAC.
Многие участники сообщества Ethereum считают возможность такой цензуры серьезной проблемой. Дело в том, значительная часть стейка сосредоточена в крупных финансовых организациях, часто расположенных в юрисдикции США (например, Coinbase). Поэтому многие выступают за экстремальные меры, например, экстренное создание активируемого пользователем софт-форка (UASF)/хард-форка (HF) для удаления стейка валидаторов, которые занимаются такой цензурой. Эта возможность даже преподносится как одно из главных преимуществ PoS. Выход из пула валидаторов может занять много времени — как минимум несколько месяцев, если речь идет о стейке большой величины. Поэтому у сообщества Ethereum есть время, чтобы реорганизовать протокол, добавив в него наказание для провинившихся стейкеров. В системе на базе PoW гораздо сложнее наказать только майнеров-нарушителей, поэтому, если сообщество пойдет на изменение протокола придется наказывать всех майнеров, а не только тех, кто нарушает.
Вариант 1. Отказаться включать «подпадающие под санкции OFAC» транзакции в свои блоки
Как уже говорилось выше, цензура со стороны стейкеров имеет множество нюансов. Вариант 1 еще довольно мягкий. На наш взгляд, образование UASF/HF в том случае, если крупный стейкер выберет вариант 1, крайне маловероятно. Единственным реальным следствием этого будет небольшая потеря дохода для цензора, что может привести к уменьшению доли рынка. Даже если бы цензоры контролировали 50% общего стейка, это означало бы, что тем, кто использует Tornado Cash, пришлось бы ожидать попадания своей транзакции в блокчейн не 12, а 24 секунды (если, конечно, предложенная комиссия окажется достаточно высокой, чтобы транзакция попала в следующий блок). Это не кажется таким уж сильным неудобством. С другой стороны, создатели блоков могут добавлять в свои блоки любые транзакции по своему усмотрению. Поэтому такое действие может расценивать как вполне законное, а образование UASF/HF в ответ — как необоснованное и неэтичное. На наш взгляд, такой подход (вариант 1) может быть наиболее вероятным в краткосрочной и среднесрочной перспективе. Конечно, это только предположение, но Coinbase и Министерство финансово США могут прийти к компромиссу и выбрать вариант 1. Впрочем, объяснить эти нюансы регулирующим органам может быть крайне сложно.
Вариант 2. Отказаться подтверждать блоки, содержащие подпадающие под санкции OFAC транзакции
Вариант 2 — отказ подтверждать блоки, содержащие запрещенные OFAC транзакции, — гораздо сложнее и имеет много последствий для сети. Во-первых, есть мнение, что этот вариант теоретически неверен. Формально при подтверждении блока вы выбираете только один блок, головной блок. Если в этом блоке есть запрещенные OFAC транзакции, это можно расценивать как нарушение правил OFAC. С другой стороны, процесс стейкинга работает не совсем так. Стейкер голосует за исходный блок, целевой блок и головной блок, и фактически стейкер подтверждает все транзакции между последним финализированным блоком и головным блоком. Тот факт, что в подтверждении есть ссылка на головной блок, — не более чем формальность. В самом деле: допустим, за три блока до подтверждения мог произойти раскол блокчейна, после чего могли образоваться две конкурирующие цепочки одинаковой длины, и валидатору нужно выбрать одну из них, выбрав один из двух головных блоков в одном и том же слоте. В этом сценарии, почему OFAC заботят только транзакции в головном блоке? Разве Управление не должны также волновать транзакции между блоком раскола блокчейна и головным блоком, ведь именно это решает голосование? Конечно, мы сильно сомневаемся, что чиновники Министерства финансов США сейчас ломают голову над этими запутанными вопросами. Но этот краткий пример показывает, что, возможно, вариант 2 в теории имеет изъяны.
Несмотря на это, если будет выбран вариант 2, на первый взгляд он может показаться достаточно мягким, как и вариант 1. Он не влечет за собой реорганизацию блокчейна, и стейкер должен иметь право выбирать, какие блоки подтверждать, — это его свободный выбор. Поэтому такая форма цензуры может считаться приемлемой, а образование UASF/HF в ответ может расцениваться как несправедливая или непропорциональная реакция, как и в варианте 1.
Но если предположить, что большинство блоков содержат запрещенные OFAC транзакции, последствия варианта 2 могут быть весьма серьезными. Валидаторы, применяющие такую цензуру, будут редко участвовать в работе сети и не будут получать доход. Более того, им придется платить штрафы за бездействие. В этом случае стейкинг станет почти полностью бессмысленным. Зачем оставаться в сети и платить штрафы, если можно просто уйти? Поэтому, на наш взгляд, образование UASF/HF не может быть ни этичным, ни необходимым ответом на угрозу того, что небольшое количество валидаторов выберет вариант 2. Следует также заметить, что еще до слияния пользователи могут выйти из стейкингового пула и избежать штрафов за неактивность. Но в этом случае невозможно вывести средства обратно на уровень исполнения. Полный вывод средств может стать возможным примерно через 12 месяцев после слияния блокчейнов, после так называемого 2-го слияния.
Если пулы валидаторов-цензоров достаточно велики, это может нарушить финализацию блоков в масштабах всей сети, и сеть просто перестанет работать. Крупные неактивные пулы могут получать все большие и большие штрафы, размер которых будет расти с течением времени. Поэтому выбирать вариант 2 нет смысла — вместо этого валидаторы могут просто уйти из системы. С другой стороны, если эти пулы будут крупными и выберут цензурирование по варианту 1, ситуация может быть немного более непонятной и непредсказуемой. Сейчас время от времени появляются блоки, соответствующие требованиям OFAC, и, возможно, цензурирующие пулы смогут подтвердить некоторые такие блоки, когда появится такая возможность, если цензор будет входить в правильный комитет. Трудно определить, каким будет результат в этом случае. Доход пулов цензурирующих валидаторов снизится, но в некоторые периоды они все еще смогут зарабатывать — это будет зависеть от процентного соотношения цензурирующих и нецензурирующих пулов. Даже если цензурирующие пулы составляют подавляющее большинство, непонятно, нужно ли переживать пользователям Tornado Cash — возможно, им просто придется немного дольше ждать первого подтверждения, но после этого финализация транзакций должна проходить так же быстро, как и всех остальных. Поэтому сама цензура может быть в значительной степени неэффективной. Возможно также, что сеть будет медленнее финализировать блоки, что может стать проблемой. Поэтому возможно, что если это произойдет, разработчики и пользователи Ethereum пойдут по пути образования UASF/HF. Но, на наш взгляд, изменение протокола всё же маловероятно, и мы не уверены, что образование UASF/HF в этом случае будет оправдано.
Проведем базовые математические расчеты. Если 50% стейкеров участвуют в цензуре по варианту 1 и варианту 2, ситуация может быть следующей:
- 50% стейкеров («добросовестные» стейкеры) подтверждают блоки 100% времени.
- 50% стейкеров (цензоры) подтверждают блоки 50% времени, и только блоки, соответствующие требованиям OFAC.
- Таким образом, средний уровень участия в подтверждении блоков в сети составляет 75%.
Если 100% валидаторов цензурируют транзакции, то все блоки соответствуют требованиям OFAC и все блоки могут быть подтверждены. Если 0% валидаторов цензурируют транзакции, то все блоки могут быть подтверждены. В сценарии 50:50 (возможно, это «худший сценарий») потенциальный уровень подтверждения составляет 75%. Таким образом, 75% — это самый низкий средний показатель участия в аттестации, который можно получить в этом сценарии. Поскольку 75% выше 66,7%, похоже, что блокчейн должен остаться в целом жизнеспособным (по крайней мере, в некоторой степени) и продолжать развиваться. Безусловно, в этих расчетах есть много допущений, так как на практике все никогда не бывает идеально. Но, похоже, что в этих сценариях, независимо от процентного соотношения цензурирующих/нецензурирующих пулов, цензура не будет особенно эффективной, если большая часть валидаторов работает честно.
Теоретический средний процент участия в подтверждении транзакций в сети
Источник: BitMEX Research
Примечание. Предполагается, что всегда существует транзакция, которую цензор запретил бы включать в блок. Предполагается, что цензоры: i. никогда не включают запрещенные транзакции в свои блоки и ii. Никогда не подтверждают блок, содержащий запрещенную транзакцию.
График выше показывает, что где-то посередине может существовать точка равновесия, в которой сеть продолжает работать при некоторой цензуре. Если доля цензурирующих валидаторов слишком мала, например, меньше 25%, штраф за бездействие может оказаться слишком высоким, и они будут вынуждены уйти. Тогда 100% оставшихся валидаторов будут честными. В остальных случаях можно утверждать, что сеть может просуществовать некоторое время и с ограниченной цензурой. В теории никому не нужно будет ничего исправлять. Но цензоры все равно будут зарабатывать меньше и в какой-то момент могут захотеть покинуть сеть.
Существует аргумент и в пользу победы цензоров. Если есть цензурирующие стейкер (даже меньшинство), создатели блоков могут быть обеспокоены тем, что у них будет меньше шансов попасть в цепочку-победитель, если они включат в нее транзакции, запрещенные OFAC. Поэтому, если следовать логике «побеждает наименее толерантный», многие создатели блоков могут добровольно соблюдать санкции OFAC, чтобы себя обезопасить. В этом случае санкции будут в определенной степени эффективными.
Это показывает, что вариант 2 потенциально довольно запутанный и может иметь непредсказуемые последствия. В то время как его логичный аналог, вариант 5 (т. е. отказ подтверждать блоки в блокчейне, который может содержать запрещенные OFAC транзакции после последнего финализированного блока) более прост. В варианте 5 цензурирующие пулы не подтверждают блоки, они просто получают крупные штрафы, и у них не остается другого выхода, кроме как уйти из сети. Поэтому в образовании UASF/HF, скорее всего, не будет необходимости.
Вариант 3. Создавать и подтверждать блоки, соответствующие правилам OFAC, даже если эти блоки конфликтуют с несоответствующими правилам блоками
Это более экстремальный вариант, который многими членами сообщества Ethereum будет воспринят как атака. Он может привести к реорганизации блокчейна, но «слешинга» при этом можно избежать. Этот вариант может привести к изменению протокола в результате образования UASF/HF и потере стейка атакующими пулами. Он также может привести к постоянному расколу блокчейна, особенно если кастодиальные хранители стейблкоинов выберут блокчейн, соответствующий требованиям OFAC. Мы не будем вдаваться в подробности.
Заключение
В этой статье мы не рассматриваем все варианты цензуры. Мы просто хотим показать, что сценарии цензуры в системе PoS более сложны, чем в системе PoWork. И эта сложность может повлиять на Ethereum как позитивно, так и негативно. Потенциальный плюс заключается в том, что регулирующие органы могут не знать, что делать, и принимать меньше регуляторных мер. Потенциальный минус в том, что вариант 2 может вызвать множество проблем, несмотря на то, что это довольно мягкий вариант, который не ведет к реорганизации блокчейна, поэтому его трудно представить как атаку. Следует также отметить, что эти формы цензуры, вероятно, требуют разработки новых клиентских приложений и большой технической работы. Насколько нам известно, эта работа не была проделана.
Если говорить о влиянии потенциальной цензуры и регулятивном вмешательстве в целом, то наиболее вероятные результаты в среднесрочной перспективе могут быть следующими:
- Увеличение времени финализации транзакций в сети
- Отсутствие реальной эффективной цензуры в отношении пользователей, против которых она направлена, просто задержки в обработке транзакций
- Уменьшение участия в стейкинге крупных финансовых организаций и снижение общего уровня стейкинга, что приведет к повышению доходности монет
Процесс MEV-аукциона/Flashbots
Мы уже писали о MEV-аукционах/Flashbots в мае 2022 года. На тот момент не было четкого понимания в отношении того, что ожидает MEV-аукциона после слияния. За последние месяцы был достигнут значительный прогресс в этом направлении, создана инфраструктура. Первое, что нужно отметить, — после слияния в сети Ethereum появится различие между клиентом уровня исполнения (например, Geth) и клиентом уровня консенсуса (например, Prysm). В настоящее время клиент уровня исполнения выполняет все функции: обрабатывает все транзакции и смарт-контракты, а также решает, какому ответвлению блокчейна следовать. После слияния пользователям нужно будет запускать два клиента для отслеживания и проверки блокчейна: клиент исполнения для обработки транзакций и клиент консенсуса для создания блоков и определения ветки блокчейна с наибольшим стейком. Поэтому в преддверии слияния именно клиент исполнения (Geth) был адаптирован для добавления функции Flashbot. После слияния, поскольку блоки создаются на уровне консенсуса, именно клиентам консенсусного уровня нужно будет добавить функцию Flashbot.
Насколько можно судить, все пять конкурирующих клиентов уровня консенсуса уже внедрили систему типа Flashbots как стандартную функцию, используя для этого систему под названием MEV-Boost. До слияния ситуация была несколько иной. Чтобы запустить Flashbots до слияния, майнерам нужно было загрузить специальную версию Geth — MEV-Geth. Теперь MEV-Boost интегрирована в клиент по умолчанию. Напоминаем, что система MEV-аукциона использует доверенный централизованный сервер ретрансляции данных, поэтому можно утверждать, что включение MEV-Boost по умолчанию может повысить централизацию. Но URL-адрес сервера ретрансляции Flashbots, похоже, не добавлен в качестве стандартного в рассмотренные нами клиенты уровня консенсуса; его нужно настраивать вручную. При этом URL-адрес сервера Flashbots включен в руководства пользователей и просмотренные нами инструкции по настройке клиентов уровня консенсуса. Так что вопрос степени повышения централизации остается открытым.
Также следует отметить, что, насколько можно судить, Flashbots указали, что сервер ретрансляции уже соответствует требованиям OFAC и цензурирует транзакции. 17 августа 2022 года, чтобы уменьшить эту проблему, Flahsbots объявили об ускорении разработки сервера ретрансляции с открытым исходным кодом. Это означает, что больше людей смогут запускать свои серверы ретрансляции, и майнеры/стейкеры смогут выбирать сервер по своему усмотрению. Поэтому, если один сервер цензурирует транзакции, то у пользователей есть возможность переключиться на другой. Но, как мы писали в мае, в связи с сервером ретрансляции возникает ряд проблем централизации: 1) сервер сложен в управлении, его использование требует значительных ресурсов и знаний и 2) оператору сервера приходится доверять в отношении отсутствия фронтраннинга или других нечестных действий с его стороны. Поэтому получить разнообразный, динамичный и большой выбор серверов ретрансляции может быть непросто. В частности, это вряд ли произойдет до слияния.
Новая архитектура MEV-Boost: «все или ничего»
В новой инфраструктуре MEV-аукционов есть нечто намного худшее с точки зрения централизации и устойчивости к цензуре, и даже более серьезное, чем проблема с сервером ретрансляции. Так, в майском материале о Flashbots мы писали:
«Майнеры, участвующие в системе Flashbots, также могут включать в свои блоки любые транзакции, не относящиеся к Flashbot, которые они могут получать из общедоступного пула памяти транзакций. Майнеры, которые подписываются на получение транзакций через Flashbot, должны запускать специальную модифицированную версию Geth — MEV-Geth. На наш взгляд, очень важно, чтобы майнинговые узлы также подключались к «обычному» пулу памяти и по возможности добавляли в блоки и эти транзакции. Это главный контраргумент против тех, кто утверждает, что, поскольку система Flashbots централизована и широко распространена среди майнеров, у Ethereum есть единая точка отказа».
Насколько мы можем судить, применительно к новой инфраструктуре этот аргумент больше не актуален. Добавить транзакции из мемпула к транзакциям и группам транзакций из системы MEV-аукциона стало невозможно. Теперь система работает по принципу «все или ничего». Создателям блоков приходится наполнять блок только транзакциями, полученными с помощью системы MEV-аукциона. На наш взгляд, это серьезный недостаток, повышающий риск централизации. Мы не знаем, почему так произошло, но это не похоже, что этот недостаток по умолчанию присущ системе PoS. Возможно, MEV-Boost разрабатывается ускоренными темпами, и разработчики еще не успели реализовать эту функцию. Так что в будущем эта функция может быть добавлена, и проблема будет решена. Но, опять же, насколько можно судить, это вряд ли произойдет до слияния.