Análise comparativa Oracle opcional Prisma

Intermediário4/7/2024, 12:46:07 PM
Este artigo avalia o desempenho histórico da integração da Chainlink e da substituição do Oracle Curve Pool EMA. Foi constatado que a falta de fontes de dados confiáveis da 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 dos preços. Além disso, a pesquisa discute a importância do Oracle nos processos de liquidação e resgate do Prisma. Recomenda-se usar com cautela a função de Oracle de preço da Curve. Por fim, é proposta uma solução híbrida que combina o Oracle da Curve e da 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 confiáveis de preços on-chain que maximizem a segurança, refletindo ao mesmo tempo os preços atuais dos ativos-alvo. Especificamente, focamo-nos nos ativos de garantia da Prisma Finance (wstETH, rETH, cbETH e sfrxETH), bem como em derivativos de participação líquida baseados em Ethereum (LSD). Alguns destes ativos carecem de fontes de dados Chainlink (muitas vezes consideradas o padrão-ouro para dados de preços fiáveis), o que tem afetado a sua integração com a plataforma Prisma.

A mais recente implementação da pool estável da Curve Finance inclui um Oracle de pool interno, que calcula a Média Móvel Exponencial (EMA) para derivar dados de preço à prova de manipulação. Enquanto os integradores começaram a explorar o uso do Oracle em outras aplicações DeFi, o Oracle é principalmente utilizado 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 spot da Uniswap (assumidos como preços precisos on-chain).

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 Redenção stETH MEV: Um estudo comparativo entre Chainlink e Oracle on-chain, usando dados históricos para examinar eventos de redenção 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 deviação de preço do Oracle, garantindo ao mesmo tempo a fiabilidade 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 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, note que os mesmos oráculos também são usados para taxas de emissão de token e venda de tokens adquiridos para o "tokenized stable pool," cuja importância aumentará após o lançamento.)

O desempenho do Oracle é crucial para os utilizadores do Prisma, uma vez que os arbitragistas podem ter oportunidades de lucrar com discrepâncias entre os preços do Oracle e os preços à vista. Garantir a utilização 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 dos depositantes do seu tesouro.

Duas funções do Oracle dentro do Prisma sã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 do seu colateral, o contrato LiquidationManager executa a lógica de liquidação em todos os TroveManagers ativos (tesourarias do Prisma). A liquidação pode ser desencadeada de uma das três maneiras, dependendo da relação de colateral da conta de destino e da relação de colateral em todo o sistema.

Taxa de Colateral Individual (TCI) <= 100%: A conta (tesouraria) tem colateral insuficiente. Todas as dívidas e colaterais são redistribuídos entre as tesourarias ativas restantes, socializando efetivamente a perda.

