MIP30: Adaptador de cUSDC Farmeable (CropJoin)

MIP30: Adaptador de cUSDC Farmeable (CropJoin)

Preámbulo

MIP#: 30
Título: Adaptador de cUSDC Farmeable (`CropJoin`)
Autor(es): Lev Livnev (@equivrel), 🌧️ McRainface
Colaboradores: n/a
Tipo: Técnico
Estado: <Asignada por Editor de MIPs>
Fecha de Propuesta: 2020-11-16
Fecha de Ratificación: <yyyy-mm-dd>
Dependencias: n/a
Reemplaza: n/a
Licencia: AGPL3+

Referencias

  • La implementación de CropJoin propuesta.

Resumen Abreviado

Esta es una propuesta para la implementación técnica de un tipo de colateral USDC que les permitiría a los usuarios de posiciones de deuda colateralizadas (CDP) beneficiarse de la recompensa del “farming” de COMP, depositando el colateral en Compound y optimizando su rendimiento de COMP a través de “reabastecimiento táctico”.

Resumen Extendido

El farming de COMP ofrece un rendimiento atractivo con USDC corriendo poco riesgo. La capacidad de recibir apalancamiento adicional desde una CDP probablemente representará una oportunidad atractiva para inversores en busca de rendimientos, de modo que puede esperarse que este tipo de colateral produzca una muy alta emisión de Dai y que genere tarifas significativamente más altas para MakerDAO que lo actualmente recolectado por la importante exposición de la stablecoin de MakerDAO. Proponemos un nuevo adaptador de colateral basado en USDC capaz de realizar farming de COMP de parte de los depositantes.

Sumario de Componentes

MIP30c1: Código propuesto: contiene un fragmento de la implementación propuesta.

MIP30c2: Casos de prueba: enumera los casos de prueba existentes, incluyendo las pruebas de integración.

MIP30c3: Consideraciones de seguridad: hace observaciones acerca de las implicaciones de seguridad del uso de CropJoin.

MIP30c4: Consideraciones económicas y de gobernanza: discute riesgos de insolvencia y de liquidez, gobernanza y parámetros de ejemplo.

MIP30c5: Verificación formal / información de auditoría: hace observaciones sobre la susceptibilidad del código propuesto a la verificación formal, aunque tanto la especificación formal como auditorías y revisiones del código todavía deben llevarse a cabo.

MIP30c6: Licencia: declara la licencia bajo la cual la propuesta y el código han de distribuirse.

Motivación

Antecedentes

Desde el Black Thursday, la comunidad de la gobernanza de MakerDAO se ha enfrentado con problemas relativos a la gestión de la oferta y la demanda de Dai, con Dai comercializándose en el mercado consistentemente por encima del precio objetivo de US$1,00. En julio la demanda de Dai comenzó a aumentar significativamente debido a que Dai se volvió el activo dominante para el farming de “COMP”. Además de eso, aparecieron otros esquemas de “farming”/“liquidity mining” que también potenciaron la demanda de Dai.

Con tasas de interés cercanas al límite inferior de cero, a la gobernanza le quedaron pocas opciones para escalar la oferta para que esta satisfaga la nueva demanda. Algunas de las medidas que se han considerado para tratar este problema han sido:

Las primeras de estas configuran la política del status quo actual (al momento de escribir esto, hay alrededor de 406MM DAI emitidos contra USDC-A, 57MM contra TUSD-A y 21MM contra PAX-A).

Los argumentos a favor de colaterales farmeables

Desde julio el suministro de Dai ha tenido dificultades para estar a la altura de la aparentemente insaciable demanda creada por las oportunidades de yield farming en DeFi. Una manera en que puede pensarse el efecto que esto ha tenido en el mercado de Dai es considerar los farming yields como un “DSR exógeno”, artificial, muy alto y (percibidamente) de bajo riesgo, y por fuera del control de la gobernanza de MakerDAO, lo que tiene el previsible efecto de ejercer una poderosa influencia positiva en la demanda de Dai. Otra manera de ver el problema es que una gran porción del suministro de Dai está encerrado y por fuera del mercado en contratos que ofrecen a los depositantes un rendimiento atractivo por depositar su Dai. Más conspicuamente:

  • 363 millones de DAI depositados en Compound
  • 197 millones de DAI en el pool de ETH/DAI de Uniswap (si bien se espera que el incentivo del liquidity mining termine el 17 de noviembre)
  • 34 millones DAI depositados en Curve

