Краткое обсуждение Restone: Это не плазма, а вариант Оптимиума.

СреднийJan 07, 2024
В этой статье рассказывается о недостатках оригинального Plasma и о том, как Redstone изучил и решил проблему ключевых атак на утаивание данных.
Краткое обсуждение Restone: Это не плазма, а вариант Оптимиума.

Недавно проект под названием Redstone стал горячей темой. Это специальное средство 2-го уровня для сетевых игр, запущенное командой Lattice, было официально представлено 15 ноября и сейчас находится в тестовой сети. Интересно, что команда Lattice заявила: "Redstone - это Alt-DA цепочка, вдохновленная Plasma"。

Буквально за день до выхода Redstone Виталик опубликовал статью "Выходные игры для валидов EVM: возвращение Plasma". В статье кратко рассматривается техническое решение "Plasma", которое исчезло из экосистемы Ethereum. И указывается, что доказательство достоверности (путают с ZK Proof) может быть введено для решения проблемы Plasma. В связи с этим многие друзья считают, что Виталик опубликовал эту статью, чтобы поддержать Редстоун. Некоторые люди даже говорили в сообществе гиков Web3, что Виталик, возможно, инвестировал в Redstone. В сочетании с горячим "спором об определении Ethereum Layer 2" в этом приквеле, люди в целом полагали, что в будущем это вызовет "возрождение Plasma", и в результате DA-решения вне экосистемы Ethereum, такие как Celestia, могут быть подавлены. Потому что в Plasma нет строгих требований к DA. Однако, согласно исследованию автора этой статьи, Redstone не соответствует общим рамкам решения Plasma. Его заявление о том, что он "вдохновлен Plasma", может на самом деле следовать горячим темам статьи Виталика. Дело не в том, что Виталик действительно хочет выступить в защиту Redstone. Кроме того, план Redstone по вызову DA очень похож на план, запущенный проектом Metis второго уровня в апреле 2022 года, за исключением того, что порядок двух этапов - обновления Stateroot и публикации данных DA - отличается. Итак, реальная ситуация такова: возможно, все "переиначили" Redstone. Ниже мы объясним читателям с помощью простых рассуждений принцип работы Plasma, почему она не дружит со смарт-контрактами и Defi, и что именно представляет собой Redstone.

Плазма: Срочное изъятие требуется в случае атаки с целью сокрытия данных

Историю Plasma можно проследить до бума ICO Ethereum в 2017 году. В то время спрос на транзакции со стороны пользователей Ethereum резко возрос, и ETH, имевший низкий TPS, был перегружен. На этом этапе была выпущена самая ранняя теоретическая версия Plasma, в которой предлагался план расширения второго уровня, способный справиться "почти со всеми финансовыми сценариями в мире". Проще говоря, Plasma - это решение для расширения, которое публикует в Layer1 только заголовок блока/Merkle Root из Layer2. Часть данных (DA-данные), отличная от заголовка блока/корня Меркла, публикуется только вне цепи. Если корень Меркла, выданный сортировщиком/оператором Plasma на L1, связан с недействительной транзакцией (ошибка цифровой подписи и т.д.), соответствующий пользователь может предоставить сертификат мошенничества, чтобы доказать, что корень, выданный сортировщиком, связан с недействительной транзакцией. Но проблема в том, что для выдачи сертификата мошенничества необходимо убедиться, что данные DA не скрываются, но Plasma не предъявляет строгих требований к уровню DA и не может гарантировать, что пользователи или узлы L2 могут получать данные. Если секвенсор запущен в определенный момент времениАтаки с удержанием данных (также известные как проблемы с доступностью данных) публикуют только новые заголовки блоков/корни Меркла, но не публикуют соответствующие тела блоков.Без возможности проверить, является ли заголовок блока/корень действительным, пользователи могут только перейти на "безнадежный" секвенсор и вывести активы с Уровня 2 на Уровень 1 с помощью механизма экстренного выхода под названием "Exit Game".

