MACH для более быстрой завершенности
Last updated
Last updated
Чтобы решить проблему медленной завершенности роллапов, мы представляем MACH: слой быстрой завершенности для роллапов Ethereum со следующими ключевыми задачами:
Быстрое подтверждение для транзакций роллапов
Криптоэкономическая безопасность, позволяющая справиться с любыми злонамеренными участниками сети
Поддержка как ZK, так и оптимистичных роллапов
Достаточно универсальный подход для поддержки различных систем доказательств и времени исполнения.
Для того чтобы гарантировать завершенность, MACH как сеть должна проверять действительность состояния роллапа, чтобы убедиться, что операторы роллапа правильно выполнили функцию перехода состояния. Для этого MACH поддерживает три режима проверки достоверности состояний.
Пессимистический режим
В пессимистическом режиме каждая транзакция по умолчанию считается недействительной и, следовательно, должна быть повторно воспроизведена. В результате оператор роллапа передает данные о транзакциях непосредственно в сеть MACH, которая, в свою очередь, повторно осуществляет транзакцию и достигает консенсуса относительно валидности предложенного оператором роллапа состояния.
Хотя этот режим работы является самым простым из всех, одним из его основных недостатков является то, что он не очень эффективен, так как MACH практически работает как сеть полных нод для роллапа. А это обуславливает высокие требования к нодам.
В будущем мы будем работать над созданием клиентов без состояния, которые будут требовать меньшего объема состояния для управления нодами для роллапов.
Оптимистический режим
В этом режиме оператор роллапа предъявляет MACH требования к состоянию, заявляя, что выполнение определенного блока транзакций приводит к определенному обязательству по состоянию. Любая нода в сети MACH может оспорить это утверждение и доказать, что новое состояние недействительно, взаимодействуя с оператором роллапа в протоколе бисекций. Это классический оптимистический режим, как показано на диаграмме ниже.
Обратите внимание, что протокол бисекции запускается только тогда, когда претендент считает, что обязательство о состоянии недействительно. В качестве альтернативы можно заменить протокол биссекции на ZK-доказательства по требованию, где ZK-доказательство генерируется только при наличии оспаривания. Это показано на диаграмме ниже.
Эта схема предполагает существование хотя бы одной честной ноды в сети MACH, и ноды сети в основном находятся в режиме наблюдения.
Режим доказательства подлинности
В этом режиме сеть MACH действует как децентрализованная сеть верификаторов для доказательства подлинности. Оператор роллапа, например секвенсор, фиксирует новый набор транзакций, результирующее состояние вместе с доказательством действительности на MACH. Затем сеть MACH проверит и достигнет консенсуса по поводу подлинности доказательства.
Несмотря на явное использование доказательств подлинности, этот режим может также хорошо работать с оптимистичными роллапами. При оптимистичном роллапе любой назначенный проверяющий с соответствующим стимулом (вне MACH) может сгенерировать доказательство подлинности и отправить его в сеть MACH, которая, в свою очередь, проверит его и достигнет консенсуса по поводу его подлинности.
Обратите внимание, что для ZK-роллапов пруверы могут генерировать и отправлять доказательства на MACH чаще, чем на Ethereum, и это важно для более быстрого достижения завершенности. Более того, это не обязательно должно происходить за счет увеличения объема работы по доказательству: Вместо того чтобы ждать создания одного пакетного доказательства, прувер может создавать доказательства в реальном времени, отправлять их в MACH и использовать метод рекурсии для объединения их в пакетное доказательство, которое позже может быть отправлено в Ethereum. Пока дополнительные доказательства сразу же передаются в MACH, транзакции будут быстро завершаться.