Description
El código compila, los tests están en verde y la demo anda. Nada de eso te dice si un desconocido puede vaciar el contrato el día que guarda dinero de verdad, porque los tests que escribiste chequean que el contrato hace lo que quisiste, y al atacante le pagan por encontrar lo que no quisiste. Un contrato es bytecode público que cualquiera en el mundo puede leer y probar para siempre, sin ventana de parcheo y sin rollback, y las formas en que se lo vacía no son exóticas: una llamada externa que reentra, un chequeo de owner que olvidaste, un precio en el que confiaste por un bloque, un slot de upgrade que entrega las llaves. Revisar un contrato es una habilidad distinta de escribirlo, y nadie la enseña, así que aprobás con un tilde verde y rezás para que el tilde verde y el atacante hayan estado mirando lo mismo.
Este libro te enseña a leer un smart contract como lo lee un auditor: asumiendo que ya está roto y que tu trabajo es encontrar dónde, antes de que alguien con un bot y un fork de mainnet lo encuentre por vos. Sigue a un protocolo a lo largo de una revisión completa y lo vacía, de forma segura, una clase de bug por vez, para que aprendas cada exploit viéndolo pasar y después cerrándolo. Vas a ver por qué un contrato se vacía mientras los tests siguen en verde, cómo la reentrada le paga dos veces al atacante, cómo un chequeo de acceso olvidado deja que un desconocido se quede con el contrato, cómo el redondeo y el desborde filtran valor de a un wei, cómo se dobla un precio por un solo bloque y cómo se liquida una posición entera sobre esa mentira, cómo alguien lee tu transacción antes de que aterrice y cobra por reordenarla, y cómo un slot de upgrade o un delegatecall entregan el control sin hacer ruido. Después construye la disciplina que agarra todo esto antes que mainnet: cómo corre de verdad una auditoría, las herramientas que encuentran bugs mientras dormís (análisis estático, fuzzing, testing de invariantes), los patrones que hacen imposibles clases enteras de bug en vez de solo improbables, y cómo es la primera hora de un incidente en vivo cuando la plata ya se está moviendo. Los ejemplos son contratos que de verdad desplegarías, revisados por las formas específicas en que salen mal. Para el ingeniero que va a ser la última persona en leer el código antes de que tenga millones, y quiere ser el revisor que lo agarró.
Para quién lo escribimos
Este libro es para: el ingeniero que tiene que dar el visto bueno a un contrato antes de que salga a producción, cada vez más escrito por un agente, donde aprobar la línea equivocada no es un ticket de bug sino un error permanente, público y vaciable con los millones de otra persona del otro lado.
Qué incluye este libro
- Capítulo 1: La auditoría que salvó ocho millones
- Capítulo 2: Por qué tu contrato se vacía mientras los tests siguen en verde
- Capítulo 3: El withdraw que te paga dos veces
- Capítulo 4: El desconocido que terminó dueño de la vault
- Capítulo 5: Cuando uno más uno deja de ser dos
- Capítulo 6: El precio que mintió por un solo bloque
- Capítulo 7: Alguien leyó tu transacción antes de que aterrizara
- Capítulo 8: El upgrade que entregó las llaves
- Capítulo 9: La función que ya nadie puede llamar
- Capítulo 10: Qué le hace de verdad una auditoría a tu código
- Capítulo 11: Los bugs que tu máquina encuentra mientras dormís
- Capítulo 12: El patrón que hace el bug imposible en vez de improbable
- Capítulo 13: La noche en que vaciaron el protocolo