Actualmente los tokens colaterales (por ejemplo, USDC) que están depositados en un CDP para generar Dai no pueden seguir utilizándose para generar rendimiento para el sistema o para el usuario. Esto significa que los usuarios que toman prestado Dai contra colateral USDC están sujetos a una oportunidad de costos significativa al renunciar al rendimiento de USDC, lo que disminuye el incentivo para vender Dai en el mercado (y es solo cuando Dai se vende en el mercado que incrementar el suministro tiene el efecto deseado sobre la paridad). Como resultado, los tipos de colaterales de stablecoins son efectivos ahora solo en razón de sus muy bajos requerimientos colaterales, con una tasa de colateralización de 101% actuando como un techo efectivo en la prima DAI/USD por arbitraje.

Si el usuario de CDP pudiera en cambio beneficiarse con un farming yield (rendimiento) sobre su colateral depositado, entonces tomar Dai prestado podría aparecer como una manera atractiva de aprovechar ese rendimiento y generar una ganancia atractiva. Por ejemplo, si una yield farm está pagando actualmente 10% APY sobre depósitos de USDC, y si un CDP puede usarse para tomar prestado Dai a un 5% contra esos depósitos, hasta un 110% de colateralización, entonces un usuario puede ganar (10 - 5) * 11 = 55% APY con apalancamiento máximo. Al hacerlo, habrán tomado prestado y vendido en el mercado 10 DAI por cada 1 USDC que depositaron, y el sistema estaría ganando una tasa de interés material del 5% sobre esta emisión de DAI.

Creemos que la introducción de tipos de colateral farmeables es la manera más efectiva de escalar el suministro de DAI en el corto plazo y de tal modo que se recompense al sistema adecuadamente por tomar riesgos al apalancar la fuente subyacente de la demanda de Dai.

Los argumentos a favor de cUSDC farmeable

La implementación técnica subyacente a esta propuesta tiene como objetivo soportar la rehipotecación de colateral arbitraria, lo que significa que en el futuro podría ser adaptada al despliegue de adaptadores de colaterales de farming para otros yield farms distintos de Compound.

Actualmente Compound es la más grande “yield farm” del mercado y probablemente también la que se percibe como la menos riesgosa para los depositantes. Efectivamente, los depositantes que simplemente depositan y toman prestado USDC no enfrentan riesgo de precio, riesgo de liquidación (siempre que la posición se gestione prudentemente) o riesgo de “pérdida impermanente”; y la plataforma de Compound ha estado activa con cantidades de capital depositadas muy grandes y por un largo período de tiempo y habiéndose sometido a numerosas auditorías.

La MIP6 para el colateral cUSDC ya ha recibido el visto bueno decisivo por parte de la gobernanza.

Algunas razones adicionales para comenzar con el farming de cUSDC son estas:

  • Puede decirse que Compound es el smart contract más respetado, más probado en el campo de batalla, y más minuciosamente auditado de todos los que ofrecen yield farming
  • MakerDAO ya tiene un exposición significativa a USDC y este es el activo colateral con la mayor cantidad de DAI emitido
  • Compound actualmente establece el rendimiento COMP sobre cada activo proporcionalmente a la cantidad total tomada en préstamo, lo que significa que hay un efecto de segundo orden por el cual un incremento en el farming de USDC reduciría el rendimiento COMP sobre el farming de DAI, lo que potencialmente ayuda a disminuir la demanda de DAI

El colateral cUSDC farmeable puede ser visto como una alternativa a otras soluciones que involucran exposición a stablecoins fiat (tales como los tipos de colaterales de stablecoins actuales o como el PSM), y puede comparárselo directamente desde una perspectiva de riesgo, recompensa y efectividad.

Especificación

MIP30c1: Código propuesto

Mira crop.sol para la implementación del adaptador central, y wind.sol para la optimización del apalancamiento de Compound.

Distribución de las recompensas

En CropJoin implementamos un adaptador de recompensas de farming de propósito general que distribuye proporcionalmente las ganancias de un token dado. Este adaptador puede usarse para una varidad de tokens generadores de entradas, por ejemplo, cTokens, UNI-LP, SNCRewards; y también distribuirá entradas de transferencias de token directas.

Para especializarse en un token específico, debe sustituirse un único método por otro que implemente la lógica de petición para el token específico (por ejemplo, .getReward(), .claimComp(...)).

