Análise Comparativa Oracle Opcional Prisma

intermediário4/7/2024, 12:46:07 PM
Este artigo avalia o desempenho histórico da integração do Chainlink e a substituição do Oracle Curve Pool EMA. Foi constatado que a falta de fontes de dados confiáveis do Chainlink para ativos de garantia impactou a integração com a plataforma Prisma. O estudo propõe especificações preliminares para melhorar o Oracle a fim de aprimorar a precisão e confiabilidade do preço. Além disso, a pesquisa discute a importância do Oracle nos processos de liquidação e resgate do Prisma. É aconselhável usar com cautela a função de oráculo de preço da Curve. Por fim, é proposta uma solução híbrida que combina o Oracle da Curve e do Chainlink para aprimorar a flexibilidade e confiabilidade do mecanismo de preços. Este relatório é aplicável apenas ao protocolo Prisma.

Introdução

Este estudo teve origem no desafio de obter informações de preço on-chain confiáveis que maximizem a segurança, refletindo os preços atuais dos ativos-alvo. Especificamente, focamos nos ativos de garantia da Prisma Finance (wstETH, rETH, cbETH e sfrxETH), bem como nos derivados de staking líquido baseados em Ethereum (LSD). Alguns desses ativos não têm fontes de dados da Chainlink (frequentemente consideradas o padrão ouro para dados de preços confiáveis), o que afetou sua integração com a plataforma Prisma.

A mais recente implementação da piscina estável da Curve Finance inclui um Oracle interno da piscina, que calcula a Média Móvel Exponencial (EMA) para derivar dados de preço à prova de adulteração. Enquanto os integradores começaram a explorar o uso do Oracle em outras aplicações DeFi, o Oracle é usado principalmente para garantir a segurança do colateral no próprio mercado crvUSD da Curve.

O principal objetivo deste relatório é determinar se o Oracle da Curve Finance pode servir como uma alternativa confiável ao Chainlink para tokens ETH LSD. Este estudo envolve análise estatística da eficácia do Oracle de preço da Curve, comparando sua volatilidade, precisão e desempenho geral com os preços de referência da Uniswap (assumidos como preços precisos na cadeia).

A análise está dividida em dois estudos relacionados:

Análise Residual dos Oráculos stETH: Um estudo comparativo entre Chainlink e Curve, utilizando dados históricos para determinar a desvio do Oráculo em relação à média e desvio padrão do preço de referência.

Análise de Resgate stETH MEV: Um estudo comparativo entre Chainlink e Oracle on-chain, usando dados históricos para examinar eventos de resgate na Prisma e estimar a lucratividade do robô e o comportamento esperado usando Oracles alternativos.

Após análise, fornecemos especificações preliminares para o Oracle, esperando melhorias na variação de preço do Oracle, garantindo a confiabilidade do Oracle. A solução proposta pode servir como um esboço inicial para outros estudos com o objetivo de otimizar o Oracle.

Seção 1: Antecedentes relevantes

1.1 Funções do Oracle no protocolo Prisma

A eficácia dos oráculos é avaliada dentro do ambiente específico de uso do Prisma: liquidação e resgate. (Além disso, observe que os mesmos oráculos também são usados para taxas de emissão de tokens e venda de tokens adquiridos para o “pool estável tokenizado,” cuja importância aumentará uma vez lançado.)

O desempenho do Oracle é crucial para os usuários do Prisma, pois os arbitragistas podem ter oportunidades de lucrar com discrepâncias entre os preços do Oracle e os preços à vista. Garantir o uso do feedback de preço mais preciso durante a liquidação e resgate, sem sacrificar a segurança das fontes de preços, está alinhado com os melhores interesses do protocolo Prisma e de seus depositantes do tesouro.

Duas funções do Oracle dentro do Prisma estão delineadas da seguinte forma:

1.1.1 Liquidação

Para proteger o Prisma da insolvência, onde as posições de dívida excedem o valor de suas garantias, o contrato LiquidationManager executa a lógica de liquidação em todos os TroveManagers ativos (tesourarias da Prisma). A liquidação pode ser acionada de uma das três maneiras, dependendo da relação de garantia da conta de destino e da relação de garantia em todo o sistema.

Razão de Colateral Individual (ICR) <= 100%: A conta (tesouraria) possui colateral insuficiente. Toda a dívida e colateral são redistribuídos entre as tesourarias ativas restantes, socializando efetivamente a perda.

100% < ICR < Índice Mínimo de Colateral (MCR): O tesouro cai abaixo do limite de liquidação, mas pode ser liquidado com segurança. O pool estável é usado como reserva para lidar com liquidações (incentivando o pool de liquidação). O colateral é alocado aos depositantes do pool estável. Se o saldo do pool estável for insuficiente para reembolsar totalmente o tesouro, a dívida restante e o colateral são redistribuídos entre os tesouros ativos restantes.

MCR <= ICR < Global Total Collateral Ratio (GTCR) && GTCR < 150%: O sistema está em modo de recuperação, o que significa que os tesouros podem ser liquidados quando o CR estiver abaixo do GTCR, em vez de MCR. Os depósitos no pool estável são usados primeiro para liquidar o tesouro. O equivalente de colateral ao valor da dívida no MCR é distribuído entre os depositantes do pool estável. O colateral restante pode ser reivindicado pelo proprietário do tesouro.

A possibilidade de liquidação do Prisma aumenta quando o ETH ou o ETH LSD experimentam flutuações significativas de preço, especialmente quedas, em condições de mercado altamente voláteis. Enquanto falhas ou manipulações do Oracle podem afetar o protocolo a qualquer momento, o risco de falha do Oracle pode aumentar nos momentos mais cruciais. Os ativos de garantia podem falhar em atualizar os preços de forma oportuna devido a picos de taxas de gás, ou a metodologia de precificação do Oracle pode não rastrear adequadamente a volatilidade aumentada, resultando em precificação incorreta. As insolvências podem aumentar, exigindo redistribuição entre tesourarias ativas, ou os mutuários podem ser liquidados injustamente (nos casos em que o Oracle relata erroneamente preços abaixo dos preços de mercado justos).

1.1.2 Resgate

Arbitrageurs podem sempre iniciar resgates, optando por resgatar 1 mkUSD no valor de garantia por 1 dólar americano (+ taxas de resgate dinâmicas), a partir do tesouro com a menor proporção de garantia no sistema. Isso ajuda a fortalecer sua fixação quando o preço do mkUSD cai abaixo de 1 dólar americano. O processo de resgate reduz o risco de garantia do tesouro alvo e aumenta sua proporção de garantia. A parte que executa o resgate paga uma taxa chamada taxa de resgate. A faixa de taxas de resgate é por TroveManager e é a soma do piso da taxa de resgate + a base. Variáveis armazenadas no TroveManager aumentam proporcionalmente com o suprimento total de mkUSD resgatado e diminuem linearmente ao longo do tempo. Essa taxa dinâmica, a base, ajusta a taxa de resgate lucrativa.

Embora as liquidações na Prisma tenham sido historicamente raras, os resgates são comuns e merecem consideração especial para os Oráculos. Bots de MEV buscam ativamente tais oportunidades para lucrar rapidamente por meio de empréstimos instantâneos.

Além do inconveniente da redenção forçada de seus tesouros, os usuários podem experimentar alguma extração de valor devido a desvios entre o Oráculo e os preços à vista. A precificação incorreta pode levar os usuários a perderem mais ativos do que o necessário, especialmente quando o Oráculo relata preços abaixo do valor de mercado justo. Por outro lado, preços relatados pelo Oráculo mais altos do que os preços de mercado justos podem dificultar as redenções, anulando o propósito do mecanismo de redenção que impõe o piso de ancoragem mkUSD.

1.2 opções do Oracle

Aqui está uma breve visão dos principais candidatos para feeds de preço da Oracle na Prisma.

1.2.1 Chainlink (off-chain)

Chainlink é uma rede de oráculos descentralizada que agrega dados de uma ampla gama de fontes de mercado e conecta esses dados a contratos inteligentes. Sua arquitetura depende de operadores de nós independentes que coletam e transmitem dados de várias exchanges e APIs de agregadores de dados de mercado, minimizando pontos únicos de falha e melhorando a segurança. A integridade dos dados é garantida por meio de métodos criptográficos e mecanismos de consenso que verificam a precisão dos dados antes da transmissão. Sua abordagem envolve a precificação de ativos ponderada pelo volume (VWAP) para agregar valores de mercado justos que melhor representam os preços à vista dos ativos.

As redes de nós regularmente (batimento cardíaco) ou com base em limites de desvio de preço empurram os preços para a cadeia. Essa limitação, devido às altas taxas de gás na mainnet, pode tornar as atualizações de preço caras e levar a um aumento de latência, reduzindo assim o desempenho do Oracle. O custo de manter tais Oracles pode ser alto, especialmente durante períodos de alta volatilidade, tornando as atualizações oportunas do Oracle crucial.

1.2.2 Curva pool EMA Oracle (on-chain)

Recent implementations of pools Curve (pools StableSwap and CryptoSwap) include cálculos de preço EMA expostos por funções getter como price_oracle(). Essas pools não dependem de oráculos externos, mas calculam os preços dos ativos em relação ao token no índice 0 da pool com base em suas próprias atividades de negociação internamente. A EMA aumenta os custos de manipulação por meio de ajustes de preços suavizados, encontrando um equilíbrio entre resistência à manipulação e desvio de preço do spot. Cada pool tem um ma_exp_timeque pode ser configurado por meio de votação do Curve DAO.

Conforme divulgado na documentação do Curve Oracle, o EMA Oracle tem estado ativamente em desenvolvimento:

Se deseja usar a funcionalidade de 'oráculo de preço' da Curve ou qualquer oráculo de preço para fornecer dados de preços on-chain em sua aplicação descentralizada que está construindo, sugerimos que exerça cautela extra.

