Cómo protegerse de los ataques en Smart Contracts más comunes (Reentrancy Attack)

La tecnología Blockchain es que es súper segura, pero lo cierto es que a pesar de esto, no está exenta de los posibles ataques que los hackers más experimentados puedan llevar a cabo.

Por eso es importante estar al tanto sobre las posibles consecuencias que pueden tener las acciones de determinados actores maliciosos, y sobre todo, es importante saber qué papel juegan los desarrolladores Blockchain y los expertos en ciberseguridad, en proteger a la red y a sus usuarios.

Para ayudarte a esto, en Conquer Blocks vamos a enseñarte a protegerte de uno de los ataques más comunes, el ‘Reentrancy atack’ o ‘ataque de Reentrada’.

Reentrancy attack, ¿en qué consiste?

El ataque de reentrada es uno de los más habituales y también de los más dañinos, por que a través de este, el atacante puede robar todos los fondos de nuestro smart contract.

Esto tiene lugar cuando una función de un contrato, realiza una llamada externa a otro contrato que no es de confianza. Éste último, realiza entonces una llamada recursiva a la función original del primer contrato, intentando vaciar todos los fondos.

Para simplificarlo un poco:

- El contrato A llama a una función declarada en el contrato B (no confiable).

- El contrato B llama automáticamente a la función del contrato A de forma recursiva, mientras la primera llamada realizada por A no todavía se está procesando.

Aquí te dejamos un esquema de un ejemplo muy claro para que puedas entenderlo mejor.

Como quizá de esta forma sea un poco difícil de ver de qué manera pueden drenar todos los fondos de un contrato utilizando este método, en Conquer Blocks hemos preparado un vídeo explicativo en el que te demostramos de qué manera puede ocurrirte esto, y te enseñamos cómo puedes proteger tus contratos.


Clase gratuita sobre programación blockchain

En Conquer Blocks hemos creado una masterclass 100% gratuita y al grano, con el camino que debes seguir para convertirte en desarrollador blockchain de éxito.

📖 Si prefieres seguir leyendo, accede a este artículo: Aprender a programar en Solidity desde cero.

🎥 Si quieres acceder a la clase gratis de Desarrollo Blockchain, puedes acceder ahora mismo pulsando aquí.


El programa de Desarrollo Blockchain más vendido del mercado

Descubre el Máster en Desarrollo Blockchain de Conquer Blocks

Descubre el Máster en Desarrollo Blockchain de Conquer Blocks
Update cookies preferences