
Перемещение средств между системами L2 с минимальным трением
TL;DR
- Интероперабельность L2 означает предоставление пользователям возможности перемещать средства между системами L2 с минимальными трениями L1.
- Предлагаемое решение для взаимодействия L2 основано на нашем ранее предложенном криптографическом примитиве Conditional Transaction (Tx) .
- StarkEx 2.0 (ноябрь 2020 г.) предложит совместимость L2-L1 (быстрый вывод средств) с использованием условных транзакций в цепочке .
- StarkEx 3.0 (февраль 2021 г.) обеспечит совместимость L2-L2 между системами StarkEx с использованием условных транзакций вне сети .
Background
Решения масштабирования уровня 2 (L2) быстро развиваются. В основной сети уже есть несколько систем проверки подлинности, а также системы защиты от мошенничества в тестовой сети. Решения L2 решают проблему масштабируемости, но за это приходится платить: они могут нарушать или снижать различные характеристики, которые мы привыкли ожидать при работе строго на L1.
Мы не ожидаем, что одно решение L2 будет управлять ими всеми: потребности приложений, требующих масштабирования, различны. Приложения будут выбирать решения из обширного пространства проектирования L2.
Прежде чем двигаться дальше, давайте дадим наше определение для двух важных терминов:
- Интероперабельность : возможность позволить пользователям эффективно перемещать средства из приложения 1 (среда источника) в приложение 2 (среда назначения).
- Компонуемость : возможность отправки tx, включающего операции над app_1, app_2,…, app_n.
Примечание: компонуемость будет темой отдельного, более позднего поста.
В дополнение к этим свободным определениям мы будем полагаться на усиленную версию Conditional-Tx, важного примитива, который обеспечит взаимодействие.
Условная передача:
Это криптографический строительный блок (впервые мы обсуждали здесь ), используемый для реализации функциональной совместимости для блокчейнов без разрешения. Условная передача — это транзакция, обусловленная некоторым событием (например, платежом, изменением состояния). Концептуально мы определяем Conditional-Tx в исходной среде, и он становится действительным, когда его условие выполняется в другой среде (обычно в среде назначения).
Пошаговый подход
При отсутствии лучшего решения у пользователя всегда есть возможность наивно перевести средства из Origin L2 обратно в L1, а оттуда в Destination L2. Этот наивный подход является одновременно медленным и дорогостоящим, и он будет становиться еще медленнее и дороже по мере роста спроса на интероперабельность.
Нам нужно работать лучше. В частности, мы планируем следующий поэтапный подход.
Фаза I: StarkEx (L2) → Ethereum (L1) — быстрый вывод средств
Быстрый вывод средств предназначен для пользователей, которым необходимо быстро вывести средства из StarkEx, системы L2, обратно в L1. Это относится не только к собственному адресу L1 пользователя, но и к любому месту назначения на L1, например, Compound, Aave и т. д. Важно отметить, что это позволяет пользователям выводить средства в «блокчейн-время», независимо от частоты, с которой StarkEx подтверждает наличие пакетов. транзакций.
Вариант использования: Алиса хочет переместить 1 ETH со своей учетной записи dYdX на L2 на свой адрес L1.
Участники :
- Алиса (пользователь с ETH на L2)
- LP (поставщик ликвидности со средствами на L1)
- Оператор StarkEx в среде Origin (в приведенном выше примере dYdX)
Поток: (1) Алиса передает LP условную передачу на 1 ETH (+ комиссия LP), при условии, что LP переведет 1 ETH на адрес L1 Алисы. (2) После того, как LP платит Алисе на L1, условная передача становится действительной, и (3) LP отправляет ее Оператору для включения в следующий пакет, который он подтверждает. (4) Как только следующее подтверждение будет отправлено в L1 и проверено там, баланс LP L2 отражает перевод средств от Алисы.
Периодическая ребалансировка: LP необходимо периодически пополнять средства на своем уменьшающемся счете L1 за счет средств, накопленных на его счете L2.
Фаза II: StarkEx (L2) → StarkEx (L2)
В каждом из первых развертываний StarkEx будет размещаться одно приложение. На этом этапе мы хотим позволить пользователям быстро перемещать средства между этими различными приложениями. Как и в случае с быстрым выводом средств, мы хотим минимизировать внутрисетевые затраты для пользователей и избавить их от необходимости ждать подтверждения следующей партии.
Пример использования: Алиса хочет перевести 1 ETH со своей учетной записи dYdX (L2_1) на свою учетную запись DeversiFi (L2_2).
Участники :
- Алиса (пользователь с ETH на L2_1)
- LP (поставщик ликвидности со средствами на L2_2)
- Оператор StarkEx в среде Origin (в приведенном выше примере dYdX)