Diferentes implementações de pool modificam versões do código do Oráculo EMA, então os integradores devem entender a implementação do Oráculo do pool de destino.

Em novembro de 2023, foi descoberto um erro que afetava o oráculo do pool durante a implementação do pool stableswap-ng. Este erro foi descoberto logo após a implementação do pool pelo yAudit durante uma auditoria secundária. Isso levou a uma proposta para atualizar a implementação e descontinuar alguns pools afetados. Não houve risco de fundos, mas este evento destacou o desenvolvimento ativo dos oráculos de pool da Curve e o potencial de inconsistências entre os pools, apesar de auditorias extensivas, e a possibilidade de continuidade de erros que poderiam tornar os oráculos vulneráveis a manipulações ou imprecisões.

1.3 Histórico de Resgate MEV

A terceira parte deste relatório é uma análise do resgate do Gerenciador de Tesouros wstETH. Dado o impacto significativo do resgate nos usuários do Prisma, esta seção apresenta observações sobre resgates históricos, que serão avaliados em comparação com o Oráculo EMA Curve alternativo na análise comparativa.

1.3.1 Comportamento do BOT

Consultar eventos de resgate no TroveManager wstETH revela mais de 200 transações de resgate no total, com 190 transações identificadas como transações de BOT (o método usado para identificar transações executadas por BOTs será explicado posteriormente na mesma seção). Abaixo está uma visualização mostrando a frequência dessas transações ao longo do tempo.

Origem: Dune query_3402461

Existem apenas 3 BOTs que frequentemente trocam mkUSD:

Origem: Dune query_3402461

Cada BOT segue um processo geral semelhante de adquirir mkUSD e resgatar. Abaixo está uma das transações do BOT, revelando algumas informações úteis:

Origem: Explorador Tx Phalcon

O padrão de transação BOT pode ser subdividido ainda mais da seguinte forma:

Obter empréstimos relâmpago do Uniswap V3: USDC.

Converter USDC para mkUSD usando a Curve.fi Factory USD Metapool: Prisma mkUSD.

Troque mkUSD por wstETH no wstETH TroveManager.

Desembrulhe wstETH em stETH no wstETH.

Troque stETH por ETH na piscina Curve stETH/ETH.

Wrap ETH, pagar o empréstimo e distribuir lucros e comissões.

A lucratividade do MEV depende das diferenças de preço nas etapas 2, 3 e 5:

2: À medida que o preço mkUSD diminui, a lucratividade da redenção aumenta.

3: Conforme as taxas de resgate dinâmicas diminuem como uma função das quantidades de resgate recentes e do tempo desde o resgate, a lucratividade do resgate aumenta.

-5: À medida que o deslizamento nas trocas de ativos (por exemplo, stETH) aumenta, a lucratividade da redenção diminui. LSD como stETH pode ser trocado diretamente pelo ETH subjacente, mas esse processo requer um período de espera, tornando a liquidez no mercado secundário crucial

Prisma emprega um mecanismo para limitar as oportunidades de lucro da redenção de mkUSD para wstETH por meio de taxas dinâmicas. O Passo 3 envolve taxas dinâmicas para evitar redenções frequentes e excessivas. Apesar desse mecanismo, as redenções ainda podem ocorrer devido ao erro de precificação do Oracle para extrair MEV. As cotações do Oracle para a redenção de mkUSD podem oferecer aos proprietários do tesouro taxas de garantia subótimas, levando a uma experiência negativa do usuário.

1.3.2 Validade das alterações do oráculo wstETH

A proposta de alteração de preços da Prisma Oracle para stETH foi aprovada. Inicialmente, a Prisma usava o oráculo Chainlink stETH/USD, com um limite de desvio de 1% para o WstETH TroveManager. Foi constatado que o uso de uma combinação dos oráculos Chainlink stETH/ETH e ETH/USD poderia levar a melhorias, com um limite de desvio de 0,5% para cada oráculo.

Por favor, consulte a divergência entre o novo Oracle e o antigo Oracle com uma resolução de 15 blocos:

Origem: Gráfico por @wavey

Foi observado que quando o preço de negociação do mkUSD cai abaixo de sua taxa fixada, ocorrem resgates excessivos devido a uma desvio do Oracle superior a 1%. Nestes casos, verificamos que as taxas dinâmicas eram insuficientes para evitar resgates excessivos causados por desvios de preços. Consulte o ajuste das taxas de resgate para eventos de resgate abaixo.

Fonte: Gráfico por @wavey

Essas redenções podem incorrer em custos indiretos para os usuários da Prisma, pois podem receber taxas desfavoráveis quando seus tesouros são resgatados. A análise da Wavey indica que o oráculo stETH/USD é mais propenso a desvios em comparação com as combinações de oráculos validadas nos dados acima. Desvios transitórios superiores a 1,2% criaram oportunidades para bots de MEV explorarem.

A proposta de alteração do Oracle (PIP-004) foi executada em 17 de novembro de 2023, às 7:15:35 PM +UTC, juntamente com esta transação. Com base no gráfico de preços mkUSD abaixo e na data de execução da proposta, pode-se observar que após a execução da proposta, o preço realizado do mkUSD em USDC diminuiu. A diminuição da lucratividade dos resgates devido às melhorias do oráculo pode resultar em uma diminuição da força de fixação.

Origem: Dune query_5685458

Outros fatores influentes também devem ser considerados, incluindo limitações do modelo de taxa de juros do protocolo, casos de uso para mkUSD e medidas de incentivo desalinhadas. Outra proposta significativa que restringe resgates é o PIP-019, executado em 31 de janeiro. Essa proposta aumentou a taxa base de resgate para todos os Gerentes de Tesouraria para 1%-1.5%, reduzindo a elasticidade de ancoragem do mkUSD, mas ao custo de diminuir o risco de resgate para os proprietários do tesouro Prisma.

Parte 2: Análise Residual dos Oráculos

2.1 Objetivos

A análise tem como objetivo avaliar o desempenho dos oráculos Prisma implementados e avaliar o desempenho hipotético de oráculos Curve EMA on-chain alternativos usando dados históricos. As descobertas do estudo fornecerão insights iniciais sobre o comportamento dos oráculos off-chain e on-chain, permitindo uma avaliação mais detalhada em pesquisas subsequentes.

O objetivo desta análise é determinar se o oráculo atual fornece a solução de desempenho mais otimizada ou se melhorias podem ser feitas implementando soluções on-chain ou híbridas utilizando o oráculo da pool EMA da Curve.

2.2 Metodologia

A análise se concentrará especificamente no stETH, pois é o LSD mais comumente usado, com um feed de preço do Chainlink maduro e liquidez profunda no pool Curve. A análise de outros colaterais listados na Prisma foi realizada, e os resultados são fornecidos no Apêndice B do relatório para referência.

A análise comparativa envolve avaliar o grau de alinhamento entre os dados do estudo e o conjunto de dados de referência. Neste caso, dois conjuntos de dados são considerados: os dados do estudo de interesse e o conjunto de dados de referência. Embora se espere que os dados do estudo acompanhem de perto os dados de referência, podem ocorrer desvios.

Para quantificar o alinhamento, examinamos resíduos, que essencialmente representam a diferença entre os dados do teste e os dados de referência. A análise de resíduos tem como objetivo revelar padrões ou tendências nessas diferenças.

Ao analisar os resíduos (desvios dos valores de referência), as observações são feitas com base no desvio padrão dos resíduos. O desvio padrão (DP) é uma medida estatística usada para quantificar a variabilidade ou dispersão de um conjunto de valores. Ele fornece uma indicação da distribuição dos valores em torno da média (média). Um desvio padrão baixo implica que os pontos de dados tendem a estar próximos da média, enquanto um desvio padrão alto indica que os pontos de dados estão espalhados por uma faixa mais ampla.

No nosso caso, uma média próxima de 0 é desejável, pois indica que os preços fornecidos não estão superestimando ou subestimando os preços de referência. No entanto, uma média próxima ou igual a 0, com um desvio padrão relativamente alto, sugere flutuações significativas, que são indesejáveis, pois correspondem a precificações severas. Um feed de oracle com uma média de zero e o desvio padrão mínimo é o resultado ideal, indicando que o feed rastreia com precisão os preços spot.

Para monitorar e avaliar a precisão da atividade de preços de oracle on-chain, as cotações obtidas dos destinos de negociação mais líquidos (excluindo Curve) servem como referência para análise residual. Especificamente, as cotações do par de moedas LSD/ETH na Uniswap são os principais pontos de referência neste cenário.

Nossa análise inclui duas estratégias para derivar os preços da Chainlink stETH. Isso é feito porque foi constatado que a divergência do feed original Chainlink stETH/USD é maior do que a divergência usando stETH/ETH + ETH/USD. Os oráculos foram atualizados de acordo com as propostas de governança. Posteriormente, a análise envolvendo o preço aprimorado da Chainlink stETH/ETH em ETH é referida como stETHv1, enquanto o feed de combinação stETH/USD + ETH/USD (replicando o desempenho original do oráculo stETH, padronizado para ETH) é referido como stETHv2.

2.3 Coleta de dados

Para fins analíticos, os dados do último trimestre de 2023 foram obtidos de todos os ativos respectivos (do bloco 18331000 ao bloco 18931000, com uma resolução de 250 blocos para o conjunto de dados). Isso cria um conjunto de dados contendo 2401 pontos de dados para todos os ativos.

O ativo principal em consideração é stETH, pois é o tipo de garantia atualmente aceito pela Prisma, com o feed Chainlink e a pool Curve StableSwap-ng disponíveis para referência (consulte o Apêndice B para análise sobre rETH e cbETH, que utiliza a implementação mais antiga da pool CryptoSwap). Todos os dados foram obtidos consultando os preços para o intervalo de blocos especificado.

Os preços da Oracle são analisados a partir das seguintes fontes:

Pool de liquidez da Curve

