#termmax @TermMax ...Estaba revisando las últimas correcciones V2 de TermMax y había algo que no dejaba de preocuparme.
Antes pensaba que la mayoría de los bugs en DeFi se reducían a malas matemáticas.
Esta vez, las matemáticas estaban en su mayor parte bien.
El problema más grande era usar una representación incorrecta de la realidad.
Mira apr().
La lógica anterior observaba el balance XT bruto de la orden.
¿Suena razonable, verdad?
Pero en V2 no se usa el balance bruto de XT como estado de precios. Se usa virtualXtReserve.
Esa diferencia importa...
Imagina una tienda donde la etiqueta de precio la controla el libro interno del local, pero tú empiezas a calcular precios a partir de la cantidad de efectivo que alguien dejó al azar en el mostrador.
El efectivo cambió.
El modelo de precios no.
Eso es básicamente lo que una transferencia directa de XT podría hacer en el cálculo antiguo del APR.
Un balance podría moverse sin que la curva se moviera, y aun así apr() podría tratar ese balance como el nuevo estado de precios.
La corrección hace que el modelo contable coincida con el modelo económico.
Y creo que esa es la lección más interesante.
En contratos inteligentes financieros, la pregunta peligrosa no siempre es:
“¿La fórmula es correcta?”
A veces es:...
“¿Estamos alimentando la fórmula con el estado correcto?”
El mismo tema aparece en la corrección de la liquidación.
Un oráculo de deuda con 18 decimales podría hacer que una conversión decimal colapse la comparación del colateral, convirtiendo posiciones que deberían permitir una liquidación del 50% en una liquidación total.
Otra vez, no era realmente un problema de una fórmula complicada.
Era un problema de unidades.
Por eso estoy empezando a prestar más atención a estos cambios que parecen tan aburridos.
Una corrección contable de una sola línea puede importar más que una función nueva y llamativa, porque decide si el protocolo está interpretando el mercado correctamente.
En TermMax, yo vigilaría una cosa de cerca desde aquí:
no solo cuánta liquidez tiene el sistema, sino si la fijación de precios, la valoración del colateral y la lógica de liquidación están leyendo toda la misma realidad económica.....
Ahí es donde “el código funciona” empieza a convertirse en “la infraestructura financiera funciona”.
¿Preferirías auditar primero las fórmulas, primero el estado contable, o primero las suposiciones del oráculo/unidades?....
Antes pensaba que la mayoría de los bugs en DeFi se reducían a malas matemáticas.
Esta vez, las matemáticas estaban en su mayor parte bien.
El problema más grande era usar una representación incorrecta de la realidad.
Mira apr().
La lógica anterior observaba el balance XT bruto de la orden.
¿Suena razonable, verdad?
Pero en V2 no se usa el balance bruto de XT como estado de precios. Se usa virtualXtReserve.
Esa diferencia importa...
Imagina una tienda donde la etiqueta de precio la controla el libro interno del local, pero tú empiezas a calcular precios a partir de la cantidad de efectivo que alguien dejó al azar en el mostrador.
El efectivo cambió.
El modelo de precios no.
Eso es básicamente lo que una transferencia directa de XT podría hacer en el cálculo antiguo del APR.
Un balance podría moverse sin que la curva se moviera, y aun así apr() podría tratar ese balance como el nuevo estado de precios.
La corrección hace que el modelo contable coincida con el modelo económico.
Y creo que esa es la lección más interesante.
En contratos inteligentes financieros, la pregunta peligrosa no siempre es:
“¿La fórmula es correcta?”
A veces es:...
“¿Estamos alimentando la fórmula con el estado correcto?”
El mismo tema aparece en la corrección de la liquidación.
Un oráculo de deuda con 18 decimales podría hacer que una conversión decimal colapse la comparación del colateral, convirtiendo posiciones que deberían permitir una liquidación del 50% en una liquidación total.
Otra vez, no era realmente un problema de una fórmula complicada.
Era un problema de unidades.
Por eso estoy empezando a prestar más atención a estos cambios que parecen tan aburridos.
Una corrección contable de una sola línea puede importar más que una función nueva y llamativa, porque decide si el protocolo está interpretando el mercado correctamente.
En TermMax, yo vigilaría una cosa de cerca desde aquí:
no solo cuánta liquidez tiene el sistema, sino si la fijación de precios, la valoración del colateral y la lógica de liquidación están leyendo toda la misma realidad económica.....
Ahí es donde “el código funciona” empieza a convertirse en “la infraestructura financiera funciona”.
¿Preferirías auditar primero las fórmulas, primero el estado contable, o primero las suposiciones del oráculo/unidades?....

