Un Análisis Integral de ERC-4626 y DeFi

Avanzado2/22/2024, 5:56:11 AM
Este artículo analiza los principios básicos de ERC-4626 y su aplicación en DeFi de manera integral.

01 ¿Qué es ERC-4626

ERC-4626 es una bóveda tokenizada con un único token subyacente EIP-20.

En primer lugar, se trata de una propuesta basada en el ERC-20 y totalmente compatible con ella.

En segundo lugar, entender el concepto de bóveda, que no es una tesorería. La tesorería actualmente en el mercado es básicamente una billetera de contratos, la mayoría de los cuales son Gnosis Safe, que principalmente proporciona funciones seguras de entrada y salida de fondos. Pero para una organización, además de la entrada y salida de fondos, el flujo de fondos también puede generar ingresos.

La motivación de esta propuesta: La falta de estándares para las bóvedas tokenizadas ha dado lugar a diferentes detalles de implementación de muchas bóvedas en el mercado, como mercados de préstamos, agregadores, tokens que devengan intereses, etc. Esto hace que la integración de agregadores y complementos a nivel de protocolo sea difícil, propensa a errores y un desperdicio de recursos de desarrollo.

Cuando el estado actual de esta propuesta es Final, significa que es un estándar relativamente estable.

02 Especificación

Los tokens que siguen ERC-4626 deben implementar completamente ERC-20, que se utiliza para representar acciones. Aquí hay algunos conceptos simples.

  • Activo: El token subyacente gestionado por la bóveda, siguiendo el estándar ERC-20.
  • Compartir: Token de bóveda, también conocido como vToken. Tiene una relación proporcional con el activo.
  • Tarifa: Una cantidad cobrada por la bóveda cuando un activo o participación cambia. Puede ser depósitos, ganancias, gestión de activos, retiros, etc.
  • Deslizamiento: La diferencia entre el precio publicado de los depósitos y retiros de acciones y la economía real. A continuación se muestra una explicación más detallada del concepto de deslizamiento en el campo de DeFi.

El deslizamiento es la diferencia entre el precio esperado de una operación y el precio de ejecución real. El deslizamiento ocurre cuando hay un retraso entre la realización de una operación y su ejecución, y el precio del activo que se negocia cambia.

Por ejemplo, si encuentras 20 ETH y 80 USDT en el pool de AMM, tu precio de ETH esperado es de 4 USDT/ETH. Sin embargo, si planeas gastar 20 USDT para intercambiar en el pool, solo terminarás con 4 ETH en lugar de los 5 ETH esperados, lo que significa que sufres una pérdida de deslizamiento de 1 USDT/ETH. Su precio de compra real será de 5 USDT, no de los 4 USDT esperados.

El deslizamiento es particularmente común en mercados de rápido movimiento o activos de alta volatilidad, así como en activos de cola larga con liquidez limitada. En cualquier caso, tiene un impacto significativo en el rendimiento de las operaciones y es importante tener en cuenta el deslizamiento a la hora de realizar operaciones.

03 Análisis de contratos

El código del contrato proviene de la biblioteca de códigos de contratos inteligentes de OpenZeppelin:

https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/extensions/ERC4626.sol

El contrato ERC-4626 hereda de ERC-20. Esta parte no será resumida. También es un contrato abstracto en sí mismo. Las interfaces que el contrato debe implementar son las siguientes:

Las interfaces son bastante completas, la mayoría de ellas son relativamente simples y se pueden dividir en dos categorías: leer y escribir.

Escribir

Las principales interfaces para escribir datos son depositar, acuñar, retirar y canjear.

  • El depósito determina la cantidad de activos y los transfiere a la bóveda. Acuña acciones al mismo tiempo. Puede utilizar el método previewDeposit para ver de antemano cuántas acciones se pueden acuñar.

  • La retirada (retirar dinero) determina la cantidad de activos a transferir fuera de la bóveda y quema acciones al mismo tiempo. Puede utilizar el método previewWithdraw para comprobar de antemano cuántas acciones han sido quemadas。
  • Mint utiliza el parámetro de acciones. De hecho, este método es equivalente a depositar, que determina las acciones acuñadas para calcular los activos que deben ser depositados. Puede utilizar el método previewMint para comprobar de antemano cuántos activos se tomarán.
  • Redeem utiliza el parámetro shares, que es equivalente a retirar, determinando las acciones quemadas para calcular los activos que deben transferirse. Puede usar el método previewRedeem para comprobar de antemano cuántos recursos se canjearán. \