Feedback de Preço da Chainlink

O endereço da pool de mineração Uniswap como agente de referência de preço spot é o seguinte:

Preço à vista da Uniswap

Para padronizar LSD para o seu ETH subjacente, utilizamos a taxa de câmbio interna LSD/ETH:

Taxa de câmbio interna do LSD/ETH

2.4 Análise residual da máquina oráculo stETH

2.4.1 Chainlink e Curve

Nesta seção, vamos comparar a precisão do feed de preço Chainlink stETH com o Curve.

Feed Chainlink stETHv1 vs. Curve

Chainlink: feed stETH/ETH

Curve: pool stETH/ETH

Abaixo está uma comparação direta dos preços do stETH da Chainlink e da Curve. Devido ao ciclo de pulso de 24 horas do Chainlink stETH/ETH, o preço flutua a cada poucos blocos. Comparativamente, as flutuações são mais facilmente observáveis no feed do Chainlink (visualizado melhor no feed do Chainlink stETH/USD) em comparação com a Curve, pois a Curve usa um tempo de EMA de 10 minutos (ma_exp_time) para derivar seu preço.

Se subtrairmos o preço da Curve do preço da Chainlink, obteremos os resíduos, conforme mostrado abaixo:

O valor médio de desvio é ~-0,000305.

Uma observação importante que pode ser feita aqui é que o Curve Oracle superestima ligeiramente seus dados de preço em comparação com o Chainlink.

Chainlink stETHv2 e Curve

Chainlink: feed stETH/USD / feed ETH/USD

Curva: piscina stETH/ETH

Abaixo está uma comparação de preços de feeds alternativos da Chainlink normalizados para ETH (stETH/USD e ETH/USD) versus a stETH Curve. Como o Chainlink stETH/USD possui um limite de desvio de 1% (em comparação com 0,5% no feed stETH/ETH), o preço exibe uma maior divergência em torno do preço âncora.

Como observado anteriormente, as flutuações de preço do stETH/USD da Chainlink são mais pronunciadas em comparação com a Curve.

O valor médio de desvio é ~-0.000171.

Dependendo da escala, este feed tem resíduos maiores, ou seja, mais volatilidade, do que stETH/ETH.

2.4.2 Uniswap e Chainlink

Nesta seção, compararemos a precisão histórica do feed de preço stETH da Chainlink com o preço de referência do Uniswap.

Supondo que os dados de preço da piscina UniswapV3 sirvam como um proxy confiável para os preços à vista, podemos comparar os dados de referência previamente obtidos para verificar a proximidade do feed do Oracle da Chainlink com os valores de referência.

Uniswap Spot vs. Chainlink stETHv1

Chainlink: feed stETH/ETH

Uniswap: taxa de câmbio interna wstETH/ETH do pool / wstETH/stETH

Aqui está a divergência real entre o preço à vista da Uniswap e o stETH/ETH da Chainlink:

Média residual = 0.000415

Desvio padrão das diferenças de preço = 0.000601

Uniswap Spot vs. Chainlink stETHv2

Chainlink: feed stETH/USD / feed ETH/USD

Uniswap: taxa de câmbio interna do pool wstETH/ETH / wstETH/stETH

Aqui está a divergência real entre Uniswap stETH e Chainlink stETH (stETH/USD):

Meaning of price difference = 0.000281

Desvio padrão da diferença de preço = 0.002747

Aqui, comparamos Chainlink stETHv1 (ou seja, stETH/ETH) e stETHv2 (ou seja, stETH/USD) com dados da Uniswap, e os resultados indicam que a divergência do stETHv2 é significativamente maior do que a do stETHv1.

A mesma observação também foi feita na proposta de governança da Prisma (PIP-004) quando o oráculo mudou de stETH/USD para stETH/ETH + ETH/USD para reduzir as variações do feed de preços.

2.4.3 Uniswap e Curve

Nesta seção, compararemos a precisão histórica do Oracle de stETH Curve com o preço de referência da Uniswap.

Pressupondo que os dados de preço da piscina UniswapV3 sirvam como um proxy confiável para os preços à vista, podemos comparar os dados de referência previamente obtidos para verificar a proximidade do feed do Oracle Curve com os valores de referência.

Uniswap Spot vs. Curve

Curva: pool stETH/ETH

Uniswap: taxa de câmbio interna da piscina wstETH/ETH / wstETH/stETH

Com base em uma análise residual semelhante à acima, obtemos as seguintes métricas para comparar com o benchmark previamente definido:

A diferença média de preço = 0.000110.

O desvio padrão das diferenças de preço = 0.000141.

Conforme observado, o preço médio relatado pela Curve é ligeiramente menor do que o Uniswap spot, com um desvio padrão significativamente menor em comparação com qualquer fonte da Chainlink.

2.5 Resultados

Ao comparar essas métricas, descobrimos que a discrepância dos dados da Chainlink é significativamente maior do que a da Curve ao referenciar os dados da Uniswap como um proxy para os preços spot.

Uma vez que as observações acima são baseadas nas divergências de cada fonte de preço, é possível que o feed do Oracle Curve mostre divergências positivas, enquanto o feed do Chainlink mostre divergências negativas, e vice-versa. Este cenário é totalmente negado, uma vez que os intervalos de divergência dos feeds do Chainlink e do Oracle Curve são menores em comparação com os intervalos de divergência do Uniswap & Chainlink e Uniswap & Curve.

A tabela abaixo exibe a análise residual realizada nos dados coletados. A média residual, multiplicada por 100, resulta no percentual de desvio médio do ativo-alvo em relação à referência (em termos de USD, comparado aos preços do ETH denominados em USD).

A tabela compara diretamente o desempenho relativo do Chainlink e Curve com a referência Uniswap em termos de média e desvio padrão para cada ativo. Em todos os casos, Curve apresenta valores de média e desvio padrão mais baixos. O multiplicador de precisão mostra a precisão relativa de cada valor observado.

Os principais pontos aqui são os seguintes:

  1. Com base no desvio padrão dos resíduos, Curve exibe menor volatilidade em comparação com o Chainlink em relação aos preços de referência, e isso se mantém consistente em relação aos ativos observados, embora o desvio padrão entre cbETH para Chainlink e Curve seja semelhante.
  2. De acordo com a tabela acima, ao analisar os meios, pode-se observar que o Chainlink subestima os preços dos ativos em comparação com os preços de referência do Uniswap spot. A Curve se alinha mais de perto com os preços de referência, mas também tende a subestimar ligeiramente os preços em comparação com os preços de referência do Uniswap spot.
  3. Um aviso sobre essas descobertas é que, apesar da superioridade geral do Curve Oracle sobre o Chainlink observada aqui, o rETH e o cbETH experimentaram desvios acentuados e de curta duração, conforme referenciado no Apêndice B: Análise Residual rETH/cbETH. Isso é atribuído à relativa iliquidez das pools, baixa atividade e à inadequação das implementações mais antigas das pools para integração. No entanto, mais pesquisas são necessárias para determinar as métricas de referência necessárias para Oráculos de pool Curve adequadamente confiáveis.

Seção 3: Análise de Resgate de stETH MEV

3.1 Objetivos

A análise tem como objetivo comparar os preços de implementação de eventos de resgate no wstETH TroveManager com os preços hipotéticos cotados usando dados históricos por oráculos alternativos on-chain. Os resultados do estudo fornecerão insights iniciais sobre o comportamento dos oráculos off-chain e on-chain, possibilitando uma avaliação mais detalhada em pesquisas subsequentes.

O objetivo desta análise é determinar se o oráculo atual fornece a melhor solução de desempenho em cenários específicos de resgate ou se melhorias podem ser feitas por meio da implementação de soluções on-chain ou híbridas, utilizando oráculos de pool EMA da Curve.

3.2 Metodologia

Esta análise se concentrará especificamente no stETH, pois é o LSD mais comumente usado e possui feeds de preços maduros da Chainlink e liquidez profunda na pool Curve. O estudo agregará todos os eventos de resgate, comparando os preços do oráculo stETH realizados com vários preços de oráculo alternativos, cotados em USD, e utilizando o preço do oráculo stETH/ETH da Curve.

Para esta análise, o preço stETH realizado é calculado dividindo o valor resgatado de mkUSD pela quantidade de stETH perdida para o Gerenciador de Tesouros na forma de wstETH. Para determinar a quantidade de stETH, precisamos considerar o wstETH recebido do resgate mais o wstETH gasto como taxas e convertê-los em stETH. Se alguma fonte alternativa oferecer consistentemente lucros mais baixos para os resgatantes, podemos dizer que seu desempenho de MEV é melhor do que o preço real.

O TroveManager wstETH é usado para recuperar todos os hashes de transação ao obter mkUSD em troca. Transações em que o endereço que resgata mkUSD recebe e queima mkUSD são consideradas transações BOT. Consultas detalhadas para eventos de resgate podem ser encontradas aqui: Dune query_3352919. Esta consulta é essencial para recuperar todos os dados de transações BOT.

3.3 Coleta de dados

A consulta Dune é usada para identificar transações BOT que obtêm todos os valores de hash de transação, a taxa de câmbio wstETH realizada para resgate de mkUSD e o número do bloco de eventos de resgate. Os números de bloco obtidos na consulta são usados como entradas para consultar os seguintes dados, que são usados para comparar a implementação atual com as mudanças no preço de alimentação Curve stETH:

Com base nos dados acima, podemos construir três feeds de preço usando o preço do Oracle Curve stETH/ETH e mesclá-los com ETH/USD para derivar stETH/USD. Após esta operação, obtemos os seguintes dados para visualização:

Os dados acima fornecem o preço do stETH em USD, que pode ser analisado com base nos preços do stETH realizados de todas as transações BOT. O stETH realizado (em USD) é simplesmente usado para calcular o preço do stETH para cada mkUSD fornecido durante o resgate.

3.4 stETH Análise de Resgate MEV

