Концепции займов crvUSD в деталях
Это техническое руководство. Для общего понимания стейблкоина CURVE, его назначения и приемуществ, сначала изучите этот материал.
Содержание:
- Параметры рынка
- LLAMMA и Защита от Ликвидаций
- Жесткие ликвидации
- Плохой долг
- Bands (N)
- Формулы для Bands
- Калькулятор Bands
- Здоровье кредита
- Калькулятор здоровья (Health)
- Коэффициент снижения риска по кредиту (loan_discount)
- Ставка заимствования
Параметры рынка
Каждый рынок crvUSD имеет следующие параметры, которые влияют на все кредиты и автоматически изменяются под воздействием рыночных сил:
- Base Price (Базовая цена) – это верхний предел стоимости диапазона номер 0. Ставка заимствования увеличивает базовую цену со временем.
- Oracle Price (Цена оракула) – это текущая цена залога, определяемая оракулом. Она используется для расчета стоимости залога и здоровья кредита (health).
- Borrow Rate (Ставка заимствования) – это годовая процентная ставка, начисляемая на кредит. Эта ставка является переменной и может изменяться в зависимости от рыночных условий. Ставка заимствования выражается в процентах. Например, ставка 7,62% означает, что пользователю будет начисляться 7,62% от непогашенной суммы кредита. Подробнее о расчете этой ставки можно узнать здесь.
Каждый рынок также имеет следующие параметры, которые могут измениться только в том случае, если CurveDAO проголосует за их изменение:
- A: Параметр усиления A используется для расчета плотности ликвидности и ширины диапазона, а также для определения максимального коэффициента LTV (Loan-to-Value) рынка.
- Loan Discount: Скидка на кредит определяет, насколько залог обесценивается при взятии кредита. Это напрямую связано с максимальным LTV каждого рынка crvUSD. Подробнее об этом можно узнать здесь.
- Liquidation Discount: Скидка на ликвидацию используется для обесценивания залога при расчете здоровья кредита. Подробнее см. в разделе "Здоровье".
- Sigma: Sigma определяет, как быстро ставки увеличиваются и уменьшаются, когда crvUSD отклоняется от своей привязки. При более высоком значении sigma процентные ставки будут увеличиваться медленнее. Подробнее об этом можно узнать здесь.
LLAMMA и Защита от Ликвидаций
LLAMMA (Lending-Liquidating AMM Algorithm) — это полностью функциональный двухтокеновый AMM (автоматический маркет-мейкер), содержащий залоговый токен и crvUSD, который отвечает за механизм ликвидации. Для более подробной информации, пожалуйста, обратитесь к технической документации LLAMMA.
При создании нового кредита внесенный залог будет распределен по определенному количеству специальный диапазонов "bands" (бэндов/полос) внутри AMM. В отличие от обычной ликвидации, которая имеет одну цену ликвидации, LLAMMA имеет несколько диапазонов конвертации (представленных бэндами) и постоянно конвертирует (ликвидирует и деликвидирует) залог по мере необходимости. Каждый бэнд имеет нижний и верхний ценовые пределы, представляющие собой "малый диапазон конвиртации". Общий диапазон конвертации (защиты от ликвидации) пользователя представлен верхней ценой самого высокого бэнда и нижней ценой самого низкого бэнда.
Кредит переходит в режим защиты от ликвидации (конвертации/мягкой ликвидации) только тогда, когда цена залогового актива попадает в один из бэндов. Если цена находится вне этих бэндов, необходимости в частичной конвертации нет, и поэтому кредит не находится в режиме защиты от ликвидации.
AMM работает таким образом, что цена залога внутри AMM и "обычная цена" обрабатываются немного по-разному. Если цена попадает в бэнд, цены регулируются таким образом, чтобы внешние арбитражеры были заинтересованы в продаже залогового токена и покупке crvUSD в пределах этого бэнда. Таким образом, если цена находится в пределах бэнда, залог пользователя будет продан за crvUSD, что означает, что теперь залог пользователя представляет собой комбинацию обоих токенов. Это происходит для каждого отдельного бэнда, в который пользователь внес ликвидность.
Этот процесс конвертации залога происходит не только при падении цен, но и при их повторном повышении. Если залог в бэнде был полностью конвертирован в crvUSD и цена залога снова поднялась, ранее проданный залог будет выкуплен обратно.
Вкратце: механизм работает автоматически, предаставляя лучшую цену рынку. Таким образом, внешние трейдеры (в том числе, торговые программы/агрегаторы/контракты) проведут мягкую ликвидацию залога пользователя, когда цена залогового токена падает, и снова проведут деликвидацию, когда цена вновь вырастет.
Потери в режиме защиты от ликвидации
Позиции в состоянии защиты от ликвидации (мягкой ликвидации / деликвидации) несут убытки из-за продажи и покупки залога. Если позиция не находится в состоянии мягкой ликвидации, убытков не возникает. Эти потери уменьшают здоровье кредита. Как только здоровье (health) пользователя достигает 0%, его позиция может подвергнуться жесткой ликвидации, которая закрывает кредит.
Жесткие ликвидации
Жесткие ликвидации происходят, когда здоровье кредита падает ниже 0%, что позволяет ликвидатору ликвидировать кредит. Любой может выступать в роли ликвидатора и ликвидировать подходящие кредиты, но обычно это делают боты.
Когда ликвидатор инициирует процесс, происходит следующее в рамках одной транзакции, используя рынок с залогом в WETH и долгом в crvUSD в качестве примера:
- Любой залог, который был обменян на crvUSD в процессе мягкой ликвидации, передается Curve и изымается у пользователя.
- Оставшаяся задолженность в crvUSD погашается ликвидатором в пользу Curve.
- Ликвидатор получает оставшийся залог в WETH в качестве вознаграждения, которое обычно превышает сумму, выплаченную за погашение.
Этот процесс проиллюстрирован на изображении ниже:
Плохой долг
Плохой долг возникает, когда ликвидировать кредит невыгодно. Это может произойти по многим причинам, включая высокие цены на газ, которые превышают прибыль от ликвидации, отключение последовательного модуля (sequencer) на блокчейна в торго уровня (L2) или просто отсутствие желающих искать прибыльные ликвидации на новом рынке. Это выглядит следующим образом:
В этом примере ни один рациональный ликвидатор не начнет процесс ликвидации, поскольку он потеряет средства, сделав это.
crvUSD выпускается только в сети Ethereum и использует высококачественные активы с высокой ликвидностью, чтобы снизить риск плохого долга. Благодаря этим мерам предосторожности, возникновение плохого долга в системе выпуска crvUSD крайне мало вероятно.
Однако плохой долг может возникнуть и уже возникал на отдельных рынках кредитования Curve (LlamaLend), так как они являются децентрализованными и не влияют на целостность стейблкоина crvUSD.
Bands (N)
При создании кредита добавленный залог (collateral или обеспечение) распределяется среди выбранного количества бэндов. Минимальное количество — 4 бэнда, максимальное — 50 бэндов.
Бэнд представляет собой ценовой диапазон с верхним и нижним ценовым пределом. Если цена залога находится в пределах бэнда, то этот конкретный бэнд, вероятно, будет конвертирован (мягко ликвидирован).
Обратите внимание, что ценовые диапазоны бэндов со временем смещаются вверх по мере того, как базовая цена увеличивается из-за ставки заимствования.
На приведенной выше иллюстрации показаны несколько бэндов с различными ценовыми диапазонами. Светло-серые области представляют залоговый токен, который в данном примере — ETH. Как показано, бэнды ниже цены залогового токена полностью состоят из ETH, поскольку, учитывая более высокую цену, ликвидация не требуется. Темно-серые области представляют crvUSD. Поскольку цена ETH попала в бэнд, расположенный крайним справа, внесенный залог (ETH) конвертируется в crvUSD. В этом случае бэнд содержит и ETH, и crvUSD. Если цена продолжит падать, весь залог в бэнде будет полностью конвертирован в crvUSD, и бэнд слева перейдет в режим мягкой ликвидации.
Помните: Когда цены снова растут, происходит обратное. ETH, который ранее был конвертирован в crvUSD, будет снова преобразован в ETH.
Формулы для Bands
Параметр A контролирует плотность ликвидности. Он напрямую связан с шириной бэндов. Ширину бэнда при любой цене можно приблизительно рассчитать следующим образом:
Для определения точных верхнего и нижнего ценовых пределов бэндов можно использовать следующие формулы:
- basePrice: Текущая базовая цена выбранного рынка
- A: Коэффициент усиления (амплификации) выбранного рынка (по умолчанию равен 100)
- n: Номер бэнда, например 67.
Калькулятор Bands
Используйте калькулятор ниже, чтобы смоделировать, как формируются бэнды и как меняется плотность ликвидности при разных параметрах. По определению, плотность ликвидности составит 100% на бэнде 1. Плотность ликвидности увеличивается по мере уменьшения ширины бэнда, так как тот же объем залога будет распределен по меньшему ценовому диапазону.
Здоровье кредита
На основе залога и суммы долга пользователя интерфейс отобразит показатель здоровья (Health) и статус позиции. Если позиция находится в режиме мягкой ликвидации, будет показано дополнительное предупреждение. Когда здоровье кредита достигает 0%, кредит подлежит жесткой ликвидации. При жесткой ликвидации кто-то другой может погасить долг пользователя и, в обмен, получить его залог. Затем кредит будет закрыт.
Здоровье кредита снижается, когда кредит находится в режиме защиты от ликвидации. Эти потери возникают не только тогда, когда цены падают, но и когда цена залога снова повышается, что приводит к деликвидации кредита пользователя. Это означает, что здоровье кредита может снизиться, даже если стоимость залога позиции увеличивается. Если кредит не находится в режиме мягкой ликвидации, то такие потери не происходят.
Потери сложно количественно оценить. Нет общего правила относительно того, насколько велики будут потери, так как они зависят от различных внешних факторов, таких как скорость падения или роста цены залога, а также эффективность арбитража. Но можно сказать, что потери сильно зависят от количества используемых бэндов; чем больше бэндов используется, тем меньше потери. Ежедневные потери на основе текущих данных показаны здесь.
Формула для расчета здоровья представлена ниже, ее также можно визуализировать в апплете "Калькулятор здоровья".
- collateralValue: стоимость всего залога по текущим ценам LLAMMA.
- liqDiscount: скидка на ликвидацию для рынка (насколько нужно снизить стоимость залога для безопасности при жесткой ликвидации).
- debt: долг пользователя.
- s: оценка того, сколько crvUSD пользователь получит после конвертации всего залога через их бэнды в процессе мягкой ликвидации. Это можно очень грубо оценить как:
- p: стоимость выше диапазонов мягкой ликвидации. Определяется умножением суммы залога на то, насколько текущая цена выше мягкой ликвидации. Если пользователь находится в состоянии мягкой ликвидации или ниже, это значение равно 0.
- collateral: количество залога у пользователя, например, если у пользователя есть 5 wBTC, это значение равно 5.
- priceAboveBands: разница в цене между ценой оракула и верхним пределом диапазона мягкой ликвидации пользователя. Это значение равно 0, если пользователь находится в состоянии мягкой ликвидации.
- collateralPrice: цена одной единицы залогового актива, например, если залоговым активом является wBTC, то это цена 1 wBTC.
Калькулятор здоровья (Health)
Используйте апплет ниже, чтобы смоделировать, как работает здоровье (Health). Потери при мягкой ликвидации представлены в виде чисел в виде списка, разделенного запятыми, где первое число — начальный бэнд и далее по порядку. Светло-голубые области в бэндах представляют стоимость без учета скидок на мягкую ликвидацию, в то время как темно-синие области показывают значения после применения скидок.
Интерфейс Curve будет показывать здоровье либо с учетом стоимости выше бэндов, либо без нее, в зависимости от того, насколько близко пользователь к ликвидации. Если активный бэнд (бэнд с ценой оракула внутри) находится в пределах 3 или менее бэндов от бэндов диапазона защиты от ликвидации пользователя, интерфейс будет показывать здоровье без учета стоимости выше бэндов. В противном случае он будет отображать здоровье с учетом стоимости выше бэндов.
Значения здоровья, отображаемые в интерфейсе Curve и в смарт-контрактах, всегда будут немного меньше, чем значения, показанные здесь. Здоровье рассчитывается путем оценки количества crvUSD/токенов долга, на которые будет обменян залог в каждом бэнде. Это учитывает объем ликвидности в каждом бэнде: чем больше ликвидности в бэнде, тем меньше проскальзывание, которое Curve предполагает. Эта оценка проскальзывания слегка снижает показатель здоровья пользователя.
Коэффициент снижения риска по кредиту (loan_discount)
Параметр loan_discount используется для определения максимального LTV (отношение кредита к стоимости залога), которое пользователь может иметь на рынке. На момент написания на рынках crvUSD это значение является постоянным и составляет 9%. На рынках Curve Lending это значение варьируется от 7% для WETH до 33% для волатильных активов, таких как UwU. Используйте калькулятор ниже, чтобы узнать максимальные значения LTV, которые пользователь может иметь, основываясь на скидке на кредит (loan_discount), коэффициенте усиления A и количестве бэндов N. Формула выглядит следующим образом:
Maximum LTV Calculator - калькулятор расчета LTV
Ставка заимствования
Основная идея состоит в том, что ставка заимствования увеличивается, когда стоимость crvUSD снижается, и уменьшается, когда стоимость crvUSD растет. Также, специальные контракты под названием PegKeepers могут влиять на процентную ставку и привязку crvUSD, выпуская и продавая crvUSD или покупая и сжигая его.
Формула для ставки заимствования выглядит следующим образом:
- r : Процентная ставка.
- rate0 : Ставка, когда у PegKeepers нет долга, а цена crvUSD составляет ровно 1,00.
- price peg : Желаемая цена crvUSD: 1,00.
- price crvUSD : Текущая цена crvUSD.
- sigma : Переменная, которую можно настроить через DAO; более низкое значение ускоряет рост и снижение процентных ставок, когда crvUSD теряет или набирает стоимость соответственно.
- DebtFraction : Отношение долга PegKeeper к общему непогашенному долгу.
- TargetFraction : Целевой показатель.
- PegKeeperDebt : Сумма долга всех
- PegKeepers : Общий долг crvUSD на всех рынках.
Инструмент для экспериментов с моделью процентной ставки доступен здесь.