Углубленная интерпретация эволюции архитектуры лендинговых приложений на Ethereum

Автор: @albertocuestacanada

Перевод: Сообщество Dengchain

! [Углубленная интерпретация эволюции архитектуры кредитных приложений на Ethereum] (https://img-cdn.gateio.im/webp-social/moments-69a80767fe-20a7530c80-dd1a6f-69ad2a.webp) Эволюция кредитных продуктов

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

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

В этой статье рассматривается анализ архитектуры кредитных приложений, таких как MakerDAO, Compound, Aave, Euler и Yield. Мы выделим ключевые инновации и паттерны проектирования, которые являются важными уроками для будущей разработки приложений для кредитования.

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

Кредитование в DeFi

Большая часть кредитования DeFi имеет избыточное обеспечение[6] 。 Если стоимость залога, предоставленного пользователем, выше, чем стоимость кредита, пользователь может взять в долг конкретный актив. В отличие от традиционного кредитования, многие из этих кредитов не имеют регулярных выплат или фиксированных сроков погашения. По сути, вы можете взять кредит и никогда его не вернуть.

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

Если стоимость залога упадет ниже этой границы, кредит будет ликвидирован[7] 。 Во время ликвидации кто-то другой погашает часть или весь ваш кредит, а взамен получает часть или весь ваш залог.

Все заявки на заимствования, которые следуют этой финансовой структуре, требуют одной и той же конструкции, которая затем может быть организована несколькими способами:

  • Казначейство для хранения залога пользователей и заемных средств (казначейство)
  • Биллинговая система, отслеживающая залог и задолженность каждого пользователя
  • Функция, определяющая процентную ставку заемщика • Механизм проверки того, что кредит надлежащим образом обеспечен залогом, обычно с привлечением внешнего ценового оракула
  • Ликвидационный путь для заимствования при недостаточности залога • Система управления рисками, которая регистрирует общий объем заимствований и другие показатели безопасности, такие как глобальные лимиты заимствований и лимиты заимствований в расчете на одного пользователя, минимальный залог и конкретные коэффициенты избыточного обеспечения.
  • Интерфейс для пользователей, позволяющий добавлять и удалять залог, занимать и погашать цели

! [Углубленная интерпретация эволюции архитектуры кредитных приложений на Ethereum] (https://img-cdn.gateio.im/webp-social/moments-69a80767fe-1986f27215-dd1a6f-69ad2a.webp) Процесс кредитования в MakerDAO, все активы приложения используют одни и те же шаги и функции

Заимствование и кредитование можно рассматривать как отдельные функции. В DeFi мы находим обе функции в большинстве приложений для кредитования, но они не всегда хорошо интегрируются. В Compound, Aave и Euler процентные ставки для заемщиков и кредиторов внутренне коррелируют; Фактически, это то, что заставляет эти приложения работать с минимальным вмешательством.

С другой стороны, MakerDAO и Yield одалживают заемщикам свои активы у себя (самого протокола).

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

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

Архитектурная эволюция MakerDAO

! [Углубленная интерпретация эволюции архитектуры кредитных приложений на Ethereum] (https://img-cdn.gateio.im/webp-social/moments-69a80767fe-0fcfc1f496-dd1a6f-69ad2a.webp)

MakerDAO[8] [9], спущен на воду в ноябре 2019 г. , который имеет залог в размере 4,95 млрд долларов США. Несмотря на то, что его модульная архитектура имеет различные контракты и уникальную терминологию для каждой функции, она по-прежнему проста для понимания и проверки.

Функция казначейства в MakerDAO представлена контрактами Join[10] Руководить.

Каждый токен, утвержденный в качестве залога, имеет отдельный контракт[11] 。

MakerDAO не владеет какими-либо заемными активами DAI. Его просто чеканят и уничтожают по мере надобности[12] Давай.

Выставление счетов в договорах vat.sol[13] [14]Внутренняя обработка. Join обновляет этот контракт при поступлении или выходе залога из системы [15]。 Если пользователь берет кредит, он заключает договор напрямую с vat.sol Взаимодействовать.

Это действие обновляет долговой баланс пользователя и позволяет ему создавать DAI в DAI.

Чтобы погасить задолженность, пользователи сжигают DAI в контракте DAI Join. Затем этот процесс обновляет НДС, чтобы пользователь мог погасить кредит.

Кроме того, контракт vat.sol выступает в роли риск-менеджера[16] Двигатель. Он поддерживает полные лимиты заимствования, устанавливает минимальные пороговые значения для каждого пользователя и контролирует коэффициенты обеспечения. Когда задолженность или залоговый баланс пользователя изменяется, контракт vat.sol оценивает процентные ставки и спотовые ставки.

Они относятся к процентным ставкам, основанным на используемом залоге и преобладающем соотношении DAI к цене залога. Интересно, что эти значения вносятся в контракт vat.sol другими контрактами MakerDAO, что отличается от большинства других приложений.

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

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

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

Основные моменты MakerDAO:

У каждого актива есть свой контракт.

Функция биллинга централизована в едином договоре, в котором также фиксируются и выполняются параметры риска, включая проверки залогового обеспечения

В отличие от других приложений, оракулы приходят для продления контрактов и надзора за ипотекой

Ценовые и процентные оракулы используют разные интерфейсы

Процентные ставки формируются из внешних источников

Чтобы заимствовать, пользователи должны взаимодействовать с несколькими контрактами

Архитектурная эволюция протокола Yield

! [Углубленная интерпретация эволюции архитектуры кредитных приложений на Ethereum] (https://img-cdn.gateio.im/webp-social/moments-69a80767fe-701c1f40e2-dd1a6f-69ad2a.webp)

Доходность v1[17] [18] Как при использовании YieldSpace Подтверждение концепции фиксированной процентной ставки. Эта версия строит свой механизм ипотечного долга на основе MakerDAO. Однако Yield v1 дорог в использовании и его трудно улучшить с помощью новых функций.

Осознав потенциал YieldSpace, мы быстро перешли на Yield v2[19] [20]。 Yield v2 по-прежнему черпает вдохновение из MakerDAO, но теперь полностью независим, запущен в октябре 2021 года ; Yield v2 уделяет первостепенное внимание снижению затрат на газ и улучшению пользовательского опыта.

! [Углубленная интерпретация эволюции архитектуры кредитных приложений на Ethereum] (https://img-cdn.gateio.im/webp-social/moments-69a80767fe-f8eb85420f-dd1a6f-69ad2a.webp) Процесс заимствования в Yield v2 находится под сильным влиянием MakerDAO

Все биллинги, риск-менеджмент и проверки ипотеки объединены в один договор: Cauldron[21] [22]。 В соответствии с подходом MakerDAO, функциональность хранилища распределена по контракту Join , каждый контракт посвящен определенному активу.

Улучшенная интеграция с оракулами, объединяющая ценовые и процентные оракулы в общий интерфейс[23] [24]。 Мы обратили поток оракулов MakerDAO для Cauldron При необходимости обратитесь к оракулу для проверки ипотеки. Насколько я знаю, это предпочтительный процесс для всех других приложений, кроме MakerDAO.

Еще одним существенным отличием от подхода MakerDAO является внедрение Ladle[25] 。 Контракт выступает в качестве единственного посредника между пользователем и Yield. Он имеет обширный контроль над хранилищами и счетами, и, в свою очередь, обеспечивает огромную гибкость для разработки функций.

Подводя итог, можно сказать, что кредитование в Yield v2 работает следующим образом:

  • У каждого ресурса есть свой собственный контракт на хранилище.
  • Единый контракт централизует биллинговые функции. Контракт также контролирует меры по управлению рисками и проводит ипотечные проверки.
  • Функция ипотеки обращается к оракулу для определения цены и процентной ставки.
  • Оракулы цен и процентных ставок имеют единый интерфейс.
  • Процентные ставки формируются извне.
  • Пользователи могут брать кредиты, оформляя одну транзакцию к контракту.

Архитектурная эволюция Compound

! [Углубленная интерпретация эволюции архитектуры кредитных приложений на Ethereum] (https://img-cdn.gateio.im/webp-social/moments-69a80767fe-f7bda433ff-dd1a6f-69ad2a.webp)

Первая версия Compound[26] [27]является доказательством концепции [28], указывая на то, что валютный рынок может быть создан на Ethereum. Поэтому в его дизайне приоритет отдается простоте. MoneyMarket.sol (Денежный рынок) Контракт инкапсулирует все функции, включая заимствование.

! [Углубленная интерпретация эволюции архитектуры кредитных приложений на Ethereum] (https://img-cdn.gateio.im/webp-social/moments-69a80767fe-57c5e19e8e-dd1a6f-69ad2a.webp) Процесс заимствования в Compound v1 прост и эффективен

Задачи по хранению, выставлению счетов и управлению рисками, такие как проверка ипотеки, объединены в один договор.

Контракт получает цену от оракула, но определяет процентную ставку в зависимости от использования актива.

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

Compound v2

Соединение v2[29] Запущенный в мае 2019 года, он положил начало эре доходного фермерства и вдохновил на бесчисленное количество форков. Он также действует как денежный рынок, позволяя пользователям вносить и занимать активы.

На основе технического документа[30] и структуры, понятно, что основной целью Compound v2 является представление кредитных позиций с использованием стандарта ERC20. Это обеспечивает компонуемость, позволяя пользователям одалживать Compound, а затем использовать эти процентные позиции в других блокчейн-приложениях.

Интересно, что в белой книге не подчеркивается, что Compound v2 будет вознагражден[31] Встроен в свои смарт-контракты. Из-за этого упущения нельзя предвидеть огромное влияние этой функции.

! [Углубленная интерпретация эволюции архитектуры кредитных приложений на Ethereum] (https://img-cdn.gateio.im/webp-social/moments-69a80767fe-76db944fff-dd1a6f-69ad2a.webp) Процесс заимствования в Compound v2, который впервые токенизирует кредитные позиции

У каждого актива есть свой контракт на финансирование.

Функция биллинга также отделена, и каждый cToken записывает залог и долги пользователя.

Контролер регистрирует и выполняет параметры управления рисками, включая проверку залогового обеспечения.

Контролер несет ответственность за обеспечение контракта, справочной цены оракула и процентной ставки cToken.

Ценовые и процентные оракулы работают через различные интерфейсы.

Процентная ставка является производной от внутреннего коэффициента использования актива.

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

Compound v3

Компаунд v3[32] [33] Год выхода: 2022 [34], приняв более консервативную стратегию управления рисками, сегрегируя ликвидность в пул каждого заемного актива Середина. В дизайне также подчеркивается удобство использования и стоимость газа.

! [Углубленная интерпретация эволюции архитектуры кредитных приложений на Ethereum] (https://img-cdn.gateio.im/webp-social/moments-69a80767fe-5b93c291a3-dd1a6f-69ad2a.webp) Процесс заимствования в Compound v3 (Comet). Вернемся к истокам, вернемся к безопасности. Однако с лучшим пользовательским опытом.

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

Другие важные функции, упомянутые в статье, включают (упомянутые в примечаниях к выпуску):

Переработаны механизмы управления рисками и клиринга. Такой дизайн повышает безопасность средств и при этом более удобен для заемщиков.

Наложить ограничения на личные заложенные активы по всему рынку, чтобы снизить риск.

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

Интересно, что Compound v3 отражает архитектуру Compound v1, позволяя одному контракту обрабатывать все функции каждого заемного актива. Другие примечательные особенности включают:

Заимствовать можно только заемные активы, а активы, обеспеченные залогом, заимствовать нельзя.

В Compound v3 залог не приносит дохода.

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

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

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

С архитектурной точки зрения:

Каждый валютный рынок представляет собой отдельный контракт, содержащий хранилища, векселя и управление рисками

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

Цена корма является единственным внешним входом; Ставки по займам формируются внутри компании

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

Интегрированные контракты маршрутизации позволяют выполнять несколько операций в одном вызове

Архитектурная эволюция Aave

! [Углубленная интерпретация эволюции архитектуры кредитных приложений на Ethereum] (https://img-cdn.gateio.im/webp-social/moments-69a80767fe-e9c82a5b96-dd1a6f-69ad2a.webp)

Призрак v1[35] [36] Запущен в октябре 2019 г. для замены ETHLend. Aave v1 представляет общий пул ликвидности вместо однорангового подхода ETHLend.

! [Углубленная интерпретация эволюции архитектуры кредитных приложений на Ethereum] (https://img-cdn.gateio.im/webp-social/moments-69a80767fe-181556b809-dd1a6f-69ad2a.webp) Процесс заимствования в Aave v1, который объединяет эффективность расчета подачи ликвидности

Как и в Yield v2, контракты маршрутизации[37] [38]Контролируйте бизнес-логику. LendingPoolCore Включает функции выставления счетов, управления рисками и хранилища. Централизация хранилищ в одном контракте — это отличие от Compound v2.

Сохраните чек об ипотеке в своем собственном договоре[39] , вызываемый из маршрутизатора, а не из бухгалтерского контракта, это решение может показаться слабым, но поскольку версия Aave v2 была выпущена через два года после релиза v1, оно, скорее всего, послужило своей цели.

Контракт LendingPoolCore обрабатывает хранилища и счета

LendingPoolDataProvider управляет проверкой ипотеки и взаимодействует с оракулами

LendingPool выступает в качестве точки входа пользователя и реализует бизнес-логику

Ставка заимствования определяется внутри компании и опирается только на ценовую обратную связь

Призрак v2

Призрак v2[40] [41] Дата выхода: декабрь 2021 г. [42]。 Несмотря на то, что он сохраняет функциональность, аналогичную Aave v1, он представляет улучшенную и более простую архитектуру по сравнению с Aave v1 и Compound v2. В этом выпуске Aave также представила aToken [43](аналогично cToken от Compound) и vToken , что расшифровывается как токенизированный долг.

! [Углубленная интерпретация эволюции архитектуры кредитных приложений на Ethereum] (https://img-cdn.gateio.im/webp-social/moments-69a80767fe-8cb57c49b5-dd1a6f-69ad2a.webp) Aave v2 имеет очень чистую архитектуру и полностью токенизирован

Для простоты некоторые функции, которые используются в ограниченном количестве в Aave v1, были опущены. Проблемы в Aave v1, такие как сложные представления начисленных процентов, были решены в Aave v2.

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

Токены представляют собой обеспечение, аналогичное кредитным позициям. Залог пользователя представлен aToken, которым он владеет, а функция хранилища распределяется между всеми aTokens

vToken используется для представления долговых позиций. Долг пользователя представлен vToken, которым он владеет

Призрак v3

Призрак v3[44] [45] Дата выхода: январь 2023 г. , с поддержкой мультичейна и другими функциями. Их добавление не изменяет архитектуру ядра. Это обновление также включает в себя улучшенное управление рисками и эффективность использования газа.

Несмотря на многие достижения, Aave v3 принципиально не отличается от Aave v2 для целей данного исследования. Фактически, это может указывать на то, что архитектура Aave v2 останется надежной в 2023 году.

Эволюция архитектуры Эйлера! [Углубленная интерпретация эволюции архитектуры кредитных приложений на Ethereum] (https://img-cdn.gateio.im/webp-social/moments-69a80767fe-a94f75732c-dd1a6f-69ad2a.webp)

Эйлера[46] [47] Запущен в декабре 2022 г. , предназначенный для обеспечения функциональности без разрешений и минимального управления валютным рынком.

Одной из отличительных черт его дизайна являются бриллианты[48] [49]как режим. Один контракт владеет всем пространством для хранения приложения [50]。 Доступ к магазину можно получить через разные прокси Доступ к различным концептуальным элементам каждой системы управления агентами.

! [Углубленная интерпретация эволюции архитектуры кредитных приложений на Ethereum] (https://img-cdn.gateio.im/webp-social/moments-69a80767fe-92b7c2d94b-dd1a6f-69ad2a.webp) Эйлера

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

Договор хранения[51] Управление переменными выставления счетов.

Контракты BaseLogic[52] Действуйте как хранилище.

Контракт RiskManager[53] Контроль за переменными и функциями управления рисками, включая проверки ипотечных кредитов.

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

Такая унифицированная конструкция также позволяет легко модернизировать. Если вам не нужно менять хранилище, вы можете быстро заменить модули для изменения или добавления функциональности.

Euler был взломан через 15 месяцев после релиза и через 6 месяцев после того, как обновление принесло эксплуатируемую уязвимость.

Я не думаю, что это потеря активов из-за его общей архитектуры; И наоборот, надзор за обновлениями кода недостаточен.

Заключение

Ранние приложения Ethereum, такие как MakerDAO, Compound и Aave, продемонстрировали потенциал кредитования Ethereum с избыточным обеспечением. После того, как эти проверки концепции оказались успешными, акцент сместился на внедрение ряда новых функций для захвата доли рынка. В последующих версиях Compound и Aave были представлены доходное фермерство, компонуемость и коллективная ликвидность, методы, которые особенно процветали в условиях бычьего рынка.

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

Высокие цены на газ стали серьезной проблемой во время бычьих рынков, что привело к изменениям в пользовательском опыте, к которым стремились Yield v2, Aave v2 и Euler. Контракты маршрутизаторов и их реализация в целом помогают снизить транзакционные издержки для пользователей. Однако это происходит за счет более сложного и, следовательно, более рискованного кода.

Compound v3, похоже, создает прецедент приоритета безопасности над финансовой эффективностью. Он отклоняется от традиционной модели пула ликвидности для лучшей защиты от потенциальных взломов. Рост сетей L2, где затраты на газ становятся все более незначительными, может повлиять на дизайн заявок на ипотечное кредитование в будущем.

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

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

Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • комментарий
  • Репост
  • Поделиться
комментарий
Добавить комментарий
Добавить комментарий
Нет комментариев
  • Закрепить