#termmax @TermMax ...Eu estava analisando as correções mais recentes da V2 do TermMax, e uma coisa continuava me incomodando.
Eu costumava achar que a maioria dos bugs em DeFi se resume a matemática ruim.
Desta vez, a matemática estava, em sua maior parte, ok.
O problema maior foi usar a representação errada da realidade.
Vamos falar de apr().
A lógica antiga olhava o saldo bruto de XT da ordem.
Parece razoável, certo?
Mas a V2 não usa o saldo bruto de XT como estado de precificação. Ela usa virtualXtReserve.
Essa diferença importa...
Imagine uma loja em que a etiqueta de preço é controlada pelo livro interno da própria loja, mas você começa a calcular preços a partir de qualquer quantia de dinheiro que alguém aleatoriamente largou no balcão.
O dinheiro mudou.
O modelo de preços não mudou.
É basicamente isso que uma transferência direta de XT poderia fazer com o cálculo antigo de APR.
Um saldo pode se mover sem a curva se mover, e ainda assim apr() pode tratar esse saldo como o novo estado de precificação.
A correção faz o modelo contábil coincidir com o modelo econômico.
E eu acho que essa é a lição mais interessante.
Em contratos inteligentes financeiros, a pergunta perigosa nem sempre é:
“A fórmula está correta?”
Às vezes é:...
“Estamos alimentando a fórmula com o estado certo?”
O mesmo tema aparece na correção da liquidação.
Um oráculo de dívida com 18 decimais poderia fazer uma conversão de decimais colapsar a comparação de garantias, transformando posições que deveriam permitir uma liquidação de 50% em liquidação total.
De novo, não era um problema de fórmula tão complicado.
Era um problema de unidades.
É por isso que estou começando a prestar mais atenção nessas mudanças aparentemente “boring” (entediante).
Uma correção contábil de uma linha pode importar mais do que um recurso novo e chamativo, porque ela decide se o protocolo está interpretando o mercado corretamente.
No TermMax, eu observaria uma coisa de perto daqui pra frente:
não apenas quanta liquidez o sistema tem, mas se precificação, avaliação de garantias e lógica de liquidação estão lendo a mesma realidade econômica.....
É aí que “o código funciona” começa a virar “a infraestrutura financeira funciona”.
Você preferiria auditar as fórmulas primeiro, o estado contábil primeiro, ou as premissas do oráculo/unidade primeiro?....
Eu costumava achar que a maioria dos bugs em DeFi se resume a matemática ruim.
Desta vez, a matemática estava, em sua maior parte, ok.
O problema maior foi usar a representação errada da realidade.
Vamos falar de apr().
A lógica antiga olhava o saldo bruto de XT da ordem.
Parece razoável, certo?
Mas a V2 não usa o saldo bruto de XT como estado de precificação. Ela usa virtualXtReserve.
Essa diferença importa...
Imagine uma loja em que a etiqueta de preço é controlada pelo livro interno da própria loja, mas você começa a calcular preços a partir de qualquer quantia de dinheiro que alguém aleatoriamente largou no balcão.
O dinheiro mudou.
O modelo de preços não mudou.
É basicamente isso que uma transferência direta de XT poderia fazer com o cálculo antigo de APR.
Um saldo pode se mover sem a curva se mover, e ainda assim apr() pode tratar esse saldo como o novo estado de precificação.
A correção faz o modelo contábil coincidir com o modelo econômico.
E eu acho que essa é a lição mais interessante.
Em contratos inteligentes financeiros, a pergunta perigosa nem sempre é:
“A fórmula está correta?”
Às vezes é:...
“Estamos alimentando a fórmula com o estado certo?”
O mesmo tema aparece na correção da liquidação.
Um oráculo de dívida com 18 decimais poderia fazer uma conversão de decimais colapsar a comparação de garantias, transformando posições que deveriam permitir uma liquidação de 50% em liquidação total.
De novo, não era um problema de fórmula tão complicado.
Era um problema de unidades.
É por isso que estou começando a prestar mais atenção nessas mudanças aparentemente “boring” (entediante).
Uma correção contábil de uma linha pode importar mais do que um recurso novo e chamativo, porque ela decide se o protocolo está interpretando o mercado corretamente.
No TermMax, eu observaria uma coisa de perto daqui pra frente:
não apenas quanta liquidez o sistema tem, mas se precificação, avaliação de garantias e lógica de liquidação estão lendo a mesma realidade econômica.....
É aí que “o código funciona” começa a virar “a infraestrutura financeira funciona”.
Você preferiria auditar as fórmulas primeiro, o estado contábil primeiro, ou as premissas do oráculo/unidade primeiro?....

