Что такое Плазма (Plasma)?

Что такое решение масштабирования Plasma?

Плазма (Plasma) или дочерний блокчейн (Child Chain) — это решение масштабирования уровня 2 (Layer 2) для публичных блокчейнов, таких как Ethereum. Блокчейны, основанные на Plasma строятся поверх другого блокчейна, называемого корневым или родительским блокчейном. Каждый дочерний блокчейн является расширением корневого блокчейна и обычно управляется смарт-контрактом, развернутом в корневом блокчейне.

Это отдельный блокчейн, привязанный к основной сети Ethereum или другому корневому блокчейну, но выполняющий транзакции вне сети с использованием собственного механизма проверки блоков. По своей сути, Plasma — это облегченная копия родительской сети, использующая доказательство мошенничества, как в оптимистичных накопительных пакетах (Optimistic Rollups). Благодаря использованию деревьев Меркла, есть возможность создания практически бесконечного стека таких блокчейнов, которые могут разгружать пропускную способность (TPS) родительского блокчейна.

Plasma

Контракты, развернутые в основной сети Ethereum, функционируют как межсетевые мосты, позволяющие передавать активы между родительским и дочерним блокчейном в обоих направлениях. Не смотря на сильное сходство с сайдчейнами, решения масштабирования на основе Плазмы, в некоторой мере опираются на безопасность корневой сети, хоть и с некоторыми конструктивными ограничениями.

Как работает Plasma?

Основными архитектурными особенностями Plasma являются: вычисления вне сети, состояния обязательств, вводы и выводы, а также арбитраж споров. Рассмотрим все эти особенности подробнее:

1. Вычисления вне сети

Транзакции в Plasma не нуждаются в проверке Ethereum и проверяются вне сети, освобождая узлы корневой сети от необходимости проверять каждую транзакцию. В плазме чаще всего используется всего один узел для управления заказом и выполнением транзакций, что позволяет оптимизировать пропускную способность и значительно увеличить ее по сравнению с корневым блокчейном.

2. Состояния обязательств

Узел, отвечающий за производство блоков в Plasma, обязан периодически публиковать состояния обязательств в основной сети Ethereum. Состояния обязательств принимают форму корней Меркла (полученных из дерева Меркла), которые узел через определенные промежутки времени отправляет контракту в родительской сети.

Корни Меркла необходимы для предоставления родительскому блокчейну информации о состоянии плазмы. Это можно рассматривать, как «точки сохранения«, которые фиксируются в основной сети и после этого не могут быть изменены.

3. Вводы и выводы

Plasma использует основной контракт, развернутый в сети Ethereum, для обработки вводов и выводов, когда пользователи вносят средства в плазму или выводят в основную сеть. Этот же контракт используется для отслеживания состояний обязательств и наказания за попытки мошенничества посредством доказательства мошенничества.

Для того, чтобы внести ETH и токены ERC-20 в плазменную сеть, пользователю необходимо перевести их на баланс смарт-контракта в основной сети, после чего узел плазмы, наблюдающий за депозитами воссоздаст эти активы в сети плазмы.

Процесс вывода средств из плазмы несколько сложнее, по той причине, что Ethereum не может проверить правдивость информации, полученной в состоянии обязательств. Чтобы избежать мошенничества, вводится период проверки, в течении которого любой участник сети может оспорить запрос на вывод средств, используя механизм доказательства мошенничества.

4. Арбитраж споров

Как и любой блокчейн, плазменные сети нуждаются в механизме обеспечения целостности транзакций в случае, если участники действуют злонамеренно. С этой целью они используют доказательства мошенничества (как в оптимистичных накопительных пакетах) для разрешения споров относительно обоснованности переходов состояний и наказания за злонамеренное поведение. Доказательства мошенничества используются в качестве механизма, с помощью которого дочерний блокчейн подает жалобу в свой родительский блокчейн.

Защита от мошенничества — это просто утверждение о том, что конкретный переход состояния недействителен. Чтобы предотвратить вывод средств, утверждающему необходимо создать защиту от мошенничества, предоставив доказательства того, что мошенник совершает злонамеренное действие. Если утверждение оказывается верным, то вывод средств мошенника отменяется.

Преимущества и недостатки Plasma

ПреимуществаНедостатки
Обеспечивает высокую пропускную способность (TPS) и низкую стоимость транзакций.Не может запускать смарт-контракты. Поддерживаются только базовые передачи токенов, свопы и некоторые другие типы транзакций.
Подходит для транзакций между произвольными пользователями (нет накладных расходов на пару пользователей, если оба находятся в сети).Необходимость периодически следить за сетью или делегировать эту ответственность кому-то другому, чтобы обеспечить безопасность средств.
Plasma можно адаптировать к конкретным случаям использования, не связанным с корневым блокчейном.Полагается на одного или нескольких операторов для хранения данных и предоставления их по запросу.
Снижает нагрузку на сеть Ethereum за счет вычислений и хранения вне сети.Вывод средств задерживается на несколько дней, чтобы учесть проблемы. Для взаимозаменяемых активов это может быть смягчено поставщиками ликвидности, но это связано с соответствующими затратами.
Если слишком много пользователей попытаются выйти одновременно, основная сеть Ethereum может быть перегружена.

Примеры решений на основе Plasma

Не смотря на то, что технология Plasma достаточно сложная и встречается редко, на рынке существуют решения на ее основе. Рассмотрим примеры некоторых решений:

  • Polygon — один из самых популярных блокчейнов в криптовалютном пространстве, который сочетает в себе технологию Plasma и архитектуру блокчейна Proof-of-Stake.
  • OMG Network (ex-OmiseGO) — это решение уровня 2 для Ethereum, построенное на основе Plasma, которое позволяет быстро и безопасно совершать денежные переводы. Платформа включает в себя децентрализованную биржу и платежную систему с возможность мгновенной конвертации, что позволяет пользователям переводить средства в любую точку мира.
  • Loom Network — решение уровня 2 для Ethereum, построенное на основе Plasma. Для масштабирования и запуска децентрализованных приложений (dApps), в Loom используются сайдчейны DPoS.