Hemos aprendido las formas básicas en que podemos atacar los smart contracts. Hemos implementado nuestros propios contratos para practicar opuestos complementarios en público. Hemos profundizado en el almacenamiento público y permanente de todas las cosas. Ahora es el momento de recurrir a la vulnerabilidad más clásica que existe y volver a entrar conscientemente en el truco que casi lo desentraña todo.
Jugaremos por el trono, subiremos al último piso y volveremos a firmar un contrato para reclamarlo todo. Este es realmente el clímax. ¿Quién diría que los smart contracts podrían presentar una telenovela tan dramática?
Preparación¶- Asegúrate de que todavía le quede algo de Sepolia ETH en su cuenta.
- Lee sobre el truco de DAO.
- Siéntate y respira tranquilamente durante al menos 20 minutos. Utiliza esta música si te ayuda. O este.
Vamos a investigar hacks más avanzados que utilizan funciones alternativas (o la falta de ellas) y patrones en funciones que no protegen adecuadamente contra ellas. También veremos algunas armas de fuego más en Solidity, como modificadores de alcance engañosos e interfaces de interferencia.
Al redactar algunos contratos de ataque más avanzados, aprenderás a escribir tus propios contratos y a hacerlo de forma más segura, al mismo tiempo. Si el tiempo lo permite, también echaremos un vistazo al depurador de Remix e intentaremos realizar una llamada de función para rastrear lo que sucede en el EVM.
Resumen¶En esta sesión habrás aprendido:
- Formas más complejas de utilizar funciones alternativas para explotar código deficiente.
- Qué tipo de patrones evitar al redactar tus propios contratos.
- Cómo utilizar más funciones de Remix para ayudarte en tu propio desarrollo.
- Por qué leer código es un asunto de múltiples capas y cuán matizada es realmente la confianza.
- Cómo pensar en el tipo de patrones lógicos que los buenos desarrolladores tienen por costumbre.