Abaixo estão 4 fontes de preço stETH para o bloco de negociação BOT (1 referência e 3 alternativas discutidas acima). Os feeds de preço realizados são preços de oráculos de preço implementados (ou seja, Chainlink). Isso é comparado a 3 feeds usando Curve stETH/ETH como o núcleo. Aqui, uma cotação mais alta resultará em uma diminuição no valor de stETH trocado por mkUSD e vice-versa.

Com base nas informações acima, podemos modelar a quantidade relativa de stETH recebida ao resgatar mkUSD e normalizá-la com base na quantidade real recebida do oráculo existente. O gráfico a seguir exibe o stETH obtido a partir do mkUSD antes que as taxas sejam cobradas e processa os dados para remover outliers para uma visualização aprimorada:

3.5 Resultados

A análise revela uma tendência clara: ao combinar Curve stETH/ETH com Uniswap ETH/USDC e Chainlink ETH/USD, a quantidade de stETH disponível para resgate em mkUSD diminui. Consequentemente, uma redução no número de unidades de stETH por resgate em mkUSD leva a uma diminuição nos lucros do BOT. A visualização fornecida ilustra a comparação entre os lucros do BOT sob vários preços de feed assumidos e o preço de feed real, excluindo taxas:

É evidente que a combinação de Curve stETH/ETH, Uniswap ETH/USDC e Chainlink ETH/USD reduz a rentabilidade dos resgates em comparação com o preço de alimentação realizado.

Parte 4: Melhorias Propostas no Oracle

4.1 Solução híbrida Oracle

Reconhecendo os riscos inerentes de depender exclusivamente do oráculo Curve, especialmente durante períodos de baixa liquidez ou flutuações de liquidez, a solução proposta integra estrategicamente o oráculo Chainlink como medida de salvaguarda (ou seja, um plano de backup) em caso de desvios. Considerando a possibilidade negligenciável de o Chainlink fornecer dados incorretos, ele pode servir como uma opção de backup confiável.

Esta solução atua como um filtro, considerando os preços da Curve e Chainlink. As condições são estabelecidas dentro de uma função, servindo como um interruptor. Para projetar essa condição, o conceito de uma faixa aceitável é introduzido. Essa faixa representa a diferença aceitável entre os preços do oráculo Chainlink e Curve. Quando a diferença observada excede essa faixa, indica viés potencial ou manipulação nos dados do Oracle da Curve. Nestes casos, a função mitiga os riscos potenciais favorecendo os preços mais seguros da Chainlink. Por outro lado, quando a diferença está dentro da faixa aceitável, a função confia na precisão e precisão do Oracle da Curve.

Vale ressaltar que a faixa aceitável pode ser configurada como estática ou dinâmica, dependendo da volatilidade dos ativos subjacentes (por exemplo, ETH e LSD relacionados). A natureza dinâmica permite a adaptação às condições de mercado voláteis, garantindo elasticidade e mecanismos de resposta na determinação de preços. Essa estratégia de duplo pronged minimiza a dependência de uma única fonte de dados, melhorando assim a resiliência e confiabilidade geral do mecanismo de preços.

4.2 Solução de verificação

4.2.1 Faixa aceitável estática

A solução introduz um método estático, acceptable_range, para lidar com vulnerabilidades potenciais ao depender exclusivamente do Curve Oracle. Embora os preços gerados pelo Curve Oracle possam ser mais precisos do que os do Chainlink, eles podem ser suscetíveis a manipulações. Por outro lado, o Chainlink é robusto e testado, considerado uma escolha mais segura na indústria. Quando a diferença entre o Curve Oracle e o Chainlink excede um valor fixo, o acceptable_range serve como um limite para mudar para o feed do Chainlink.

Estrategicamente, a acceptable_range aceita cotações que estão dentro de ±1% das cotações do Chainlink. Isso está quase três desvios padrão de diferença em relação à média entre Curve e Chainlink, considerando os feeds aprimorados de stETH/ETH e ETH/USD em comparação com o feed anterior de stETH/USD.

4.2.2 Saída da função preço derivado

O derived_price é uma função ou mecanismo projetado para determinar a cotação final de um ativo dado, especialmente em cenários envolvendo o Oracle da Curve e o Oracle da Chainlink.

Na solução descrita, essa função avalia cotações tanto do Curve Oracle quanto do Chainlink Oracle. Com base na diferença observada entre esses dois preços e se ela está dentro ou excede a faixa aceita predefinida, a função gera diferentes preços derivados.

Aqui está uma comparação do derived_price com as outras fontes de preço anteriormente exibidas:

Os lucros do BOT podem ser visualizados por este preço derivado (uma vez que não há desvio, este preço será exatamente igual ao Curve stETH/ETH e CL stETH/ETH) conforme mostrado abaixo:

Analisar os lucros totais pode revelar o quadro geral. Seis valores atípicos foram identificados e o lucro total para cada caso foi calculado antes e depois de filtrar os valores atípicos.

Curve stETH/ETH e Uniswap ETH/USDC têm o melhor desempenho na redução do lucro disponível para os BOTs. O preço derivado que eles fornecem tem o mesmo potencial de lucro que a implementação atual do Oracle stETH, mas limita o lucro, assumindo que economiza aproximadamente 35,4 ETH para os usuários em 189 transações analisadas.

4.3 Conclusão

Devido à grande dependência de cotações das exchanges descentralizadas mais líquidas para atividades on-chain e ao fato de que os bots MEV também seguem as mesmas cotações ao trocar mkUSD por LSD, a precisão das cotações (usadas para precificar resgates pelo Oráculo) é de extrema importância.

Dados históricos sugerem que os preços do Oracle da pool Curve estão mais próximos da referência (dados de preço UniswapV3) em comparação com os preços da Chainlink. Os dados indicam que a implementação do Oracle da Curve reduziria o MEV para os bots e forneceria melhores taxas de câmbio para os usuários que resgatam seus tesouros.

Embora usar o Curve Oracle como um Oracle independente possa ser tentador, a eficácia do feedback de preço do Curve depende da profundidade de liquidez de ativos específicos e da interação com o pool. Uma solução híbrida de Oracle com o Curve Oracle e o Chainlink Oracle pode ser usada para combinar preços on-chain, mantendo a confiabilidade e a ampla cobertura de mercado herdados do Chainlink Oracle.

A solução híbrida da Oracle que propomos avalia o desvio padrão (SD) para gerar derived_price. Se o SD se aproximar de 0, isso indica adesão aos valores de referência derived_price, tornando-a digna de consideração. Isso garante que, quando a Oracle da Curve se desvia dos limites predefinidos, a solução muda dinamicamente para a fonte mais segura da Chainlink. Como essa solução quase sempre produz a cotação da Curve para stETH, assume-se que a atividade de MEV é a mesma que usar a stETH/ETH da Curve, sem fallback.

Apêndice A: Scripts de Processamento de Dados

Os scripts usados para gerar a análise neste relatório são os seguintes:

  1. OracleAnalysisV4: Caderno Colab para coleta de dados
  2. OracleAnalysisPlayground: Notebook do Colab para traçar gráficos usando arquivos de dados pickle
  3. PrismaOracleModelingV1: Caderno Colab para traçar gráficos de atividade de troca de MEV
  4. Modelagem de Preço Derivado: Caderno Colab para testar e modelar soluções Oracle alternativas

Apêndice B: análise residual rETH/cbETH

Outros Gráficos rETH

Chainlink e Curve

Uniswap e Curve

Uniswap e Chainlink

Verifique o pico rETH

Durante o período de observação, o preço do oráculo da curva rETH atingiu picos várias vezes. Isso resultou em um aumento acentuado no desvio de preço entre o preço do oráculo e a referência à vista. Abaixo está um gráfico mais detalhado que mostra o comportamento da proporção do pool de liquidez/token e do preço do oráculo durante os períodos de aumento de preço.

start_block = 18824000

end_block = 18827000

interval_blocks = 100

Proporção da piscina de mineração:

Preço do Oracle:

start_block = 18850000

end_block = 18858000

interval_blocks = 100

Proporção da piscina de mineração:

Preço do Oracle:

start_block = 18880000

end_block = 18885000

interval_blocks = 100

Taxa da pool de mineração:

Preço do Oracle:

Outros Gráficos cbETH

Chainlink e Curve

Uniswap e Curve

Uniswap e Chainlink

Verificar Pico cbETH

Durante o período de observação, os preços do Oracle Curve cbETH experimentaram vários picos. Em várias ocasiões, isso resultou em picos significativos na divergência de preços entre o preço do Oracle e a referência spot. Abaixo está um gráfico mais detalhado mostrando o comportamento das taxas de pool de liquidez/liquidez do token durante esses períodos de aumento de preços e o comportamento dos preços do Oracle.

start_block = 18693500

end_block = 18696000

interval_blocks = 10

Rácio da pool de mineração:

Preço do Oracle:

start_block = 18814000

end_block = 18816500

interval_blocks = 10

Proporção da piscina de mineração:

Preço do Oracle:

start_block = 18800000

end_block = 18805000

interval_blocks = 10

Taxa de pool de mineração:

Preço do Oracle:

Declaração:

  1. Este artigo é reproduzido de [marsbit] título original “Análise comparativa dos oráculos opcionais do Prisma”, os direitos autorais pertencem ao autor original [PrismaRisk], se você tiver alguma objeção à reprodução, entre em contatoEquipe de Aprendizagem Gate, a equipe lidará com isso o mais rapidamente possível de acordo com os procedimentos relevantes.

  2. Aviso Legal: As opiniões expressas neste artigo representam apenas as opiniões pessoais do autor e não constituem qualquer tipo de conselho de investimento.

  3. Outras versões do artigo em outros idiomas são traduzidas pela equipe Gate Learn, não mencionadas em Gate.io, o artigo traduzido não pode ser reproduzido, distribuído ou plagiado.

Análise Comparativa Oracle Opcional Prisma