De hecho, debido a la existencia de deslizamiento, el uso del método de vista previa para ver los números esperados puede ser inexacto, lo cual también es un problema común en la industria y puede causar algunos problemas de seguridad, los cuales se discutirán más adelante.

Leer

Los diversos métodos de vista previa mencionados anteriormente, así como los convertidosShares y convertToAssets públicos, en realidad llaman a los métodos _convertToShares y _convertToAssets internamente.

Estos dos métodos principales son para calcular la relación proporcional entre activos y acciones. Las variables involucradas incluyen la oferta de acciones, el total actual de activos, el número de puntos decimales y los métodos de redondeo de puntos decimales.

Lo anterior es la implementación básica del contrato abstracto ERC-4626. El contrato de bóveda real es mucho más complicado que esto.

Para el contrato de bóveda, hay dos funciones relativamente importantes que implementar. Una es la función de depósito y retiro, la conversión de activos y acciones; La otra es la forma de obtener ingresos, que se explicará con ejemplos a continuación.

04 Ecología y Aplicación

Similar to some other popular EIPs, ERC-4626 also has an alliance ecosystem ( https://erc4626.info/) mantenida por personal dedicado, que recopila algunos protocolos de préstamo y aplicaciones actualmente en el mercado que son compatibles con ERC-4626, y también hay noticias, bibliotecas de código abierto, seguridad y otra información. Si su bóveda está adaptada a ERC-4626, también puede enviar una solicitud allí.

A continuación analizamos un ejemplo de aplicación, la bóveda AladdinCRVV2 de Aladdin DAO (https://concentrador.aladdin.club/vaults/). Aladdin DAO has many vault contracts, and this is just one of the more active ones.

AladdinCRVV2 Bóveda

La bóveda obtiene ingresos apostando fichas cvxCRV.

  • El contrato de bóveda es un contrato actualizable

(https://etherscan.io/address/0x2b95A1Dcc3D405535f9ed33c219ab38E8d7e0884Y puedes verificar a través del código de github que la versión anterior no es compatible con ERC-4626

  • De hecho, hay muchas opciones de operación para depósitos y retiros, lo cual es bastante conveniente y ahorra gas. Hay demasiado código, así que no lo publicaré aquí.
    • Depósito: los tokens cvxCRV se depositarán en la bóveda de forma predeterminada. Además, existe depositWithCRV, que es conveniente para CRV y también se puede depositar
    • Al retirar, los tokens cvxCRV serán retirados y las participaciones se quemarán de forma predeterminada. Además, también puedes volver a apostar por ti mismo al retirar, convertir cvxCRV en CVX y convertir cvxCRV en ETH

La anterior es el análisis básico del contrato de la bóveda con funciones relativamente ricas. Su esencia es apostar activos para ganar intereses. ¿Por qué está diseñado así? La razón principal radica en el diseño del contrato de cvxCrvStaking. La descripción de los ingresos por apostar cvxCRV es 'Al apostar cvxCRV, ganarás las recompensas habituales de veCRV (distribución de tarifas de gobernanza 3crv de Curve + cualquier lanzamiento aéreo), además de una parte del 10% de las ganancias de CRV impulsadas por los LP de Convex, y también tokens CVX encima de eso'. Cuantos más tokens, mayores serán los beneficios.

Seguridad

Para las bóvedas ERC-4626, el principal problema de seguridad es la protección contra ataques de inflación.

Cuando un usuario deposita tokens, según la fórmula de cálculo de participación (participaciones = activos * total de suministro / activos totales), el resultado del cálculo tiene un punto decimal y generalmente se redondea hacia abajo.

Como puede ver en la figura a continuación, cuando un usuario deposita 500 tokens en activos, la cantidad de activos perdidos debido al redondeo decimal depende del tipo de cambio (correspondencia entre por acción y activos de tokens). Si el tipo de cambio es el de la curva naranja, obtenemos menos de 1 acción y perdemos el 100%. Sin embargo, si el tipo de cambio es el de la curva verde y se obtienen 5000 acciones, la pérdida por redondeo se limita a un máximo del 0.02%.

Entonces, si nos centramos en limitar las pérdidas a un máximo del 0.5%, necesitamos adquirir al menos 200 acciones. La tasa verde solo requiere 20 tokens, pero la tasa naranja requiere 200,000 tokens.

A través de varios ejemplos, se puede analizar que las curvas azul y verde son más seguras que las curvas amarilla y naranja, y están diseñadas para ser cajas fuertes más seguras.

Por lo tanto, el principal método de ataque inflacionario es utilizar ciertos medios para desplazar la curva de las tasas de interés hacia la derecha, haciendo que un pequeño número de depositantes pierdan su participación, logrando así el propósito del ataque.

Método de ataque

Los ataques de inflación son principalmente a través de donaciones.

  1. El atacante primero deposita 1 token en el contrato de la bóveda. En este momento, las participaciones que obtuvo son 1 y el total de suministro es 1.
  2. El atacante envía 1e5 tokens directamente al contrato de la bóveda. En este momento, totalAssets ha cambiado a 1e5 + 1, pero totalSupply permanece igual.
  3. Cuando la víctima deposita menos de 1e5 tokens (x), las participaciones obtenidas son: x * 1 / (1e5 + 1), es decir, siempre que x sea menor que 1e5, según el principio de redondeo hacia abajo del decimal, las participaciones que obtiene la víctima son 0. Incluso si los tokens depositados son mayores que 1e5, dado que la participación previa del atacante era del 100%, lo que conduce a una reducción significativa en las participaciones recibidas por la víctima.

Defenderse contra ataques

Hay tres formas de defenderse contra los ataques:

  1. Establecer el deslizamiento. Anteriormente presentamos el concepto de deslizamiento, estableciendo un rango de tolerancia al deslizamiento, si no recibe la cantidad esperada dentro de un cierto rango de tolerancia al deslizamiento, la transacción se revertirá. Este es el paradigma estándar para tratar con problemas de deslizamiento.
  2. Agregue suficientes activos iniciales a la bóveda para aumentar el costo del ataque. He visto este método en el contrato de participación explosiva. Al inicializar la participación, el contrato requiere que la cantidad de ETH y USD no sea inferior a 1,000.
  3. Agregar “liquidez virtual” a la bóveda para que el cálculo del precio se comporte como si hubiera suficientes activos en la bóveda. El método de defensa se divide en 2 partes:
    • Desplazamiento de precisión entre acciones y activos.
    • Incorporar acciones virtuales y activos virtuales en los cálculos de tipo de cambio.

La implementación específica consiste en reescribir el método _decimalsOffset() del código de la biblioteca estándar proporcionado por OpenZeppelin. Este método no requiere configurar el deslizamiento o inyectar fondos iniciales suficientes. Es una muy buena manera de resistir los ataques de inflación.

Extensión 05

Como propuesta de bóveda relativamente básica, RC-4626 no puede satisfacer todas las necesidades. Algunas propuestas también lo han escalado, como ERC-7535 y EIP-7540.

ERC-7535

Como se mencionó anteriormente, ERC-4626 solo puede usar ERC-20 como activo subyacente. Esta propuesta permite principalmente el uso de activos nativos como activos subyacentes, como ETH en la bóveda.

EIP-7540

Esta extensión a ERC-4626 introduce soporte para procesos de depósito y redención asíncronos (llamados "solicitudes"). Incluye nuevos métodos para iniciar y verificar el estado de estas solicitudes. Los métodos existentes de ERC-4626, como depósito, acuñación, retiro y redención, se utilizan para ejecutar solicitudes reclamables. Queda a discreción del implementador si agregar procesos asíncronos para depósitos, redenciones o ambos.

Posibles casos de uso:

  1. Proceso de depósito y redención asincrónica: Al introducir el concepto de "solicitud", se pueden realizar procesos de depósito y redención asincrónicos, lo que proporciona un método de operación más flexible.
  2. Mejora de la experiencia del usuario: La propuesta enfatiza la importancia de la experiencia del usuario y recomienda la introducción de un mecanismo estándar de descubrimiento para ayudar a los usuarios y a las aplicaciones de front-end a comprender mejor la duración y la latencia de las operaciones asíncronas.
  3. Extensión funcional: EIP-7540 amplía la funcionalidad de ERC-4626 mediante la adición de nuevos métodos, lo que hace posible solicitar depósitos y redenciones de forma asincrónica, y ver el estado de estas solicitudes.

06 Resumen

Lo anterior es el análisis completo de ERC-4626.

Debido a razones históricas, muchas bóvedas actualmente en el mercado no cumplen con ERC-4626 y continúan funcionando, como dForce, pero no se pueden aplicar de manera más amplia. Algunas bóvedas ya se han actualizado para cumplir con ERC-4626, como algunos contratos de Aladdin DAO (https://github.com/AladdinDAO/deployments/blob/main/deployments.mainnet.md).

Además de ganar intereses a través del staking, las aplicaciones de bóveda también pueden prestar acciones como garantía o volver a apostarlas para generar ingresos. Además, la recaudación de fondos a través de las bóvedas también es un buen escenario de aplicación, ya que algunas de sus funciones básicas pueden proporcionar un excelente soporte.

La esencia de esta propuesta es mejorar la eficiencia de integración entre las bóvedas y el ecosistema DeFi, y reducir los costos de desarrollo. El papel de las bóvedas en sí mismas aún tiene más espacio para la exploración a medida que crece el mercado DeFi.

Descargo de responsabilidad:

  1. Este artículo es reimpreso de [ LXDAO], Todos los derechos de autor pertenecen al autor original [Kahn]. Si hay objeciones a esta reimpresión, por favor contacte al Gate Learnequipo, y lo resolverán rápidamente.
  2. Descargo de responsabilidad: Los puntos de vista y opiniones expresados en este artículo son únicamente los del autor y no constituyen ningún consejo de inversión.
  3. Las traducciones del artículo a otros idiomas son realizadas por el equipo de Gate Learn. A menos que se mencione, está prohibido copiar, distribuir o plagiar los artículos traducidos.

Un Análisis Integral de ERC-4626 y DeFi

Avanzado2/22/2024, 5:56:11 AM
Este artículo analiza los principios básicos de ERC-4626 y su aplicación en DeFi de manera integral.

01 ¿Qué es ERC-4626

ERC-4626 es una bóveda tokenizada con un único token subyacente EIP-20.

En primer lugar, se trata de una propuesta basada en el ERC-20 y totalmente compatible con ella.

En segundo lugar, entender el concepto de bóveda, que no es una tesorería. La tesorería actualmente en el mercado es básicamente una billetera de contratos, la mayoría de los cuales son Gnosis Safe, que principalmente proporciona funciones seguras de entrada y salida de fondos. Pero para una organización, además de la entrada y salida de fondos, el flujo de fondos también puede generar ingresos.

La motivación de esta propuesta: La falta de estándares para las bóvedas tokenizadas ha dado lugar a diferentes detalles de implementación de muchas bóvedas en el mercado, como mercados de préstamos, agregadores, tokens que devengan intereses, etc. Esto hace que la integración de agregadores y complementos a nivel de protocolo sea difícil, propensa a errores y un desperdicio de recursos de desarrollo.

Cuando el estado actual de esta propuesta es Final, significa que es un estándar relativamente estable.

02 Especificación

Los tokens que siguen ERC-4626 deben implementar completamente ERC-20, que se utiliza para representar acciones. Aquí hay algunos conceptos simples.

  • Activo: El token subyacente gestionado por la bóveda, siguiendo el estándar ERC-20.
  • Compartir: Token de bóveda, también conocido como vToken. Tiene una relación proporcional con el activo.
  • Tarifa: Una cantidad cobrada por la bóveda cuando un activo o participación cambia. Puede ser depósitos, ganancias, gestión de activos, retiros, etc.
  • Deslizamiento: La diferencia entre el precio publicado de los depósitos y retiros de acciones y la economía real. A continuación se muestra una explicación más detallada del concepto de deslizamiento en el campo de DeFi.

El deslizamiento es la diferencia entre el precio esperado de una operación y el precio de ejecución real. El deslizamiento ocurre cuando hay un retraso entre la realización de una operación y su ejecución, y el precio del activo que se negocia cambia.

Por ejemplo, si encuentras 20 ETH y 80 USDT en el pool de AMM, tu precio de ETH esperado es de 4 USDT/ETH. Sin embargo, si planeas gastar 20 USDT para intercambiar en el pool, solo terminarás con 4 ETH en lugar de los 5 ETH esperados, lo que significa que sufres una pérdida de deslizamiento de 1 USDT/ETH. Su precio de compra real será de 5 USDT, no de los 4 USDT esperados.

El deslizamiento es particularmente común en mercados de rápido movimiento o activos de alta volatilidad, así como en activos de cola larga con liquidez limitada. En cualquier caso, tiene un impacto significativo en el rendimiento de las operaciones y es importante tener en cuenta el deslizamiento a la hora de realizar operaciones.

03 Análisis de contratos

El código del contrato proviene de la biblioteca de códigos de contratos inteligentes de OpenZeppelin:

https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/extensions/ERC4626.sol

El contrato ERC-4626 hereda de ERC-20. Esta parte no será resumida. También es un contrato abstracto en sí mismo. Las interfaces que el contrato debe implementar son las siguientes:

Las interfaces son bastante completas, la mayoría de ellas son relativamente simples y se pueden dividir en dos categorías: leer y escribir.

Escribir

Las principales interfaces para escribir datos son depositar, acuñar, retirar y canjear.

  • El depósito determina la cantidad de activos y los transfiere a la bóveda. Acuña acciones al mismo tiempo. Puede utilizar el método previewDeposit para ver de antemano cuántas acciones se pueden acuñar.

  • La retirada (retirar dinero) determina la cantidad de activos a transferir fuera de la bóveda y quema acciones al mismo tiempo. Puede utilizar el método previewWithdraw para comprobar de antemano cuántas acciones han sido quemadas。
  • Mint utiliza el parámetro de acciones. De hecho, este método es equivalente a depositar, que determina las acciones acuñadas para calcular los activos que deben ser depositados. Puede utilizar el método previewMint para comprobar de antemano cuántos activos se tomarán.
  • Redeem utiliza el parámetro shares, que es equivalente a retirar, determinando las acciones quemadas para calcular los activos que deben transferirse. Puede usar el método previewRedeem para comprobar de antemano cuántos recursos se canjearán. \

De hecho, debido a la existencia de deslizamiento, el uso del método de vista previa para ver los números esperados puede ser inexacto, lo cual también es un problema común en la industria y puede causar algunos problemas de seguridad, los cuales se discutirán más adelante.

Leer

Los diversos métodos de vista previa mencionados anteriormente, así como los convertidosShares y convertToAssets públicos, en realidad llaman a los métodos _convertToShares y _convertToAssets internamente.

Estos dos métodos principales son para calcular la relación proporcional entre activos y acciones. Las variables involucradas incluyen la oferta de acciones, el total actual de activos, el número de puntos decimales y los métodos de redondeo de puntos decimales.

Lo anterior es la implementación básica del contrato abstracto ERC-4626. El contrato de bóveda real es mucho más complicado que esto.

Para el contrato de bóveda, hay dos funciones relativamente importantes que implementar. Una es la función de depósito y retiro, la conversión de activos y acciones; La otra es la forma de obtener ingresos, que se explicará con ejemplos a continuación.

04 Ecología y Aplicación

Similar to some other popular EIPs, ERC-4626 also has an alliance ecosystem ( https://erc4626.info/) mantenida por personal dedicado, que recopila algunos protocolos de préstamo y aplicaciones actualmente en el mercado que son compatibles con ERC-4626, y también hay noticias, bibliotecas de código abierto, seguridad y otra información. Si su bóveda está adaptada a ERC-4626, también puede enviar una solicitud allí.

A continuación analizamos un ejemplo de aplicación, la bóveda AladdinCRVV2 de Aladdin DAO (https://concentrador.aladdin.club/vaults/). Aladdin DAO has many vault contracts, and this is just one of the more active ones.

AladdinCRVV2 Bóveda

La bóveda obtiene ingresos apostando fichas cvxCRV.

  • El contrato de bóveda es un contrato actualizable

(https://etherscan.io/address/0x2b95A1Dcc3D405535f9ed33c219ab38E8d7e0884Y puedes verificar a través del código de github que la versión anterior no es compatible con ERC-4626

  • De hecho, hay muchas opciones de operación para depósitos y retiros, lo cual es bastante conveniente y ahorra gas. Hay demasiado código, así que no lo publicaré aquí.
    • Depósito: los tokens cvxCRV se depositarán en la bóveda de forma predeterminada. Además, existe depositWithCRV, que es conveniente para CRV y también se puede depositar
    • Al retirar, los tokens cvxCRV serán retirados y las participaciones se quemarán de forma predeterminada. Además, también puedes volver a apostar por ti mismo al retirar, convertir cvxCRV en CVX y convertir cvxCRV en ETH

La anterior es el análisis básico del contrato de la bóveda con funciones relativamente ricas. Su esencia es apostar activos para ganar intereses. ¿Por qué está diseñado así? La razón principal radica en el diseño del contrato de cvxCrvStaking. La descripción de los ingresos por apostar cvxCRV es 'Al apostar cvxCRV, ganarás las recompensas habituales de veCRV (distribución de tarifas de gobernanza 3crv de Curve + cualquier lanzamiento aéreo), además de una parte del 10% de las ganancias de CRV impulsadas por los LP de Convex, y también tokens CVX encima de eso'. Cuantos más tokens, mayores serán los beneficios.

Seguridad

Para las bóvedas ERC-4626, el principal problema de seguridad es la protección contra ataques de inflación.

Cuando un usuario deposita tokens, según la fórmula de cálculo de participación (participaciones = activos * total de suministro / activos totales), el resultado del cálculo tiene un punto decimal y generalmente se redondea hacia abajo.

Como puede ver en la figura a continuación, cuando un usuario deposita 500 tokens en activos, la cantidad de activos perdidos debido al redondeo decimal depende del tipo de cambio (correspondencia entre por acción y activos de tokens). Si el tipo de cambio es el de la curva naranja, obtenemos menos de 1 acción y perdemos el 100%. Sin embargo, si el tipo de cambio es el de la curva verde y se obtienen 5000 acciones, la pérdida por redondeo se limita a un máximo del 0.02%.

Entonces, si nos centramos en limitar las pérdidas a un máximo del 0.5%, necesitamos adquirir al menos 200 acciones. La tasa verde solo requiere 20 tokens, pero la tasa naranja requiere 200,000 tokens.

A través de varios ejemplos, se puede analizar que las curvas azul y verde son más seguras que las curvas amarilla y naranja, y están diseñadas para ser cajas fuertes más seguras.

Por lo tanto, el principal método de ataque inflacionario es utilizar ciertos medios para desplazar la curva de las tasas de interés hacia la derecha, haciendo que un pequeño número de depositantes pierdan su participación, logrando así el propósito del ataque.

Método de ataque

Los ataques de inflación son principalmente a través de donaciones.

  1. El atacante primero deposita 1 token en el contrato de la bóveda. En este momento, las participaciones que obtuvo son 1 y el total de suministro es 1.
  2. El atacante envía 1e5 tokens directamente al contrato de la bóveda. En este momento, totalAssets ha cambiado a 1e5 + 1, pero totalSupply permanece igual.
  3. Cuando la víctima deposita menos de 1e5 tokens (x), las participaciones obtenidas son: x * 1 / (1e5 + 1), es decir, siempre que x sea menor que 1e5, según el principio de redondeo hacia abajo del decimal, las participaciones que obtiene la víctima son 0. Incluso si los tokens depositados son mayores que 1e5, dado que la participación previa del atacante era del 100%, lo que conduce a una reducción significativa en las participaciones recibidas por la víctima.

Defenderse contra ataques

Hay tres formas de defenderse contra los ataques:

  1. Establecer el deslizamiento. Anteriormente presentamos el concepto de deslizamiento, estableciendo un rango de tolerancia al deslizamiento, si no recibe la cantidad esperada dentro de un cierto rango de tolerancia al deslizamiento, la transacción se revertirá. Este es el paradigma estándar para tratar con problemas de deslizamiento.
  2. Agregue suficientes activos iniciales a la bóveda para aumentar el costo del ataque. He visto este método en el contrato de participación explosiva. Al inicializar la participación, el contrato requiere que la cantidad de ETH y USD no sea inferior a 1,000.
  3. Agregar “liquidez virtual” a la bóveda para que el cálculo del precio se comporte como si hubiera suficientes activos en la bóveda. El método de defensa se divide en 2 partes:
    • Desplazamiento de precisión entre acciones y activos.
    • Incorporar acciones virtuales y activos virtuales en los cálculos de tipo de cambio.

La implementación específica consiste en reescribir el método _decimalsOffset() del código de la biblioteca estándar proporcionado por OpenZeppelin. Este método no requiere configurar el deslizamiento o inyectar fondos iniciales suficientes. Es una muy buena manera de resistir los ataques de inflación.

Extensión 05

Como propuesta de bóveda relativamente básica, RC-4626 no puede satisfacer todas las necesidades. Algunas propuestas también lo han escalado, como ERC-7535 y EIP-7540.

ERC-7535

Como se mencionó anteriormente, ERC-4626 solo puede usar ERC-20 como activo subyacente. Esta propuesta permite principalmente el uso de activos nativos como activos subyacentes, como ETH en la bóveda.

EIP-7540

Esta extensión a ERC-4626 introduce soporte para procesos de depósito y redención asíncronos (llamados "solicitudes"). Incluye nuevos métodos para iniciar y verificar el estado de estas solicitudes. Los métodos existentes de ERC-4626, como depósito, acuñación, retiro y redención, se utilizan para ejecutar solicitudes reclamables. Queda a discreción del implementador si agregar procesos asíncronos para depósitos, redenciones o ambos.

Posibles casos de uso:

  1. Proceso de depósito y redención asincrónica: Al introducir el concepto de "solicitud", se pueden realizar procesos de depósito y redención asincrónicos, lo que proporciona un método de operación más flexible.
  2. Mejora de la experiencia del usuario: La propuesta enfatiza la importancia de la experiencia del usuario y recomienda la introducción de un mecanismo estándar de descubrimiento para ayudar a los usuarios y a las aplicaciones de front-end a comprender mejor la duración y la latencia de las operaciones asíncronas.
  3. Extensión funcional: EIP-7540 amplía la funcionalidad de ERC-4626 mediante la adición de nuevos métodos, lo que hace posible solicitar depósitos y redenciones de forma asincrónica, y ver el estado de estas solicitudes.

06 Resumen

Lo anterior es el análisis completo de ERC-4626.

Debido a razones históricas, muchas bóvedas actualmente en el mercado no cumplen con ERC-4626 y continúan funcionando, como dForce, pero no se pueden aplicar de manera más amplia. Algunas bóvedas ya se han actualizado para cumplir con ERC-4626, como algunos contratos de Aladdin DAO (https://github.com/AladdinDAO/deployments/blob/main/deployments.mainnet.md).

Además de ganar intereses a través del staking, las aplicaciones de bóveda también pueden prestar acciones como garantía o volver a apostarlas para generar ingresos. Además, la recaudación de fondos a través de las bóvedas también es un buen escenario de aplicación, ya que algunas de sus funciones básicas pueden proporcionar un excelente soporte.

La esencia de esta propuesta es mejorar la eficiencia de integración entre las bóvedas y el ecosistema DeFi, y reducir los costos de desarrollo. El papel de las bóvedas en sí mismas aún tiene más espacio para la exploración a medida que crece el mercado DeFi.

Descargo de responsabilidad:

  1. Este artículo es reimpreso de [ LXDAO], Todos los derechos de autor pertenecen al autor original [Kahn]. Si hay objeciones a esta reimpresión, por favor contacte al Gate Learnequipo, y lo resolverán rápidamente.
  2. Descargo de responsabilidad: Los puntos de vista y opiniones expresados en este artículo son únicamente los del autor y no constituyen ningún consejo de inversión.
  3. Las traducciones del artículo a otros idiomas son realizadas por el equipo de Gate Learn. A menos que se mencione, está prohibido copiar, distribuir o plagiar los artículos traducidos.
Lancez-vous
Inscrivez-vous et obtenez un bon de
100$
!