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:

  • Tesouraria para armazenar garantias dos utilizadores e ativos emprestados (tesouraria)
  • Sistema de faturamento que rastreia as garantias e dívidas de cada usuário
  • Uma função que determina a taxa de juro do mutuário
  • Um mecanismo para verificar se um empréstimo está adequadamente garantido, geralmente envolvendo um oráculo de preços externo
  • Trajetória de liquidação dos empréstimos contraídos quando as garantias são insuficientes
  • Um sistema de gestão de risco que regista o total de empréstimos contraídos e outros indicadores de segurança, tais como limites de empréstimos globais e por utilizador, garantias mínimas e rácios específicos de sobregarantia
  • Interface para os utilizadores adicionarem e removerem garantias, contraírem empréstimos e reembolsarem objetivos

! [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:

  • Cada ativo tem seu próprio contrato de cofre dedicado.
  • Contrato único centraliza funções de faturamento. O contrato também supervisiona medidas de gestão de risco e realiza inspeções hipotecárias.
  • A função hipotecária consulta o oráculo para determinar o preço e a taxa de juro.
  • Oráculos de preço e taxa de juros compartilham uma interface unificada.
  • As taxas de juro são geradas externamente.
  • Os usuários podem pedir emprestado emitindo uma única transação para um contrato.

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.

Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
  • Recompensa
  • Comentar
  • Republicar
  • Partilhar
Comentar
Adicionar um comentário
Adicionar um comentário
Nenhum comentário
  • Fixar