Последовательность действий: (1) Алиса передает LP подписанный условный Tx на 1 ETH (+ комиссия LP) в L2_1 при условии, что LP переведет 1 ETH на счет Алисы L2_2. (2) LP платит Алисе на L2_2 и (3) пакет, содержащий этот платеж, подтверждается оператором L2_2 и проверяется на L1. После того, как пакет принят на L1, условная передача становится действительной, и (4) LP отправляет его оператору L2_1 для включения в следующий пакет, который он подтверждает. (5) Как только следующая партия из L2_1 подтверждена и передана L1 для проверки, баланс LP L2_1 отражает перевод средств от Алисы.
Периодическая перебалансировка: LP необходимо периодически перебалансировать средства в своих L2_1 и L2_2, в зависимости от чистого потока средств через эти две системы.
Основными затратами на поддержку функциональной совместимости будут выплаты LP за их капитальные затраты; обратите внимание, что их капитальные затраты охватывают очень ограниченный период времени, а именно время, которое проходит между предоставлением ликвидности пользователю и обработкой следующего пакета Оператором. Мы ожидаем, что этот период времени начнется с нескольких часов (максимум), а затем уменьшится до времени создания доказательства (минуты) по мере увеличения пропускной способности — во всех приложениях StarkEx.
Фаза III: L2 → L2
Расширьте этап II, разрешив перевод средств через любое решение L2, будь то система проверки подлинности или система защиты от мошенничества (Optimistic Rollups, Plasma). Здесь стоит напомнить о неотъемлемом недостатке эффективности капиталовложений, с которым OR-системы столкнутся при поддержке решения по интероперабельности с использованием LP (см. здесь )
Модель доверия
Теперь мы сформулируем модель доверия, на которую мы полагаемся.
Для пользователя
Совершенно ненадежный.
Для LP
LP должен доверять Оператору (в среде Origin), чтобы включить их действительный условный Tx, т. е. не подвергать их цензуре, в следующем обрабатываемом пакете. Это требование доверия можно снять несколькими способами.
Если условная передача LP не обрабатывается Оператором в кратчайшие сроки, LP может:
- Противодействие цензуре: отправьте подвергнутую цензуре условную передачу в смарт-контракт Оператора в сети, что, следовательно, заморозит дальнейшую обработку доказательств Оператора.
- Гарантийный депозит: отправьте подвергнутый цензуре условный Tx в смарт-контракт гарантийного депозита в сети и получите платеж непосредственно от него.
Дорога впереди
- Фаза I начнется в основной сети Ethereum в ноябре 2020 года (StarkEx 2.0) , а фаза II последует в основной сети в первом квартале 2021 года (StarkEx 3.0) . У нас уже есть LP, предназначенные для поддержки этих сервисов.
- Фаза III последует вскоре после этого. Мы ожидаем спроса со стороны различных приложений на L2 для взаимодействия с приложениями, работающими на других решениях L2, и готовы обсудить эти интеграции с другими игроками L2.
Чтобы узнать больше, посмотрите лекцию Тома Брэнда о масштабировании L2 — взаимодействие с общим состоянием на конференции Liquidity 2020 (требуется вход).
¹В дальнейшем это, вероятно, будет одним из нескольких вариантов развертывания. Мы представляем себе мир, в котором разные приложения могут иметь разные предпочтения в этом отношении.