(El autor de este artículo es el desarrollador de DeFi Anton Cheng)

Prefacio

El año pasado, personalmente siento que no ha habido ninguna innovación especial en el mundo DeFi, pero se encuentra relativamente en un período de reconstrucción muy práctico: muchos equipos de alta calidad han comenzado a utilizar nuevos métodos de ingeniería para reescribir e implementar de una manera más segura. y más eficiente. En muchas infraestructuras DeFi, también hay muchos activos públicos completamente descentralizados.

Morpho es el ejemplo más clásico de esto. Hoy presentaré cómo desmantelan protocolos de préstamos complejos en módulos simples para maximizar la seguridad y la reutilización. Para aquellos que no están familiarizados con DeFi o Solidity, recomiendo usar Morpho como punto de partida para aprender a implementar contratos prácticos de una manera sencilla.

Breve introducción: plataforma de préstamos

El núcleo de la plataforma de préstamos puede explicarse fácilmente por dos grupos de personas: el proveedor quiere prestar activos para ganar intereses; el prestatario quiere hipotecar el activo A y pedir prestado el activo B, y pagar intereses al proveedor a cambio de la flexibilidad para combinar. su propia cartera de activos.

Los protocolos de préstamos más antiguos, como Aave o Compound, enfatizan que todo el protocolo es un gran mercado de préstamos: los proveedores solo necesitan seleccionar los activos que desean prestar y pueden depositar y cobrar intereses fácilmente. Tomando Aave y USDC como ejemplo, los usuarios solo necesitan elegir prestar USDC y, después de prestar, recibirán un token que genera intereses llamado aUSDC. No necesitan preocuparse por la garantía detrás de él ni por los parámetros de liquidación de cada garantía. Espere, porque la llamada gestión de riesgos la resuelve DAO, razón por la cual Aave Governance a menudo tiene votos para cambiar parámetros, agregar o eliminar garantías.

Los conceptos centrales de Morpho

La lógica fundamental de Morpho es muy diferente: es un protocolo verdaderamente descentralizado en el que cualquiera puede crear un mercado de préstamos para cualquier par de tokens.

Generalmente, la unidad más pequeña con la que un proveedor interactuará con Morpho se denomina "bóveda". El equipo de Morpho no lanzó ninguna bóveda oficial, sino que intentó encontrar diferentes personas o unidades para establecer y gestionar diferentes bóvedas para satisfacer las necesidades de diferentes proveedores. En otras palabras: como proveedor, no decides simplemente tirar tu dinero a Morpho, también tienes que elegir aquella con la que te sientes más cómodo entre las muchas bóvedas. Esto coloca a Morpho en una posición interesante, ya que no son ellos quienes deciden directamente lo que los usuarios quieren del mercado, sino que dejan estas cosas a otros (bóveda, curador) para que decidan.

Izquierda: Un protocolo es un mercado grande, como Compound y Aave. Derecha: un protocolo puede crear múltiples bóvedas y mercados sin correlación de riesgos

La bóveda mencionada anteriormente es una unidad frente a un proveedor general. De hecho, una bóveda se compone de múltiples mercados. A continuación presentaremos los dos componentes importantes del mercado y la bóveda de abajo hacia arriba, así como la relación entre ellos.

Vault consta de varios mercados diferentes Morpho Market (MorphoBlue) / Market

En la base del protocolo Morpho, hay mercados que son independientes entre sí, no se pueden cambiar y no tienen concepto de propiedad (contractualmente llamado

Morfoazul

). Una vez que se crea un mercado, no se puede cambiar y cualquiera puede usar cualquier conjunto de pares de tokens ERC20 y cualquier oráculo para crear mercados.

Crear mercado

Morfoazul

Es un contrato único. No todos los mercados individuales son contratos de nueva creación, pero todos existen en la misma dirección del contrato. Por lo tanto, es muy barato crear un mercado (el gas actual puede costar solo unos pocos dólares) y se puede construir. -en funciones de préstamo flash Permite a las personas pedir prestado todo el dinero del proveedor almacenado en MorphoBlue en una sola transacción.

Los parámetros necesarios para crear un mercado son los siguientes:

  • colateral

    : Garantía ERC20

  • préstamo

    : ERC20 en préstamo

  • oráculo

    : dirección de oráculo

  • ltv*

    (Préstamo de liquidación a valor): Un prestatario será liquidado cuando el valor total del préstamo/precio total de la garantía sea superior a esta relación.

  • Modelo irm*

    (Modelo de tasa de interés): Un contrato que determina la lógica de los cambios en las tasas de interés.

