ERC-4626 é um cofre tokenizado com um único token subjacente EIP-20.
Primeiramente, é uma proposta baseada em ERC-20 e totalmente compatível com ela.
Em segundo lugar, entenda o conceito de um cofre, que não é um tesouro. O tesouro atualmente no mercado é basicamente uma carteira de contrato, a maioria das quais é a Gnosis Safe, que fornece principalmente funções seguras de entrada e saída de fundos. Mas para uma organização, além da entrada e saída de fundos, o fluxo de fundos também pode gerar renda.
A motivação para esta proposta: A falta de padrões para cofres tokenizados resultou em diferentes detalhes de implementação de muitos cofres no mercado, como mercados de empréstimos, agregadores, tokens com juros, etc. Isso torna a integração de agregadores e plugins no nível do protocolo difícil, sujeita a erros e um desperdício de recursos de desenvolvimento.
Quando o status atual desta proposta é Final, significa que é um padrão relativamente estável.
Tokens que seguem ERC-4626 devem implementar totalmente o ERC-20, que é usado para representar ações. Aqui estão alguns conceitos simples.
O deslizamento é a diferença entre o preço esperado de uma negociação e o preço de execução real. O deslizamento ocorre quando há um atraso entre a colocação de uma negociação e sua execução, e o preço do ativo negociado muda.
Por exemplo, se você encontrar 20 ETH e 80 USDT na piscina AMM, o preço esperado do ETH é de 4 USDT/ETH. No entanto, se você planeja gastar 20 USDT para trocar na piscina, você acabará com apenas 4 ETH em vez dos 5 ETH esperados, o que significa que você sofre uma perda de deslizamento de 1 USDT/ETH. Seu preço de compra real será de 5 USDT, não os 4 USDT esperados.
O deslizamento é particularmente comum em mercados de movimento rápido ou ativos de alta volatilidade, bem como ativos de cauda longa com liquidez restrita. Independentemente disso, tem um impacto significativo no desempenho da negociação e é importante considerar o deslizamento ao fazer negociações.
O código do contrato vem da biblioteca de código de contrato inteligente OpenZeppelin:
O contrato ERC-4626 herda do ERC-20. Esta parte não será resumida. É também um contrato abstrato em si. As interfaces que o contrato deve implementar são as seguintes:
As interfaces são bastante ricas, a maioria delas é relativamente simples e pode ser dividida em duas categorias: leitura e escrita.
As principais interfaces para escrever dados são depositar, criar, retirar e resgatar.
Na verdade, devido à existência de derrapagem, usar o método de visualização para visualizar os números esperados pode ser impreciso, o que também é um problema comum na indústria e pode causar alguns problemas de segurança, que serão discutidos mais adiante.
Os vários métodos de visualização mencionados anteriormente, bem como o convertToShares público e convertToAssets, na verdade chamam internamente os métodos _convertToShares e _convertToAssets.
Esses dois métodos principais são para calcular a relação proporcional entre ativos e ações. As variáveis envolvidas incluem oferta de ações, ativos totais atuais, número de pontos decimais e métodos de arredondamento de ponto decimal.
O acima é a implementação básica do contrato abstrato ERC-4626. O contrato de cofre real é muito mais complicado do que isso.
Para o contrato do cofre, existem duas funções relativamente importantes a serem implementadas. Uma é a função de depósito e saque, a conversão de ativos e cotas; a outra é a forma de obter renda, que será explicada com exemplos abaixo.
Similar a outros EIPs populares, o ERC-4626 também possui um ecossistema de aliança (https://erc4626.info/) mantido por pessoal dedicado, que reúne alguns protocolos de empréstimo e aplicativos atualmente no mercado que são compatíveis com ERC-4626, e também há notícias, bibliotecas de código aberto, segurança e outras informações. Se o seu cofre estiver adaptado ao ERC-4626, você também pode enviar uma inscrição lá.
Abaixo analisamos um exemplo de aplicativo, o cofre AladdinCRVV2 do Aladdin DAO (https://concentrator.aladdin.club/vaults/Aladdin DAO possui muitos contratos de cofre, e este é apenas um dos mais ativos.
O cofre ganha renda ao apostar fichas cvxCRV.
(https://etherscan.io/address/0x2b95A1Dcc3D405535f9ed33c219ab38E8d7e0884). E você pode verificar através do código do github que a versão anterior não é compatível com o ERC-4626
O acima é a análise básica do contrato do cofre com funções relativamente ricas. Sua essência é apostar ativos para ganhar juros. Por que é projetado assim? A razão principal está no design do contrato cvxCrvStaking. A descrição da renda da aposta cvxCRV é “Ao apostar cvxCRV, você recebe as recompensas habituais do veCRV (distribuição da taxa de governança 3crv da Curve + qualquer airdrop), além de uma parcela de 10% dos ganhos de CRV impulsionados pelos LPs da Convex, e tokens CVX por cima disso.” Quanto maior o número de tokens, maiores os benefícios.
Para os cofres ERC-4626, o principal problema de segurança é a proteção contra ataques de inflação.
Quando um usuário deposita tokens, de acordo com a fórmula de cálculo de participação (participações = ativos * totalSupply / totalAssets), o resultado do cálculo tem um ponto decimal e geralmente é arredondado para baixo.
Como você pode ver na figura abaixo, quando um usuário deposita 500 tokens em ativos, a quantidade de ativos perdidos devido ao arredondamento decimal depende da taxa de câmbio (correspondência entre por ação e ativos em tokens). Se a taxa de câmbio for a da curva laranja, obtemos menos de 1 ação e perdemos 100%. No entanto, se a taxa de câmbio for a da curva verde e forem obtidas 5000 ações, a perda de arredondamento é limitada a um máximo de 0,02%.
Então, se nos concentrarmos em limitar as perdas a um máximo de 0.5%, precisamos adquirir pelo menos 200 ações. A taxa verde requer apenas 20 tokens, mas a taxa laranja requer 200.000 tokens.
Através de vários exemplos, pode-se analisar que as curvas azul e verde são mais seguras do que as curvas amarela e laranja, e são projetadas para serem cofres mais seguros.
Portanto, o principal método de ataque à inflação é usar certos meios para mover a curva da taxa de juros para a direita, fazendo com que um pequeno número de depositantes perca sua parcela, alcançando assim o objetivo do ataque.
Os ataques de inflação são principalmente por meio de doações.
Existem três maneiras de se defender contra ataques:
A implementação específica é reescrever o método _decimalsOffset() do código da biblioteca padrão fornecido pela OpenZeppelin. Este método não requer a configuração de deslize ou a injeção de fundos iniciais suficientes. É uma maneira muito boa de resistir a ataques de inflação.
Como uma proposta de cofre relativamente básica, RC-4626 não pode atender a todas as necessidades. Algumas propostas também o escalaram, como ERC-7535 e EIP-7540.
Como mencionado anteriormente, o ERC-4626 só pode usar o ERC-20 como ativo subjacente. Esta proposta permite principalmente que ativos nativos sejam usados como ativos subjacentes, como o ETH na vault.
Esta extensão ao ERC-4626 introduz suporte para processos de depósito e resgate assíncronos (chamados de 'solicitações'). Ele inclui novos métodos para iniciar e verificar o status dessas solicitações. Métodos existentes do ERC-4626, como depósito, criação, retirada e resgate, são usados para executar solicitações resgatáveis. Cabe ao implementador decidir se adiciona processos assíncronos para depósitos, resgates ou ambos.
Potenciais casos de uso:
A acima é a análise completa do ERC-4626.
Devido a razões históricas, muitos cofres atualmente no mercado não estão em conformidade com o ERC-4626 e continuam a operar, como o dForce, mas não podem ser aplicados mais amplamente. Alguns cofres já foram atualizados para cumprir com o ERC-4626, como alguns contratos do Aladdin DAO (https://github.com/AladdinDAO/deployments/blob/main/deployments.mainnet.md).
Além de ganhar juros através de staking, as aplicações de cofres também podem emprestar ações como garantia ou apostá-las novamente para gerar renda. Além disso, a captação de recursos através de cofres também é um bom cenário de aplicação, já que algumas de suas funções básicas podem fornecer excelente suporte.
A essência desta proposta é melhorar a eficiência de integração entre cofres e o ecossistema DeFi, e reduzir os custos de desenvolvimento. O papel dos cofres em si ainda tem mais espaço para exploração à medida que o mercado DeFi cresce.
ERC-4626 é um cofre tokenizado com um único token subjacente EIP-20.
Primeiramente, é uma proposta baseada em ERC-20 e totalmente compatível com ela.
Em segundo lugar, entenda o conceito de um cofre, que não é um tesouro. O tesouro atualmente no mercado é basicamente uma carteira de contrato, a maioria das quais é a Gnosis Safe, que fornece principalmente funções seguras de entrada e saída de fundos. Mas para uma organização, além da entrada e saída de fundos, o fluxo de fundos também pode gerar renda.
A motivação para esta proposta: A falta de padrões para cofres tokenizados resultou em diferentes detalhes de implementação de muitos cofres no mercado, como mercados de empréstimos, agregadores, tokens com juros, etc. Isso torna a integração de agregadores e plugins no nível do protocolo difícil, sujeita a erros e um desperdício de recursos de desenvolvimento.
Quando o status atual desta proposta é Final, significa que é um padrão relativamente estável.
Tokens que seguem ERC-4626 devem implementar totalmente o ERC-20, que é usado para representar ações. Aqui estão alguns conceitos simples.
O deslizamento é a diferença entre o preço esperado de uma negociação e o preço de execução real. O deslizamento ocorre quando há um atraso entre a colocação de uma negociação e sua execução, e o preço do ativo negociado muda.
Por exemplo, se você encontrar 20 ETH e 80 USDT na piscina AMM, o preço esperado do ETH é de 4 USDT/ETH. No entanto, se você planeja gastar 20 USDT para trocar na piscina, você acabará com apenas 4 ETH em vez dos 5 ETH esperados, o que significa que você sofre uma perda de deslizamento de 1 USDT/ETH. Seu preço de compra real será de 5 USDT, não os 4 USDT esperados.
O deslizamento é particularmente comum em mercados de movimento rápido ou ativos de alta volatilidade, bem como ativos de cauda longa com liquidez restrita. Independentemente disso, tem um impacto significativo no desempenho da negociação e é importante considerar o deslizamento ao fazer negociações.
O código do contrato vem da biblioteca de código de contrato inteligente OpenZeppelin:
O contrato ERC-4626 herda do ERC-20. Esta parte não será resumida. É também um contrato abstrato em si. As interfaces que o contrato deve implementar são as seguintes:
As interfaces são bastante ricas, a maioria delas é relativamente simples e pode ser dividida em duas categorias: leitura e escrita.
As principais interfaces para escrever dados são depositar, criar, retirar e resgatar.
Na verdade, devido à existência de derrapagem, usar o método de visualização para visualizar os números esperados pode ser impreciso, o que também é um problema comum na indústria e pode causar alguns problemas de segurança, que serão discutidos mais adiante.
Os vários métodos de visualização mencionados anteriormente, bem como o convertToShares público e convertToAssets, na verdade chamam internamente os métodos _convertToShares e _convertToAssets.
Esses dois métodos principais são para calcular a relação proporcional entre ativos e ações. As variáveis envolvidas incluem oferta de ações, ativos totais atuais, número de pontos decimais e métodos de arredondamento de ponto decimal.
O acima é a implementação básica do contrato abstrato ERC-4626. O contrato de cofre real é muito mais complicado do que isso.
Para o contrato do cofre, existem duas funções relativamente importantes a serem implementadas. Uma é a função de depósito e saque, a conversão de ativos e cotas; a outra é a forma de obter renda, que será explicada com exemplos abaixo.
Similar a outros EIPs populares, o ERC-4626 também possui um ecossistema de aliança (https://erc4626.info/) mantido por pessoal dedicado, que reúne alguns protocolos de empréstimo e aplicativos atualmente no mercado que são compatíveis com ERC-4626, e também há notícias, bibliotecas de código aberto, segurança e outras informações. Se o seu cofre estiver adaptado ao ERC-4626, você também pode enviar uma inscrição lá.
Abaixo analisamos um exemplo de aplicativo, o cofre AladdinCRVV2 do Aladdin DAO (https://concentrator.aladdin.club/vaults/Aladdin DAO possui muitos contratos de cofre, e este é apenas um dos mais ativos.
O cofre ganha renda ao apostar fichas cvxCRV.
(https://etherscan.io/address/0x2b95A1Dcc3D405535f9ed33c219ab38E8d7e0884). E você pode verificar através do código do github que a versão anterior não é compatível com o ERC-4626
O acima é a análise básica do contrato do cofre com funções relativamente ricas. Sua essência é apostar ativos para ganhar juros. Por que é projetado assim? A razão principal está no design do contrato cvxCrvStaking. A descrição da renda da aposta cvxCRV é “Ao apostar cvxCRV, você recebe as recompensas habituais do veCRV (distribuição da taxa de governança 3crv da Curve + qualquer airdrop), além de uma parcela de 10% dos ganhos de CRV impulsionados pelos LPs da Convex, e tokens CVX por cima disso.” Quanto maior o número de tokens, maiores os benefícios.
Para os cofres ERC-4626, o principal problema de segurança é a proteção contra ataques de inflação.
Quando um usuário deposita tokens, de acordo com a fórmula de cálculo de participação (participações = ativos * totalSupply / totalAssets), o resultado do cálculo tem um ponto decimal e geralmente é arredondado para baixo.
Como você pode ver na figura abaixo, quando um usuário deposita 500 tokens em ativos, a quantidade de ativos perdidos devido ao arredondamento decimal depende da taxa de câmbio (correspondência entre por ação e ativos em tokens). Se a taxa de câmbio for a da curva laranja, obtemos menos de 1 ação e perdemos 100%. No entanto, se a taxa de câmbio for a da curva verde e forem obtidas 5000 ações, a perda de arredondamento é limitada a um máximo de 0,02%.
Então, se nos concentrarmos em limitar as perdas a um máximo de 0.5%, precisamos adquirir pelo menos 200 ações. A taxa verde requer apenas 20 tokens, mas a taxa laranja requer 200.000 tokens.
Através de vários exemplos, pode-se analisar que as curvas azul e verde são mais seguras do que as curvas amarela e laranja, e são projetadas para serem cofres mais seguros.
Portanto, o principal método de ataque à inflação é usar certos meios para mover a curva da taxa de juros para a direita, fazendo com que um pequeno número de depositantes perca sua parcela, alcançando assim o objetivo do ataque.
Os ataques de inflação são principalmente por meio de doações.
Existem três maneiras de se defender contra ataques:
A implementação específica é reescrever o método _decimalsOffset() do código da biblioteca padrão fornecido pela OpenZeppelin. Este método não requer a configuração de deslize ou a injeção de fundos iniciais suficientes. É uma maneira muito boa de resistir a ataques de inflação.
Como uma proposta de cofre relativamente básica, RC-4626 não pode atender a todas as necessidades. Algumas propostas também o escalaram, como ERC-7535 e EIP-7540.
Como mencionado anteriormente, o ERC-4626 só pode usar o ERC-20 como ativo subjacente. Esta proposta permite principalmente que ativos nativos sejam usados como ativos subjacentes, como o ETH na vault.
Esta extensão ao ERC-4626 introduz suporte para processos de depósito e resgate assíncronos (chamados de 'solicitações'). Ele inclui novos métodos para iniciar e verificar o status dessas solicitações. Métodos existentes do ERC-4626, como depósito, criação, retirada e resgate, são usados para executar solicitações resgatáveis. Cabe ao implementador decidir se adiciona processos assíncronos para depósitos, resgates ou ambos.
Potenciais casos de uso:
A acima é a análise completa do ERC-4626.
Devido a razões históricas, muitos cofres atualmente no mercado não estão em conformidade com o ERC-4626 e continuam a operar, como o dForce, mas não podem ser aplicados mais amplamente. Alguns cofres já foram atualizados para cumprir com o ERC-4626, como alguns contratos do Aladdin DAO (https://github.com/AladdinDAO/deployments/blob/main/deployments.mainnet.md).
Além de ganhar juros através de staking, as aplicações de cofres também podem emprestar ações como garantia ou apostá-las novamente para gerar renda. Além disso, a captação de recursos através de cofres também é um bom cenário de aplicação, já que algumas de suas funções básicas podem fornecer excelente suporte.
A essência desta proposta é melhorar a eficiência de integração entre cofres e o ecossistema DeFi, e reduzir os custos de desenvolvimento. O papel dos cofres em si ainda tem mais espaço para exploração à medida que o mercado DeFi cresce.