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.
Los tokens que siguen ERC-4626 deben implementar completamente ERC-20, que se utiliza para representar acciones. Aquí hay algunos conceptos simples.
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.
El código del contrato proviene de la biblioteca de códigos de contratos inteligentes de OpenZeppelin:
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.
Las principales interfaces para escribir datos son depositar, acuñar, retirar y canjear.
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.
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.
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.
La bóveda obtiene ingresos apostando fichas cvxCRV.
(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
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.
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.
Los ataques de inflación son principalmente a través de donaciones.
Hay tres formas de defenderse contra los ataques:
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.
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.
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.
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:
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.
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.
Los tokens que siguen ERC-4626 deben implementar completamente ERC-20, que se utiliza para representar acciones. Aquí hay algunos conceptos simples.
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.
El código del contrato proviene de la biblioteca de códigos de contratos inteligentes de OpenZeppelin:
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.
Las principales interfaces para escribir datos son depositar, acuñar, retirar y canjear.
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.
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.
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.
La bóveda obtiene ingresos apostando fichas cvxCRV.
(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
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.
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.
Los ataques de inflación son principalmente a través de donaciones.
Hay tres formas de defenderse contra los ataques:
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.
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.
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.
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:
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.