Entre los parámetros anteriores, los tres primeros no tienen ninguna restricción como se mencionó anteriormente; los dos últimos parámetros limitan el uso únicamente del valor lltv y del contrato irm votado por la gobernanza.

Cuando se crea un mercado, en realidad puede funcionar como un simple mercado de préstamos: por ejemplo, en un mercado USDC-ETH, los proveedores pueden depositar USDC directamente para ganar intereses, mientras que los prestatarios deben depositar el exceso de ETH como garantía, pedir dinero prestado y pagar. interés. Si la posición de algún prestatario está en peligro, habrá un liquidador para ayudar a liquidarlo.

Si desea utilizar diferentes garantías de lltv, debe crear una liquidación de mercado diferente.

El mecanismo de liquidación de Morpho es relativamente simple y no tiene ningún diseño de tipo subasta, sino que simplemente fija el precio y es el primero en ganar: cuando un prestatario se hunde, el liquidador puede ayudar a pagar parte de la deuda y obtener un valor mayor. colateral.

Cada mercado tendrá un LIF (Factor de Incentivo de Liquidación) fijo, determinado por la lltv. La garantía que puede obtener el Liquidador es el valor del préstamo *LIF:

maxLIF = 1,15, cursor = 0,3. LIF debe > 1

La capacidad de diseñar de esta manera depende en gran medida del hecho de que "un mercado consta de un solo activo de préstamo y un activo de garantía". Precisamente porque el mercado es muy simple, lo que hace factible vender una única garantía a un precio fijo. Si un protocolo quiere subastar una gran cantidad de diferentes tipos de garantías a la vez, o permite que un prestatario tenga muchas posiciones de préstamos a la vez, en realidad es difícil liquidarlos directamente a través de precios de Oracle, por lo que la mayoría de ellos dependerán de las subastas. Sería un diseño más complejo.

Autenticación sin gas

Aquí hay un pequeño diseño potencial: hay una característica en el código MorphoBlue llamada

establecerAutorizaciónConSig

La carta permite a una EOA autorizar a otras direcciones a operar sus posiciones en su nombre mediante una firma. Esto significa que los desarrolladores pueden desarrollar algunos contratos con terceros y proporcionar algunos servicios operativos y de alojamiento mediante autorización.

Resumen: el mercado es la unidad básica de préstamo más simple

Al ver esto, ya debería tener una comprensión básica del mercado. Básicamente es un mercado de préstamos muy pequeño con funciones limitadas. Su funcionalidad se limita a permitir que los proveedores presten dinero a un único mercado de garantías y que los prestatarios coloquen un activo y presten otro.

Obviamente, esto no es suficiente, por lo que se necesitan Vault y Allocator para ayudar a resolver el problema.

P.D.

Morfoazul

El contrato solo tiene alrededor de 500 líneas de código (el mecanismo de liquidación que más envidia a la mayoría de la gente es de solo 50 líneas. Está escrito de manera muy concisa y ha estado sujeto a una auditoría y verificación formal muy estrictas). Es el código más seguro entre las principales infraestructuras DeFi actuales y es muy recomendable para todos los que quieran aprender sobre contratos.

Bóvedas Morpho (MetaMorpho)

El mercado se ha introducido antes, pero en realidad es suficiente para los usuarios que tienen la mente más clara y quieren dedicar tiempo a gestionar todos los riesgos por sí mismos. Pero es posible que la mayoría de los proveedores no tengan estas capacidades, por lo que necesitamos algunas herramientas de agregación y otras funciones que nos ayuden a completar esta tarea.

¿Podemos mirar hacia atrás y ver qué "riesgos" puede controlar una DAO en escenarios anteriores de préstamos DeFi? De hecho, después de mucha deliberación, no se trata más que de elegir garantías y varios parámetros:

(1.) Garantía: ¿Qué tipo de garantía se puede utilizar para pedir prestado el dinero del proveedor?

(2.) Límite de préstamo de garantía: el límite superior de cuánto se puede pedir prestado cada garantía.

(3.) Línea de liquidación para cada garantía: diferentes tipos de garantía, precios relativamente estables deberían permitir un apalancamiento relativamente alto. Por ejemplo, si deposita $100 USDC, puede pedir prestados $95 USDT, pero si deposita $100 de BTC, solo puede. podrá pedir prestado $80.