intermediário4/7/2024, 12:46:07 PM
Este artigo avalia o desempenho histórico da integração do Chainlink e a substituição do Oracle Curve Pool EMA. Foi constatado que a falta de fontes de dados confiáveis do Chainlink para ativos de garantia impactou a integração com a plataforma Prisma. O estudo propõe especificações preliminares para melhorar o Oracle a fim de aprimorar a precisão e confiabilidade do preço. Além disso, a pesquisa discute a importância do Oracle nos processos de liquidação e resgate do Prisma. É aconselhável usar com cautela a função de oráculo de preço da Curve. Por fim, é proposta uma solução híbrida que combina o Oracle da Curve e do Chainlink para aprimorar a flexibilidade e confiabilidade do mecanismo de preços. Este relatório é aplicável apenas ao protocolo Prisma.

Introdução

Este estudo teve origem no desafio de obter informações de preço on-chain confiáveis que maximizem a segurança, refletindo os preços atuais dos ativos-alvo. Especificamente, focamos nos ativos de garantia da Prisma Finance (wstETH, rETH, cbETH e sfrxETH), bem como nos derivados de staking líquido baseados em Ethereum (LSD). Alguns desses ativos não têm fontes de dados da Chainlink (frequentemente consideradas o padrão ouro para dados de preços confiáveis), o que afetou sua integração com a plataforma Prisma.

A mais recente implementação da piscina estável da Curve Finance inclui um Oracle interno da piscina, que calcula a Média Móvel Exponencial (EMA) para derivar dados de preço à prova de adulteração. Enquanto os integradores começaram a explorar o uso do Oracle em outras aplicações DeFi, o Oracle é usado principalmente para garantir a segurança do colateral no próprio mercado crvUSD da Curve.

O principal objetivo deste relatório é determinar se o Oracle da Curve Finance pode servir como uma alternativa confiável ao Chainlink para tokens ETH LSD. Este estudo envolve análise estatística da eficácia do Oracle de preço da Curve, comparando sua volatilidade, precisão e desempenho geral com os preços de referência da Uniswap (assumidos como preços precisos na cadeia).

A análise está dividida em dois estudos relacionados:

Análise Residual dos Oráculos stETH: Um estudo comparativo entre Chainlink e Curve, utilizando dados históricos para determinar a desvio do Oráculo em relação à média e desvio padrão do preço de referência.

Análise de Resgate stETH MEV: Um estudo comparativo entre Chainlink e Oracle on-chain, usando dados históricos para examinar eventos de resgate na Prisma e estimar a lucratividade do robô e o comportamento esperado usando Oracles alternativos.

Após análise, fornecemos especificações preliminares para o Oracle, esperando melhorias na variação de preço do Oracle, garantindo a confiabilidade do Oracle. A solução proposta pode servir como um esboço inicial para outros estudos com o objetivo de otimizar o Oracle.

Seção 1: Antecedentes relevantes

1.1 Funções do Oracle no protocolo Prisma

A eficácia dos oráculos é avaliada dentro do ambiente específico de uso do Prisma: liquidação e resgate. (Além disso, observe que os mesmos oráculos também são usados para taxas de emissão de tokens e venda de tokens adquiridos para o “pool estável tokenizado,” cuja importância aumentará uma vez lançado.)

O desempenho do Oracle é crucial para os usuários do Prisma, pois os arbitragistas podem ter oportunidades de lucrar com discrepâncias entre os preços do Oracle e os preços à vista. Garantir o uso do feedback de preço mais preciso durante a liquidação e resgate, sem sacrificar a segurança das fontes de preços, está alinhado com os melhores interesses do protocolo Prisma e de seus depositantes do tesouro.

Duas funções do Oracle dentro do Prisma estão delineadas da seguinte forma:

1.1.1 Liquidação

Para proteger o Prisma da insolvência, onde as posições de dívida excedem o valor de suas garantias, o contrato LiquidationManager executa a lógica de liquidação em todos os TroveManagers ativos (tesourarias da Prisma). A liquidação pode ser acionada de uma das três maneiras, dependendo da relação de garantia da conta de destino e da relação de garantia em todo o sistema.

Razão de Colateral Individual (ICR) <= 100%: A conta (tesouraria) possui colateral insuficiente. Toda a dívida e colateral são redistribuídos entre as tesourarias ativas restantes, socializando efetivamente a perda.

100% < ICR < Índice Mínimo de Colateral (MCR): O tesouro cai abaixo do limite de liquidação, mas pode ser liquidado com segurança. O pool estável é usado como reserva para lidar com liquidações (incentivando o pool de liquidação). O colateral é alocado aos depositantes do pool estável. Se o saldo do pool estável for insuficiente para reembolsar totalmente o tesouro, a dívida restante e o colateral são redistribuídos entre os tesouros ativos restantes.

MCR <= ICR < Global Total Collateral Ratio (GTCR) && GTCR < 150%: O sistema está em modo de recuperação, o que significa que os tesouros podem ser liquidados quando o CR estiver abaixo do GTCR, em vez de MCR. Os depósitos no pool estável são usados primeiro para liquidar o tesouro. O equivalente de colateral ao valor da dívida no MCR é distribuído entre os depositantes do pool estável. O colateral restante pode ser reivindicado pelo proprietário do tesouro.

A possibilidade de liquidação do Prisma aumenta quando o ETH ou o ETH LSD experimentam flutuações significativas de preço, especialmente quedas, em condições de mercado altamente voláteis. Enquanto falhas ou manipulações do Oracle podem afetar o protocolo a qualquer momento, o risco de falha do Oracle pode aumentar nos momentos mais cruciais. Os ativos de garantia podem falhar em atualizar os preços de forma oportuna devido a picos de taxas de gás, ou a metodologia de precificação do Oracle pode não rastrear adequadamente a volatilidade aumentada, resultando em precificação incorreta. As insolvências podem aumentar, exigindo redistribuição entre tesourarias ativas, ou os mutuários podem ser liquidados injustamente (nos casos em que o Oracle relata erroneamente preços abaixo dos preços de mercado justos).

1.1.2 Resgate

Arbitrageurs podem sempre iniciar resgates, optando por resgatar 1 mkUSD no valor de garantia por 1 dólar americano (+ taxas de resgate dinâmicas), a partir do tesouro com a menor proporção de garantia no sistema. Isso ajuda a fortalecer sua fixação quando o preço do mkUSD cai abaixo de 1 dólar americano. O processo de resgate reduz o risco de garantia do tesouro alvo e aumenta sua proporção de garantia. A parte que executa o resgate paga uma taxa chamada taxa de resgate. A faixa de taxas de resgate é por TroveManager e é a soma do piso da taxa de resgate + a base. Variáveis armazenadas no TroveManager aumentam proporcionalmente com o suprimento total de mkUSD resgatado e diminuem linearmente ao longo do tempo. Essa taxa dinâmica, a base, ajusta a taxa de resgate lucrativa.

Embora as liquidações na Prisma tenham sido historicamente raras, os resgates são comuns e merecem consideração especial para os Oráculos. Bots de MEV buscam ativamente tais oportunidades para lucrar rapidamente por meio de empréstimos instantâneos.

Além do inconveniente da redenção forçada de seus tesouros, os usuários podem experimentar alguma extração de valor devido a desvios entre o Oráculo e os preços à vista. A precificação incorreta pode levar os usuários a perderem mais ativos do que o necessário, especialmente quando o Oráculo relata preços abaixo do valor de mercado justo. Por outro lado, preços relatados pelo Oráculo mais altos do que os preços de mercado justos podem dificultar as redenções, anulando o propósito do mecanismo de redenção que impõe o piso de ancoragem mkUSD.

1.2 opções do Oracle

Aqui está uma breve visão dos principais candidatos para feeds de preço da Oracle na Prisma.

1.2.1 Chainlink (off-chain)

Chainlink é uma rede de oráculos descentralizada que agrega dados de uma ampla gama de fontes de mercado e conecta esses dados a contratos inteligentes. Sua arquitetura depende de operadores de nós independentes que coletam e transmitem dados de várias exchanges e APIs de agregadores de dados de mercado, minimizando pontos únicos de falha e melhorando a segurança. A integridade dos dados é garantida por meio de métodos criptográficos e mecanismos de consenso que verificam a precisão dos dados antes da transmissão. Sua abordagem envolve a precificação de ativos ponderada pelo volume (VWAP) para agregar valores de mercado justos que melhor representam os preços à vista dos ativos.

As redes de nós regularmente (batimento cardíaco) ou com base em limites de desvio de preço empurram os preços para a cadeia. Essa limitação, devido às altas taxas de gás na mainnet, pode tornar as atualizações de preço caras e levar a um aumento de latência, reduzindo assim o desempenho do Oracle. O custo de manter tais Oracles pode ser alto, especialmente durante períodos de alta volatilidade, tornando as atualizações oportunas do Oracle crucial.

1.2.2 Curva pool EMA Oracle (on-chain)

Recent implementations of pools Curve (pools StableSwap and CryptoSwap) include cálculos de preço EMA expostos por funções getter como price_oracle(). Essas pools não dependem de oráculos externos, mas calculam os preços dos ativos em relação ao token no índice 0 da pool com base em suas próprias atividades de negociação internamente. A EMA aumenta os custos de manipulação por meio de ajustes de preços suavizados, encontrando um equilíbrio entre resistência à manipulação e desvio de preço do spot. Cada pool tem um ma_exp_timeque pode ser configurado por meio de votação do Curve DAO.

Conforme divulgado na documentação do Curve Oracle, o EMA Oracle tem estado ativamente em desenvolvimento:

Se deseja usar a funcionalidade de 'oráculo de preço' da Curve ou qualquer oráculo de preço para fornecer dados de preços on-chain em sua aplicação descentralizada que está construindo, sugerimos que exerça cautela extra.