На этом этапе пользователю необходимо предоставить Merkle Proof, чтобы доказать, что у него действительно есть соответствующая сумма активов на L2. Мы можем назвать это "Доказательством наличия активов". Интересно, что режим выхода из игры у Plasma и режим выхода из люка у ZK Rollup отличаются. Пользователи ZK Rollup должны представить доказательство Меркла, соответствующее последнему действующему корню, в то время как пользователи Plasma могут представить доказательство, соответствующее корню Меркла, который был создан давно. Почему он разработан именно так? Просто потому, что статерут, поданный ZK Rollup, будет немедленно подвергнут суду контракта на Layer1 (чтобы определить, действителен ли сертификат действительности). Если новый представленный стейбрут действителен и легален, то пользователь должен представить доказательство Меркла, соответствующее легальному стейбруту, чтобы оно служило сертификатом актива. Однако контракт Layer1 не может определить, является ли корень Меркла, представленный секвенсором Plasma, действительным. Он может только позволить узлу L2 активно инициировать вызов для устранения недействительных корней, поэтому будет существовать механизм вызова. Это заставляет Plasma и Zk Rollup работать совершенно по-разному. Предположим, что секвенсор только что выдал недействительный корень Меркла 101 и начал атаку с сокрытием данных, так что узел L2 не может доказать, что корень № 101 недействителен. В это время пользователь может отправить merkle Proof, соответствующий корню № 100 или более раннему корню. Извлеките свои собственные активы.

Конечно, здесь есть проблема, которую необходимо решить, а именно: пользователь может предоставить сертификат активов, соответствующий корню №30 или более раннему, и запросить вывод активов на Уровень 1. Однако статус активов этого человека может измениться после выхода корня № 30. Другими словами, то, что он представил, было устаревшим доказательством наличия активов, что является типичной атакой на двойную трату денег.

В связи с этим Plasma позволяет любому подать доказательство мошенничества в описанной выше ситуации, указывая на то, что "доказательство активов", поданное пользователем, инициировавшим заявление о выводе средств, устарело. Введя это правило "каждый может оспорить чужой запрос на вывод средств", Plasma не нужно обрабатывать экстренные запросы на вывод средств, как в ZK Rollup. Но все еще существует возможность. То есть, секвенсор сначала переводит чужие активы на свой собственный счет L2, а затем запускает атаку с сокрытием данных, чтобы посторонние не могли оспорить его мошенническое поведение. После этого секвенсор инициировал экстренное снятие средств со своего собственного счета и предоставил "доказательство активов", утверждая, что он действительно владеет этими активами на L2. Очевидно, что на данный момент, поскольку историческая запись отсутствует, люди не могут напрямую доказать, что существует проблема с источником активов сортировщика. Что же делать в такой ситуации? В ранних версиях Plasma, таких как Plasma MVP, это было учтено, и они предлагали "Приоритет вывода". Если сертификат актива, предоставленный человеком, соответствует более раннему корню, его запрос на вывод средств будет обработан в первую очередь.

Если секвенсор выполняет вышеупомянутое мошенническое поведение и инициирует вывод средств при подаче корня № 101, то пользователь может подать сертификат актива, соответствующий корню № 99 или более раннему, чтобы произвести экстренный вывод средств. Очевидно, что до тех пор, пока сортировщик не сможет подделать исторические записи, опубликованные на Layer1, у пользователя будет возможность спастись. Но у Plasma все еще есть фатальная ошибка: Пока сортировщик инициирует сокрытие данных, людям приходится полагаться на экстренное снятие средств (также известное как Exit Game), чтобы обеспечить сохранность активов. Если большое количество пользователей коллективно выведет деньги за короткий промежуток времени, Layer1 легко не справится с этим; что еще более серьезно, так это то, кто должен вывести активы, записанные в контракте Defi, на Layer 1? Предположим, кто-то вводит 100 ETH в пул LP на DEX, а затем секвенсор Plasma выходит из строя или делает что-то злое, и людям нужно срочно вывести средства. На данный момент 100 ETH пользователя по-прежнему контролируются контрактом DEX. Какими должны быть эти активы на данный момент? Кто упомянул Layer1? Лучший способ - сначала позволить пользователям выкупить свои активы из пула DEX, а затем позволить им самим перевести деньги на L1. Однако проблема в том, что секвенсор Plasma дал сбой/совершил зло, и пользователи не могут выкупить активы. Работа. Но если мы позволим владельцу контракта DEX поднять активы, контролируемые контрактом, на L1, это, очевидно, даст владельцу контракта право собственности на активы. Он может поднять эти активы на L1 и сбежать в любой момент. Разве это не ужасно? Если следовать общественному консенсусу, то кажется возможным создать зеркальный контракт на Уровне 1, который отображает контракт Defi на Уровне 2, но это создаст значительные проблемы и увеличит альтернативные издержки. Кто будет голосовать, чтобы решить, как распорядиться зеркальным контрактом? Это будет большой проблемой. На самом деле это связано с проблемой распределения государственной власти. Воры ранее заявили в интервью:"Трудно создавать новые вещи в высокопроизводительных публичных цепочках, смарт-контракты предполагают распределение энергии".

