(O autor deste artigo é o desenvolvedor DeFi Anton Cheng)
Prefácio
No ano passado, pessoalmente, sinto que não houve nenhuma inovação especial no mundo DeFi, mas está relativamente num período de reconstrução muito prático: muitas equipas de alta qualidade começaram a usar novos métodos de engenharia para reescrever e implantar de uma forma mais segura e mais eficiente. Em muitas infraestruturas DeFi, existem também muitos ativos públicos completamente descentralizados.
Morpho é o exemplo mais clássico disso. Hoje apresentarei como eles desmontam protocolos de empréstimo complexos em módulos simples para maximizar a segurança e a reutilização. Para quem não está familiarizado com DeFi ou Solidity, recomendo fortemente usar o Morpho como ponto de partida para aprender como implementar contratos práticos de forma simples.
Breve introdução: plataforma de empréstimo
O núcleo da plataforma de empréstimo pode ser facilmente explicado por dois grupos de pessoas: o fornecedor quer emprestar ativos para ganhar juros; o mutuário quer hipotecar o ativo A e pedir emprestado o ativo B, e pagar juros ao fornecedor em troca da flexibilidade para combinar; sua própria carteira de ativos.
Protocolos de empréstimo mais antigos, como Aave ou Compound, enfatizam que todo o protocolo é um grande mercado de empréstimos: os fornecedores só precisam selecionar os ativos que desejam emprestar e podem facilmente depositar e cobrar juros. Tomando Aave e USDC como exemplo, os usuários só precisam optar por emprestar USDC e, após o empréstimo, receberão um token que rende juros chamado aUSDC. Eles não precisam se preocupar com a garantia por trás dele ou com os parâmetros de liquidação de cada garantia. . Espere, porque esse chamado gerenciamento de risco é resolvido pelo DAO, e é por isso que o Aave Governance costuma votar para alterar parâmetros, adicionar ou remover garantias.
Os principais conceitos do Morpho
A lógica fundamental do Morpho é muito diferente: é um protocolo verdadeiramente descentralizado no qual qualquer pessoa pode criar um mercado de empréstimo para qualquer par de tokens.
Geralmente, a menor unidade com a qual um fornecedor irá interagir com a Morpho é chamada de “cofre”. A equipe Morpho não lançou nenhum cofre oficial, mas em vez disso tentou encontrar diferentes pessoas ou unidades para estabelecer e gerenciar diferentes cofres para atender às necessidades de diferentes fornecedores. Em outras palavras: como fornecedor, você não decide apenas jogar seu dinheiro no Morpho. Você também tem que escolher aquele com o qual se sente mais confortável entre os vários cofres. Isso coloca a Morpho em uma posição interessante, pois não são eles que decidem diretamente o que os usuários do mercado desejam, mas deixam essas coisas para outros (cofre, curador) decidirem.
Esquerda: Um protocolo é um grande mercado, como Compound e Aave. Certo: um protocolo pode criar vários cofres e mercados não correlacionados ao risco
O cofre mencionado acima é uma unidade voltada para um fornecedor geral. Na verdade, um cofre é composto por múltiplos mercados. A seguir apresentaremos os dois componentes importantes do mercado e do cofre de baixo para cima, bem como a relação entre eles.
O Vault consiste em vários mercados diferentes Morpho Market (MorphoBlue) / Market
Na base do protocolo Morpho, existem mercados que são independentes uns dos outros, não podem ser alterados e não têm conceito de propriedade (contratualmente chamados
MorfoAzul
). Depois que um mercado é criado, ele não pode ser alterado e qualquer pessoa pode usar qualquer conjunto de pares de tokens ERC20 e usar qualquer oráculo para criar mercados.
Criar mercado
MorfoAzul
É um contrato único. Todos os mercados individuais não são contratos recém-criados, mas todos existem no mesmo endereço de contrato. Portanto, é muito barato criar um mercado (o gás atual pode custar apenas alguns dólares) e pode ser construído. -in funções flashloan Permite que as pessoas peçam emprestado todo o dinheiro do fornecedor armazenado no MorphoBlue em uma transação.
Os parâmetros necessários para criar um mercado são os seguintes:
garantia
: Garantia ERC20
empréstimo
: ERC20 sendo emprestado
oráculo
: Endereço Oracle
tv*
(Empréstimo de liquidação em relação ao valor): Um mutuário será liquidado quando o valor total do empréstimo/preço total da garantia for superior a este rácio.
irmModelo*
(Modelo de Taxa de Juros): Um contrato que determina a lógica das mudanças nas taxas de juros
Dentre os parâmetros acima, os três primeiros não possuem nenhuma restrição conforme mencionado acima; os dois últimos parâmetros limitam a utilização apenas do valor do lltv e do contrato firme votado pela governança;
Quando um mercado é criado, ele pode, na verdade, funcionar como um simples mercado de empréstimos: por exemplo, em um mercado USDC-ETH, os fornecedores podem depositar USDC diretamente para ganhar juros, enquanto os mutuários precisam depositar o excesso de ETH como garantia, pedir dinheiro emprestado e pagar. interesse. Se a posição de algum mutuário estiver em perigo, um liquidante estará disponível para ajudar a liquidá-lo.
Se você quiser usar lltv e garantias diferentes, precisará criar uma liquidação de mercado diferente
O mecanismo de liquidação da Morpho é relativamente simples e não tem nenhum desenho do tipo leilão. Em vez disso, ele simplesmente fixa o preço e é o primeiro a ganhar: quando um mutuário fica submerso, o liquidante pode ajudar a pagar parte da dívida e obter um valor mais alto. garantia.
Cada mercado terá um LIF (Fator de Incentivo à Liquidação) fixo, determinado pela lltv. A garantia que o Liquidante pode obter é o valor do empréstimo *LIF:
maxLIF = 1,15, cursor = 0,3. LIF deve > 1
A capacidade de conceber desta forma depende fortemente do facto de "um mercado consistir apenas num activo de empréstimo e num activo de garantia". É precisamente porque o mercado é muito simples, o que torna viável a venda de uma única garantia a um preço fixo. Se um protocolo deseja leiloar um caminhão cheio de diferentes tipos de garantias ao mesmo tempo, ou permite que um mutuário tenha muitas posições de empréstimo ao mesmo tempo, é realmente difícil liquidá-lo diretamente por meio de preços oráculo, então a maioria deles dependerá de leilões seria um design mais complexo.
Autenticação sem gás
Aqui está um pequeno design em potencial: há um recurso no código MorphoBlue chamado
definirAutorizaçãoComSig
A carta permite que uma EOA autorize outros endereços a operar as suas posições em seu nome através de uma assinatura. Isso significa que os desenvolvedores podem realmente desenvolver alguns contratos de terceiros e fornecer alguns serviços de hospedagem e operação por meio de autorização.
Resumo: O mercado é a unidade básica de empréstimo mais simples
Vendo isso, você já deve ter um conhecimento básico do mercado. É basicamente um mercado de empréstimos muito pequeno com funções limitadas. A sua funcionalidade limita-se a permitir que os fornecedores emprestem dinheiro a um único mercado de garantias e que os mutuários coloquem um activo e emprestem outro.
Obviamente, isso não é suficiente, portanto, o vault e o alocador são necessários para ajudar a resolver o problema.
P.S.
MorfoAzul
O contrato tem apenas cerca de 500 linhas de código (o mecanismo de liquidação que mais inveja a maioria das pessoas tem apenas 50 linhas. Ele foi escrito de forma muito concisa e foi submetido a uma auditoria e verificação formal muito rigorosas, acho que pode ser chamado). é o código mais seguro entre os principais DeFi Infra atuais e é altamente recomendado para todos que desejam aprender contratos.
Cofres Morpho (MetaMorpho)
O mercado já foi introduzido antes, mas na verdade é suficiente para usuários que têm a mente mais clara e desejam passar tempo gerenciando todos os riscos por conta própria. Mas a maioria dos fornecedores pode não ter essas capacidades, por isso precisamos de algumas ferramentas de agregação e outras funções para nos ajudar a concluir esta tarefa.
Podemos relembrar quais “riscos” um DAO pode controlar em cenários anteriores de empréstimos DeFi? Na verdade, depois de muita deliberação, nada mais é do que escolher garantias e vários parâmetros:
(1.) Garantia: Que tipo de garantia pode ser usada para emprestar o dinheiro do fornecedor?
(2.) Limite de empréstimo de garantia: o limite superior de quanto cada garantia pode ser emprestada
(3.) Linha de liquidação para cada garantia: Diferentes tipos de garantia, preços relativamente estáveis devem permitir uma alavancagem relativamente alta. Por exemplo, se você depositar US$ 100 USDC, poderá emprestar US$ 95 USDT, mas se depositar US$ 100 em BTC, poderá apenas. conseguir emprestar $80.
Na definição de morfo, estas chamadas condições de gestão serão consideradas como mercados diferentes, pelo que sempre que se pretenda efectuar uma “gestão de risco”, teoricamente sob a estrutura morfo, esta terá de ser transferida para outro mercado. Por exemplo, a mudança na linha de liquidação: um mercado USDC-DOGE-lltv-90% significa que depositar DOGE pode emprestar 90% do valor nominal do USDC. Se você acha que o risco do DOGE aumentou hoje, você precisa sacar. em vez disso, seu USDC foi transferido para um novo lltv-80% do mercado. Obviamente, isto não é algo que as pessoas comuns estariam dispostas a fazer, por isso existe um agregador chamado vault, e dois pequenos auxiliares de controlo de risco, curador e alocador, são usados para ajudar os depositantes a movimentar as suas posições. Este é o Morpho Vault (contratualmente denominado MetaMorpho).
A relação entre o Vault (azul) e o Market (laranja) Allocator
Primeiro, vamos apresentar dois pequenos auxiliares de controle de risco. Um cofre pode ter vários alocadores, e esses alocadores têm autoridade para transferir ativos originalmente armazenados em um mercado para outro mercado. Além disso, eles também podem atualizar a fila de depósito e fila de retirada: como o nome sugere, "Em qual mercado o depósito será depositado primeiro" e "De qual mercado o dinheiro será retirado".
Curador de Risco
O curador de Risco é um controlador de cofre Além de poder definir alocadores (e também ter seus poderes), também pode definir o limite de oferta para cada mercado.
Através destas duas funções, podemos alcançar os três principais tipos de controlo de risco mencionados acima: alterando a fila e movimentando a liquidez, podemos determinar os mercados e, assim, decidir se devemos alterar a garantia, ou alterar a linha de liquidação para cada garantia. ; juntamente com a capacidade de definir limites de depósito para cada mercado, podemos ajustar a exposição de todo o pool.
ERC4626
Vale ressaltar que cada cofre é projetado especificamente para um tipo de ativo de empréstimo, ou seja, só aceita depósitos de um único ativo. MetaMorpho suporta a interface ERC4626. Após o depósito, você receberá um token ERC20 contendo uma taxa de juros. Você poderá então usar esse token para negociar outros produtos financeiros derivativos para apostar em algumas taxas de juros e assim por diante.
Taxa de Desempenho
Finalmente, deixe-me mencionar que esses ajudantes de controle de risco não são de caridade, então a maioria deles exige que os usuários que depositam através de cofres recebam uma certa porcentagem dos juros ganhos como comissão. Se não quiser pagar... você pode rolar até o final para ajudá-lo a descobrir como evitar essas taxas.
desafio
Provavelmente isso completou a introdução do núcleo do Morpho. A seguir, mencionarei alguns pontos que são frequentemente discutidos neste tipo de design.
Fragmentação de Liquidez (?)
Vendo tal estrutura, o primeiro instinto é a segmentação da liquidez: o dinheiro originalmente depositado num cofre será agora disperso em diferentes mercados.
Penso "sim e não": "Sim" é porque se houver apenas um cofre no mundo, então a liquidez será de facto dispersa em diferentes mercados, o que causará muitos problemas ao mutuário.
Mas, na verdade, vários cofres diferentes podem abastecer o mesmo mercado ao mesmo tempo. Se houver um mercado que seja muito estável, cada vez mais cofres poderão querer depositar dinheiro neste cofre para obter uma taxa de juros relativamente estável. Isso permite que os mutuários obtenham liquidez de diferentes usuários do cofre no mesmo mercado.
Se não considerarmos apenas os cofres, esta vantagem pode ser ainda mais expandida: por exemplo, se houver outros contratos inteligentes ou tesouraria que queira fazer uma função simples de geração de juros, pode não querer usar cofres, mas depositar USDC diretamente em um mercado para gerar juros O design simples de juros e mercado permite que mais protocolos estejam dispostos a fazer isso e tragam uma quantidade maior de liquidez.
Empréstimos com múltiplas garantias
Acho que no morfo o UX do mutuário vai ficar mais complicado, mas se é bom ou ruim pode ser explicado em diferentes aspectos:
Todos os protocolos de empréstimo anteriores têm o poder de alterar as condições sob as quais o mutuário é liquidado. Parte do motivo é porque eles permitem que o mutuário coloque muitas garantias de uma só vez e use uma pontuação de saúde para avaliar quanto dinheiro sua posição total. pode emprestar. Para garantir a segurança do protocolo, quando o risco da garantia muda, podem alterar alguns parâmetros para tornar o mutuário liquidável. Embora existam mecanismos de proteção adicionais, esta é, em última análise, uma consideração difícil.
No Morpho, o objeto de ação do mutuário torna-se um mercado permanentemente imutável, o que significa que você não precisa se preocupar com a possibilidade de alguém alterar suas condições de empréstimo e liquidação. O preço é que, se planear hipotecar múltiplas garantias para emprestar activos, terá de depositar diferentes garantias em diferentes mercados e, ao mesmo tempo, manter múltiplas posições e reequilibrar-se. Nesta perspectiva, será muito inconveniente.
Rehipoteca
Um dos maiores problemas do Morpho é a utilização de ativos colaterais subjacentes. Muitos outros protocolos de empréstimo permitem que a garantia que você deposita seja emprestada por outras pessoas ao mesmo tempo, permitindo cobrar um pouco mais de juros. No entanto, a lógica subjacente ao morfo não permite o empréstimo de garantias, pelo que deve haver alguns activos que estão “ociosos” no contrato.
Se este assunto é realmente importante ou não, será discutido em detalhes mais tarde, quando apresentarmos Euler V2.
Conclusão: Construindo Hiperestruturas
Lembro-me da primeira vez que vi o contrato da Morpho por volta dessa época, no ano passado, e pensei que essa era a infra-estrutura de empréstimo que eu estava ansioso para ver alguém implementar.
Além dos detalhes de implementação de contratos claros e concisos, gosto muito do espírito de não tentar fazer tudo, mas de dividir cada unidade prática de forma limpa e desenvolver contratos baseados no princípio da minimização. Penso que este é o melhor espírito para o desenvolvimento de contratos, porque quanto mais complexas são as coisas, maior a probabilidade de terem problemas de segurança e menor a probabilidade de serem reutilizadas por outros.
Além disso, o design de governança totalmente descentralizado, imutável e mínimo do Morpho está totalmente alinhado com o espírito da Hiperestrutura.
O que são hiperestruturas?
Se você nunca ouviu falar da palavra hiperestrutura, é altamente recomendável ler o texto original de Jacob. Estou aqui para ajudar a copiar a definição.
Hiperestruturas: Protocolos criptográficos que podem ser executados gratuitamente e para sempre, sem manutenção, interrupção ou intermediários.
Várias características principais definidas por Jacob no artigo:
Imparável: o protocolo não pode ser parado por ninguém. Ele roda enquanto o blockchain subjacente existir.
Gratuito: há uma taxa de protocolo de 0% e funciona exatamente com o custo do gás.
Valioso: acumula valor que é acessível e viável para os proprietários.
Expansivo: há incentivos integrados para os participantes do protocolo.
Sem permissão: universalmente acessível e resistente à censura. Construtores e usuários não podem ser deplataformados.
Resultado positivo: cria um ambiente ganha-ganha para os participantes utilizarem a mesma infraestrutura.
Credivelmente neutro: o protocolo é independente do usuário.
P.S. Outro destaque do artigo original é a extensão do problema do “Valioso”: estes contratos podem ter propriedade, ou podem tornar a propriedade valiosa, mas devem basear-se numa base que não viole de forma alguma a descentralização. Um bom exemplo é uma mudança de taxas: um controle de propriedade que ativa uma mudança de taxas é valioso, mas o proprietário nunca tem um incentivo de longo prazo para ativar uma mudança de taxas.
Acho que esses protocolos são muito escassos no DeFi no momento. Exceto o Uniswap, quase não existem outros protocolos que atendam a tais condições. No desenho de Morpho, pode-se perceber que eles não apenas garantem a descentralização, mas também se aproximam muito intencionalmente de uma governança minimizada, garantindo que mesmo que um dia o proprietário se torne uma pessoa má, o contrato possa ser neutro e credível e continuar a apoiar o novo mercado continuará a funcionar.
Morfo é um primitivo, um bem público ou uma hiperestrutura.
Por causa disso, gosto muito do Morpho (especialmente
MorfoAzul
), então passei algum tempo criando uma ferramenta que permite a todos fornecer diretamente para mercados individuais: MonarchLend.xyz. Se você está muito confiante em gerenciar suas próprias posições, recomendo usar este método para fornecer diretamente aos mercados, para que não sejam cobradas taxas de manuseio intermediário pelo cofre.
Bem-vindo para experimentar: https://www.monarchlend.xyz/
O simples e bonito Morpho foi apresentado. Espero apresentar o Euler V2, que é cerca de 100 vezes mais complicado, mas ainda muito descentralizado!
Este artigo Modelo básico de DeFi de nova geração (hiperestrutura): protocolo de empréstimo Morpho apareceu pela primeira vez no Chain News ABMedia.