En la definición de morfo, estas llamadas condiciones de gestión se considerarán mercados diferentes, por lo que siempre que se deba llevar a cabo una "gestión de riesgos", teóricamente bajo la estructura morfo, es necesario transferirla a otro mercado. Por ejemplo, el cambio de línea de liquidación: un mercado USDC-DOGE-lltv-90% significa que depositar DOGE puede pedir prestado el 90% del valor nominal de USDC. Si cree que el riesgo de DOGE ha aumentado hoy, debe retirarse. su USDC en su lugar, se transfirió a un nuevo lltv-80% del mercado. Obviamente, esto no es algo que la gente común estaría dispuesta a hacer, por lo que hay un agregador llamado bóveda, y se utilizan dos pequeños ayudantes de control de riesgos, curador y asignador, para ayudar a los depositantes a mover sus posiciones. Esta es Morpho Vault (contractualmente llamada MetaMorpho).

La relación entre el asignador de Vault (azul) y Market (naranja)

Primero, presentemos dos pequeños ayudantes para el control de riesgos. Una bóveda puede tener varios asignadores, y estos asignadores tienen la autoridad para transferir activos originalmente almacenados en un mercado a otro mercado. Además, también pueden actualizar la cola de depósitos y la cola de retiros: como su nombre indica, "En qué mercado se depositará primero el depósito" y "De qué mercado se retirará el dinero".

Curador de riesgos

El curador de riesgos es un controlador de bóveda. Además de poder establecer asignadores (y también tener sus poderes), también puede establecer el límite de oferta para cada mercado.

A través de estos dos roles, podemos lograr los tres tipos principales de control de riesgos mencionados anteriormente: al cambiar la cola y mover la liquidez, podemos determinar los mercados y así decidir si cambiar la garantía o cambiar la línea de liquidación para cada garantía. ; junto con la capacidad de establecer límites de depósito para cada mercado, podemos ajustar la exposición de todo el grupo.

ERC4626

Cabe mencionar que cada bóveda está diseñada específicamente para un tipo de activo crediticio, es decir, solo acepta depósitos de un único activo. MetaMorpho admite la interfaz ERC4626. Después del depósito, se le entregará un token ERC20 que contiene una tasa de interés. Luego podrá usar este token para acordar otros productos financieros derivados para apostar sobre algunas tasas de interés, etc.

Tarifa de desempeño

Finalmente, permítanme mencionar que estos ayudantes de control de riesgos no son caritativos, por lo que la mayoría de ellos requieren que los usuarios que depositan a través de bóvedas tomen un cierto porcentaje del interés ganado como comisión. Si no desea pagar... puede desplazarse hacia abajo hasta el final para descubrir cómo evitar estos cargos.

desafío

Probablemente esto haya terminado de presentar el núcleo de Morpho. A continuación, mencionaré algunos puntos que a menudo se discuten en este tipo de diseño.

Fragmentación de liquidez (?)

Al ver tal estructura, el primer instinto es la segmentación de la liquidez: el dinero originalmente depositado en una bóveda ahora se dispersará en diferentes mercados. ¿Significa esto que la liquidez está dispersa?

Creo que "sí y no": "Sí" es porque si solo hay una bóveda en el mundo, entonces la liquidez se dispersará en diferentes mercados, lo que causará muchos problemas al prestatario.

Pero, de hecho, varias bóvedas diferentes pueden abastecer el mismo mercado al mismo tiempo. Si hay un mercado que es muy estable, es posible que cada vez más bóvedas quieran depositar dinero en esta bóveda para ganar una tasa de interés relativamente estable. Esto permite a los prestatarios pedir prestado liquidez a diferentes usuarios de bóvedas en el mismo mercado.

Si no solo consideramos las bóvedas, esta ventaja puede ampliarse aún más: por ejemplo, si hay otros contratos inteligentes o tesorería que quieren realizar una función simple de generación de intereses, es posible que no quieran usar bóvedas, sino depositar USDC directamente en una mercado para generar interés. El diseño simple de interés y mercado permite que más protocolos estén dispuestos a hacer esto y generar una mayor cantidad de liquidez.

Préstamos con múltiples garantías

Creo que en morfo la UX del prestatario se volverá más complicada, pero si es buena o mala se puede explicar en diferentes aspectos:

Todos los protocolos de préstamos anteriores tienen el poder de cambiar las condiciones bajo las cuales se liquida al prestatario. Parte de la razón es que le permiten colocar una gran cantidad de garantía a la vez y utilizar una puntuación de salud para evaluar cuánto dinero tiene su posición total. puede prestar. Para garantizar la seguridad del protocolo, cuando cambia el riesgo de garantía, pueden cambiar algunos parámetros para que el prestatario sea liquidable. Aunque habrá mecanismos de protección adicionales, en última instancia esta es una consideración difícil.

