Algumas atualizações e novos resultados desde a postagem original.
Atualização do mecanismo
Um relatório openOracle consiste em duas ordens de limite, uma de compra e uma de venda, ao mesmo preço. Os pedidos são bloqueados até que o cronômetro se esgote ou um seja atendido. Para aceitar um dos pedidos com limite, você deve substituí-los por outros maiores com um novo preço. Quando o tempo acabar sem disputa, o preço será acertado. Qualquer disputa zera o cronômetro.
Defesa de censura
Refinamos o modelo de censura desde a postagem original. O FOCIL não muda muito as coisas no limite do adversário, dado o ângulo de preenchimento do bloco. A defesa é mais simples: para resolver um relatório oracle mal avaliado, o invasor deve subornar todas as oportunidades de disputa durante toda a janela de liquidação. Muito aproximadamente, para um nocional externo linear N com liquidez oracle inicial euerro de preço R > \kappa (caso contrário, as disputas não serão lucrativas e a censura será desnecessária), custo para denunciar \kappae assumindo que a contraparte do atacante é totalmente passiva, o tempo de liquidação necessário para um índice de luto G é:
T = \frac{(G + 1) \cdot R}{(R – \kappa) \cdot (L / N)}
A definição de T depende do contexto do suborno: no suborno por bloco (por exemplo, ePBS), cada bloco é um evento de suborno independente. Sem uma infra-estrutura forte de comprometimento, cada faixa não contígua de um mesmo produtor é um evento independente. Ao abrigo de compromissos credíveis a longo prazo, cada entidade económica única como produtor é um evento independente. A janela de liquidação deve conter eventos independentes suficientes para satisfazer o índice de luto. Se o invasor for ele próprio um produtor de blocos para alguma fração de blocos, ele não precisará se subornar, portanto T devem ser ampliados para ter em conta a sua concentração esperada.
Juros em aberto parasitas (aderência nocional externa a um relatório oracle sem pagar por isso) impulsiona N para cima e S/N para baixo, enfraquecendo a taxa de luto. No entanto, isso parece instável, já que o invasor original pode adicionar seus próprios conceitos ao mesmo relatório, explorando qualquer um que o agarre. Alternativamente, jogos oracle inventados podem ser construídos para explorar diretamente a OI parasita. A liquidez parasita permanente parece ser eliminada antes que o usuário pagante do oráculo envie uma solicitação de preço.
Precisão do oráculo
O EV do contestador por aceitar uma ordem limite com preço incorreto à distância D do preço real contra um adversário que contra-disputa à distância UM é:
EV = D – (1 – Q(A)) \cdot A \cdot M
onde P(R) é a probabilidade de duplo não toque (o preço permanece dentro \pm A para o horário de liquidação) e M é o multiplicador. Se o disputante se calibrar em relação à contradisputa adversária do pior caso, veremos
C = \max_A \left((1 – Q(A)) \cdot A\right)
Sob uma distribuição normal, isso maximiza em A \aproximadamente 0,84 \cdot \sigma(T) com C \aproximadamente 0,65 \cdot \sigma(T). As disputas são lucrativas quando D > C\cdot Mproporcionando barreiras de disputa honesta em aproximadamente \pm\, 0,65 \cdot M \cdot \sigma(T).
Incluindo taxas de swap F_s e taxas de protocolo F_po EV do disputante passa a ser:
EV = (D – F_s – F_p) – (1 – Q(A)) \cdot (A – F_s) \cdot M
Como limite conservador, as taxas são puramente aditivas à vantagem exigida, de modo que a distância da disputa muda de D > 0,65 \cdot M \cdot \sigma(T) para aproximadamente D > 0,65 \cdot M \cdot \sigma(T) + F_s + F_p. Na prática, a taxa de swap reduz a perda para um adversário numa contra-disputa (o (A – F_s) prazo), então a barreira real pode ser mais rígida.
Desigualdade de probabilidade de liquidação
A frequência das disputas é regida por uma condição mais fundamental do que a taxa de swap. Com multiplicador Mprobabilidade de liquidação por rodada Pe probabilidade de disputa P = 1 -Qcom qualquer custo proporcional por rodada c > 0o custo total esperado do jogo oráculo é uma série geométrica:
\sum_{n=0}^{\infty} c \cdot (M \cdot P)^n
que converge apenas quando:
Q > 1 – \frac{1}{M}
Isto é o que realmente rege a frequência das disputas, não a taxa de swap. A taxa de swap altera as barreiras de disputa (adicionando ~F_s até a borda necessária), o que amplia a faixa de não-disputa e empurra P maior, mas a restrição fundamental é a P desigualdade acima. A interrupção da escalada limita o tamanho do jogo do oráculo, quebrando a divergência, mas desde que seja alta o suficiente em relação ao nocional externo, um manipulador ainda enfrenta custos extremos ao adicionar muitas disputas.
Limites de manipulação
Temos agora uma análise mais completa das estratégias de manipulação para nocionais lineares, onde um manipulador quer influenciar o preço estabelecido do oráculo a seu favor, tanto quanto possível, e tem uma contraparte completamente passiva. Assumimos multiplicadores menores e nenhum ou muito pequeno F_s e F_p no jogo oracle, pois isso maximiza a precisão do oracle para nocionais lineares.
A estratégia de manipulação mais forte na ausência de censura parece ser o atraso seletivo: o manipulador apenas informa o preço verdadeiro, mas decide se adia ou acerta com base no que tem maior utilidade. Uma maneira muito simples de pensar sobre esse ataque é adiar quando o preço estiver contra você e deixar que ele se acalme quando estiver a seu favor.
Sob uma distribuição normal, usando indução retroativa ao longo das rodadas do jogo do oráculo, o viés esperado desta estratégia é de aproximadamente (0,15\texto{–}0,20) \cdot \sigma(T) sob parametrizações razoáveis (L/N \aproximadamente 10\%, M \aproximadamente 1,20). Isto é muito menor do que as próprias barreiras de disputa. Frações de liquidez inicial mais altas reduzem ainda mais o viés em troca de maiores custos iniciais de relato.
As estratégias de preços errados (relatar um preço deliberadamente incorreto) têm dois sabores. No primeiro, o manipulador coloca um preço errado e o atualiza continuamente para ficar dentro das barreiras de disputa. Isto tem extração positiva, mas requer muitas rodadas com probabilidade de sobrevivência por rodada muito baixa, o que é impraticável com o crescimento exponencial do jogo. No segundo, o manipulador informa um preço errado e deixa a rede honesta disputar barreiras padrão. Aqui, o viés de sobrevivência condicional sob multiplicadores razoavelmente baixos compensa quase exatamente a vantagem de posicionamento, produzindo uma extração próxima de zero.
Roteamento de taxas de jogos Oracle
O contrato anterior tinha um único endereço codificado acumulando todas as taxas de protocolo do jogo Oracle. O contrato atual permite que o criador do jogo Oracle especifique um protocolFeeRecipient na hora da criação. As taxas podem ser encaminhadas para as partes que pagaram pelo jogo do oráculo (por exemplo, divididas entre credor e devedor em uma configuração de empréstimo), queimadas ao definir o destinatário como address(0)ou direcionado para qualquer outro lugar.
Recompensa inicial para repórteres
O relator inicial corre o risco de ser contestado, perdendo na expectativa, a menos que seja compensado. Para encontrar a compensação de equilíbrio de mercado para isso, usamos um contrato de recompensa que começa pequeno e aumenta exponencialmente a cada rodada (por exemplo, 1,5x por rodada). O primeiro repórter a apresentar reivindicações sobre o valor da recompensa. Se as condições forem desfavoráveis (alta volatilidade, alto gás), ninguém reportará até que a recompensa cresça o suficiente. O pagamento realizado revela o verdadeiro custo do relatório inicial nessas condições.
Trabalho aberto
O objetivo é uma formulação unificada de DP onde o retorno nocional externo pode ser qualquer função (linear, binário, convexo, etc.) e o manipulador tem acesso a todo o espaço estratégico: atraso, relatórios de preços errados, censura, suborno ePBS e liquidação, tudo em uma única indução retroativa. Varrer as parametrizações do jogo Oracle (S/N, M, Ttabelas de taxas) e famílias de distribuição para mapear a extração esperada em todo o espaço. Neste momento, as análises nocionais lineares e binárias são separadas, a análise linear assume uma distribuição normal, pressupõe-se que não há censura (por exemplo, um sequenciador L2 cooperativo) e o processo de preços é contínuo em vez de tempos de bloco discretos. Unificá-los sob recompensas arbitrárias, distribuições, modelos de inclusão e dinâmicas de tempo discreto é a principal coisa que resta a fazer.
Para concluir
O problema do oráculo é difícil e a matemática não é trivial. Poderíamos facilmente ter cometido erros (como havia no artigo original) ou perdido vetores de ataque. Tem sido difícil obter feedback substancial sobre esta abordagem até agora, por isso, se você encontrar falhas na análise ou tiver críticas construtivas, nós realmente apreciaríamos isso.
Redações completas e derivações em Oracle Accuracy & Cost – openOracle e Economic Bounds – openOracle e Attack Vectors – openOracle.
O contrato não tem acesso privilegiado, chaves de administrador e capacidade de atualização. Licenciado pelo MIT.
Contrato oracle atual: openOracle/src/OpenOracle.sol em bab490aeeae992c8ae28fb2286dff96d393c96b2 · openOracleProject/openOracle · GitHub
Fontesethresear



