Interpretación en profundidad de la evolución de la arquitectura de las aplicaciones de préstamos en Ethereum

Autor: @albertocuestacanada

Traducción: Comunidad Dengchain

! [Interpretación en profundidad de la evolución de la arquitectura de la aplicación de préstamos en Ethereum] (https://cdn-img.panewslab.com//panews/2022/10/15/images/bcdcc4b76ff94a8c3e73b9d3d124dc11.png) Evolución de los productos crediticios

Los préstamos son la piedra angular de las aplicaciones de blockchain basadas en Ethereum. Ya se han prestado miles de millones de activos[5] Por lo tanto, comprender cómo funcionan los préstamos es crucial para los desarrolladores, arquitectos o investigadores.

Al igual que la evolución de los paradigmas de programación, estas aplicaciones DeFi tienen diferentes diseños arquitectónicos que reflejan prioridades cambiantes que van desde la seguridad hasta la experiencia de usuario eficiente.

Este artículo analiza la arquitectura de aplicaciones de préstamos como MakerDAO, Compound, Aave, Euler y Yield. Destacaremos las innovaciones clave y los patrones de diseño que son lecciones importantes para el futuro desarrollo de aplicaciones de préstamos.

Si eres desarrollador, arquitecto o investigador de seguridad, este artículo es para ti. Por último, aprenderás fácilmente sobre la nueva aplicación de préstamos en Ethereum y obtendrás una comprensión rápida y completa de su arquitectura. Obtenga más información sobre cómo se construyeron estos gigantes de DeFi desde cero.

Préstamos en DeFi

La mayoría de los préstamos DeFi están sobrecolateralizados[6] 。 Si el valor de la garantía proporcionada por el usuario es superior al valor del préstamo, el usuario puede tomar prestado un activo específico. A diferencia de los préstamos tradicionales, muchos de estos préstamos no tienen pagos regulares ni fechas de pago fijas. Esencialmente, puedes pedir prestado y nunca devolverlo.

Sin embargo, existe un problema: el valor de la garantía siempre debe exceder el límite predeterminado del valor deudor.

Si el valor de la garantía cae por debajo de este límite, el préstamo se liquidará[7] 。 Durante la liquidación, otra persona paga parte o la totalidad de su préstamo, y recibe parte o la totalidad de su garantía a cambio.

Todas las solicitudes de empréstito que siguen esta estructura financiera requieren la misma construcción, que luego se puede organizar de varias maneras:

  • Tesorería para almacenar las garantías de los usuarios y los activos prestados (tesorería)
  • Sistema de facturación que rastrea las garantías y deudas de cada usuario
  • Una función que determina la tasa de interés del prestatario
  • Un mecanismo para verificar que un préstamo está adecuadamente garantizado, generalmente involucrando un oráculo de precios externo
  • Vía de liquidación para el endeudamiento cuando la garantía es insuficiente
  • Un sistema de gestión de riesgos que registra los préstamos totales y otros indicadores de seguridad, como los límites de endeudamiento globales y por usuario, las garantías mínimas y los coeficientes específicos de sobrecolateralización.
  • Interfaz para que los usuarios agreguen y eliminen garantías, préstamos y objetivos de pago

! [Interpretación en profundidad de la evolución de la arquitectura de la aplicación de préstamos en Ethereum] (https://cdn-img.panewslab.com//panews/2022/10/15/images/f004f36e16730c2be0735220dc98b6f8.png) El proceso de préstamo en MakerDAO, todos los activos de la aplicación utilizan los mismos pasos y funciones

El endeudamiento y el préstamo pueden considerarse como funciones separadas. En DeFi, encontramos ambas características en la mayoría de las aplicaciones de préstamos, pero no siempre se integran bien. En Compound, Aave y Euler, las tasas de interés para prestatarios y prestamistas están correlacionadas internamente; De hecho, esto es lo que hace que estas aplicaciones se ejecuten con una intervención mínima.

Por otro lado, MakerDAO y Yield prestan a los prestatarios sus activos de ellos mismos (el propio protocolo).

No piden a los usuarios que proporcionen activos para que otros usuarios puedan tomarlos prestados.

Este artículo se centrará en el endeudamiento e ignorará en gran medida los préstamos. El endeudamiento es mucho más complejo debido a los requisitos de la hipoteca, y la comprensión de los patrones de endeudamiento a menudo proporciona una mejor comprensión de todo el acuerdo.

Evolución arquitectónica de MakerDAO

! [Interpretación en profundidad de la evolución de la arquitectura de la aplicación de préstamos en Ethereum] (https://cdn-img.panewslab.com//panews/2022/10/15/images/42e228c9d77f99385bb5d49f98064ed0.png)

MakerDAO[8] [9], lanzado en noviembre de 2019 , que tiene 4.950 millones de dólares en garantía. Aunque su arquitectura modular tiene diferentes contratos y una terminología única para cada función, sigue siendo fácil de entender y verificar.

La función de Tesorería en MakerDAO está representada por contratos de unión[10] Gestionar.

Cada token aprobado como garantía tiene un contrato separado[11] 。

MakerDAO no posee ningún DAI de activos prestados. Simplemente se acuña y se destruye según sea necesario[12] Vamos.

Facturación en los contratos de vat.sol[13] [14]Tramitación interna. Join actualiza este contrato cuando la garantía entra o sale del sistema [15]。 Si un usuario pide un préstamo, contrata directamente con vat.sol Interaccionar.

Esta acción actualiza el saldo de la deuda del usuario y le permite acuñar DAI en DAI.

Para pagar, los usuarios queman DAI en el contrato de unión a DAI. A continuación, este proceso actualiza el IVA para permitir al usuario liquidar el préstamo.

Además, el contrato vat.sol actúa como gestor de riesgos[16] Motor. Mantiene límites de endeudamiento completos, establece umbrales mínimos por usuario y supervisa los índices de garantía. Cuando cambia el saldo de la deuda o de la garantía de un usuario, el contrato vat.sol evalúa las tasas de interés y los spots.

Estos se refieren a las tasas de interés basadas en la garantía utilizada y la relación entre el precio de la garantía y el precio de la garantía prevaleciente. Curiosamente, estos valores se introducen en el contrato vat.sol mediante otros contratos de MakerDAO, lo que es diferente de la mayoría de las otras aplicaciones.

MakerDAO priorizó la seguridad en la etapa de diseño: factores como los costos de gas eran secundarios, la experiencia del usuario era secundaria y la competencia era insignificante.

Como resultado, puede parecer extravagante, caro de usar y difícil de navegar.

Sin embargo, sus vastos activos bajo administración y su historial de operaciones sin violaciones importantes destacan su sólido diseño y ejecución.

Lo más destacado de MakerDAO:

Cada activo tiene su propio contrato.

La función de facturación está centralizada en un único contrato, que también registra y ejecuta los parámetros de riesgo, incluidas las comprobaciones de garantías

A diferencia de otras aplicaciones, los oráculos vienen a renovar contratos y supervisar hipotecas

Los oráculos de precios y tasas de interés utilizan diferentes interfaces

Las tasas de interés son de origen externo

Para pedir prestado, los usuarios deben interactuar con varios contratos

Evolución arquitectónica del protocolo Yield

! [Interpretación en profundidad de la evolución de la arquitectura de la aplicación de préstamos en Ethereum] (https://cdn-img.panewslab.com//panews/2022/10/15/images/c24841105c321d8451af0d0a7534fa24.png)

Rendimiento v1[17] [18] Al igual que el uso de YieldSpace Prueba de concepto para una tasa de interés fija. Esta versión construye su motor de deuda hipotecaria sobre MakerDAO. Sin embargo, Yield v1 es caro de usar y difícil de mejorar con nuevas funciones.

Reconociendo el potencial de YieldSpace, pasamos rápidamente a Yield v2[19] [20]。 Yield v2 sigue inspirándose en MakerDAO, pero ahora es totalmente independiente y se lanzará en octubre de 2021 ; Yield v2 prioriza la reducción de los costos de gas y la mejora de la experiencia del usuario.

! [Interpretación en profundidad de la evolución de la arquitectura de la aplicación de préstamos en Ethereum] (https://cdn-img.panewslab.com//panews/2022/10/15/images/60d6467c33d1a63479bea607edbc7419.png) El proceso de préstamo en Yield v2 está fuertemente influenciado por MakerDAO

Toda la facturación, la gestión de riesgos y las comprobaciones hipotecarias se combinan en un solo contrato: Cauldron[21] [22]。 Siguiendo el enfoque de MakerDAO, la funcionalidad de la bóveda se distribuye a lo largo del contrato de unión , cada contrato está dedicado a un activo específico.

Integración mejorada de oráculos, combinando oráculos de precios y tasas de interés en una interfaz común[23] [24]。 Invertimos el flujo de oráculo de MakerDAO para Cauldron Consulte el oráculo según sea necesario para la verificación de la hipoteca. Hasta donde yo sé, este es el proceso preferido para todas las demás aplicaciones excepto MakerDAO.

Otra diferencia significativa con respecto al enfoque de MakerDAO es la introducción de Ladle[25] 。 El contrato actúa como único intermediario entre el usuario y Yield. Tiene un amplio control sobre las bóvedas y las facturas y, a su vez, proporciona una enorme flexibilidad para el desarrollo de funciones.

En resumen, los préstamos en Yield v2 funcionan de la siguiente manera:

  • Cada activo tiene su propio contrato de bóveda dedicado.
  • El contrato único centraliza las funciones de facturación. El contrato también supervisa las medidas de gestión de riesgos y realiza inspecciones hipotecarias.
  • La función hipotecaria consulta el oráculo para determinar el precio y la tasa de interés.
  • Los oráculos de precios y tasas de interés comparten una interfaz unificada.
  • Las tasas de interés son generadas externamente.
  • Los usuarios pueden pedir prestado mediante la emisión de una sola transacción a un contrato.

Evolución arquitectónica del complejo

! [Interpretación en profundidad de la evolución de la arquitectura de la aplicación de préstamos en Ethereum] (https://cdn-img.panewslab.com//panews/2022/10/15/images/096aad229c90d42d135342e29de817a8.png)

La primera versión de Compound[26] [27]es una prueba de concepto [28], lo que indica que se puede establecer un mercado de divisas en Ethereum. Por ello, su diseño prioriza la sencillez. MoneyMarket.sol El contrato engloba todas las funciones, incluido el endeudamiento.

! [Interpretación en profundidad de la evolución de la arquitectura de la aplicación de préstamos en Ethereum] (https://cdn-img.panewslab.com//panews/2022/10/15/images/5c09a9eb804376aec085f6af1c3f9e2e.png) El proceso de préstamo en Compound v1 es simple y efectivo

Las tareas de bóveda, facturación y gestión de riesgos, como las comprobaciones hipotecarias, se combinan en un único contrato.

El contrato recupera el precio del oráculo, pero determina la tasa de interés en función de la utilización del activo.

El usuario solo interactúa con el contrato, aunque debe llamarse por separado para proporcionar una garantía y tomar prestados activos.

Compuesto v2

Compuesto v2[29] Lanzado en mayo de 2019, encendió la era de la agricultura de rendimiento e inspiró innumerables bifurcaciones. También actúa como un mercado monetario, lo que permite a los usuarios depositar y pedir prestados activos.

Basado en su libro blanco[30] y estructura, está claro que el objetivo principal de Compound v2 es representar las posiciones crediticias utilizando el estándar ERC20. Esto garantiza la componibilidad, lo que permite a los usuarios prestar a Compound y luego usar estas posiciones que devengan intereses en otras aplicaciones de blockchain.

Curiosamente, el documento técnico no enfatiza que Compound v2 será recompensado[31] Incorporado en sus contratos inteligentes. Debido a esta omisión, es posible que no se prevea el enorme impacto de la función.

! [Interpretación en profundidad de la evolución de la arquitectura de la aplicación de préstamos en Ethereum] (https://cdn-img.panewslab.com//panews/2022/10/15/images/f2698573a47c696f279f9d32beefcf9f.png) El proceso de préstamo en Compound v2, que tokeniza las posiciones de préstamo por primera vez

Cada activo tiene su propio contrato de financiación.

La función de facturación también está separada y cada cToken registra las garantías y deudas del usuario.

El Contralor registra y realiza los parámetros de gestión de riesgos, incluidas las comprobaciones de garantías.

El contralor es responsable de garantizar el oráculo del precio de referencia del contrato y la tasa de interés de cToken.

Los oráculos de precios y tasas de interés operan a través de diferentes interfaces.

La tasa de interés se deriva de la tasa de utilización interna del activo.

Los usuarios deben interactuar con varios contratos para pedir prestado.

Compuesto v3

Compuesto v3[32] [33] Lanzado en 2022 [34], adoptando una estrategia de gestión de riesgos más conservadora, segregando la liquidez en un conjunto de cada activo prestable Medio. El diseño también pone de manifiesto su enfoque en la facilidad de uso y el coste del gas.

! [Interpretación en profundidad de la evolución de la arquitectura de la aplicación de préstamos en Ethereum] (https://cdn-img.panewslab.com//panews/2022/10/15/images/4e2a64278626d39b41f2ab86baddb126.png) El proceso de préstamo en Compound v3 (Comet). De vuelta a lo básico, de vuelta a la seguridad. Eso sí, con una mejor experiencia de usuario.

Con menos llamadas requeridas, el sistema es más intuitivo tanto para los desarrolladores como para los usuarios. Además, el diseño de contrato único reduce los costos de gas al minimizar las llamadas entre contratos. Los mercados de divisas aislados son una defensa contra los ataques basados en oráculos, que actualmente es un problema de seguridad importante.

Otras características relevantes mencionadas en el artículo incluyen (mencionadas en las notas de la versión):

Revisión de los motores de gestión y compensación de riesgos. Este diseño mejora la seguridad de los fondos a la vez que es más amigable para el prestatario.

Imponer restricciones a los activos hipotecarios personales en todo el mercado para reducir el riesgo.

Los modelos de tasas de interés para los ingresos y los préstamos están ahora separados, y la gobernanza tiene pleno control sobre la política económica.

Curiosamente, Compound v3 refleja la arquitectura de Compound v1, lo que permite que un solo contrato maneje todas las funciones de cada activo prestable. Otras características notables incluyen:

Solo se pueden tomar prestados activos prestados, y no se pueden tomar prestados activos garantizados.

En Compound v3, la garantía no genera rendimientos.

La prohibición de tomar prestada una garantía aumenta la seguridad de la persona que depositó la garantía. Esto reduce la probabilidad de que los errores de gobernanza o los ataques intencionados comprometan el material colateral.

La eliminación de los rendimientos de la oferta colateral puede ser el resultado de que Compound logre acumular mucha liquidez en la v2. Mi intuición es que en Compound v2, el límite de préstamo es menor o no más alto que el activo que el usuario presta a la aplicación.

Suponiendo que gestionarán un nivel similar de liquidez para la versión 3, prohibir la garantía de préstamos puede hacer que la aplicación sea segura, que es uno de los objetivos principales de la versión 3.

Desde el punto de vista arquitectónico:

Cada mercado de divisas es un contrato independiente que contiene bóvedas, billetes y gestión de riesgos

Cada mercado de divisas conserva el activo prestable y todos sus tokens de activos garantizados aprobados, lo que permite que los activos se distribuyan por toda la aplicación

El precio del alimento es el único insumo externo; Las tasas de interés de los préstamos se generan internamente

Las funciones tradicionales, como el suministro/retirada/préstamo/reembolso, se integran de forma inteligente. Ahora, retirar activos prestables del mercado monetario significa pedir prestado, mientras que la oferta de activos prestables significa pagar deudas o préstamos basados en los usuarios

Los contratos de enrutamiento integrado permiten realizar múltiples operaciones en una sola llamada

La evolución arquitectónica de Aave

! [Interpretación en profundidad de la evolución de la arquitectura de la aplicación de préstamos en Ethereum] (https://cdn-img.panewslab.com//panews/2022/10/15/images/eefde1e6fa9d58e65f3d146ae9649d2c.png)

Fantasma v1[35] [36] Lanzado en octubre de 2019 para reemplazar a ETHLend. Aave v1 introduce un fondo de liquidez compartido en lugar del enfoque peer-to-peer de ETHLend.

! [Interpretación en profundidad de la evolución de la arquitectura de la aplicación de préstamos en Ethereum] (https://cdn-img.panewslab.com//panews/2022/10/15/images/e865cd30bcad20378b0c82ccbb538b98.png) El proceso de endeudamiento en Aave v1, que reúne la eficiencia del cálculo de la presentación de liquidez

Al igual que en Yield v2, los contratos de enrutamiento[37] [38]Controle la lógica de negocio. LendingPoolCore Habilita las funciones de facturación, gestión de riesgos y bóveda. Centralizar las bóvedas en un contrato es un punto de diferencia con respecto a Compound v2.

Guarde el cheque de la hipoteca en su propio contrato[39] , invocada desde un enrutador en lugar de un contrato de contabilidad, esta decisión puede parecer débil, pero dado que la versión Aave v2 se lanzó dos años después del lanzamiento v1, lo más probable es que sirviera para el propósito.

El contrato LendingPoolCore gestiona las bóvedas y las facturas

LendingPoolDataProvider gestiona la comprobación de hipotecas e interactúa con los oráculos

LendingPool actúa como un punto de entrada de usuario e implementa la lógica empresarial

El tipo deudor se determina internamente y se basa únicamente en la información sobre los precios

Fantasma v2

Fantasma v2[40] [41] Publicado en diciembre de 2021 [42]。 Si bien conserva una funcionalidad similar a Aave v1, presenta una arquitectura mejorada y más simple en comparación con Aave v1 y Compound v2. En esta versión, Aave también introdujo aToken [43](similar al cToken de Compound) y vToken , que significa deuda tokenizada.

! [Interpretación en profundidad de la evolución de la arquitectura de la aplicación de préstamos en Ethereum] (https://cdn-img.panewslab.com//panews/2022/10/15/images/c8ccb2478d59ac6e13a859b6bffdba0f.png) Aave v2 tiene una arquitectura muy limpia y está totalmente tokenizada

Para simplificar, se han omitido algunas funciones que se utilizan de forma limitada en Aave v1. Los problemas de Aave v1, como las representaciones complejas de intereses acumulados, se han resuelto en Aave v2.

El contrato de LendingPool integra funciones globales de facturación y gestión de riesgos, como la comprobación de hipotecas. Sirve como punto de acceso principal para los usuarios

Los aTokens representan una garantía, similar a las posiciones de préstamo. La garantía del usuario está representada por el aToken que posee, y la función de bóveda se distribuye entre todos los aTokens

vToken se utiliza para representar posiciones de deuda. La deuda de un usuario está representada por el vToken que posee

Fantasma v3

Fantasma v3[44] [45] Publicado en enero de 2023 , con soporte multicadena y otras características. Agregarlos no cambia la arquitectura principal. Esta actualización también incluye una mejora en la gestión de riesgos y la eficiencia del gas.

A pesar de muchos avances, Aave v3 no es fundamentalmente diferente de Aave v2 para los fines de este estudio. De hecho, esto puede indicar que la arquitectura de Aave v2 sigue siendo robusta en 2023.

¡La evolución de la arquitectura de Euler! [Interpretación en profundidad de la evolución de la arquitectura de la aplicación de préstamos en Ethereum] (https://cdn-img.panewslab.com//panews/2022/10/15/images/f7c7040faaf0dad6b78bdd00d2f50aff.png)

Euler[46] [47] Lanzado en diciembre de 2022 , diseñado para proporcionar una funcionalidad sin permisos y una gobernanza mínima para el mercado de divisas.

Un sello distintivo de su diseño son los diamantes[48] [49]modo similar. Un solo contrato posee todo el espacio de almacenamiento de una aplicación [50]。 Se puede acceder a la tienda a través de diferentes proxies Acceso a diferentes elementos conceptuales de cada sistema de gestión de agentes.

! [Interpretación en profundidad de la evolución de la arquitectura de la aplicación de préstamos en Ethereum] (https://cdn-img.panewslab.com//panews/2022/10/15/images/a23e03b0b8e9c74b6d36985e3a95b3fb.png) Euler

Aunque un contrato almacena todos los activos, facturas y datos de gestión de riesgos, todavía hay eTokens para garantías y préstamos, y dTokens para deuda, similar a Aave v2. Sin embargo, estos contratos de tokens son simplemente una vista del contrato de almacenamiento central.

Contrato de almacenamiento[51] Administrar variables de facturación.

Contratos de BaseLogic[52] Actúa como una bóveda.

Contrato de RiskManager[53] Supervisar las variables y funciones de gestión de riesgos, incluidas las comprobaciones hipotecarias.

El análisis del código muestra que el costo mínimo del gas es una prioridad, lo que da como resultado que el diseño general elimine la necesidad de llamadas entre contratos. La seguridad se garantiza a través de rigurosas pruebas y auditorías. Solo la lógica se distribuye en los módulos y, como implementación del contrato de almacenamiento, el contrato de almacenamiento actúa principalmente como un contrato proxy.

Este diseño uniforme también permite actualizaciones fáciles. Si no necesita cambiar el almacenamiento, puede reemplazar rápidamente los módulos para modificar o introducir funcionalidades.

Euler fue hackeado 15 meses después de su lanzamiento y 6 meses después de que la actualización introdujera una vulnerabilidad explotada.

No creo que sea la pérdida de activos debido a su arquitectura general; Por el contrario, la supervisión de las actualizaciones de código es insuficiente.

Conclusión

Las primeras aplicaciones de Ethereum, como MakerDAO, Compound y Aave, demostraron el potencial de los préstamos sobrecolateralizados de Ethereum. Una vez que estas pruebas de concepto demostraron ser exitosas, el enfoque cambió a la introducción de una serie de nuevas características para capturar la participación de mercado. Las versiones posteriores de Compound y Aave introdujeron la agricultura de rendimiento, la componibilidad y la liquidez colectiva, técnicas que prosperaron especialmente durante las condiciones del mercado alcista.

Un desarrollo significativo es la introducción de posiciones de préstamos tokenizadas en Compound v2, lo que permite que estas posiciones sean reconocidas como activos estándar por otras aplicaciones. Aave v2 y Euler han ido un paso más allá al implementar posiciones de deuda tokenizada, cuya utilidad más amplia sigue siendo un tema de debate.

Los altos costos del gas se convirtieron en un problema importante durante los mercados alcistas, lo que provocó cambios en la experiencia del usuario como lo persiguen Yield v2, Aave v2 y Euler. Los contratos de enrutador y la implementación en su conjunto ayudan a reducir los costos de transacción para los usuarios. Sin embargo, esto se produce a costa de un código más complejo y, por lo tanto, más arriesgado.

Compound v3 parece sentar un precedente para priorizar la seguridad sobre la eficiencia financiera. Se desvía del modelo tradicional de fondo de liquidez para protegerse mejor contra posibles hackeos. El auge de las redes L2, donde los costes del gas son cada vez más insignificantes, puede afectar al diseño de las solicitudes de préstamos hipotecarios en el futuro.

En este artículo, ofrezco una visión general completa de las principales aplicaciones de préstamos de garantía en Ethereum. Los métodos que utilizo para analizar cada solicitud también se pueden utilizar para comprender rápidamente la complejidad de otras solicitudes de préstamos hipotecarios.

Al desarrollar aplicaciones de préstamos de blockchain, siempre tenga en cuenta el almacenamiento de activos, la colocación de registros de facturación y los métodos de evaluación de riesgos y garantías. Al tener en cuenta estas consideraciones, utilice los cambios históricos aplicados anteriormente y la información de esta información general para fundamentar sus decisiones.

Ver originales
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
  • Recompensa
  • Comentar
  • Republicar
  • Compartir
Comentar
Añadir un comentario
Añadir un comentario
Sin comentarios
  • Anclado