Lo imprevisto: Navegación por un mal funcionamiento del contrato y relanzamiento de V2
Por DeHub Team — 2022-10-01
En el Q4 2022 los disparadores de impuestos en nuestro contrato fallaron. El token se congeló. El pool de liquidez se congeló con él. Nos vimos obligados a relanzar como v2.
Esta es la falla técnica más seria en la historia de DeHub y merece una cuenta directa.
Qué ha pasado
El contrato llevaba la lógica fiscal en la ruta de transferencia: el diseño estándar para el período, donde un porcentaje de cada transacción se desvía a liquidez, comercialización o tenedores.
Esos disparadores funcionaron mal en condiciones reales. El resultado no fue una experiencia degradada. El token no se podía mover, y debido a que el pool depende de las transferencias, la liquidez se bloqueó con él. Los titulares no podían operar. No pudimos arreglarlo desde fuera, porque el comportamiento estaba en la propia lógica del contrato desplegado.
No hubo parche. La inmutabilidad es la propiedad que deseas hasta el momento en que lo que es inmutable se rompe.
Por qué una auditoría no lo evitó
Habíamos encargado una auditoría completa de Certik el año anterior y nos tomamos en serio la seguridad desde la vulnerabilidad v1.
Esto no era un exploit. Nadie nos atacó, el contrato hizo lo que estaba escrito, bajo una combinación de condiciones que no habían sido modeladas. Las auditorías analizan detenidamente si se puede abusar del código. Son mucho más débiles en cuanto a si un diseño se comporta con sensatez en los bordes de sus propias suposiciones, y ahí es donde esto vivió.
Es la ilustración más clara que tenemos de los límites de una auditoría, por lo que nunca hemos usado la palabra como garantía desde entonces.
Lo que hicimos
Reiniciado. No había opción más pequeña.
Eso significaba un nuevo contrato y migrar a más de 25.000 titulares, una enorme tarea operativa llevada a cabo exactamente en las circunstancias en las que menos credibilidad se tiene.
También significaba decidir cuál debería ser el nuevo contrato, y pasamos a la tokenómica estándar ERC-20 sin nada inteligente en la ruta de transferencia. Sin disparadores de impuestos. Sin lógica condicional entre un titular y sus propios tokens.

Qué aprendimos realmente
La complejidad en la ruta de transferencia es el riesgo. Cada mecanismo tokenómico inteligente es un código que se ejecuta en cada transacción para siempre, en condiciones de mercado que nadie ha visto todavía. La astucia tiene que ganarse su lugar contra eso.
Immutable significa immutable. Diseña para el caso en que no puedes intervenir, porque ese es el caso que tendrás.
La comunidad lleva el costo de tus decisiones de diseño. Los titulares no pudieron acceder a sus propias posiciones por culpa propia. Sea cual sea la explicación técnica, eso es lo que ocurrió, y ese es el marco que hemos mantenido.
Después
V2 enviado, los titulares migraron y el trading se reanudó en Gate.io en el primer trimestre de 2023. El contrato simplificado se ha ejecutado sin incidentes desde entonces.
A finales de 2022 fue el peor tramo que DeHub ha tenido: esto, inmediatamente después de que la empresa de Palawan colapsara y un sorteo de $ 1m perdió su mínimo. Los tres están en este archivo en su totalidad.
Para cualquiera que esté diseñando tokenomics ahora
El consejo específico que daríamos, habiendo pagado por él:
Todo en el camino de transferencia debe justificarse contra el peor caso, no el previsto. Pregunta qué hace este código a 100x el volumen que esperas, al 1% de él, durante un evento de liquidez, y cuando un contrato integrador se comporte de una manera que no anticipaste. Si no puedes responder las cuatro, no pertenece allí.
Y asume que nunca podrás cambiarlo. El ejercicio mental que nos habría salvado es sencillo: escribe lo que harías si este contrato empezara a comportarse mal mañana y no tuvieras clave de admin. Si la respuesta honesta es "relaunch y migrar a todos", ya has aceptado ese resultado — solo que aún no lo has programado.
Abrir DeHub