Соучредитель Ethereum Виталик Бутерин опубликовал эссе, в котором вспомнил о технологии Plasma и рассказал о способах ее применения в текущих реалиях.
- Бутерин объяснил принцип работы и недостатки Plasma.
- Интеграция с ZK-SNARK может решить многие проблемы технологии.
Как устроена Plasma
Plasma — представленное в 2017 году решение для масштабирования блокчейна Ethereum, которое позволяет хранить все данные и вычисления вне цепочки, за исключением информации о депозитах, выводе средств и корнях дерева Меркла.
Со временем технология «обросла» несколькими итерациями — Minimal Viable Plasma, Plasma Cash, Plasma Cashflow и Plasma Prime. Все они выполняли одну задачу, но работали по несколько различным принципам.
По мнению Бутерина, разработка открывала двери для прорыва в масштабируемости сети. Однако позднее из-за высоких затрат на хранение данных на стороне клиента и технологических ограничений роллапы вытеснили Plasma.
Самая простая для ознакомления версия Plasma Cash работает, рассматривая каждую отдельную монету как невзаимозаменяемый токен и отслеживая историю перемещений для каждой из них.
В цепи Plasma есть оператор, который отвечает за создание и регулярную публикацию блоков, транзакции в которых хранятся в виде сепарированного дерева Меркла. Таким образом можно точно знать, какому пользователю принадлежала конкретная монета в определенный момент времени.
Проблемы Plasma
Хотя подобный метод хранения данных в теории подходил для масштабирования мейннета, решение сталкивалось с техническими трудностями. Основным риском в любой экосистеме Plasma Бутерин назвал неправильное поведение оператора, например посредством публикации «недопустимого» или «недоступного» блока.
В таких случаях возникает множество ошибок, включая двойную трату. Впоследствии самим участникам сети необходимо было проводить проверку и собирать доказательства нарушений.
По словам сооснователя Ethereum, вышеупомянутая конструкция работает для NFT, но чтобы применить ее к взаимозаменяемым токенам необходимо вносить изменения в алгоритмы. Он предположил, что можно отслеживать отдельно только часть монеты (не 1 ETH, а 0,01 ETH), но тогда возникают слишком большие расходы на газ.
Одним из решений является оптимизация протоколов, которые рассматривают множество соседних монет как целую единицу с возможностью передать или вывести их одновременно.
«Однако оба этих подхода сталкиваются с проблемой фрагментации. Если вы получаете по 0,001 ETH от сотен людей, покупающих у вас кофе, у вас будет 0,001 ETH во многих местах дерева Меркла. А вывод этих ETH по-прежнему требует создания множества отдельных точек выхода, что сделает плату за газ непомерно высокой. Протоколы дефрагментации продуманы, но их сложно имплементировать», — пояснил Бутерин.
Кроме того, технологию практически невозможно реализовать в рамках EVM. Одна из ключевых проблем заключается в том, что многие объекты в экосистеме не имеют четкого «владельца», а основа безопасности Plasma как раз заключается в обязательном подтверждении права собственности.
Чем поможет ZK-SNARK
По мнению Бутерина, появление доказательств достоверности (также известных как ZK-SNARK) дает повод переосмыслить принципы Plasma.
Основное, чем может помочь ZK-SNARK, это упрощение верификации каждого блока в цепи Plasma. Такой подход сокращает количество состояний, которые пользователю необходимо загрузить из конкретной ветви Меркла для определенной монеты.
Если оператор и конечный владелец были честны, вывод средств из самого последнего состояния не подлежит проверке и его можно осуществить «мгновенно».
В EVM-сетях Бутерин предложил использовать ZK-SNARK в сочетании с моделью «вывода неизрасходованных транзакций» (UTXO) для реализации параллельного графа токенов ETH и ERC-20. Такая система сможет проверять и доказывать историю владения определенной монетой.
По словам соучредителя Ethereum, использование Plasma в EVM все еще не проработано до конца и имеет потенциальные проблемы конфиденциальности.
«Подобные схемы являются мощными, но не способны предоставить полные гарантии безопасности всем пользователям Наиболее явно они разрушаются в ситуациях, когда конкретный объект состояния не имеет четкого владельца», — пояснил разработчик.
Однако Бутерин считает Plasma «недооцененным дизайнерским пространством», которое может упростить работу программистов, избавляя их от необходимости думать о графиках владения внутри приложения.
Напомним, в октябре основатель Ethereum рассказал, как абстракция учетных записей способна сделать аккаунты пользователей устойчивыми ко взлому с помощью квантовых компьютеров.
Ранее Бутерин поделился своими взглядами на будущее Ethereum.