Конечно, Виталик также указал на это в своей недавней статье "Exit games for EVM validiums: the return of Plasma", и подчеркнул, что это один из факторов, который делает Plasma недружелюбной к смарт-контрактам. Известные в прошлом варианты Plasma, такие как Plasma MVP и Plasma Cash, использовали UTXO или аналогичные модели для замены модели адреса счета Ethereum и не поддерживали смарт-контракты, которые позволяют избежать упомянутой выше проблемы "распределения собственности на активы". Хотя право собственности на каждый UTXO принадлежит самому пользователю, сам UTXO также имеет множество недостатков и не дружит со смарт-контрактами. Поэтому решение Plasma больше всего подходит для простых платежей или обмена книгами заказов. После этого, с ростом популярности ZK Rollup, сама Plasma также сошла со сцены истории. Потому что у Rollup нет такой проблемы с сохранением данных, как у Plasma. Если секвенсор ZK Rollup предпримет атаку с сокрытием данных и передаст в цепочку ETH только Stateroot, но не DA, такой корень будет расценен как недействительный и напрямую отклонен контрактом Verifier на L1. Поэтому данные DA, соответствующие легальному стейблкоину ZK Rollup, должны быть доступны в цепочке ETH. Вот и всеТеперь нет понятия "публикация только заголовка блока или корня меркла, но не тела соответствующего блока", что означает решение проблемы доступности данных/атаки на утаивание данных.В то же время, данные о прошлом DA Rollup можно проверить на Ethereum, и любой может запустить узлы второго уровня через исторические записи в цепи ETH, что значительно снизит сложность децентрализованных и даже безразрешительных решений для секвенсоров. В отличие от этого, в Plasma нет строгих требований к DA, и реализовать децентрализованный сортировщик сложнее (Чтобы реализовать заменяемый децентрализованный сортировщик, мы должны сначала убедиться, что все узлы L2 распознают один и тот же блок, что выдвигает дополнительные требования к реализации DA). Кроме того, если секвенсор ZK Rollup попытается включить недействительные транзакции в блоки Уровня 2, это не удастся. Это гарантируется принципом доказательства достоверности. В конечном счете, пространство зла сортировщика ZK Rollup гораздо меньше, чем у Plasma... Максимум, что он может сделать, это остановить обновления Stateroot, что эквивалентно отключению на уровне UX, или отклонить запросы определенных пользователей, что обычно известно как проверка транзакций. В то же время, если сортировщик выйдет из строя в схеме роллапа, другим узлам будет проще его заменить. Идеальный роллап может снизить вероятность запуска игрового режима Exit в Plasma до 0 (в ZK Rollup это называется "аварийный люк").

(В колонке Proposer Failure на сайте L2BEAT показано, как каждое решение L2 реагирует на отказ секвенсора. Self Propose часто относится к другим узлам, которые могут заменить неработающий в данный момент секвенсор)

Сегодня почти ни одна команда в экосистеме Ethereum не придерживается пути Plasma, и почти все проекты Plasma оказались мертворожденными.

(Виталик объясняет, почему ZK Rollup превосходит Plasma, упоминает работу секвенсора без разрешения и проблемы с DA)

Что такое Redstone: Это не Плазма, а вариант Оптимиума.

Выше мы вкратце рассказали о Plasma и о том, почему он был заменен на Rollup. Что касается Redstone, Вы, должно быть, также видели разницу между ним и Plasma:Redstone может решить проблему атак, скрывающих данные, например, он не будет выпускать новый stateroot немедленно. Вместо этого он сначала выпустит оригинальные данные DA под цепочкой ETH, а затем использует datahash данных DA в качестве связанного с ними обязательства по учетным данным и опубликует его в цепочке ETH, заявив, что выпустил его под цепочкой. Полные данные, соответствующие сегменту datahash.

