Плазменные цепи
Последнее обновление страницы: 25 февраля 2026 г.
Плазма-цепь — это отдельный блокчейн, привязанный к основной сети Ethereum, но выполняющий транзакции вне сети (офф-чейн) с помощью собственного механизма проверки блока. Плазма-цепи иногда называют «дочерними» цепями, по сути, они являются уменьшенными копиями основной сети Ethereum. Плазма-цепи используют (как и оптимистические ролл-апы) для разрешения споров.
Деревья Меркла позволяют создавать бесконечный стек этих цепей, которые могут работать для разгрузки пропускной способности родительских цепей (включая основную сеть Ethereum). Однако, хотя эти цепи и получают определенную безопасность от Ethereum (через доказательства мошенничества), на их безопасность и эффективность влияет ряд конструктивных ограничений.
Предварительные условия
Вы должны хорошо разбираться во всех основополагающих темах и иметь общее представление о масштабировании Ethereum.
Что такое Plasma?
Плазма — это фреймворк для улучшения масштабируемости в публичных блокчейнах, таких как Ethereum. Как описано в оригинальном вайтпейпере Plasma (opens in a new tab), плазма-цепи строятся поверх другого блокчейна (называемого «корневой цепью»). Каждая «дочерняя цепь» является расширением корневой цепи и обычно управляется смарт-контрактом, развернутым в родительской цепи.
Контракт Plasma, помимо прочего, функционирует как мост, позволяя пользователям перемещать активы между основной сетью Ethereum и плазма-цепью. Хотя это делает их похожими на сайдчейны, плазма-цепи выигрывают — по крайней мере, в некоторой степени — от безопасности основной сети Ethereum. Это отличает их от сайдчейнов, которые несут полную ответственность за свою безопасность.
Как работает Plasma?
Основные компоненты фреймворка Plasma:
Офф-чейн вычисления
Текущая скорость обработки транзакций Ethereum ограничена ~15–20 транзакциями в секунду, что снижает краткосрочную возможность масштабирования для обслуживания большего числа пользователей. Эта проблема существует в основном потому, что механизм консенсуса Ethereum требует, чтобы множество одноранговых узлов проверяли каждое обновление состояния блокчейна.
Хотя механизм консенсуса Ethereum необходим для обеспечения безопасности, он может подходить не для каждого варианта использования. Например, Алисе может не потребоваться, чтобы ее ежедневные платежи Бобу за чашку кофе проверялись всей сетью Ethereum, поскольку между обеими сторонами существует определенное доверие.
Plasma предполагает, что основной сети Ethereum не нужно проверять все транзакции. Вместо этого мы можем обрабатывать транзакции вне основной сети, освобождая узлы от необходимости проверять каждую транзакцию.
Офф-чейн вычисления необходимы, поскольку плазма-цепи можно оптимизировать по скорости и стоимости. Например, плазма-цепь может — и чаще всего так и делает — использовать одного «оператора» для управления упорядочиванием и выполнением транзакций. Поскольку транзакции проверяет только одна организация, время обработки в плазма-цепи быстрее, чем в основной сети Ethereum.
Обязательства по состоянию
Хотя Plasma выполняет транзакции офф-чейн, расчеты по ним производятся на основном уровне исполнения Ethereum — в противном случае плазма-цепи не смогут воспользоваться гарантиями безопасности Ethereum. Но завершение офф-чейн транзакций без знания состояния плазма-цепи нарушило бы модель безопасности и привело бы к распространению недействительных транзакций. Вот почему оператор, организация, ответственная за создание блоков в плазма-цепи, обязан периодически публиковать «обязательства по состоянию» в Ethereum.
Схема обязательств (opens in a new tab) — это криптографический метод, позволяющий взять на себя обязательство в отношении значения или утверждения, не раскрывая его другой стороне. Обязательства являются «обязывающими» в том смысле, что вы не можете изменить значение или утверждение после того, как вы его приняли. Обязательства по состоянию в Plasma принимают форму «корней Меркла» (полученных из дерева Меркла), которые оператор периодически отправляет в контракт Plasma в цепи Ethereum.
Корни Меркла — это криптографические примитивы, которые позволяют сжимать большие объемы информации. Корень Меркла (в данном случае также называемый «корнем блока») может представлять все транзакции в блоке. Корни Меркла также упрощают проверку того, что небольшой фрагмент данных является частью более крупного набора данных. Например, пользователь может предоставить доказательство Меркла, чтобы доказать включение транзакции в определенный блок.
Корни Меркла важны для предоставления информации о состоянии офф-чейн сети Ethereum. Вы можете думать о корнях Меркла как о «точках сохранения»: оператор говорит: «Это состояние плазма-цепи в момент времени x, и вот корень Меркла в качестве доказательства». Оператор принимает на себя обязательство по текущему состоянию плазма-цепи с помощью корня Меркла, поэтому это называется «обязательством по состоянию».
Входы и выходы
Чтобы пользователи Ethereum могли воспользоваться преимуществами Plasma, должен существовать механизм перемещения средств между основной сетью и плазма-цепями. Однако мы не можем произвольно отправлять эфир на адрес в плазма-цепи — эти цепи несовместимы, поэтому транзакция либо не удастся, либо приведет к потере средств.
Plasma использует основной контракт, работающий на Ethereum, для обработки входов и выходов пользователей. Этот основной контракт также отвечает за отслеживание обязательств по состоянию (описанных ранее) и наказание за нечестное поведение с помощью доказательств мошенничества (подробнее об этом позже).
Вход в плазма-цепь
Чтобы войти в плазма-цепь, Алиса (пользователь) должна внести ETH или любой токен ERC-20 в контракт Plasma. Оператор Plasma, который следит за депозитами в контракте, воссоздает сумму, равную первоначальному депозиту Алисы, и отправляет ее на ее адрес в плазма-цепи. Алиса должна подтвердить получение средств в дочерней цепи, а затем может использовать эти средства для транзакций.
Выход из плазма-цепи
Выход из плазма-цепи сложнее, чем вход, по нескольким причинам. Самая большая из них заключается в том, что, хотя Ethereum имеет информацию о состоянии плазма-цепи, он не может проверить, является ли эта информация правдивой. Злонамеренный пользователь может сделать неверное утверждение («У меня 1000 ETH») и остаться безнаказанным, предоставив поддельные доказательства в поддержку этого утверждения.
Для предотвращения злонамеренных выводов средств вводится «период оспаривания». В течение периода оспаривания (обычно неделя) любой может оспорить запрос на вывод средств, используя доказательство мошенничества. Если оспаривание будет успешным, запрос на вывод средств будет отклонен.
Однако обычно пользователи честны и делают правильные заявления о принадлежащих им средствах. В этом сценарии Алиса инициирует запрос на вывод средств в корневой цепи (Ethereum), отправив транзакцию в контракт Plasma.
Она также должна предоставить доказательство Меркла, подтверждающее, что транзакция, создавшая ее средства в плазма-цепи, была включена в блок. Это необходимо для итераций Plasma, таких как Plasma MVP (opens in a new tab), которые используют модель непотраченных выходов транзакций (UTXO) (opens in a new tab).
Другие, такие как Plasma Cash (opens in a new tab), представляют средства в виде невзаимозаменяемых токенов, а не UTXO. Вывод средств в этом случае требует доказательства владения токенами в плазма-цепи. Это делается путем отправки двух последних транзакций с участием токена и предоставления доказательства Меркла, подтверждающего включение этих транзакций в блок.
Пользователь также должен добавить залог к запросу на вывод средств в качестве гарантии честного поведения. Если оспаривающий докажет недействительность запроса Алисы на вывод средств, ее залог будет урезан, и часть его перейдет к оспаривающему в качестве вознаграждения.
Если период оспаривания истекает, и никто не предоставляет доказательства мошенничества, запрос Алисы на вывод средств считается действительным, что позволяет ей забрать депозиты из контракта Plasma в Ethereum.
Арбитраж споров
Как и любой блокчейн, плазма-цепи нуждаются в механизме для обеспечения целостности транзакций на случай злонамеренных действий участников (например, двойного расходования средств). Для этого плазма-цепи используют доказательства мошенничества для разрешения споров о действительности переходов состояний и наказания за плохое поведение. Доказательства мошенничества используются как механизм, с помощью которого дочерняя плазма-цепь подает жалобу в свою родительскую цепь или в корневую цепь.
Доказательство мошенничества — это просто заявление о том, что определенный переход состояния является недействительным. Примером может служить ситуация, когда пользователь (Алиса) пытается дважды потратить одни и те же средства. Возможно, она потратила UTXO в транзакции с Бобом и хочет потратить тот же UTXO (который теперь принадлежит Бобу) в другой транзакции.
Чтобы предотвратить вывод средств, Боб создаст доказательство мошенничества, предоставив доказательство того, что Алиса потратила указанный UTXO в предыдущей транзакции, и доказательство Меркла о включении транзакции в блок. Тот же процесс работает в Plasma Cash — Бобу нужно будет предоставить доказательство того, что Алиса ранее перевела токены, которые она пытается вывести.
Если оспаривание Боба будет успешным, запрос Алисы на вывод средств будет отменен. Однако этот подход зависит от способности Боба отслеживать запросы на вывод средств в цепи. Если Боб не в сети, то Алиса может обработать злонамеренный вывод средств по истечении периода оспаривания.
Проблема массового выхода в Plasma
Проблема массового выхода возникает, когда большое количество пользователей пытаются одновременно вывести средства из плазма-цепи. Причина существования этой проблемы связана с одной из самых больших проблем Plasma: недоступностью данных.
Доступность данных — это возможность проверить, что информация для предложенного блока действительно была опубликована в сети блокчейна. Блок считается «недоступным», если производитель публикует сам блок, но скрывает данные, использованные для его создания.
Блоки должны быть доступны, чтобы узлы могли загрузить блок и проверить действительность транзакций. Блокчейны обеспечивают доступность данных, заставляя производителей блоков публиковать все данные транзакций он-чейн.
Доступность данных также помогает защитить протоколы офф-чейн масштабирования, которые строятся на базовом слое Ethereum. Заставляя операторов этих цепей публиковать данные транзакций в Ethereum, любой может оспорить недействительные блоки, создав доказательства мошенничества, ссылающиеся на правильное состояние цепи.
Плазма-цепи в основном хранят данные транзакций у оператора и не публикуют никаких данных в основной сети (кроме периодических обязательств по состоянию). Это означает, что пользователи должны полагаться на оператора в предоставлении данных блока, если им нужно создать доказательства мошенничества для оспаривания недействительных транзакций. Если эта система работает, то пользователи всегда могут использовать доказательства мошенничества для защиты средств.
Проблема начинается, когда злонамеренно действует оператор, а не просто какой-либо пользователь. Поскольку оператор единолично контролирует блокчейн, у него больше стимулов для продвижения недействительных переходов состояния в более крупном масштабе, например, для кражи средств, принадлежащих пользователям в плазма-цепи.
В этом случае использование классической системы доказательств мошенничества не работает. Оператор может легко совершить недействительную транзакцию, переведя средства Алисы и Боба на свой кошелек, и скрыть данные, необходимые для создания доказательства мошенничества. Это возможно потому, что оператор не обязан предоставлять данные пользователям или основной сети.
Поэтому самым оптимистичным решением является попытка «массового выхода» пользователей из плазма-цепи. Массовый выход замедляет план злонамеренного оператора по краже средств и обеспечивает некоторую меру защиты для пользователей. Запросы на вывод средств упорядочиваются в зависимости от времени создания каждого UTXO (или токена), что не позволяет злонамеренным операторам опережать честных пользователей.
Тем не менее, нам все еще нужен способ проверки действительности запросов на вывод средств во время массового выхода, чтобы предотвратить оппортунистических личностей от наживы на хаосе, обрабатывая недействительные выходы. Решение простое: требовать от пользователей публиковать последнее действительное состояние цепи, чтобы вывести свои деньги.
Но у этого подхода все еще есть проблемы. Например, если всем пользователям в плазма-цепи необходимо выйти (что возможно в случае злонамеренного оператора), то все действительное состояние плазма-цепи должно быть сразу же выгружено на базовый слой Ethereum. Учитывая произвольный размер плазма-цепей (высокая пропускная способность = больше данных) и ограничения на скорость обработки Ethereum, это не идеальное решение.
Хотя выходные игры звучат хорошо в теории, реальные массовые выходы, скорее всего, вызовут перегрузку всей сети самого Ethereum. Помимо ущерба функциональности Ethereum, плохо скоординированный массовый выход означает, что пользователи могут не успеть вывести средства до того, как оператор опустошит все аккаунты в плазма-цепи.
Плюсы и минусы Plasma
| Преимущества | Недостатки |
|---|---|
| Предлагает высокую пропускную способность и низкую стоимость за транзакцию. | Не поддерживает общие вычисления (не может запускать смарт-контракты). С помощью логики предикатов поддерживаются только базовые передачи токенов, свопы и несколько других типов транзакций. |
| Подходит для транзакций между произвольными пользователями (без накладных расходов на пару пользователей, если оба установлены в плазменной цепи) | Необходимо периодически следить за сетью (требование живучести) или делегировать эту ответственность кому-то другому для обеспечения безопасности ваших средств. |
| Плазма-цепи можно адаптировать к конкретным вариантам использования, не связанным с основной цепью. Любой, включая компании, может настраивать смарт-контракты Plasma для предоставления масштабируемой инфраструктуры, работающей в различных контекстах. | Полагается на одного или нескольких операторов для хранения данных и их обслуживания по запросу. |
| Снижает нагрузку на основную сеть Ethereum, перемещая вычисления и хранение офф-чейн. | Вывод средств задерживается на несколько дней из-за проблем. Для взаимозаменяемых активов это может быть смягчено поставщиками ликвидности, но это связано с соответствующими капитальными затратами. |
| Если слишком много пользователей попытаются выйти одновременно, основная сеть Ethereum может быть перегружена. |
Plasma в сравнении с протоколами масштабирования уровня 2
Хотя Plasma когда-то считалась полезным решением для масштабирования Ethereum, от нее отказались в пользу протоколов масштабирования уровня 2 (L2). Решения для масштабирования L2 решают несколько проблем Plasma:
Эффективность
Ролл-апы с нулевым разглашением генерируют криптографические доказательства действительности каждой партии транзакций, обработанных офф-чейн. Это не позволяет пользователям (и операторам) продвигать недействительные переходы состояний, устраняя необходимость в периодах оспаривания и выходных играх. Это также означает, что пользователям не нужно периодически следить за цепью, чтобы обезопасить свои средства.
Поддержка смарт-контрактов
Еще одна проблема с фреймворком Plasma заключалась в невозможности поддерживать выполнение смарт-контрактов Ethereum (opens in a new tab). В результате большинство реализаций Plasma были в основном созданы для простых платежей или обмена токенами ERC-20.
И наоборот, оптимистические ролл-апы совместимы с виртуальной машиной Ethereum и могут запускать нативные смарт-контракты Ethereum, что делает их полезным и безопасным решением для масштабирования децентрализованных приложений. Аналогичным образом, ведутся работы по созданию реализации EVM с нулевым разглашением (zkEVM) (opens in a new tab), которая позволит ZK-ролл-апам обрабатывать произвольную логику и выполнять смарт-контракты.
Недоступность данных
Как объяснялось ранее, Plasma страдает от проблемы доступности данных. Если злонамеренный оператор продвинет недействительный переход в плазма-цепи, пользователи не смогут его оспорить, поскольку оператор может скрыть данные, необходимые для создания доказательства мошенничества. Ролл-апы решают эту проблему, заставляя операторов публиковать данные транзакций в Ethereum, что позволяет любому проверять состояние цепи и при необходимости создавать доказательства мошенничества.
Проблема массового выхода
ZK-ролл-апы и оптимистические ролл-апы решают проблему массового выхода Plasma различными способами. Например, ZK-ролл-ап полагается на криптографические механизмы, которые гарантируют, что операторы не смогут украсть средства пользователей ни при каких обстоятельствах.
Аналогичным образом, оптимистические ролл-апы устанавливают период задержки на вывод средств, в течение которого любой может инициировать оспаривание и предотвратить злонамеренные запросы на вывод. Хотя это похоже на Plasma, разница в том, что верификаторы имеют доступ к данным, необходимым для создания доказательств мошенничества. Таким образом, пользователям ролл-апов не нужно участвовать в бешеной миграции «кто первый выйдет» в основную сеть Ethereum.
Чем Plasma отличается от сайдчейнов и шардинга?
Plasma, сайдчейны и шардинг довольно похожи, потому что все они так или иначе подключаются к основной сети Ethereum. Однако уровень и прочность этих соединений различаются, что влияет на свойства безопасности каждого решения для масштабирования.
Plasma в сравнении с сайдчейнами
Сайдчейн — это независимо работающий блокчейн, подключенный к основной сети Ethereum через двусторонний мост. Мосты позволяют пользователям обмениваться токенами между двумя блокчейнами для совершения транзакций в сайдчейне, снижая перегрузку в основной сети Ethereum и улучшая масштабируемость. Сайдчейны используют отдельный механизм консенсуса и обычно намного меньше основной сети Ethereum. В результате перенос активов в эти цепи сопряжен с повышенным риском; учитывая отсутствие гарантий безопасности, унаследованных от основной сети Ethereum в модели сайдчейна, пользователи рискуют потерять средства в случае атаки на сайдчейн.
И наоборот, плазма-цепи получают свою безопасность от основной сети. Это делает их заметно более безопасными, чем сайдчейны. И сайдчейны, и плазма-цепи могут иметь разные протоколы консенсуса, но разница в том, что плазма-цепи публикуют корни Меркла для каждого блока в основной сети Ethereum. Корни блоков — это небольшие фрагменты информации, которые мы можем использовать для проверки информации о транзакциях, происходящих в плазма-цепи. Если происходит атака на плазма-цепь, пользователи могут безопасно вывести свои средства обратно в основную сеть, используя соответствующие доказательства.
Plasma в сравнении с шардингом
И плазма-цепи, и шард-цепи периодически публикуют криптографические доказательства в основной сети Ethereum. Однако оба имеют разные свойства безопасности.
Шард-цепи передают «заголовки сверки» в основную сеть, содержащие подробную информацию о каждом шарде данных. Узлы в основной сети проверяют и обеспечивают действительность шардов данных, снижая вероятность недействительных переходов шардов и защищая сеть от злонамеренных действий.
Plasma отличается тем, что основная сеть получает лишь минимальную информацию о состоянии дочерних цепей. Это означает, что основная сеть не может эффективно проверять транзакции, проводимые в дочерних цепях, что делает их менее безопасными.
Примечание: шардинг блокчейна Ethereum больше не входит в дорожную карту. Он был заменен масштабированием с помощью ролл-апов и Danksharding.
Используйте Plasma
Несколько проектов предоставляют реализации Plasma, которые вы можете интегрировать в свои децентрализованные приложения:
- Polygon (opens in a new tab) (ранее Matic Network)
Дополнительные материалы
- Изучите Plasma (opens in a new tab)
- Краткое напоминание о том, что означает «общая безопасность» и почему это так важно (opens in a new tab)
- Сайдчейны в сравнении с Plasma и шардингом (opens in a new tab)
- Понимание Plasma, Часть 1: Основы (opens in a new tab)
- Жизнь и смерть Plasma (opens in a new tab)
Знаете ресурс сообщества, который вам пригодился? Измените эту страницу и добавьте его!