Futuros
Aceda a centenas de contratos perpétuos
TradFi
Ouro
Plataforma de ativos tradicionais globais
Opções
Hot
Negoceie Opções Vanilla ao estilo europeu
Conta Unificada
Maximize a eficiência do seu capital
Negociação de demonstração
Introdução à negociação de futuros
Prepare-se para a sua negociação de futuros
Eventos de futuros
Participe em eventos para recompensas
Negociação de demonstração
Utilize fundos virtuais para experimentar uma negociação sem riscos
Lançamento
CandyDrop
Recolher doces para ganhar airdrops
Launchpool
Faça staking rapidamente, ganhe potenciais novos tokens
HODLer Airdrop
Detenha GT e obtenha airdrops maciços de graça
Launchpad
Chegue cedo ao próximo grande projeto de tokens
Pontos Alpha
Negoceie ativos on-chain para airdrops
Pontos de futuros
Ganhe pontos de futuros e receba recompensas de airdrop
Investimento
Simple Earn
Ganhe juros com tokens inativos
Investimento automático
Invista automaticamente de forma regular.
Investimento Duplo
Aproveite a volatilidade do mercado
Soft Staking
Ganhe recompensas com staking flexível
Empréstimo de criptomoedas
0 Fees
Dê em garantia uma criptomoeda para pedir outra emprestada
Centro de empréstimos
Centro de empréstimos integrado
Interpretação aprofundada da evolução da arquitetura de aplicações de empréstimo no Ethereum
Autor: @albertocuestacanada
Tradução: Comunidade Dengchain
! [Interpretação aprofundada da evolução da arquitetura de aplicativos de empréstimo no Ethereum] (https://cdn-img.panewslab.com//panews/2022/10/15/images/bcdcc4b76ff94a8c3e73b9d3d124dc11.png) Evolução dos produtos de crédito
O empréstimo é a pedra angular das aplicações de blockchain baseadas em Ethereum. Milhares de milhões de ativos já foram emprestados[5] Portanto, entender como o empréstimo funciona é crucial para desenvolvedores, arquitetos ou pesquisadores.
Como a evolução dos paradigmas de programação, esses aplicativos DeFi têm diferentes projetos arquitetônicos que refletem prioridades em mudança que vão desde a segurança até a experiência eficiente do usuário.
Este artigo analisa a arquitetura de aplicativos de empréstimo como MakerDAO, Compound, Aave, Euler e Yield. Destacaremos as principais inovações e padrões de design que são lições importantes para o desenvolvimento futuro de aplicativos de empréstimo.
Se você é um desenvolvedor, arquiteto ou pesquisador de segurança, este artigo é para você. Finalmente, você aprenderá facilmente sobre o novo aplicativo de empréstimo no Ethereum e terá uma compreensão rápida e abrangente de sua arquitetura. Saiba mais sobre como esses gigantes DeFi foram construídos do zero.
Empréstimo em DeFi
A maioria dos empréstimos DeFi é sobregarantida[6] 。 Se o valor da garantia prestada pelo utilizador for superior ao valor do empréstimo, o utilizador pode pedir emprestado um ativo específico. Ao contrário dos empréstimos tradicionais, muitos destes empréstimos não têm reembolsos regulares ou datas de reembolso fixas. Essencialmente, você pode pedir emprestado e nunca pagá-lo de volta.
No entanto, há um problema: o valor da garantia deve sempre exceder o limite predeterminado do valor do empréstimo.
Se o valor da garantia descer abaixo deste limite, o empréstimo será liquidado[7] 。 Durante a liquidação, outra pessoa reembolsa parte ou a totalidade do seu empréstimo e recebe parte ou a totalidade das suas garantias em troca.
Todas as aplicações de empréstimos que seguem esta estrutura financeira requerem a mesma construção, que pode ser organizada de várias maneiras:
! [Interpretação aprofundada da evolução da arquitetura de aplicativos de empréstimo no Ethereum] (https://cdn-img.panewslab.com//panews/2022/10/15/images/f004f36e16730c2be0735220dc98b6f8.png) O processo de empréstimo no MakerDAO, todos os ativos de aplicativo usam as mesmas etapas e funções
A contração e a concessão de empréstimos podem ser consideradas funções distintas. No DeFi, encontramos ambos os recursos na maioria dos aplicativos de empréstimo, mas nem sempre se integram bem. Na Compound, Aave, e Euler, as taxas de juros para mutuários e credores estão internamente correlacionadas; Na verdade, isso é o que faz com que esses aplicativos sejam executados com intervenção mínima.
Por outro lado, o MakerDAO e o Yield emprestam aos mutuários os seus ativos a partir de si próprios (o próprio protocolo).
Eles não pedem aos usuários que forneçam ativos para que outros usuários possam emprestá-los.
Este artigo irá focar-se na contração de empréstimos e, em grande medida, ignorar a concessão de empréstimos. A contração de empréstimos é muito mais complexa devido aos requisitos da hipoteca, e a compreensão dos padrões de contração de empréstimos proporciona frequentemente uma melhor compreensão de todo o contrato.
Evolução arquitetônica do MakerDAO
! [Interpretação aprofundada da evolução da arquitetura de aplicativos de empréstimo no Ethereum] (https://cdn-img.panewslab.com//panews/2022/10/15/images/42e228c9d77f99385bb5d49f98064ed0.png)
MakerDAO[8] [9], lançado em novembro de 2019 , que detém US$ 4,95 bilhões em garantia. Embora sua arquitetura modular tenha contratos diferentes e terminologia única para cada função, ainda é fácil de entender e verificar.
O recurso de tesouraria no MakerDAO é representado por contratos Join[10] Gerir.
Cada token aprovado como garantia tem um contrato separado[11] 。
MakerDAO não possui nenhum ativo emprestado DAI. É simplesmente cunhado e destruído conforme necessário[12] Vá lá.
Faturação em contratos vat.sol[13] [14]Processamento interno. A Join atualiza este contrato quando a garantia entra ou sai do sistema [15]。 Se um utilizador contrair um empréstimo, contrata diretamente com vat.sol Interagir.
Esta ação atualiza o saldo da dívida do usuário e permite que ele cunhar DAI em DAI.
Para pagar, os usuários gravam DAI no contrato de ingresso de DAI. Este processo atualiza o IVA para permitir que o utilizador liquide o empréstimo.
Além disso, o contrato vat.sol atua como um gestor de risco[16] Motor. Mantém limites totais de empréstimos, define limites mínimos por utilizador e supervisiona os rácios de colateralização. Quando o saldo devedor ou colateral de um utilizador se altera, o contrato vat.sol avalia as taxas de juro e os spots.
Estas referem-se às taxas de juro baseadas nas garantias utilizadas e no rácio DAI em vigor em relação ao preço das garantias. Curiosamente, esses valores são inseridos no contrato vat.sol por outros contratos MakerDAO, o que é diferente da maioria das outras aplicações.
O MakerDAO priorizou a segurança na fase de projeto – fatores como os custos do gás eram secundários, a experiência do usuário era secundária e a concorrência era insignificante.
Como resultado, pode parecer peculiar, caro de usar e difícil de navegar.
No entanto, seus vastos ativos sob gestão e histórico de operações sem grandes violações destacam seu design e execução robustos.
Destaques do MakerDAO:
Cada ativo tem o seu próprio contrato.
A função de faturamento é centralizada em um único contrato, que também registra e executa parâmetros de risco, incluindo verificações de garantias
Ao contrário de outras aplicações, os oráculos vêm para renovar contratos e supervisionar hipotecas
Oráculos de preço e taxa de juros usam interfaces diferentes
As taxas de juro são de origem externa
Para contrair empréstimos, os usuários devem interagir com vários contratos
Evolução arquitetónica do protocolo Yield
! [Interpretação aprofundada da evolução da arquitetura de aplicativos de empréstimo no Ethereum] (https://cdn-img.panewslab.com//panews/2022/10/15/images/c24841105c321d8451af0d0a7534fa24.png)
Rendimento v1[17] [18] Como usar o YieldSpace Prova de conceito para uma taxa de juro fixa. Esta versão constrói seu motor de dívida hipotecária em cima do MakerDAO. No entanto, o Yield v1 é caro de usar e difícil de melhorar com novos recursos.
Reconhecendo o potencial do YieldSpace, rapidamente passamos para o Yield v2[19] [20]。 O Yield v2 ainda se inspira no MakerDAO, mas agora é totalmente independente, sendo lançado em outubro de 2021 ; O Yield v2 prioriza a redução dos custos de gás e a melhoria da experiência do usuário.
! [Interpretação aprofundada da evolução da arquitetura de aplicativos de empréstimo no Ethereum] (https://cdn-img.panewslab.com//panews/2022/10/15/images/60d6467c33d1a63479bea607edbc7419.png) O processo de empréstimo no Yield v2 é fortemente influenciado pelo MakerDAO
Todas as faturações, gestão de risco e cheques hipotecários são combinados num único contrato: Caldeirão[21] [22]。 Seguindo a abordagem do MakerDAO, a funcionalidade do vault é distribuída por todo o contrato Join , cada contrato é dedicado a um ativo específico.
Integração oráculo melhorada, combinando oráculos de preço e taxa de juro numa interface comum[23] [24]。 Invertemos o fluxo de oráculos do MakerDAO para o Caldeirão Consulte o oráculo conforme necessário para verificação de hipoteca. Tanto quanto eu sei, este é o processo preferido para todos os outros aplicativos, exceto MakerDAO.
Outra diferença significativa da abordagem MakerDAO é a introdução do Ladle[25] 。 O contrato atua como o único intermediário entre o utilizador e a Yield. Ele tem amplo controle sobre cofres e contas e, por sua vez, oferece uma tremenda flexibilidade para o desenvolvimento de recursos.
Para resumir, o empréstimo no Yield v2 funciona da seguinte forma:
Evolução arquitetónica do composto
! [Interpretação aprofundada da evolução da arquitetura de aplicativos de empréstimo no Ethereum] (https://cdn-img.panewslab.com//panews/2022/10/15/images/096aad229c90d42d135342e29de817a8.png)
A primeira versão do Compound[26] [27]é uma prova de conceito [28], indicando que um mercado de moeda pode ser estabelecido no Ethereum. Por isso, seu design prioriza a simplicidade. MoneyMarket.sol O contrato engloba todas as funções, incluindo a contração de empréstimos.
! [Interpretação aprofundada da evolução da arquitetura de aplicativos de empréstimo no Ethereum] (https://cdn-img.panewslab.com//panews/2022/10/15/images/5c09a9eb804376aec085f6af1c3f9e2e.png) O processo de empréstimo no Compound v1 é simples e eficaz
As tarefas de cofre, faturamento e gerenciamento de risco, como cheques de hipoteca, são combinadas em um único contrato.
O contrato recupera o preço do oráculo, mas determina a taxa de juros com base na utilização do ativo.
O utilizador apenas interage com o contrato, embora deva ser chamado separadamente para fornecer garantias e contrair empréstimos.
Composto v2
Composto v2[29] Lançado em maio de 2019, incendiou a era da agricultura de rendimento e inspirou inúmeros garfos. Também atua como um mercado monetário, permitindo que os usuários depositem e tomem empréstimos de ativos.
Com base no seu white paper[30] e estrutura, é claro que o principal objetivo do Compound v2 é representar posições de empréstimo usando o padrão ERC20. Isso garante a capacidade de composição, permitindo que os usuários emprestem para a Compound e, em seguida, usem essas posições com juros em outras aplicações blockchain.
Curiosamente, o white paper não enfatiza que o Compound v2 será recompensado[31] Incorporado em seus contratos inteligentes. Devido a essa omissão, o enorme impacto do recurso pode não ser previsto.
! [Interpretação aprofundada da evolução da arquitetura de aplicativos de empréstimo no Ethereum] (https://cdn-img.panewslab.com//panews/2022/10/15/images/f2698573a47c696f279f9d32beefcf9f.png) O processo de empréstimo no Compound v2, que tokeniza posições de empréstimo pela primeira vez
Cada ativo tem o seu próprio contrato de financiamento.
A função de faturamento também é separada, e cada cToken registra as garantias e dívidas do usuário.
A controladoria registra e executa parâmetros de gerenciamento de risco, incluindo verificações de garantias.
A controladoria é responsável por garantir o preço de referência do contrato e a taxa de juros do cToken.
Oráculos de preço e taxa de juros operam através de diferentes interfaces.
A taxa de juros é derivada da taxa de utilização interna do ativo.
Os usuários devem interagir com vários contratos para tomar empréstimos.
Composto v3
Composto v3[32] [33] Lançado em 2022 [34], adotando uma estratégia de gestão de risco mais conservadora, segregando a liquidez num conjunto de cada ativo emprestável Meio. O design também evidencia o seu foco na facilidade de utilização e no custo do gás.
! [Interpretação aprofundada da evolução da arquitetura de aplicativos de empréstimo no Ethereum] (https://cdn-img.panewslab.com//panews/2022/10/15/images/4e2a64278626d39b41f2ab86baddb126.png) O processo de empréstimo no Composto v3 (Cometa). De volta ao básico, de volta à segurança. No entanto, com uma melhor experiência do usuário.
Com menos chamadas necessárias, o sistema é mais intuitivo para desenvolvedores e usuários. Além disso, o projeto de contrato único reduz os custos de gás, minimizando as chamadas entre contratos. Mercados de moeda isolados são uma defesa contra ataques baseados em oráculos, o que atualmente é um grande problema de segurança.
Outros recursos relevantes mencionados no artigo incluem (mencionados nas notas de versão):
Revisão dos mecanismos de gestão de riscos e de compensação. Este design aumenta a segurança dos fundos, ao mesmo tempo que é mais amigável para os mutuários.
Impor restrições aos ativos hipotecários pessoais em todo o mercado para reduzir o risco.
Os modelos de taxas de juro aplicáveis ao rendimento e à contração de empréstimos estão agora separados e a governação tem pleno controlo sobre a política económica.
Curiosamente, o Compound v3 espelha a arquitetura do Compound v1, permitindo que um único contrato lide com todas as funções de cada ativo emprestável. Outras características notáveis incluem:
Apenas os ativos emprestados podem ser emprestados e os ativos garantidos não podem ser emprestados.
No Composto v3, as garantias não geram retornos.
A proibição de contrair empréstimos como garantia aumenta a segurança da pessoa que depositou a garantia. Isso reduz a probabilidade de erros de governança ou ataques intencionais comprometerem as garantias.
A remoção dos retornos de fornecimento de garantias pode ser o resultado de Compound conseguir acumular muita liquidez na v2. Minha sensação é que, no Compound v2, o limite de empréstimo é menor ou não maior do que o ativo que o usuário empresta para o aplicativo.
Supondo que eles gerenciarão um nível semelhante de liquidez para a v3, proibir empréstimos de garantias pode tornar o aplicativo seguro, que é um dos principais objetivos da v3.
Do ponto de vista arquitetónico:
Cada mercado de moeda é um contrato separado contendo cofres, contas e gerenciamento de risco
Cada mercado de moeda retém o ativo emprestável e todos os seus tokens de ativos colateralizados aprovados, permitindo que os ativos sejam distribuídos por toda a aplicação
O preço dos alimentos para animais é o único insumo externo; As taxas de empréstimo são geradas internamente
As funções tradicionais, como o fornecimento/levantamento/empréstimo/reembolso, estão integradas de forma inteligente. Agora, retirar ativos emprestáveis do mercado monetário significa contrair empréstimos, enquanto fornecer ativos emprestáveis significa reembolsar dívidas ou empréstimos baseados em usuários
Os contratos de roteamento integrados permitem que várias operações sejam executadas em uma única chamada
A evolução arquitetónica da Ave
! [Interpretação aprofundada da evolução da arquitetura de aplicativos de empréstimo no Ethereum] (https://cdn-img.panewslab.com//panews/2022/10/15/images/eefde1e6fa9d58e65f3d146ae9649d2c.png)
Fantasma v1[35] [36] Lançado em outubro de 2019 para substituir ETHLend. O Aave v1 introduz um pool de liquidez compartilhada em vez da abordagem peer-to-peer da ETHLend.
! [Interpretação aprofundada da evolução da arquitetura de aplicativos de empréstimo no Ethereum] (https://cdn-img.panewslab.com//panews/2022/10/15/images/e865cd30bcad20378b0c82ccbb538b98.png) O processo de contração de empréstimos no Aave v1, que reúne a eficiência do cálculo de submissão de liquidez
Como no Yield v2, os contratos de roteamento[37] [38]Controle a lógica do negócio. LendingPoolCore Permite funções de faturamento, gerenciamento de riscos e cofre. Centralizar cofres em um contrato é um ponto de diferença do Compound v2.
Mantenha o cheque de hipoteca em seu próprio contrato[39] , invocado a partir de um roteador em vez de um contrato de contabilidade, essa decisão pode parecer fraca, mas como a versão Aave v2 foi lançada dois anos após o lançamento da v1, provavelmente serviu ao propósito.
O contrato LendingPoolCore lida com cofres e contas
LendingPoolDataProvider gerencia a verificação de hipotecas e interage com oráculos
LendingPool atua como um ponto de entrada do usuário e implementa a lógica de negócios
A taxa devedora é determinada internamente e depende apenas do feedback do preço
Fantasma v2
Fantasma v2[40] [41] Lançado em dezembro de 2021 [42]。 Embora mantenha uma funcionalidade semelhante ao Aave v1, ele introduz uma arquitetura melhorada e mais simples em comparação com o Aave v1 e o Compound v2. Nesta versão, a Aave também introduziu o aToken [43](semelhante ao cToken do Compound) e vToken , que significa dívida tokenizada.
! [Interpretação aprofundada da evolução da arquitetura de aplicativos de empréstimo no Ethereum] (https://cdn-img.panewslab.com//panews/2022/10/15/images/c8ccb2478d59ac6e13a859b6bffdba0f.png) Aave v2 tem uma arquitetura muito limpa e é totalmente tokenizado
Para simplificar, alguns recursos que são usados em uso limitado no Aave v1 foram omitidos. Problemas no Aave v1, como representações complexas de juros acumulados, foram resolvidos no Aave v2.
O contrato LendingPool integra recursos globais de faturamento e gerenciamento de risco, como verificação de hipoteca. Ele serve como o principal ponto de acesso para os usuários
aTokens representam garantias, semelhantes a posições de empréstimo. A garantia do usuário é representada pelo aToken que ele detém, e a função vault é distribuída por todos os aTokens
vToken é usado para representar posições de dívida. A dívida de um usuário é representada pelo vToken que ele possui
Fantasma v3
Fantasma v3[44] [45] Lançado em janeiro de 2023 , com suporte multi-cadeia e outras funcionalidades. Adicioná-los não altera a arquitetura principal. Esta atualização inclui também uma melhor gestão dos riscos e eficiência dos gases.
Apesar de muitos avanços, Aave v3 não é fundamentalmente diferente de Aave v2 para os propósitos deste estudo. Na verdade, isso pode indicar que a arquitetura do Aave v2 permanece robusta em 2023.
A Evolução da Arquitetura de Euler! [Interpretação aprofundada da evolução da arquitetura de aplicativos de empréstimo no Ethereum] (https://cdn-img.panewslab.com//panews/2022/10/15/images/f7c7040faaf0dad6b78bdd00d2f50aff.png)
Euler[46] [47] Lançado em dezembro de 2022 , projetado para fornecer funcionalidade sem permissão e governança mínima para o mercado de moeda.
Uma característica distintiva do seu design são os diamantes[48] [49]modo like. Um único contrato possui todo o espaço de armazenamento para um aplicativo [50]。 A loja pode ser acessada através de diferentes proxies Acesso a diferentes elementos conceptuais de cada sistema de gestão de agentes.
! [Interpretação aprofundada da evolução da arquitetura de aplicativos de empréstimo no Ethereum] (https://cdn-img.panewslab.com//panews/2022/10/15/images/a23e03b0b8e9c74b6d36985e3a95b3fb.png) Euler
Embora um contrato armazene todos os ativos, contas e dados de gerenciamento de risco, ainda existem eTokens para garantias e empréstimos, e dTokens para dívidas, semelhante ao Aave v2. No entanto, esses contratos simbólicos são apenas uma visão do contrato de armazenamento central.
Contrato de armazenagem[51] Gerencie variáveis de faturamento.
Contratos BaseLogic[52] Aja como um cofre.
Contrato RiskManager[53] Supervisionar variáveis e funções de gestão de risco, incluindo cheques hipotecários.
A análise do código mostra que o custo mínimo do gás é uma prioridade, resultando no design geral, eliminando a necessidade de chamadas intercontrato. A segurança é garantida através de testes e auditorias rigorosos. Apenas a lógica é distribuída nos módulos e, como uma implementação do contrato de armazenamento, o contrato de armazenamento atua principalmente como um contrato de proxy.
Este design uniforme também permite atualizações fáceis. Se não precisar alterar o armazenamento, você pode substituir rapidamente os módulos para modificar ou introduzir funcionalidades.
Euler foi hackeado 15 meses após seu lançamento e 6 meses após a atualização introduziu uma vulnerabilidade explorada.
Não acho que seja a perda de ativos devido à sua arquitetura geral; Por outro lado, há supervisão insuficiente das atualizações de código.
Conclusão
Os primeiros aplicativos Ethereum, como MakerDAO, Compound e Aave, demonstraram o potencial dos empréstimos com garantia excessiva do Ethereum. Uma vez que essas provas de conceito se mostraram bem-sucedidas, o foco mudou para a introdução de uma gama de novos recursos para capturar participação de mercado. As versões subsequentes do Compound e do Aave introduziram a agricultura de rendimento, a composabilidade e a liquidez coletiva, técnicas que prosperaram especialmente durante as condições de mercado em alta.
Um desenvolvimento significativo é a introdução de posições de empréstimo tokenizadas no Compound v2, o que permite que essas posições sejam reconhecidas como ativos padrão por outras aplicações. Aave v2 e Euler foram um passo além ao implementar posições de dívida tokenizadas, cuja utilidade mais ampla continua sendo um assunto de debate.
Os altos custos de gás tornaram-se um grande problema durante os mercados em alta, provocando mudanças na experiência do usuário, conforme perseguido pelo Yield v2, Aave v2 e Euler. Os contratos de roteador e a implementação como um todo ajudam a reduzir os custos de transação para os usuários. No entanto, isso tem o custo de um código mais complexo e, portanto, mais arriscado.
O composto v3 parece estabelecer um precedente para priorizar a segurança em detrimento da eficiência financeira. Desvia-se do modelo tradicional de pool de liquidez para melhor proteger contra possíveis hacks. O aumento das redes L2, em que os custos do gás estão a tornar-se cada vez mais negligenciáveis, pode ter impacto na conceção dos pedidos de crédito hipotecário no futuro.
Neste artigo, forneço uma visão geral abrangente dos principais aplicativos de empréstimo de garantias no Ethereum. Os métodos que utilizo para analisar cada aplicação também podem ser usados para compreender rapidamente a complexidade de outras aplicações de crédito hipotecário.
Ao desenvolver aplicações de empréstimo de blockchain, considere sempre o armazenamento de ativos, a colocação de registros de faturamento e métodos de avaliação de risco e garantias. Ao considerar essas considerações, use as alterações históricas aplicadas anteriormente e os insights nesta visão geral para informar suas decisões.