Diferentes implementações de pool modificam versões do código do Oráculo EMA, então os integradores devem entender a implementação do Oráculo do pool de destino.

Em novembro de 2023, foi descoberto um erro que afetava o oráculo do pool durante a implementação do pool stableswap-ng. Este erro foi descoberto logo após a implementação do pool pelo yAudit durante uma auditoria secundária. Isso levou a uma proposta para atualizar a implementação e descontinuar alguns pools afetados. Não houve risco de fundos, mas este evento destacou o desenvolvimento ativo dos oráculos de pool da Curve e o potencial de inconsistências entre os pools, apesar de auditorias extensivas, e a possibilidade de continuidade de erros que poderiam tornar os oráculos vulneráveis a manipulações ou imprecisões.

1.3 Histórico de Resgate MEV

A terceira parte deste relatório é uma análise do resgate do Gerenciador de Tesouros wstETH. Dado o impacto significativo do resgate nos usuários do Prisma, esta seção apresenta observações sobre resgates históricos, que serão avaliados em comparação com o Oráculo EMA Curve alternativo na análise comparativa.

1.3.1 Comportamento do BOT

Consultar eventos de resgate no TroveManager wstETH revela mais de 200 transações de resgate no total, com 190 transações identificadas como transações de BOT (o método usado para identificar transações executadas por BOTs será explicado posteriormente na mesma seção). Abaixo está uma visualização mostrando a frequência dessas transações ao longo do tempo.

Origem: Dune query_3402461

Existem apenas 3 BOTs que frequentemente trocam mkUSD:

Origem: Dune query_3402461

Cada BOT segue um processo geral semelhante de adquirir mkUSD e resgatar. Abaixo está uma das transações do BOT, revelando algumas informações úteis:

Origem: Explorador Tx Phalcon

O padrão de transação BOT pode ser subdividido ainda mais da seguinte forma:

Obter empréstimos relâmpago do Uniswap V3: USDC.

Converter USDC para mkUSD usando a Curve.fi Factory USD Metapool: Prisma mkUSD.

Troque mkUSD por wstETH no wstETH TroveManager.

Desembrulhe wstETH em stETH no wstETH.

Troque stETH por ETH na piscina Curve stETH/ETH.

Wrap ETH, pagar o empréstimo e distribuir lucros e comissões.

A lucratividade do MEV depende das diferenças de preço nas etapas 2, 3 e 5:

2: À medida que o preço mkUSD diminui, a lucratividade da redenção aumenta.

3: Conforme as taxas de resgate dinâmicas diminuem como uma função das quantidades de resgate recentes e do tempo desde o resgate, a lucratividade do resgate aumenta.

-5: À medida que o deslizamento nas trocas de ativos (por exemplo, stETH) aumenta, a lucratividade da redenção diminui. LSD como stETH pode ser trocado diretamente pelo ETH subjacente, mas esse processo requer um período de espera, tornando a liquidez no mercado secundário crucial

Prisma emprega um mecanismo para limitar as oportunidades de lucro da redenção de mkUSD para wstETH por meio de taxas dinâmicas. O Passo 3 envolve taxas dinâmicas para evitar redenções frequentes e excessivas. Apesar desse mecanismo, as redenções ainda podem ocorrer devido ao erro de precificação do Oracle para extrair MEV. As cotações do Oracle para a redenção de mkUSD podem oferecer aos proprietários do tesouro taxas de garantia subótimas, levando a uma experiência negativa do usuário.

1.3.2 Validade das alterações do oráculo wstETH

A proposta de alteração de preços da Prisma Oracle para stETH foi aprovada. Inicialmente, a Prisma usava o oráculo Chainlink stETH/USD, com um limite de desvio de 1% para o WstETH TroveManager. Foi constatado que o uso de uma combinação dos oráculos Chainlink stETH/ETH e ETH/USD poderia levar a melhorias, com um limite de desvio de 0,5% para cada oráculo.

Por favor, consulte a divergência entre o novo Oracle e o antigo Oracle com uma resolução de 15 blocos:

Origem: Gráfico por @wavey

Foi observado que quando o preço de negociação do mkUSD cai abaixo de sua taxa fixada, ocorrem resgates excessivos devido a uma desvio do Oracle superior a 1%. Nestes casos, verificamos que as taxas dinâmicas eram insuficientes para evitar resgates excessivos causados por desvios de preços. Consulte o ajuste das taxas de resgate para eventos de resgate abaixo.

Fonte: Gráfico por @wavey

Essas redenções podem incorrer em custos indiretos para os usuários da Prisma, pois podem receber taxas desfavoráveis quando seus tesouros são resgatados. A análise da Wavey indica que o oráculo stETH/USD é mais propenso a desvios em comparação com as combinações de oráculos validadas nos dados acima. Desvios transitórios superiores a 1,2% criaram oportunidades para bots de MEV explorarem.

A proposta de alteração do Oracle (PIP-004) foi executada em 17 de novembro de 2023, às 7:15:35 PM +UTC, juntamente com esta transação. Com base no gráfico de preços mkUSD abaixo e na data de execução da proposta, pode-se observar que após a execução da proposta, o preço realizado do mkUSD em USDC diminuiu. A diminuição da lucratividade dos resgates devido às melhorias do oráculo pode resultar em uma diminuição da força de fixação.

Origem: Dune query_5685458

Outros fatores influentes também devem ser considerados, incluindo limitações do modelo de taxa de juros do protocolo, casos de uso para mkUSD e medidas de incentivo desalinhadas. Outra proposta significativa que restringe resgates é o PIP-019, executado em 31 de janeiro. Essa proposta aumentou a taxa base de resgate para todos os Gerentes de Tesouraria para 1%-1.5%, reduzindo a elasticidade de ancoragem do mkUSD, mas ao custo de diminuir o risco de resgate para os proprietários do tesouro Prisma.

Parte 2: Análise Residual dos Oráculos

2.1 Objetivos

A análise tem como objetivo avaliar o desempenho dos oráculos Prisma implementados e avaliar o desempenho hipotético de oráculos Curve EMA on-chain alternativos usando dados históricos. As descobertas do estudo fornecerão insights iniciais sobre o comportamento dos oráculos off-chain e on-chain, permitindo uma avaliação mais detalhada em pesquisas subsequentes.

O objetivo desta análise é determinar se o oráculo atual fornece a solução de desempenho mais otimizada ou se melhorias podem ser feitas implementando soluções on-chain ou híbridas utilizando o oráculo da pool EMA da Curve.

2.2 Metodologia

A análise se concentrará especificamente no stETH, pois é o LSD mais comumente usado, com um feed de preço do Chainlink maduro e liquidez profunda no pool Curve. A análise de outros colaterais listados na Prisma foi realizada, e os resultados são fornecidos no Apêndice B do relatório para referência.

A análise comparativa envolve avaliar o grau de alinhamento entre os dados do estudo e o conjunto de dados de referência. Neste caso, dois conjuntos de dados são considerados: os dados do estudo de interesse e o conjunto de dados de referência. Embora se espere que os dados do estudo acompanhem de perto os dados de referência, podem ocorrer desvios.

Para quantificar o alinhamento, examinamos resíduos, que essencialmente representam a diferença entre os dados do teste e os dados de referência. A análise de resíduos tem como objetivo revelar padrões ou tendências nessas diferenças.

Ao analisar os resíduos (desvios dos valores de referência), as observações são feitas com base no desvio padrão dos resíduos. O desvio padrão (DP) é uma medida estatística usada para quantificar a variabilidade ou dispersão de um conjunto de valores. Ele fornece uma indicação da distribuição dos valores em torno da média (média). Um desvio padrão baixo implica que os pontos de dados tendem a estar próximos da média, enquanto um desvio padrão alto indica que os pontos de dados estão espalhados por uma faixa mais ampla.

No nosso caso, uma média próxima de 0 é desejável, pois indica que os preços fornecidos não estão superestimando ou subestimando os preços de referência. No entanto, uma média próxima ou igual a 0, com um desvio padrão relativamente alto, sugere flutuações significativas, que são indesejáveis, pois correspondem a precificações severas. Um feed de oracle com uma média de zero e o desvio padrão mínimo é o resultado ideal, indicando que o feed rastreia com precisão os preços spot.

Para monitorar e avaliar a precisão da atividade de preços de oracle on-chain, as cotações obtidas dos destinos de negociação mais líquidos (excluindo Curve) servem como referência para análise residual. Especificamente, as cotações do par de moedas LSD/ETH na Uniswap são os principais pontos de referência neste cenário.

Nossa análise inclui duas estratégias para derivar os preços da Chainlink stETH. Isso é feito porque foi constatado que a divergência do feed original Chainlink stETH/USD é maior do que a divergência usando stETH/ETH + ETH/USD. Os oráculos foram atualizados de acordo com as propostas de governança. Posteriormente, a análise envolvendo o preço aprimorado da Chainlink stETH/ETH em ETH é referida como stETHv1, enquanto o feed de combinação stETH/USD + ETH/USD (replicando o desempenho original do oráculo stETH, padronizado para ETH) é referido como stETHv2.

2.3 Coleta de dados

Para fins analíticos, os dados do último trimestre de 2023 foram obtidos de todos os ativos respectivos (do bloco 18331000 ao bloco 18931000, com uma resolução de 250 blocos para o conjunto de dados). Isso cria um conjunto de dados contendo 2401 pontos de dados para todos os ativos.

O ativo principal em consideração é stETH, pois é o tipo de garantia atualmente aceito pela Prisma, com o feed Chainlink e a pool Curve StableSwap-ng disponíveis para referência (consulte o Apêndice B para análise sobre rETH e cbETH, que utiliza a implementação mais antiga da pool CryptoSwap). Todos os dados foram obtidos consultando os preços para o intervalo de blocos especificado.

Os preços da Oracle são analisados a partir das seguintes fontes:

Pool de liquidez da Curve

Feedback de Preço da Chainlink

