https://bankless.substack.com/p/when-defi-meets-rollupRyan Sean Adams(С)
16 апреля 2020
Перевод, продолжение
Перспектива пользователяС точки зрения пользователя, взаимодействие с dApp - DeFi или другим способом - в свертывании будет ощущаться почти идентично его использованию на слое 1. Можно поддерживать популярные кошельки, такие как Metamask и Burner, а также блокировать проводников для мониторинга Rollup-chain.
Основной жизненный цикл использования Rollup dapp заключается в следующем:
Во-первых, пользователь вносит некоторые средства (это могут быть Eth, токены ERC20, ERC721 и т. д.) в Rollup-chain; Этот первый шаг отражает UX многих приложений уровня 1, в которых пользователь должен сначала перевести средства в контракт, прежде чем его использовать. На этом этапе пользователь может выполнять транзакции в приложении, как обычно; если Rollup-chain предназначен для приоритизации сопротивления цензуре, включение транзакции в нее не зависит от большего доверия, репутации или доброй воли - и не вызывает больше потенциальной цензуры-чем публикация транзакции L1.
Когда пользователь хочет вернуть свои активы обратно на уровень 1, он запускает специальную транзакцию снятия. Здесь мы видим потенциальную разницу: напомним, что модель безопасности Optimistic Rollup зависит от способности сторон решать проблемы; таким образом, мы должны разрешить льготный период для любых сторон, отслеживающих деятельность, чтобы (потенциально) доказать мошенничество. Это означает, что после запроса на снятие средств пользователь должен подождать, пока средства снова не станут доступны на уровне 1; экономическая безопасность, обеспечиваемая этим механизмом, зависит от количества пакетов, необходимых для производства блоков накопления, и от продолжительности этого периода ожидания
(Ed Felten утверждает, что для этого достаточно 3 часа).С учетом сказанного, надежда / ожидание состоит в том, что пользователям редко, если вообще когда-либо, придется фактически ждать этого льготного периода. Третьи стороны могут предложить приобрести право собственности на ваш ожидающий вывод средств, отправив вам эквивалентную стоимость на уровне 1 за вычетом некоторой комиссии, что позволит вам получить доступ к своим средствам без ожидания.
T-wordХорошо, но неужели Optimistic Rollup действительно не заслуживает доверия? Короче да.
Любой пользователь может использовать Optimistic Rollups строго доверенным способом, если он решит, но если он этого не делает, его гарантии безопасности все еще сильны.
Чтобы устранить любую угрозу доверия, любой (пользователь или кто-либо другой) может стать валидатором, позволяя ему самому проверить, что никто не пытается обмануть, и помешать другим сделать это. Это равносильно запуску некоторого дополнительного программного обеспечения, которое должно «заглядывать» хотя бы раз в каждый период спора. Для пользователей, не использующих валидаторы, мошеннические транзакции (скажем, кража средств) возможны только в том случае, если 100% проверяющих сторон участвуют в преступлении и вступают в сговор друг с другом. Другими словами, до тех пор, пока существует один честный валидатор - будь то другой пользователь, биржа, разработчик приложений, проводник блоков, провайдер кошельков или псевдоанонимный кчастник - или, даже если все стороны являются обманщиками, если они не вступают в сговор друг с другом для того, чтобы коллективно лгать последовательно, вся цепочка накопления защищена от неправомерных действий. После того, как мошенничество доказано, злоумышленники потеряют часть депозита; это стимулирует честную валидацию и устанавливает цену за попытки доставить неудобства другим валидаторам преднамеренными нечестными действиями.
Перспектива разработчикаПереходя к точке зрения создателей приложений, мы с радостью обнаруживаем, что значительная часть опыта разработчиков по созданию и развертыванию свернутых приложений dApps также покажется довольно знакомой; Инструменты разработчика и библиотеки, такие как truffle, web3 и ethers.js, могут быть переназначены для разработки в контексте Optimistic Rollup. Кроме того, контракты, развернутые в накопительной цепочке, все еще могут быть записаны в Solidity, с несколькими ограничениями.
Таким образом, самое большое различие в разработке и анализе Optimistic Rollup связано с вопросами компоновки, что особенно актуально для приложений DeFi.
Возможность компоновкиОдной из наиболее известных - и иногда вызывающих тревогу - особенностей приложений DeFi является их способность объединяться друг с другом, напрямую и без разрешения интегрируя финансовые услуги. Эта радикальная взаимосвязь эффективно предоставляется «бесплатно» для контрактов Эфириума на уровне 1, а недостатком, конечно же, является масштабное узкое место. Поскольку мы разделяем деятельность на отдельные среды уровня 2, совместимость между различными цепями уровня 2, хотя и не теряется, становится все более сложной задачей.
Аналогия: если приложения уровня 1 являются соседями по дому, приложения в отдельных цепочках накопления - это друзья, живущие в разных домах в одном районе. То есть, их жилые помещения менее переполнены, но теперь общаться и строить планы не так просто, как встречаться в их общем пространстве.
Рассмотрим пример
PoolTogether , приложение DeFi для лотереи без потерь. Контракты PoolTogether управляют случайным выбором победителей лотереи и распределением средств; сами средства состоят из процентов, созданных на Compound, отдельной (и уже существующей) заявкой; и сам актив (для одного из его пулов) - Dai, выпущен отдельным контрактом. Эта взаимосвязанность неразрывно связана с тем, что все трое живут вместе на уровне 1.
Но что, если все три контракта были заключены в отдельные цепочки?
Перенос активов, таких как DAI, из одного накопления в другой не является препятствием и выглядит очень похоже на переход между обычными контрактами L1. Однако покупка лотерейного билета PoolTogether предполагает использование PoolTogether для внесения активов в Compound, что, если PoolTogether и Compound находятся в отдельных цепочках, невозможно при одной простой транзакции. Накопительный пакет PoolTogether нуждается в новой стратегии для доступа и «прослушивания» обновлений накопительного накопительного пакета. В некоторых других случаях мы можем представить, что оба контракта могут требовать возможности общаться с другим двунаправленно; или, возможно, в некоторых случаях нам может потребоваться, чтобы одна сторона периодически получала «обновления» от другой.
Набор инструментов накопительной коммуникации здесь аналогичен методам связи через блокчейны уровня 1 или через разные сегменты в контексте системы, подобной Eth2. Короче говоря, существует много разных подходов, подходящих для разных вариантов использования, каждый со своими уровнями технической сложности и / или UX-компромиссами, в зависимости от конкретных потребностей. Здесь технические детали выходят за рамки, но компромиссы UX, как правило, включают в себя такие вещи, как просьба пользователей подождать дольше, чтобы подтвердить свои транзакции, и / или публикация нескольких транзакций, чтобы выполнить одно желаемое действие.
Чтобы мучительно переоценить аналогию: должны ли друзья мигрировать из дома в дом? Кричать друг на друга из своих окон? Передача сообщений через какой-то промежуточный, общий дом? Общайтесь напрямую друг с другом в цифровом формате (что быстро, но требует более продвинутой телефонной технологии)?
Существует много возможностей, но достаточно сказать, что общение между различными накопительными пакетами никогда не будет таким простым, как общение в чате.