100% < ICR < Minimum Collateral Ratio (MCR): O tesouro fica 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 < Rácio Global Total de Colateral (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 do MCR. Os depósitos do pool estável são usados primeiro para liquidar o tesouro. O colateral equivalente ao valor da dívida no MCR é distribuído entre os depositantes do pool estável. O colateral restante pode ser reclamado 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ços, 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 nas taxas de gás, ou a metodologia de preços do Oracle pode não acompanhar adequadamente a volatilidade aumentada, resultando em precificação incorreta. As insolvências podem aumentar, exigindo redistribuição entre os tesouros ativos, ou os mutuários podem ser liquidados de forma injusta (nos casos em que o Oracle relata erroneamente preços abaixo dos preços de mercado justos).

1.1.2 Resgate

Os arbitragistas podem sempre iniciar resgates, escolhendo resgatar 1 mkUSD de valor do colateral por 1 dólar americano (+ taxas de resgate dinâmicas), começando do tesouro com a menor taxa de colateral 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 colateral do tesouro de destino e aumenta sua taxa de colateral. A parte que executa o resgate paga uma taxa chamada taxa de resgate. A gama de taxas de resgate é por TroveManager e é a soma do piso da taxa de resgate + a baseRate. As variáveis armazenadas no TroveManager aumentam proporcionalmente com o fornecimento total de mkUSD resgatado e diminuem linearmente ao longo do tempo. Essa taxa dinâmica, a baseRate, ajusta a taxa de resgate lucrativa.

Embora as liquidações na Prisma tenham sido historicamente raras, as resgates são comuns e merecem consideração especial para os Oracles. Os bots de MEV procuram ativamente tais oportunidades para lucrar rapidamente através de empréstimos flash.

Para além do incómodo da redenção forçada dos seus tesouros, os utilizadores podem experimentar alguma extração de valor devido a desvios entre o Oracle e os preços spot. A má precificação pode levar os utilizadores a perder mais ativos do que o necessário, especialmente quando o Oracle reporta preços abaixo do valor de mercado justo. Por outro lado, preços reportados pelo Oracle 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 faz cumprir o piso da fixação do mkUSD.

1.2 opções do Oracle

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

1.2.1 Chainlink (off-chain)

A Chainlink é uma rede oráculo 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ó independentes que buscam e transmitem dados de várias bolsas e APIs de agregadores de dados de mercado, minimizando pontos únicos de falha e aumentando a segurança. A integridade dos dados é assegurada através de métodos criptográficos e mecanismos de consenso que verificam a precisão dos dados antes da transmissão. Sua abordagem envolve preços de ativos ponderados por 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 limiares de desvio de preço empurram os preços para a cadeia. Esta 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 da latência, reduzindo assim o desempenho do Oráculo. O custo de manter tais Oráculos pode ser elevado, especialmente durante períodos de alta volatilidade, tornando as atualizações oportunas do Oráculo crucial.

1.2.2 Curva pool EMA Oracle (on-chain)

As implementações recentes das pools Curve (pools StableSwap e CryptoSwap) incluem cálculos de preços 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. O EMA aumenta os custos de manipulação através 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 através da votação do Curve DAO.

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

“Se deseja utilizar a funcionalidade 'oráculo de preço' da Curve ou qualquer oráculo de preço para fornecer dados de preços on-chain na sua aplicação descentralizada que está a construir, sugerimos que tenha cuidado extra.”

Diferentes implementações de pool modificam versões do código do EMA Oracle, portanto os integradores devem compreender a implementação do Oracle do pool de destino.

Em novembro de 2023, foi descoberto um erro que afetou o Oracle do pool durante a implementação do pool stableswap-ng. Este erro foi encontrado logo após a implementação do pool pela 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 do pool Curve e o potencial de inconsistências entre os pools, apesar de extensas auditorias, e o potencial de continuação de erros que poderiam tornar os oráculos vulneráveis à manipulação ou imprecisões.

1.3 Histórico de Resgate MEV

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

1.3.1 Comportamento do BOT

A consulta dos eventos de resgate no TroveManager wstETH revela mais de 200 transações de resgate no total, com 190 transações identificadas como transações BOT (o método usado para identificar transações executadas por BOTs será explicado mais tarde na mesma secçã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 trocam frequentemente mkUSD:

Origem: Dune query_3402461

Cada BOT segue um processo geral semelhante de aquisição de mkUSD e resgate. 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 ainda subdividido da seguinte forma:

Obter empréstimos flash do Uniswap V3: USDC.

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

Troca mkUSD por wstETH no TroveManager wstETH.

Desembrulhar wstETH em stETH no wstETH.

Troque stETH por ETH na piscina Curve stETH/ETH.

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

A rentabilidade do MEV depende das diferenças de preço nos passos 2, 3 e 5:

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

3: À medida que as taxas de resgate dinâmicas diminuem como função das quantidades de resgate recentes e do tempo desde o resgate, a rentabilidade do resgate aumenta.

-5: À medida que o deslizamento nas trocas de ativos (por exemplo, stETH) aumenta, a rentabilidade do resgate diminui. Ativos como stETH podem ser trocados diretamente por 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 através de taxas dinâmicas. O passo 3 envolve taxas dinâmicas para evitar redenções frequentes e excessivas. Apesar deste mecanismo, as redenções ainda podem ocorrer devido ao erro de precificação do Oracle para extrair MEV. As cotações do Oracle para redenção de mkUSD podem oferecer aos proprietários do tesouro taxas de garantia subótimas, levando a uma experiência de utilizador negativa.

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

A proposta de alteração de preços do feed do Oráculo Prisma para stETH foi aprovada. Inicialmente, a Prisma usava o oráculo Chainlink stETH/USD, com um limiar de desvio de 1% para o TroveManager wstETH. Verificou-se que usar uma combinação de oráculos Chainlink stETH/ETH e ETH/USD poderia levar a uma melhoria, com um limiar 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 da sua taxa fixa, ocorrem resgates excessivos devido a uma desvio do Oracle superior a 1%. Nestes casos, verificou-se que as taxas dinâmicas eram insuficientes para evitar resgates excessivos causados por desvios de preços. Por favor, consulte o ajuste das taxas de resgate para eventos de resgate abaixo.

Origem: Gráfico por @wavey

Estas redenções podem incorrer em custos indiretos para os utilizadores da Prisma, uma vez que podem receber taxas desfavoráveis quando os 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 os 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 ser observado que após a execução da proposta, o preço realizado do mkUSD em USDC diminuiu. A diminuição da lucratividade das redenções devido a melhorias no oráculo pode resultar numa diminuição da força de indexaçã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. Esta proposta aumentou a taxa base de resgate para todos os TroveManagers para 1%-1.5%, reduzindo a elasticidade de ancoragem do mkUSD, mas ao custo de diminuir o risco de resgate para os proprietários da troca 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 alternativos Curve EMA on-chain usando dados históricos. Os resultados do estudo fornecerão informações 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 incidirá especificamente sobre stETH, uma vez que é o LSD mais comumente usado, com um feed de preços maduro da Chainlink e liquidez profunda no pool Curve. Foi realizada uma análise de outros colaterais listados na Prisma, e os resultados são fornecidos no Apêndice B do relatório para referência.

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

Para quantificar o alinhamento, examinamos os 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 resíduos (desvios dos valores de referência), são feitas observações 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. 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 gama 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 a sobreestimar ou subestimar 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 uma precificação incorreta severa. Um feed de oráculo com uma média zero e o desvio padrão mínimo é o resultado ideal, indicando que o feed rastreia com precisão os preços à vista.

Para monitorizar e avaliar a precisão da atividade de preços do oráculo on-chain, as cotações obtidas dos destinos de negociação mais líquidos (excluindo a Curve) servem de referência para a 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.

A nossa análise inclui duas estratégias para a obtenção dos preços da stETH Chainlink. Isto é feito porque se verificou que a divergência do feed Chainlink stETH/USD original é maior do que a divergência usando stETH/ETH + ETH/USD. Os oráculos foram atualizados de acordo com as propostas de governação. Posteriormente, a análise envolvendo o preço aprimorado da stETH/ETH Chainlink em ETH é referida como stETHv1, enquanto o feed de combinação stETH/USD + ETH/USD (replicando o desempenho do oráculo stETH original, 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 respetivos (do bloco 18331000 ao bloco 18931000, com uma resolução de 250 blocos para o conjunto de dados). Isto cria um conjunto de dados contendo 2401 pontos de dados para todos os ativos.

O ativo principal em consideração é o stETH, pois é o tipo de garantia atualmente aceito pela Prisma, com alimentação Chainlink e piscina 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 de piscina CryptoSwap mais antiga). Todos os dados foram obtidos consultando os preços para o intervalo de bloco especificado.

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

Pool de liquidez da Curve

Feedback de Preço do Chainlink

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

Preço à vista Uniswap

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

Taxa de Câmbio Interna LSD/ETH

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

2.4.1 Chainlink e Curve

Nesta secção, iremos comparar a precisão da fonte de preço Chainlink stETH com a Curve.

Feed Chainlink stETHv1 vs. Curve

Chainlink: feed stETH/ETH

Curva: 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 da Chainlink (visualizado melhor no feed Chainlink stETH/USD) em comparação com a Curve, já que a Curve usa um tempo 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 se pode fazer aqui é que o Oracle da Curve ligeiramente sobrestima os seus dados de preço em comparação com a Chainlink.

Chainlink stETHv2 e Curve

Chainlink: feed stETH/USD / feed ETH/USD

Curve: piscina stETH/ETH

Abaixo está uma comparação de preços de feeds alternativos Chainlink normalizados para ETH (stETH/USD e ETH/USD) versus a stETH Curve. Uma vez que o Chainlink stETH/USD tem um limiar de desvio de 1% (em comparação com 0,5% no feed stETH/ETH), o preço apresenta maior desvio em torno do preço âncora.

Como observado anteriormente, as flutuações de preço de 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 secção, vamos comparar a precisão histórica do feed de preço stETH da Chainlink 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 Oráculo Chainlink aos valores de referência.

Uniswap Spot vs. Chainlink stETHv1

Chainlink: feed stETH/ETH

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

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

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 da pool wstETH/ETH / wstETH/stETH

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

Significado de diferença de preço = 0.000281

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

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

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

2.4.3 Uniswap e Curve

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

Supondo que os dados de preço da pool 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: piscina stETH/ETH

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

Com base numa 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.

Como observado, o preço médio relatado pela Curve é ligeiramente mais baixo do que o spot Uniswap, 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 divergência dos dados do Chainlink é significativamente maior do que a do Curve ao referenciar os dados da Uniswap como um proxy para os preços à vista.

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

A tabela abaixo exibe a análise residual conduzida sobre os 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 da Chainlink e da Curve com a referência da Uniswap em termos de média e desvio padrão para cada ativo. Em todos os casos, a Curve apresenta valores médios e de 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, a Curve apresenta uma volatilidade inferior em comparação com a Chainlink em relação aos preços de referência, e isso se mantém consistente entre os 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. 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.
  3. Uma ressalva a esses achados é 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 referido 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, são necessárias mais pesquisas para determinar as métricas de referência necessárias para os Oráculos de pools do Curve serem apropriadamente confiáveis.

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

3.1 Objetivos

A análise tem como objetivo comparar os preços de implementação dos eventos de resgate no wstETH TroveManager com os preços hipotéticos citados 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, permitindo 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 através da implementação de soluções on-chain ou híbridas, utilizando oráculos da piscina Curve EMA.

3.2 Metodologia

Esta análise incidirá especificamente sobre stETH, pois é o LSD mais utilizado e possui feeds de preços Chainlink maduros e liquidez profunda no pool Curve. O estudo agregará todos os eventos de resgate, comparando os preços do oráculo stETH realizados com vários preços do 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 pelo valor de stETH perdido para o Gestor do Tesouro na forma de wstETH. Para determinar o valor de stETH, precisamos considerar o wstETH recebido do resgate mais o wstETH gasto em taxas e convertê-los em stETH. Se alguma fonte alternativa oferecer consistentemente lucros mais baixos aos resgatantes, podemos dizer que seu desempenho 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 das transações BOT.

3.3 Coleta de dados

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

Com base nos dados acima, podemos construir três feeds de preço usando o 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.

Análise de Redenção de 3.4 stETH MEV

Aqui 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 com 3 feeds usando o 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 seguinte exibe o stETH obtido a partir do mkUSD antes de cobrança de taxas e processa os dados para remover valores atípicos para uma visualização melhorada:

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 o resgate de mkUSD diminui. Consequentemente, uma redução no número de unidades de stETH por resgate de 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 para o 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 da Chainlink. As condições são estabelecidas dentro de uma função, servindo como um interruptor. Para projetar esta condição, o conceito de uma faixa aceitável é introduzido. Essa faixa representa a diferença aceitável entre os preços oráculo da Chainlink e da Curve. Quando a diferença observada excede esta faixa, indica um viés potencial ou manipulação nos dados do Oráculo da Curve. Nesses casos, a função mitiga os riscos potenciais favorecendo os preços mais seguros da Chainlink. Por outro lado, quando a diferença se situa dentro da faixa aceitável, a função depende da precisão e exatidão do Oráculo 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. Esta estratégia dupla 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 Intervalo aceitável estático

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 o Chainlink, ele poderia ser suscetível 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 limiar para mudar para o feed do Chainlink.

Estrategicamente, o acceptable_range aceita cotações que estão dentro de ±1% das cotações da Chainlink. Isso está quase a três desvios padrão da diferença média entre Curve e Chainlink, considerando os feeds melhorados 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 Curve e o Oracle Chainlink.

Na solução descrita, esta função avalia cotações tanto do Oracle Curve como do Oracle Chainlink. Com base na diferença observada entre esses dois preços e se ela se encontra dentro ou excede a accepted_range predefinida, a função produz diferentes preços derivados.

Aqui está uma comparação do preço derivado 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 a Curve stETH/ETH e CL stETH/ETH) conforme mostrado abaixo:

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

Curve stETH/ETH e Uniswap ETH/USDC são os que melhor reduzem o 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 utilizadores ao longo das 189 transações analisadas.

4.3 Conclusão

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

Dados históricos sugerem que os preços do Oracle da Curve estão mais próximos da referência (dados de preços 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 autónomo possa ser tentador, a eficácia do feedback de preços 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 igualar os preços on-chain, mantendo a confiabilidade e a ampla cobertura de mercado herdadas do Chainlink Oracle.

A solução Oracle híbrida que propomos avalia o desvio padrão (SD) para gerar o preço derivado. Se o SD se aproxima de 0, isso indica adesão aos valores de referência do preço derivado, tornando-o digno de consideração. Isso garante que quando o Oracle da Curve se desvia dos limiares predefinidos, a solução muda dinamicamente para a fonte mais segura da Chainlink. Como esta solução quase sempre produz a cotação da Curve do stETH, assume-se que a atividade de MEV é a mesma que usar o 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: Notebook Colab para recolha de dados
  2. OracleAnalysisPlayground: Bloco de notas Colab para traçar gráficos usando arquivos de dados pickle
  3. PrismaOracleModelingV1: Notebook de colaboração para traçar gráficos de atividade de troca de MEV
  4. Modelação de Preços Derivados: 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

Verificar pico rETH

Durante o período de observação, o preço do oráculo da curva rETH atingiu o pico 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 de caixa. Abaixo está um gráfico mais detalhado que mostra o comportamento da proporção do pool de liquidez/tokens 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 pool de mineração:

Preço do Oracle:

start_block = 18850000

end_block = 18858000

interval_blocks = 100

Taxa da pool de mineração:

Preço do Oracle:

start_block = 18880000

end_block = 18885000

interval_blocks = 100

Rácio da pool de mineração:

Preço do Oracle:

Outros Gráficos cbETH

Chainlink e Curve

Uniswap e Curve

Uniswap e Chainlink

Verifique 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 desvio de preço 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 de tokens 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

Taxa de pool de mineração:

Preço do Oracle:

start_block = 18814000

end_block = 18816500

interval_blocks = 10

Taxa de pool de mineração:

Preço do Oracle:

start_block = 18800000

end_block = 18805000

interval_blocks = 10

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

Preço Oracle:

Declaração:

  1. Este artigo é reproduzido a partir de [Gatemarsbit] título original “Análise comparativa dos oráculos opcionais do Prisma”, os direitos de autor pertencem ao autor original [PrismaRisk], se tiver alguma objeção à reprodução, entre em contacto Equipa Gate LearnA equipa irá tratar disso 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 conselho de investimento.

  3. Outras versões do artigo são traduzidas pela equipe do Gate Learn, não mencionadas emGate.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 da Chainlink e da substituição do Oracle Curve Pool EMA. Foi constatado que a falta de fontes de dados confiáveis da 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 dos preços. Além disso, a pesquisa discute a importância do Oracle nos processos de liquidação e resgate do Prisma. Recomenda-se usar com cautela a função de Oracle de preço da Curve. Por fim, é proposta uma solução híbrida que combina o Oracle da Curve e da 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 confiáveis de preços on-chain que maximizem a segurança, refletindo ao mesmo tempo os preços atuais dos ativos-alvo. Especificamente, focamo-nos nos ativos de garantia da Prisma Finance (wstETH, rETH, cbETH e sfrxETH), bem como em derivativos de participação líquida baseados em Ethereum (LSD). Alguns destes ativos carecem de fontes de dados Chainlink (muitas vezes consideradas o padrão-ouro para dados de preços fiáveis), o que tem afetado a sua integração com a plataforma Prisma.

A mais recente implementação da pool estável da Curve Finance inclui um Oracle de pool interno, que calcula a Média Móvel Exponencial (EMA) para derivar dados de preço à prova de manipulação. Enquanto os integradores começaram a explorar o uso do Oracle em outras aplicações DeFi, o Oracle é principalmente utilizado 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 spot da Uniswap (assumidos como preços precisos on-chain).

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 Redenção stETH MEV: Um estudo comparativo entre Chainlink e Oracle on-chain, usando dados históricos para examinar eventos de redenção 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 deviação de preço do Oracle, garantindo ao mesmo tempo a fiabilidade 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 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, note que os mesmos oráculos também são usados para taxas de emissão de token e venda de tokens adquiridos para o "tokenized stable pool," cuja importância aumentará após o lançamento.)

O desempenho do Oracle é crucial para os utilizadores do Prisma, uma vez que os arbitragistas podem ter oportunidades de lucrar com discrepâncias entre os preços do Oracle e os preços à vista. Garantir a utilização 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 dos depositantes do seu tesouro.

Duas funções do Oracle dentro do Prisma sã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 do seu colateral, o contrato LiquidationManager executa a lógica de liquidação em todos os TroveManagers ativos (tesourarias do Prisma). A liquidação pode ser desencadeada de uma das três maneiras, dependendo da relação de colateral da conta de destino e da relação de colateral em todo o sistema.

Taxa de Colateral Individual (TCI) <= 100%: A conta (tesouraria) tem colateral insuficiente. Todas as dívidas e colaterais são redistribuídos entre as tesourarias ativas restantes, socializando efetivamente a perda.

100% < ICR < Minimum Collateral Ratio (MCR): O tesouro fica 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 < Rácio Global Total de Colateral (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 do MCR. Os depósitos do pool estável são usados primeiro para liquidar o tesouro. O colateral equivalente ao valor da dívida no MCR é distribuído entre os depositantes do pool estável. O colateral restante pode ser reclamado 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ços, 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 nas taxas de gás, ou a metodologia de preços do Oracle pode não acompanhar adequadamente a volatilidade aumentada, resultando em precificação incorreta. As insolvências podem aumentar, exigindo redistribuição entre os tesouros ativos, ou os mutuários podem ser liquidados de forma injusta (nos casos em que o Oracle relata erroneamente preços abaixo dos preços de mercado justos).

1.1.2 Resgate

Os arbitragistas podem sempre iniciar resgates, escolhendo resgatar 1 mkUSD de valor do colateral por 1 dólar americano (+ taxas de resgate dinâmicas), começando do tesouro com a menor taxa de colateral 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 colateral do tesouro de destino e aumenta sua taxa de colateral. A parte que executa o resgate paga uma taxa chamada taxa de resgate. A gama de taxas de resgate é por TroveManager e é a soma do piso da taxa de resgate + a baseRate. As variáveis armazenadas no TroveManager aumentam proporcionalmente com o fornecimento total de mkUSD resgatado e diminuem linearmente ao longo do tempo. Essa taxa dinâmica, a baseRate, ajusta a taxa de resgate lucrativa.

Embora as liquidações na Prisma tenham sido historicamente raras, as resgates são comuns e merecem consideração especial para os Oracles. Os bots de MEV procuram ativamente tais oportunidades para lucrar rapidamente através de empréstimos flash.

Para além do incómodo da redenção forçada dos seus tesouros, os utilizadores podem experimentar alguma extração de valor devido a desvios entre o Oracle e os preços spot. A má precificação pode levar os utilizadores a perder mais ativos do que o necessário, especialmente quando o Oracle reporta preços abaixo do valor de mercado justo. Por outro lado, preços reportados pelo Oracle 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 faz cumprir o piso da fixação do mkUSD.

1.2 opções do Oracle

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

1.2.1 Chainlink (off-chain)

A Chainlink é uma rede oráculo 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ó independentes que buscam e transmitem dados de várias bolsas e APIs de agregadores de dados de mercado, minimizando pontos únicos de falha e aumentando a segurança. A integridade dos dados é assegurada através de métodos criptográficos e mecanismos de consenso que verificam a precisão dos dados antes da transmissão. Sua abordagem envolve preços de ativos ponderados por 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 limiares de desvio de preço empurram os preços para a cadeia. Esta 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 da latência, reduzindo assim o desempenho do Oráculo. O custo de manter tais Oráculos pode ser elevado, especialmente durante períodos de alta volatilidade, tornando as atualizações oportunas do Oráculo crucial.

1.2.2 Curva pool EMA Oracle (on-chain)

As implementações recentes das pools Curve (pools StableSwap e CryptoSwap) incluem cálculos de preços 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. O EMA aumenta os custos de manipulação através 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 através da votação do Curve DAO.

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

“Se deseja utilizar a funcionalidade 'oráculo de preço' da Curve ou qualquer oráculo de preço para fornecer dados de preços on-chain na sua aplicação descentralizada que está a construir, sugerimos que tenha cuidado extra.”

Diferentes implementações de pool modificam versões do código do EMA Oracle, portanto os integradores devem compreender a implementação do Oracle do pool de destino.

Em novembro de 2023, foi descoberto um erro que afetou o Oracle do pool durante a implementação do pool stableswap-ng. Este erro foi encontrado logo após a implementação do pool pela 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 do pool Curve e o potencial de inconsistências entre os pools, apesar de extensas auditorias, e o potencial de continuação de erros que poderiam tornar os oráculos vulneráveis à manipulação ou imprecisões.

1.3 Histórico de Resgate MEV

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

1.3.1 Comportamento do BOT

A consulta dos eventos de resgate no TroveManager wstETH revela mais de 200 transações de resgate no total, com 190 transações identificadas como transações BOT (o método usado para identificar transações executadas por BOTs será explicado mais tarde na mesma secçã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 trocam frequentemente mkUSD:

Origem: Dune query_3402461

Cada BOT segue um processo geral semelhante de aquisição de mkUSD e resgate. 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 ainda subdividido da seguinte forma:

Obter empréstimos flash do Uniswap V3: USDC.

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

Troca mkUSD por wstETH no TroveManager wstETH.

Desembrulhar wstETH em stETH no wstETH.

Troque stETH por ETH na piscina Curve stETH/ETH.

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

A rentabilidade do MEV depende das diferenças de preço nos passos 2, 3 e 5:

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

3: À medida que as taxas de resgate dinâmicas diminuem como função das quantidades de resgate recentes e do tempo desde o resgate, a rentabilidade do resgate aumenta.

-5: À medida que o deslizamento nas trocas de ativos (por exemplo, stETH) aumenta, a rentabilidade do resgate diminui. Ativos como stETH podem ser trocados diretamente por 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 através de taxas dinâmicas. O passo 3 envolve taxas dinâmicas para evitar redenções frequentes e excessivas. Apesar deste mecanismo, as redenções ainda podem ocorrer devido ao erro de precificação do Oracle para extrair MEV. As cotações do Oracle para redenção de mkUSD podem oferecer aos proprietários do tesouro taxas de garantia subótimas, levando a uma experiência de utilizador negativa.

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

A proposta de alteração de preços do feed do Oráculo Prisma para stETH foi aprovada. Inicialmente, a Prisma usava o oráculo Chainlink stETH/USD, com um limiar de desvio de 1% para o TroveManager wstETH. Verificou-se que usar uma combinação de oráculos Chainlink stETH/ETH e ETH/USD poderia levar a uma melhoria, com um limiar 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 da sua taxa fixa, ocorrem resgates excessivos devido a uma desvio do Oracle superior a 1%. Nestes casos, verificou-se que as taxas dinâmicas eram insuficientes para evitar resgates excessivos causados por desvios de preços. Por favor, consulte o ajuste das taxas de resgate para eventos de resgate abaixo.

Origem: Gráfico por @wavey

Estas redenções podem incorrer em custos indiretos para os utilizadores da Prisma, uma vez que podem receber taxas desfavoráveis quando os 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 os 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 ser observado que após a execução da proposta, o preço realizado do mkUSD em USDC diminuiu. A diminuição da lucratividade das redenções devido a melhorias no oráculo pode resultar numa diminuição da força de indexaçã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. Esta proposta aumentou a taxa base de resgate para todos os TroveManagers para 1%-1.5%, reduzindo a elasticidade de ancoragem do mkUSD, mas ao custo de diminuir o risco de resgate para os proprietários da troca 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 alternativos Curve EMA on-chain usando dados históricos. Os resultados do estudo fornecerão informações 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 incidirá especificamente sobre stETH, uma vez que é o LSD mais comumente usado, com um feed de preços maduro da Chainlink e liquidez profunda no pool Curve. Foi realizada uma análise de outros colaterais listados na Prisma, e os resultados são fornecidos no Apêndice B do relatório para referência.

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

Para quantificar o alinhamento, examinamos os 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 resíduos (desvios dos valores de referência), são feitas observações 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. 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 gama 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 a sobreestimar ou subestimar 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 uma precificação incorreta severa. Um feed de oráculo com uma média zero e o desvio padrão mínimo é o resultado ideal, indicando que o feed rastreia com precisão os preços à vista.

Para monitorizar e avaliar a precisão da atividade de preços do oráculo on-chain, as cotações obtidas dos destinos de negociação mais líquidos (excluindo a Curve) servem de referência para a 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.

A nossa análise inclui duas estratégias para a obtenção dos preços da stETH Chainlink. Isto é feito porque se verificou que a divergência do feed Chainlink stETH/USD original é maior do que a divergência usando stETH/ETH + ETH/USD. Os oráculos foram atualizados de acordo com as propostas de governação. Posteriormente, a análise envolvendo o preço aprimorado da stETH/ETH Chainlink em ETH é referida como stETHv1, enquanto o feed de combinação stETH/USD + ETH/USD (replicando o desempenho do oráculo stETH original, 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 respetivos (do bloco 18331000 ao bloco 18931000, com uma resolução de 250 blocos para o conjunto de dados). Isto cria um conjunto de dados contendo 2401 pontos de dados para todos os ativos.

O ativo principal em consideração é o stETH, pois é o tipo de garantia atualmente aceito pela Prisma, com alimentação Chainlink e piscina 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 de piscina CryptoSwap mais antiga). Todos os dados foram obtidos consultando os preços para o intervalo de bloco especificado.

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

Pool de liquidez da Curve

Feedback de Preço do Chainlink

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

Preço à vista Uniswap

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

Taxa de Câmbio Interna LSD/ETH

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

2.4.1 Chainlink e Curve

Nesta secção, iremos comparar a precisão da fonte de preço Chainlink stETH com a Curve.

Feed Chainlink stETHv1 vs. Curve

Chainlink: feed stETH/ETH

Curva: 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 da Chainlink (visualizado melhor no feed Chainlink stETH/USD) em comparação com a Curve, já que a Curve usa um tempo 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 se pode fazer aqui é que o Oracle da Curve ligeiramente sobrestima os seus dados de preço em comparação com a Chainlink.

Chainlink stETHv2 e Curve

Chainlink: feed stETH/USD / feed ETH/USD

Curve: piscina stETH/ETH

Abaixo está uma comparação de preços de feeds alternativos Chainlink normalizados para ETH (stETH/USD e ETH/USD) versus a stETH Curve. Uma vez que o Chainlink stETH/USD tem um limiar de desvio de 1% (em comparação com 0,5% no feed stETH/ETH), o preço apresenta maior desvio em torno do preço âncora.

Como observado anteriormente, as flutuações de preço de 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 secção, vamos comparar a precisão histórica do feed de preço stETH da Chainlink 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 Oráculo Chainlink aos valores de referência.

Uniswap Spot vs. Chainlink stETHv1

Chainlink: feed stETH/ETH

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

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

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 da pool wstETH/ETH / wstETH/stETH

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

Significado de diferença de preço = 0.000281

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

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

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

2.4.3 Uniswap e Curve

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

Supondo que os dados de preço da pool 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: piscina stETH/ETH

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

Com base numa 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.

Como observado, o preço médio relatado pela Curve é ligeiramente mais baixo do que o spot Uniswap, 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 divergência dos dados do Chainlink é significativamente maior do que a do Curve ao referenciar os dados da Uniswap como um proxy para os preços à vista.

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

A tabela abaixo exibe a análise residual conduzida sobre os 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 da Chainlink e da Curve com a referência da Uniswap em termos de média e desvio padrão para cada ativo. Em todos os casos, a Curve apresenta valores médios e de 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, a Curve apresenta uma volatilidade inferior em comparação com a Chainlink em relação aos preços de referência, e isso se mantém consistente entre os 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. 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.
  3. Uma ressalva a esses achados é 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 referido 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, são necessárias mais pesquisas para determinar as métricas de referência necessárias para os Oráculos de pools do Curve serem apropriadamente confiáveis.

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

3.1 Objetivos

A análise tem como objetivo comparar os preços de implementação dos eventos de resgate no wstETH TroveManager com os preços hipotéticos citados 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, permitindo 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 através da implementação de soluções on-chain ou híbridas, utilizando oráculos da piscina Curve EMA.

3.2 Metodologia

Esta análise incidirá especificamente sobre stETH, pois é o LSD mais utilizado e possui feeds de preços Chainlink maduros e liquidez profunda no pool Curve. O estudo agregará todos os eventos de resgate, comparando os preços do oráculo stETH realizados com vários preços do 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 pelo valor de stETH perdido para o Gestor do Tesouro na forma de wstETH. Para determinar o valor de stETH, precisamos considerar o wstETH recebido do resgate mais o wstETH gasto em taxas e convertê-los em stETH. Se alguma fonte alternativa oferecer consistentemente lucros mais baixos aos resgatantes, podemos dizer que seu desempenho 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 das transações BOT.

3.3 Coleta de dados

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

Com base nos dados acima, podemos construir três feeds de preço usando o 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.

Análise de Redenção de 3.4 stETH MEV

Aqui 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 com 3 feeds usando o 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 seguinte exibe o stETH obtido a partir do mkUSD antes de cobrança de taxas e processa os dados para remover valores atípicos para uma visualização melhorada:

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 o resgate de mkUSD diminui. Consequentemente, uma redução no número de unidades de stETH por resgate de 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 para o 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 da Chainlink. As condições são estabelecidas dentro de uma função, servindo como um interruptor. Para projetar esta condição, o conceito de uma faixa aceitável é introduzido. Essa faixa representa a diferença aceitável entre os preços oráculo da Chainlink e da Curve. Quando a diferença observada excede esta faixa, indica um viés potencial ou manipulação nos dados do Oráculo da Curve. Nesses casos, a função mitiga os riscos potenciais favorecendo os preços mais seguros da Chainlink. Por outro lado, quando a diferença se situa dentro da faixa aceitável, a função depende da precisão e exatidão do Oráculo 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. Esta estratégia dupla 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 Intervalo aceitável estático

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 o Chainlink, ele poderia ser suscetível 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 limiar para mudar para o feed do Chainlink.

Estrategicamente, o acceptable_range aceita cotações que estão dentro de ±1% das cotações da Chainlink. Isso está quase a três desvios padrão da diferença média entre Curve e Chainlink, considerando os feeds melhorados 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 Curve e o Oracle Chainlink.

Na solução descrita, esta função avalia cotações tanto do Oracle Curve como do Oracle Chainlink. Com base na diferença observada entre esses dois preços e se ela se encontra dentro ou excede a accepted_range predefinida, a função produz diferentes preços derivados.

Aqui está uma comparação do preço derivado 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 a Curve stETH/ETH e CL stETH/ETH) conforme mostrado abaixo:

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

Curve stETH/ETH e Uniswap ETH/USDC são os que melhor reduzem o 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 utilizadores ao longo das 189 transações analisadas.

4.3 Conclusão

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

Dados históricos sugerem que os preços do Oracle da Curve estão mais próximos da referência (dados de preços 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 autónomo possa ser tentador, a eficácia do feedback de preços 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 igualar os preços on-chain, mantendo a confiabilidade e a ampla cobertura de mercado herdadas do Chainlink Oracle.

A solução Oracle híbrida que propomos avalia o desvio padrão (SD) para gerar o preço derivado. Se o SD se aproxima de 0, isso indica adesão aos valores de referência do preço derivado, tornando-o digno de consideração. Isso garante que quando o Oracle da Curve se desvia dos limiares predefinidos, a solução muda dinamicamente para a fonte mais segura da Chainlink. Como esta solução quase sempre produz a cotação da Curve do stETH, assume-se que a atividade de MEV é a mesma que usar o 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: Notebook Colab para recolha de dados
  2. OracleAnalysisPlayground: Bloco de notas Colab para traçar gráficos usando arquivos de dados pickle
  3. PrismaOracleModelingV1: Notebook de colaboração para traçar gráficos de atividade de troca de MEV
  4. Modelação de Preços Derivados: 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

Verificar pico rETH

Durante o período de observação, o preço do oráculo da curva rETH atingiu o pico 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 de caixa. Abaixo está um gráfico mais detalhado que mostra o comportamento da proporção do pool de liquidez/tokens 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 pool de mineração:

Preço do Oracle:

start_block = 18850000

end_block = 18858000

interval_blocks = 100

Taxa da pool de mineração:

Preço do Oracle:

start_block = 18880000

end_block = 18885000

interval_blocks = 100

Rácio da pool de mineração:

Preço do Oracle:

Outros Gráficos cbETH

Chainlink e Curve

Uniswap e Curve

Uniswap e Chainlink

Verifique 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 desvio de preço 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 de tokens 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

Taxa de pool de mineração:

Preço do Oracle:

start_block = 18814000

end_block = 18816500

interval_blocks = 10

Taxa de pool de mineração:

Preço do Oracle:

start_block = 18800000

end_block = 18805000

interval_blocks = 10

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

Preço Oracle:

Declaração:

  1. Este artigo é reproduzido a partir de [Gatemarsbit] título original “Análise comparativa dos oráculos opcionais do Prisma”, os direitos de autor pertencem ao autor original [PrismaRisk], se tiver alguma objeção à reprodução, entre em contacto Equipa Gate LearnA equipa irá tratar disso 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 conselho de investimento.

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

Bắt đầu giao dịch
Đăng ký và giao dịch để nhận phần thưởng USDTEST trị giá
$100
$5500