Авторы Мэтью Кэмпбелл и Георгиос Констанопулос

Статьи из этой серии:

  1. Plasma on Loom Network DAppChains: масштабируемые DApps с активами, защищенными Ethereum
  2. Практическая плазма (Том I): Игры
  3. Первоначальный выпуск Plasma Cash - NFT с плазменной поддержкой теперь доступны в боковых цепях Loom Network 👈

Два месяца назад мы объявили, что добавляем Plasma Cash в Loom Network.

Сегодня мы с гордостью представляем нашу первую реализацию Plasma Cash, которая позволяет использовать невзаимозаменяемые токены ERC721 на сайдчейнах Loom.

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

Смарт-контракты Plasma Cash теперь с открытым исходным кодом

Разработчики, вы можете найти исходный код нашей реализации на нашем гитхабе:

Https://github.com/loomnetwork/plasma-erc721

Мы также объявили о выпуске на сайте ethresear.ch для публичного аудита сообществом Plasma.

Мы с нетерпением ждем будущих вкладов от других разработчиков и проектов, основанных на нашем первоначальном выпуске кода.

Текущая реализация и следующие шаги

Поскольку наша первоначальная цель в Loom Network - создание игр с блокчейном, таких как Zombie Battleground, наша первоначальная реализация Plasma Cash предназначена специально для невзаимозаменяемых токенов ERC721.

Перенос кода для обработки ETH, ERC20 и других типов токенов довольно тривиален, но потребует более комплексных тестов.

Для наших целей возможность использовать Plasma Cash для взаимозаменяемых токенов, таких как ERC721, открывает ряд важных вариантов использования в играх. Таким образом, это был самый первый вариант использования, которым мы решили заняться.

Следующие шаги - разделение и слияние токенов

Наши следующие шаги - добавить поддержку токенов ERC20 и ETH.

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

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

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

Пока не будет консенсуса относительно того, как обрабатывать разделение и слияние токенов в цепочке Plasma, разработчики Loom SDK по-прежнему смогут использовать Loom Transfer Gateway для использования этих взаимозаменяемых активов в боковой цепочке.

Технический обзор: перемещение токена между основной сетью и плазменной цепочкой

Реализация Plasma Cash состоит из смарт-контракта Plasma, который находится в основной сети Ethereum, и смарт-контракта боковой цепи Loom, который взаимодействует с контрактом Plasma.

Чтобы использовать токен ERC721 в боковой цепи, пользователь сначала отправляет свой токен в контракт Plasma.

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

Затем пользователю зачисляется специальный токен Plasma Cash на боковой цепи, который представляет его право собственности на токен в Mainnet. Они могут совершать транзакции и использовать этот токен в боковой цепи любым способом, включая передачу его другим пользователям в боковой цепи (путем предоставления подписанной транзакции, чтобы доказать, что другой пользователь является новым владельцем токена).

Сайдчейн периодически выполняет «контрольные точки» для Mainnet, фиксируя корень своих блоков Меркла в контракте Plasma, показывая любые изменения во владении токеном.

Плазменные выходы

Когда пользователь хочет выйти из своего токена из боковой цепи, он отправляет запрос на выход непосредственно в контракт Plasma в Mainnet (вместе с подписанной транзакцией от предыдущего владельца в качестве доказательства того, что токен был передан им).

Затем токен входит в «период оспаривания», в течение которого претендент может предоставить свидетельство подписанных транзакций, которые доказывают, что пользователь, пытающийся выйти из токена, не является его действительным владельцем.

Если период вызова проходит безуспешно, пользователь может вывести свой токен из Контракта плазмы.

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

Схема ткацкого станка – плазмы:

Базовый поток между пользователем, смарт-контрактом Plasma Cash в основной сети Ethereum и сайдчейном Loom можно увидеть на следующей диаграмме:

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

Джордж недавно представил наши выводы на встрече по исследованию плазмы в Токио вместе с OmiseGo, которые будут объединены в статью в течение следующих недель или двух:

Пользовательский опыт и будущие улучшения

Пользовательский интерфейс для Plasma Exit будет очень похож на существующий опыт работы с MetaMask или другими мобильными кошельками - пользователю просто нужно будет подписать транзакцию, чтобы инициировать выход:

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

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

Поставщики ликвидности

После того, как пользователь запросит выйти из своего токена, он может «обменять» свой токен на эквивалентный от стороны, которая не против дождаться полного периода вызова.

Поставщик ликвидности будет взимать комиссию за обслуживание сделки. Таким образом, пользователь может заплатить комиссию, чтобы немедленно вернуть свой токен и не ждать периода вызова.

Это обсуждается в недавней ветке на ethresear.ch.

Делегированные выходы и сторожевые башни

Другие сервисы, которые могут улучшить пользовательский опыт Plasma Cash, - это делегированные выходы и сторожевые башни.

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

Эти неудобства UX можно уменьшить с помощью полу-доверенных служб, которые выполняют эти функции от имени пользователя.

Например, служба «Делегированный выход» может позволить пользователю автоматически отзывать свой токен, если он простаивает в боковой цепочке более 1 часа.

Точно так же служба «Сторожевая башня» может отслеживать контракт Plasma и оспаривать недействительные выходы от имени пользователей.

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

Как видите, с Plasma Cash UX все еще существует ряд потенциальных сложностей, и это область, требующая дальнейших исследований.

Скоро в ZombieChain

На следующей неделе мы запустим тестовую сеть ZombieChain, а вскоре появится и основная сеть.

Если вы пропустили наше предыдущее объявление, ZombieChain - это общий сайдчейн DPoS для Ethereum с временем блока менее секунды.

Разработчики могут развертывать свои контракты Solidity в ZombieChain и запускать их за фиксированную ежемесячную плату за хостинг, а их пользователи могут выполнять транзакции без газа, что делает его идеальным для пользовательских приложений DApp и игр.

Вы можете ознакомиться с полным анонсом здесь.

Сегодняшний выпуск добавляет функциональность Plasma Cash в Loom SDK для всех разработчиков, которые хотят использовать ее в своих сайдчейнах.

Но мы понимаем, что развертывание и запуск этих вещей в производственной среде сложно, и большинство разработчиков DApp хотят просто сосредоточиться на создании своих приложений, а не на запуске собственной инфраструктуры блокчейна.

По этой причине мы добавим функциональность Plasma Cash в ZombieChain и сделаем ее доступной для всех разработчиков на платформе.

Это позволит разработчикам ZombieChain предоставить своим пользователям преимущества Plasma Cash «из коробки» без какой-либо дополнительной настройки, а также позволит нам экспериментировать с предоставлением услуг, таких как поставщики ликвидности, о которых говорилось выше, для всех пользователей в сети.

Мы искренне рады представить этот вклад в мир блокчейнов и надеемся на дальнейшее сотрудничество, чтобы добавить дополнительные функции и улучшить взаимодействие с пользователем Plasma.

Loom Network - это платформа взаимодействия с несколькими цепями для масштабирования высокопроизводительных децентрализованных приложений - уже запущенная в производство, проверенная и испытанная в боевых условиях.

Разверните свое децентрализованное приложение в Loom's Basechain один раз и охватите как можно более широкую базу пользователей во всех основных блокчейнах сегодня.

Впервые в Loom? Начните здесь.

Хотите поставить свои токены LOOM и помочь защитить Basechain? Узнайте, как.

Нравится то, что мы здесь делаем? Оставайтесь в курсе, подписавшись на нашу частную рассылку.