Пт. Ноя 22nd, 2024

Соучредитель 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.