Los enfoques existentes en relación a este problema fueron considerados (por ejemplo, SNXRewards, es decir UniPool, y MasterChef de Sushi), pero no se los consideró apropiados debido a su dependencia de determinadas tasas de recompensa especificadas y a idiosincrasias del contrato de Maker. En particular, designar un contraro de recompensas para Maker requiere resolver el problema de la “doble recompensa” que representa el hecho de que el colateral de Maker siempre puede ser transferido dentro del sistema (mira [crop README 1](https://github.com/rainbreak/crop/blob/main/README.md#tack) para más información).

Farming de COMP apalancado

Las recompensas COMP están determinadas por el total de activos que un usuario ha abastecido y tomado prestados de Compound. El farming efectivo de COMP requiere “apalancamiento”: se abastece un cToken y se toma prestado el subyacente y se lo reabastece nuevamente. Esto se repite para maximidad el monto total que el usuario ha abastecido/tomado prestado hasta cuatro veces el monto inicial en el caso de USDC. Este método de abastecimiento/toma en préstamo repetitivo se usa en la mayoría de los grandes depósitos de Dai en Compound hoy en día, y es la razón por la que el suministro total de cDai excede en gran medida el suministro real de Dai.

¹ El límite superior del suministro s = s0 / (1 - cf), donde cf es la utilización maxima permitida por Compound (por ejemplo, cf=0.75 para USDC, esto es s = 4 * s0).

En wind.sol extendemos el adaptador de recompensas descrito arriba y lo especializamos para recibir recompensas COMP por abastecer/tomar en préstamo cUSDC, por medio de un método iterativo con préstamos opcionales provistos por el usuario. Hay dos métodos:

  • wind provee un adaptador de USDC a Compound y maximiza el apalancamiento hasta un objetivo determinado.
  • unwind reduce el apalancamiento cuando está por encima del objetivo, y permite que el USDC sea redimido de Compound antes del exit del usuario.

MIP30c2: Casos de prueba

Pueden encontrarse casos de prueba en crop.t.sol. El adaptador de recompensas básico está cubierto para una recompensa de un token falso y esta base es extendida para probarse contra comportamientos simulados y reales de Compound (mediante RPC). Se exploran el efecto de los flash loans en los costos del gas y la accesibilidad de los colaterales; también se prueban un número de escenarios más complejos contra Compound on-chain, por ejemplo, acumulación de intereses, liquidación e incautación arbitraria. El comportamiento matemático de Compound es considerado en profundidad en la documentación y en las pruebas.

MIP30c3: Consideraciones de seguridad

Los riesgos de seguridad de cUSDC-CROP incluyen:

El riesgo técnico de Compound

Errores o vulnerabilidades de seguridad en el sistema de Compound podrían provocar que el adaptador cUSDC-CROP se comporte de manera imprevista, o podría resultar en la pérdida o robo de los depósitos de USDC subyacentes.

El riesgo técnico de la implementación de CropJoin

Además del riesgo técnico inherente a Compound, la implementación misma del adaptador es compleja y podría incrementar la superficie de ataque/error.

Debido al diseño de multicolateral DAI, las peores pérdidas posibles deberían limitarse al colateral depositado en el adaptador, y el techo de deuda debería establecerse considerando esto.

MIP30c4: Consideraciones económicas / de gobernanza

MIP30c4A: Riesgos económicos

Es razonable decir que el colateral cUSDC-CROP hereda los riesgos de USDC y suma los siguientes riesgos adicionales, como mímimo:

Riesgo de contagio de la insolvencia de Compound

Si el valor de los préstamos de colaterales/deudas en el sistema de Compound baja/sube (respectivamente) demasiado rápidamente antes de que el colateral pueda liquidarse para cubrir las deudas, es posible que el sistema se vuelva insolvente (de manera similar a cómo las CDP bajo liquidación en MakerDAO puede abrumar el búfer de excedentes y llevar eventualmente a la insolvencia). En ese caso, los usuarios de este adaptador pueden sufrir una pérdida, y si la pérdida es lo suficientemente grande, las CDP de cUSDC-CROP pueden volverse bajo el efecto de liquidación también y, como consecuencia, la insolvencia de Compound puede esparcirse a MakerDAO.

Riesgo de liquidez de Compound

Incluso si el sistema de Compound es solvente, no hay garantía teórica de que sea posible retirar un activo provisto ya que las reservas del activo provisto pueden estar comprometidas en préstamos pendientes. En ese caso, puede ser imposible extraer USDC del adaptador hasta que se acumule una reserva de USDC dentro del contrato, ya sea mediante préstamos reembolsados o abastecimiento adicional. Para evitar eventos de liquidez, Compound ajusta las tasas de suministro y de préstamos dinámicamente en base a la utilización, incentivando el abastecimiento y el reembolso con tasas de interés muy altas cuando las reservas son bajas. Históricamente la plataforma de Compound ha gestionado exitosamente su liquidez usando esta técnica.

MIP30c4B: Consideraciones de gobernanza

Para que el tipo de colateral cUSDC-CROP se mantenga competitivo en relación a otras oportunidades de rendimiento en DeFi, a la vez que maximice los retornos para MakerDAO, puede ser necesario adjustar períodicamente la tarifa de estabilidad para que esta refleje las tasas de mercado predominantes y el rendimiento ajustado a COMP de Compound sobre USDC.

A futuro, el mismo mecanismo puede usarse para desplegar adaptadores para apalancar otros esquemas de “yield farming”.

MIP30c4C: Parámetros de ejemplo

Nota bene. Mira predictions.exchange o stat.farm para calculadoras de rendimientos ajustados a COMP

Al momento de escribir, un depósito de USDC de Compound “apalacado” (con un LTV de 67.4%) tuvo un rendimiento ajustado a COMP de aproximadamente 14.6% APY.

Consideramos algunos parámetros de riesgo de ejemplo para ilustrar la dinámica económica: con una tasa de liquidación de 110%, una tarifa de estabilidad de 10%, un usuario que mantiene una tasa de colateral de 111% habrá apalancado alrededor de 10x en su interés neto de 14.6% - 10.0%, y habrá tenido una ganancia neta de alrededor de 46% APY.

Desde la perspectiva de este usuario, esto está muy por encima del rendimiento de USDC en la mayoría de las “yield farms” establecidas. Desde la perspectiva de MakerDAO, la tarifa de estabilidad es mucho más alta que la de cualquier otro tipo de colateral importante, y la alta tasa de colateralización de 110% posibilita que puedan desactivarse inicialmente las liquidaciones (de modo similar al status quo con USDC-A), con el interés aún efectivamente cobrable durante por lo menos un año después de la apertura de una CDP.

MIP30c5: Verificación formal/información de auditoría

El contrato propuesto está escrito de modo tal que es susceptible de especificación formal y de verificación, de acuerdo con el estilo y las prácticas de los contratos centrales del multicolateral DAI, aunque no ha sido formalmente especificado. La especificación formal total sería un desafío debido a la dependencia de la lógica de suministro/préstamo/recompensa de Compound, que es compleja en comparación a la simple transferencia de token ya que requeriría modelizar gran parte de Compound.

Todavía no se han llevado a cabo auditorías ni revisiones del código.

MIP30c6: Licencia


Esta es una traducción libre del artículo en inglés. Gracias a @blimpa y a @Lozadaluis12 por la traducción.

2 Likes

Esto es genial! Nosotros, la comunidad deberíamos compilar una lista de emails—de los bancos más grandes de América Latina y enviarles un newsletter sobre todo lo que esta pasando en Maker. No, mejor a los Private Equity/VC Firms? Como Monashees, NSTP Argentina, Manutara Ventures en Chile, quien mas? :thinking:

Gracias @blimpa y @Lozadaluis12

3 Likes

Buena idea. En mi opinion America Latina es ideal para los productos de Maker y creo que inversion en publicidad seria el primer paso. No creo que suficiente gente en America Latina tiene conocimiento de la innovacion que esta occuriendo en el internet a diario.

La verdad no tengo mucho conocimiento de estos bancos o firmas, igual no se cuan agusto se pueda estar con contactar con entidades centralizadas, de igual manera como Maker y Dai sigan avanzando, de seguro dará de que hablar en todos lados !

Es cierto, nosotros en los Dai Action Groups estamos intentando aumentar significativamente la adopción en LATAM, en poco tiempo tendremos a disposición mas material educativo y mejores incentivos para todos en la región.

Gracias por revisar los posts !

Quizás podamos obtener los emails buscando en el Internet. Implicaría mucha investigación …

Quizás también podamos enviarlo a los club de inversions universitarios? Pienso que es más fácil localizar los email—por ejemplo, encontre este del Instituto de Capacitación Bursátil:
[email protected]

1 Like