(Официальное объяснение компанией Redstone своего плана по предотвращению атак с целью утаивания данных)

Любой может инициировать вызов, заявив, что сортировщик Redstone не опубликовал исходные данные, соответствующие этому datahash, вне цепи. В это время секвенсору необходимо опубликовать данные, соответствующие datahash, на цепочке, чтобы ответить на вызовы сомневающихся. Если секвенсор не сможет вовремя опубликовать данные на цепочке ETH после того, как ему будет брошен вызов, то опубликованные ранее datahash/обязательства будут считаться недействительными. Если сортировщик вовремя ответит на запрос претендента, то претендент сможет вовремя получить оригинальные данные DA, соответствующие datahash. В итоге все узлы L2 смогут получить необходимые данные DA, что позволит решить проблему атак с утаиванием данных. Конечно, сначала претендент должен заплатить определенную плату, которая примерно равна стоимости публикации секвенсором оригинальных данных DA в цепочке ETH. Эта мера призвана не допустить, чтобы злонамеренные претенденты бросали вызов секвенсору безвозмездно, заставляя последнего терпеть убытки. . Наконец, когда период вызова для datahash закончится, сортировщик выпустит соответствующий stateroot, то есть корень, полученный после выполнения последовательности операций, содержащихся в данных DA, соответствующих datahash. В этот момент узлы L2 могут использовать систему доказательства мошенничества, чтобы оспорить эти недействительные корни. Если сортировщик вовремя не выпустил соответствующие оригинальные данные DA после того, как предыдущий datahash был оспорен, даже если сортировщик позже выпустит stateroot, соответствующий этому datahash, он будет недействительным по умолчанию. потому что компания Redstone сначала выпускает данные DA, а затем выпускает соответствующий эффективный Stateroot, что напрямую решает проблему атак с утаиванием данных.(The Сортировщик публикует только корневые данные, но не данные DA). Очевидно, что этот режим отличается от обычного Optimium (OP Rollup, который не использует Ethereum для реализации DA, например, Arbitrum Nova). Optimium обычно полагается на внецепочечный комитет DAC для обеспечения доступности данных. DAC отправляет многозначный txn в цепочку через регулярные промежутки времени. После того, как контракт Rollup на Уровне 1 получит многозначный txn, он по умолчанию будет публиковать секвенсором последнюю партию данных DA вне цепи.


(Источник: L2beat)

Например, Metis и Arbitrum Nova одновременно подают Stateroot и datahash. Если кто-то считает, что сортировщик утаил данные DA, он попытается оспорить это, и сортировщик отправит данные DA, соответствующие datahash, в цепочку. Итак, ключевое различие между Redstone и Metis заключается в следующем: первый сначала выпускает datahash, а затем выпускает stateroot после окончания периода испытания DA; Metis выпускает stateroot и datahash одновременно. Если кто-то инициирует вызов, данные DA загружаются в цепочку. Очевидно, что решение Redstone более безопасно, потому что при решении Metis, если сортировщик никогда не отвечает на запрос претендента о данных DA, проблема атаки с сокрытием данных не может быть решена быстро. Мы можем полагаться только на экстренное снятие средств и социальный консенсус, или позволить другим узлам взять на себя текущий сортировщик. ;

Но в Redstone, если сортировщик утаивает данные, выпущенный им стейтруп будет напрямую считаться недействительным, поэтому стейтруп и данные DA связаны. Это позволяет Redstone получить гарантию DA, близкую к гарантии Rollup, которая, по сути, является вариантом Optimium, превосходящим Arbitrum Nova и Metis.

Отказ от ответственности:

  1. Эта статья перепечатана из[极客web3]. Все авторские права принадлежат оригинальному автору[Faust]. Если у Вас есть возражения против этой перепечатки, пожалуйста, свяжитесь с командой Gate Learn, и они незамедлительно рассмотрят их.
  2. Предупреждение об ответственности: Мнения и взгляды, выраженные в этой статье, принадлежат исключительно автору и не являются инвестиционным советом.
  3. Перевод статьи на другие языки осуществляется командой Gate Learn. Если не указано, копирование, распространение или плагиат переведенных статей запрещены.
Comece agora
Registe-se e ganhe um cupão de
100 USD
!
Criar conta