En Morpho, el objeto de acción del prestatario se convierte en un mercado permanentemente inmutable, lo que significa que no tiene que preocuparse de que nadie pueda cambiar sus condiciones de préstamo y liquidación. El precio es que si planea hipotecar múltiples garantías para prestar activos, usted mismo debe depositar diferentes garantías en diferentes mercados y, al mismo tiempo, mantener múltiples posiciones y reequilibrarse. Desde esta perspectiva, será muy inconveniente.

Rehipotecación

Uno de los mayores problemas de Morpho es la utilización de los activos colaterales subyacentes. Muchos otros protocolos de préstamo permiten que otros tomen prestada la garantía que usted deposita al mismo tiempo, lo que le permite cobrar un poco más de interés. Sin embargo, la lógica subyacente de Morpho no permite prestar garantías, por lo que debe haber algunos activos que estén "inactivos" en el contrato.

Si este asunto es realmente importante o no, lo discutiremos en detalle más adelante, cuando presentemos Euler V2.

Conclusión: construcción de hiperestructuras

Recuerdo que la primera vez que vi el contrato Morpho fue por esta época el año pasado, y pensé que esta era la infraestructura de préstamos que esperaba ver a alguien implementar.

Además de los detalles de implementación de contratos claros y concisos, me gusta mucho el espíritu de no intentar hacerlo todo, sino dividir cada unidad práctica de forma limpia y desarrollar contratos basados ​​en el principio de minimización. Creo que este es el mejor espíritu para desarrollar contratos, porque cuanto más complejas son las cosas, es más probable que tengan problemas de seguridad y es menos probable que otros las reutilicen.

Además, el diseño de gobernanza minimalista, inmutable y completamente descentralizado de Morpho está totalmente en línea con el espíritu de Hiperestructura.

¿Qué son las hiperestructuras?

Si nunca has oído hablar de la palabra hiperestructura, te recomendamos leer el texto original de Jacob. Estoy aquí para ayudar a copiar la definición.

Hiperestructuras: Protocolos criptográficos que pueden funcionar de forma gratuita y para siempre, sin mantenimiento, interrupciones ni intermediarios.

Varias características importantes definidas con más detalle por Jacob en el artículo:

  • Imparable: nadie puede detener el protocolo. Funciona mientras exista la cadena de bloques subyacente.

  • Gratis: hay una tarifa de protocolo del 0% y funciona exactamente al costo del gas.

  • Valioso: acumula valor que es accesible y saletable para los propietarios.

  • Expansivo: hay incentivos incorporados para los participantes en el protocolo.

  • Sin permisos: acceso universal y resistente a la censura. No se puede excluir de la plataforma a los desarrolladores y usuarios.

  • Suma positiva: crea un entorno en el que todos ganan, ya que los participantes utilizan la misma infraestructura.

  • Creíblemente neutral: el protocolo es independiente del usuario.

P.D. Otro punto destacado del artículo original es la extensión del problema del “valioso”: estos contratos pueden tener propiedad, o pueden hacer que la propiedad sea valiosa, pero deben basarse en una base que no viole la descentralización en absoluto. Un buen ejemplo es un cambio de tarifas: un control de propiedad que activa un interruptor de tarifas es valioso, pero el propietario nunca tiene un incentivo a largo plazo para activar el interruptor de tarifas.

Creo que estos protocolos son muy escasos en DeFi en este momento. A excepción de Uniswap, casi no existen otros protocolos que cumplan tales condiciones. En el diseño de Morpho, se puede ver que no solo garantizan la descentralización, sino que también se acercan muy intencionalmente a una gobernanza minimizada, asegurando que incluso si el propietario se convierte en una mala persona algún día, el contrato puede ser creíblemente neutral y continuar apoyando al nuevo. El mercado seguirá funcionando.

Morpho es un primitivo, un bien público o una hiperestructura.

Debido a esto, me gusta mucho Morpho (especialmente

Morfoazul

), así que hace un tiempo dediqué un tiempo a crear una herramienta que permita a todos suministrar directamente a mercados individuales: MonarchLend.xyz. Si tiene mucha confianza en la gestión de sus propias posiciones, le recomiendo utilizar este método para suministrar a los mercados directamente, de modo que la bóveda no le cobre tarifas de gestión intermedias.

Bienvenido a probarlo: https://www.monarchlend.xyz/

Se ha presentado el simple y hermoso Morpho. Espero presentar Euler V2, que es aproximadamente 100 veces más complejo pero aún muy descentralizado.

Este artículo Modelo básico (hiperestructura) de DeFi de nueva generación: protocolo de préstamos Morpho apareció por primera vez en Chain News ABMedia.