O endereço da pool de mineração Uniswap como agente de referência de preço spot é o seguinte:

Preço à vista da Uniswap

Para padronizar LSD para o seu ETH subjacente, utilizamos a taxa de câmbio interna LSD/ETH:

Taxa de câmbio interna do LSD/ETH

2.4 Análise residual da máquina oráculo stETH

2.4.1 Chainlink e Curve

Nesta seção, vamos comparar a precisão do feed de preço Chainlink stETH com o Curve.

Feed Chainlink stETHv1 vs. Curve

Chainlink: feed stETH/ETH

Curve: pool stETH/ETH

Abaixo está uma comparação direta dos preços do stETH da Chainlink e da Curve. Devido ao ciclo de pulso de 24 horas do Chainlink stETH/ETH, o preço flutua a cada poucos blocos. Comparativamente, as flutuações são mais facilmente observáveis no feed do Chainlink (visualizado melhor no feed do Chainlink stETH/USD) em comparação com a Curve, pois a Curve usa um tempo de EMA de 10 minutos (ma_exp_time) para derivar seu preço.

Se subtrairmos o preço da Curve do preço da Chainlink, obteremos os resíduos, conforme mostrado abaixo:

O valor médio de desvio é ~-0,000305.

Uma observação importante que pode ser feita aqui é que o Curve Oracle superestima ligeiramente seus dados de preço em comparação com o Chainlink.

Chainlink stETHv2 e Curve

Chainlink: feed stETH/USD / feed ETH/USD

Curva: piscina stETH/ETH

Abaixo está uma comparação de preços de feeds alternativos da Chainlink normalizados para ETH (stETH/USD e ETH/USD) versus a stETH Curve. Como o Chainlink stETH/USD possui um limite de desvio de 1% (em comparação com 0,5% no feed stETH/ETH), o preço exibe uma maior divergência em torno do preço âncora.

Como observado anteriormente, as flutuações de preço do stETH/USD da Chainlink são mais pronunciadas em comparação com a Curve.

O valor médio de desvio é ~-0.000171.

Dependendo da escala, este feed tem resíduos maiores, ou seja, mais volatilidade, do que stETH/ETH.

2.4.2 Uniswap e Chainlink

Nesta seção, compararemos a precisão histórica do feed de preço stETH da Chainlink com o preço de referência do Uniswap.

Supondo que os dados de preço da piscina UniswapV3 sirvam como um proxy confiável para os preços à vista, podemos comparar os dados de referência previamente obtidos para verificar a proximidade do feed do Oracle da Chainlink com os valores de referência.

Uniswap Spot vs. Chainlink stETHv1

Chainlink: feed stETH/ETH

Uniswap: taxa de câmbio interna wstETH/ETH do pool / wstETH/stETH

Aqui está a divergência real entre o preço à vista da Uniswap e o stETH/ETH da Chainlink:

Média residual = 0.000415

Desvio padrão das diferenças de preço = 0.000601

Uniswap Spot vs. Chainlink stETHv2

Chainlink: feed stETH/USD / feed ETH/USD

Uniswap: taxa de câmbio interna do pool wstETH/ETH / wstETH/stETH

Aqui está a divergência real entre Uniswap stETH e Chainlink stETH (stETH/USD):

Meaning of price difference = 0.000281

Desvio padrão da diferença de preço = 0.002747

Aqui, comparamos Chainlink stETHv1 (ou seja, stETH/ETH) e stETHv2 (ou seja, stETH/USD) com dados da Uniswap, e os resultados indicam que a divergência do stETHv2 é significativamente maior do que a do stETHv1.

A mesma observação também foi feita na proposta de governança da Prisma (PIP-004) quando o oráculo mudou de stETH/USD para stETH/ETH + ETH/USD para reduzir as variações do feed de preços.

2.4.3 Uniswap e Curve

Nesta seção, compararemos a precisão histórica do Oracle de stETH Curve com o preço de referência da Uniswap.

Pressupondo que os dados de preço da piscina UniswapV3 sirvam como um proxy confiável para os preços à vista, podemos comparar os dados de referência previamente obtidos para verificar a proximidade do feed do Oracle Curve com os valores de referência.

Uniswap Spot vs. Curve

Curva: pool stETH/ETH

Uniswap: taxa de câmbio interna da piscina wstETH/ETH / wstETH/stETH

Com base em uma análise residual semelhante à acima, obtemos as seguintes métricas para comparar com o benchmark previamente definido:

A diferença média de preço = 0.000110.

O desvio padrão das diferenças de preço = 0.000141.

Conforme observado, o preço médio relatado pela Curve é ligeiramente menor do que o Uniswap spot, com um desvio padrão significativamente menor em comparação com qualquer fonte da Chainlink.

2.5 Resultados

Ao comparar essas métricas, descobrimos que a discrepância dos dados da Chainlink é significativamente maior do que a da Curve ao referenciar os dados da Uniswap como um proxy para os preços spot.

Uma vez que as observações acima são baseadas nas divergências de cada fonte de preço, é possível que o feed do Oracle Curve mostre divergências positivas, enquanto o feed do Chainlink mostre divergências negativas, e vice-versa. Este cenário é totalmente negado, uma vez que os intervalos de divergência dos feeds do Chainlink e do Oracle Curve são menores em comparação com os intervalos de divergência do Uniswap & Chainlink e Uniswap & Curve.

A tabela abaixo exibe a análise residual realizada nos dados coletados. A média residual, multiplicada por 100, resulta no percentual de desvio médio do ativo-alvo em relação à referência (em termos de USD, comparado aos preços do ETH denominados em USD).

A tabela compara diretamente o desempenho relativo do Chainlink e Curve com a referência Uniswap em termos de média e desvio padrão para cada ativo. Em todos os casos, Curve apresenta valores de média e desvio padrão mais baixos. O multiplicador de precisão mostra a precisão relativa de cada valor observado.

Os principais pontos aqui são os seguintes:

  1. Com base no desvio padrão dos resíduos, Curve exibe menor volatilidade em comparação com o Chainlink em relação aos preços de referência, e isso se mantém consistente em relação aos ativos observados, embora o desvio padrão entre cbETH para Chainlink e Curve seja semelhante.
  2. De acordo com a tabela acima, ao analisar os meios, pode-se observar que o Chainlink subestima os preços dos ativos em comparação com os preços de referência do Uniswap spot. A Curve se alinha mais de perto com os preços de referência, mas também tende a subestimar ligeiramente os preços em comparação com os preços de referência do Uniswap spot.
  3. Um aviso sobre essas descobertas é que, apesar da superioridade geral do Curve Oracle sobre o Chainlink observada aqui, o rETH e o cbETH experimentaram desvios acentuados e de curta duração, conforme referenciado no Apêndice B: Análise Residual rETH/cbETH. Isso é atribuído à relativa iliquidez das pools, baixa atividade e à inadequação das implementações mais antigas das pools para integração. No entanto, mais pesquisas são necessárias para determinar as métricas de referência necessárias para Oráculos de pool Curve adequadamente confiáveis.

Seção 3: Análise de Resgate de stETH MEV

3.1 Objetivos

A análise tem como objetivo comparar os preços de implementação de eventos de resgate no wstETH TroveManager com os preços hipotéticos cotados usando dados históricos por oráculos alternativos on-chain. Os resultados do estudo fornecerão insights iniciais sobre o comportamento dos oráculos off-chain e on-chain, possibilitando uma avaliação mais detalhada em pesquisas subsequentes.

O objetivo desta análise é determinar se o oráculo atual fornece a melhor solução de desempenho em cenários específicos de resgate ou se melhorias podem ser feitas por meio da implementação de soluções on-chain ou híbridas, utilizando oráculos de pool EMA da Curve.

3.2 Metodologia

Esta análise se concentrará especificamente no stETH, pois é o LSD mais comumente usado e possui feeds de preços maduros da Chainlink e liquidez profunda na pool Curve. O estudo agregará todos os eventos de resgate, comparando os preços do oráculo stETH realizados com vários preços de oráculo alternativos, cotados em USD, e utilizando o preço do oráculo stETH/ETH da Curve.

Para esta análise, o preço stETH realizado é calculado dividindo o valor resgatado de mkUSD pela quantidade de stETH perdida para o Gerenciador de Tesouros na forma de wstETH. Para determinar a quantidade de stETH, precisamos considerar o wstETH recebido do resgate mais o wstETH gasto como taxas e convertê-los em stETH. Se alguma fonte alternativa oferecer consistentemente lucros mais baixos para os resgatantes, podemos dizer que seu desempenho de MEV é melhor do que o preço real.

O TroveManager wstETH é usado para recuperar todos os hashes de transação ao obter mkUSD em troca. Transações em que o endereço que resgata mkUSD recebe e queima mkUSD são consideradas transações BOT. Consultas detalhadas para eventos de resgate podem ser encontradas aqui: Dune query_3352919. Esta consulta é essencial para recuperar todos os dados de transações BOT.

3.3 Coleta de dados

A consulta Dune é usada para identificar transações BOT que obtêm todos os valores de hash de transação, a taxa de câmbio wstETH realizada para resgate de mkUSD e o número do bloco de eventos de resgate. Os números de bloco obtidos na consulta são usados como entradas para consultar os seguintes dados, que são usados para comparar a implementação atual com as mudanças no preço de alimentação Curve stETH:

Com base nos dados acima, podemos construir três feeds de preço usando o preço do Oracle Curve stETH/ETH e mesclá-los com ETH/USD para derivar stETH/USD. Após esta operação, obtemos os seguintes dados para visualização:

Os dados acima fornecem o preço do stETH em USD, que pode ser analisado com base nos preços do stETH realizados de todas as transações BOT. O stETH realizado (em USD) é simplesmente usado para calcular o preço do stETH para cada mkUSD fornecido durante o resgate.

3.4 stETH Análise de Resgate MEV

Abaixo estão 4 fontes de preço stETH para o bloco de negociação BOT (1 referência e 3 alternativas discutidas acima). Os feeds de preço realizados são preços de oráculos de preço implementados (ou seja, Chainlink). Isso é comparado a 3 feeds usando Curve stETH/ETH como o núcleo. Aqui, uma cotação mais alta resultará em uma diminuição no valor de stETH trocado por mkUSD e vice-versa.

Com base nas informações acima, podemos modelar a quantidade relativa de stETH recebida ao resgatar mkUSD e normalizá-la com base na quantidade real recebida do oráculo existente. O gráfico a seguir exibe o stETH obtido a partir do mkUSD antes que as taxas sejam cobradas e processa os dados para remover outliers para uma visualização aprimorada:

3.5 Resultados

A análise revela uma tendência clara: ao combinar Curve stETH/ETH com Uniswap ETH/USDC e Chainlink ETH/USD, a quantidade de stETH disponível para resgate em mkUSD diminui. Consequentemente, uma redução no número de unidades de stETH por resgate em mkUSD leva a uma diminuição nos lucros do BOT. A visualização fornecida ilustra a comparação entre os lucros do BOT sob vários preços de feed assumidos e o preço de feed real, excluindo taxas:

É evidente que a combinação de Curve stETH/ETH, Uniswap ETH/USDC e Chainlink ETH/USD reduz a rentabilidade dos resgates em comparação com o preço de alimentação realizado.

Parte 4: Melhorias Propostas no Oracle

4.1 Solução híbrida Oracle

Reconhecendo os riscos inerentes de depender exclusivamente do oráculo Curve, especialmente durante períodos de baixa liquidez ou flutuações de liquidez, a solução proposta integra estrategicamente o oráculo Chainlink como medida de salvaguarda (ou seja, um plano de backup) em caso de desvios. Considerando a possibilidade negligenciável de o Chainlink fornecer dados incorretos, ele pode servir como uma opção de backup confiável.

Esta solução atua como um filtro, considerando os preços da Curve e Chainlink. As condições são estabelecidas dentro de uma função, servindo como um interruptor. Para projetar essa condição, o conceito de uma faixa aceitável é introduzido. Essa faixa representa a diferença aceitável entre os preços do oráculo Chainlink e Curve. Quando a diferença observada excede essa faixa, indica viés potencial ou manipulação nos dados do Oracle da Curve. Nestes casos, a função mitiga os riscos potenciais favorecendo os preços mais seguros da Chainlink. Por outro lado, quando a diferença está dentro da faixa aceitável, a função confia na precisão e precisão do Oracle da Curve.

Vale ressaltar que a faixa aceitável pode ser configurada como estática ou dinâmica, dependendo da volatilidade dos ativos subjacentes (por exemplo, ETH e LSD relacionados). A natureza dinâmica permite a adaptação às condições de mercado voláteis, garantindo elasticidade e mecanismos de resposta na determinação de preços. Essa estratégia de duplo pronged minimiza a dependência de uma única fonte de dados, melhorando assim a resiliência e confiabilidade geral do mecanismo de preços.

4.2 Solução de verificação

4.2.1 Faixa aceitável estática

A solução introduz um método estático, acceptable_range, para lidar com vulnerabilidades potenciais ao depender exclusivamente do Curve Oracle. Embora os preços gerados pelo Curve Oracle possam ser mais precisos do que os do Chainlink, eles podem ser suscetíveis a manipulações. Por outro lado, o Chainlink é robusto e testado, considerado uma escolha mais segura na indústria. Quando a diferença entre o Curve Oracle e o Chainlink excede um valor fixo, o acceptable_range serve como um limite para mudar para o feed do Chainlink.

Estrategicamente, a acceptable_range aceita cotações que estão dentro de ±1% das cotações do Chainlink. Isso está quase três desvios padrão de diferença em relação à média entre Curve e Chainlink, considerando os feeds aprimorados de stETH/ETH e ETH/USD em comparação com o feed anterior de stETH/USD.

4.2.2 Saída da função preço derivado

O derived_price é uma função ou mecanismo projetado para determinar a cotação final de um ativo dado, especialmente em cenários envolvendo o Oracle da Curve e o Oracle da Chainlink.

Na solução descrita, essa função avalia cotações tanto do Curve Oracle quanto do Chainlink Oracle. Com base na diferença observada entre esses dois preços e se ela está dentro ou excede a faixa aceita predefinida, a função gera diferentes preços derivados.

Aqui está uma comparação do derived_price com as outras fontes de preço anteriormente exibidas:

Os lucros do BOT podem ser visualizados por este preço derivado (uma vez que não há desvio, este preço será exatamente igual ao Curve stETH/ETH e CL stETH/ETH) conforme mostrado abaixo:

Analisar os lucros totais pode revelar o quadro geral. Seis valores atípicos foram identificados e o lucro total para cada caso foi calculado antes e depois de filtrar os valores atípicos.

Curve stETH/ETH e Uniswap ETH/USDC têm o melhor desempenho na redução do lucro disponível para os BOTs. O preço derivado que eles fornecem tem o mesmo potencial de lucro que a implementação atual do Oracle stETH, mas limita o lucro, assumindo que economiza aproximadamente 35,4 ETH para os usuários em 189 transações analisadas.

4.3 Conclusão

Devido à grande dependência de cotações das exchanges descentralizadas mais líquidas para atividades on-chain e ao fato de que os bots MEV também seguem as mesmas cotações ao trocar mkUSD por LSD, a precisão das cotações (usadas para precificar resgates pelo Oráculo) é de extrema importância.

Dados históricos sugerem que os preços do Oracle da pool Curve estão mais próximos da referência (dados de preço UniswapV3) em comparação com os preços da Chainlink. Os dados indicam que a implementação do Oracle da Curve reduziria o MEV para os bots e forneceria melhores taxas de câmbio para os usuários que resgatam seus tesouros.

Embora usar o Curve Oracle como um Oracle independente possa ser tentador, a eficácia do feedback de preço do Curve depende da profundidade de liquidez de ativos específicos e da interação com o pool. Uma solução híbrida de Oracle com o Curve Oracle e o Chainlink Oracle pode ser usada para combinar preços on-chain, mantendo a confiabilidade e a ampla cobertura de mercado herdados do Chainlink Oracle.

A solução híbrida da Oracle que propomos avalia o desvio padrão (SD) para gerar derived_price. Se o SD se aproximar de 0, isso indica adesão aos valores de referência derived_price, tornando-a digna de consideração. Isso garante que, quando a Oracle da Curve se desvia dos limites predefinidos, a solução muda dinamicamente para a fonte mais segura da Chainlink. Como essa solução quase sempre produz a cotação da Curve para stETH, assume-se que a atividade de MEV é a mesma que usar a stETH/ETH da Curve, sem fallback.

Apêndice A: Scripts de Processamento de Dados

Os scripts usados para gerar a análise neste relatório são os seguintes:

  1. OracleAnalysisV4: Caderno Colab para coleta de dados
  2. OracleAnalysisPlayground: Notebook do Colab para traçar gráficos usando arquivos de dados pickle
  3. PrismaOracleModelingV1: Caderno Colab para traçar gráficos de atividade de troca de MEV
  4. Modelagem de Preço Derivado: Caderno Colab para testar e modelar soluções Oracle alternativas

Apêndice B: análise residual rETH/cbETH

Outros Gráficos rETH

Chainlink e Curve

Uniswap e Curve

Uniswap e Chainlink

Verifique o pico rETH

Durante o período de observação, o preço do oráculo da curva rETH atingiu picos várias vezes. Isso resultou em um aumento acentuado no desvio de preço entre o preço do oráculo e a referência à vista. Abaixo está um gráfico mais detalhado que mostra o comportamento da proporção do pool de liquidez/token e do preço do oráculo durante os períodos de aumento de preço.

start_block = 18824000

end_block = 18827000

interval_blocks = 100

Proporção da piscina de mineração:

Preço do Oracle:

start_block = 18850000

end_block = 18858000

interval_blocks = 100

Proporção da piscina de mineração:

Preço do Oracle:

start_block = 18880000

end_block = 18885000

interval_blocks = 100

Taxa da pool de mineração:

Preço do Oracle:

Outros Gráficos cbETH

Chainlink e Curve

Uniswap e Curve

Uniswap e Chainlink

Verificar Pico cbETH

Durante o período de observação, os preços do Oracle Curve cbETH experimentaram vários picos. Em várias ocasiões, isso resultou em picos significativos na divergência de preços entre o preço do Oracle e a referência spot. Abaixo está um gráfico mais detalhado mostrando o comportamento das taxas de pool de liquidez/liquidez do token durante esses períodos de aumento de preços e o comportamento dos preços do Oracle.

start_block = 18693500

end_block = 18696000

interval_blocks = 10

Rácio da pool de mineração:

Preço do Oracle:

start_block = 18814000

end_block = 18816500

interval_blocks = 10

Proporção da piscina de mineração:

Preço do Oracle:

start_block = 18800000

end_block = 18805000

interval_blocks = 10

Taxa de pool de mineração:

Preço do Oracle:

Declaração:

  1. Este artigo é reproduzido de [marsbit] título original “Análise comparativa dos oráculos opcionais do Prisma”, os direitos autorais pertencem ao autor original [PrismaRisk], se você tiver alguma objeção à reprodução, entre em contatoEquipe de Aprendizagem Gate, a equipe lidará com isso o mais rapidamente possível de acordo com os procedimentos relevantes.

  2. Aviso Legal: As opiniões expressas neste artigo representam apenas as opiniões pessoais do autor e não constituem qualquer tipo de conselho de investimento.

  3. Outras versões do artigo em outros idiomas são traduzidas pela equipe Gate Learn, não mencionadas em Gate.io, o artigo traduzido não pode ser reproduzido, distribuído ou plagiado.

Empieza ahora
¡Registrarse y recibe un bono de
$100
!