¿Qué es un “Re-entrancy attack”? Aprende como evitarlo en tus smart contractsPor
DiarioBitcoin@diariobitcoin
¿Has oído hablar de los ataques de reentrancia en contratos inteligentes y cómo estos pueden comprometer millones en fondos? Descubre qué son, cómo han impactado a la comunidad blockchainen el pasado y las estrategias esenciales para proteger tus activos.***
Vulnerabilidad de reentrancia permite múltiples retiros antes de actualizar el estado del contrato.
El ataque al DAOen 2016, que perdió USD $50 millones y a Stars Arenaque perdió USD $3 millones, utilizó esta vulnerabilidad.
Enseñamos en que consiste el ataque y como evitarlo para que tus Smart Contractsno sufran de esta vulnerabilidad
La protección incluye seguir el patrón “checks-effects-interactions” y usar semáforos.
Un ataque de reentranciaes una vulnerabilidad de seguridad en contratos inteligentes, principalmente asociada con Ethereumy blockchains que utilizan máquinas virtuales compatibles con Ethereum, como es el caso del C-Chain de Avalanchey otras.
Esta vulnerabilidad permitea un atacante retirar fondos repetidamente antes de que el contratooriginal pueda actualizar su estado.
La reentrancia ocurre cuando una función externa es llamada y, antes de que esta función complete su ejecución, vuelve a invocar la función que la llamó.
Vamos a descomponerlo paso a paso:
Función vulnerable: Imagina que tienes un contrato que permite a los usuarios retirar fondos. Cuando un usuario solicita un retiro, el contrato primero envía los fondos y luego actualiza el saldo interno del usuario.
Llamada externa: La vulnerabilidad se desencadena cuando, durante el proceso de envío de fondos (antes de que el saldo interno se actualice), el contrato llama a una función externa, que podría ser otro contrato o dirección controlada por un atacante.
Reentrancia: En lugar de simplemente recibir los fondos, la función externa invocada puede volver a llamar a la función de retiro original. Dado que el saldo interno del usuario original aún no se ha actualizado, la función de retiro piensa que todavía hay fondos disponibles y permite otro retiro. Esta reentrancia puede repetirse múltiples veces en una sola transacción, drenando más fondos de los que deberían ser permitidos.
Actualización del estado: Finalmente, después de que todas las llamadas reentrantes se hayan completado, el contrato original actualizará el saldo del usuario. Pero para ese momento, el daño ya está hecho y los fondos han sido drenados.
El ataque de reentrancia fue infamemente utilizado en el ataque al DAO el 17 de junio de 2016, resultando en la pérdida de aproximadamente USD $50 millones en Ether Esto eventualmente llevó a una bifurcación dura en Ethereum, creando EthereumClassic y Ethereum. Este fin de semana, el contrato de Stars Arena fue víctimade esta vulnerabilidad y USD $3 millones fueron drenados del valor del contrato.
Como evitar esta vulnerabilidad
Para proteger un contrato contra ataques de reentrancia, es crucial:
Utilizar patrones como “checks-effects-interactions”, lo que significa que primero se deben hacer todas las verificaciones, luego actualizar los estados y, finalmente, interactuar con otros contratos.
Emplear semáforos o bloqueospara evitar que una función se llame reentrante mientras todavía se está ejecutando.
Estar al tanto de las actualizaciones y las mejores prácticas en la seguridad de contratos inteligentes.
Si eres un desarrollador nuevo en blockchain, es fundamental que revises y pruebes a fondo cualquier contrato en busca de vulnerabilidades de reentrancia antes de desplegarlo en una red principal.
Observemos en la práctica como luce una función que permite re-entrar y luego la arreglamos para evitar la vulnerabilidad.
Ejemplo vulnerable
En este contrato, un atacante podría crear un contrato que reentrante al método retiraren su fallback, permitiendo al atacante retirar más Ether del esperado.
Ejemplo arreglado
Para arreglarlo, podemos seguir el patrón “checks-effects-interactions”.
Primero verificamos las condiciones, luego actualizamos el estado y, finalmente, hacemos las interacciones externas.
Con este cambio, incluso si hay un intento de reentrancia,el balance del usuario ya habrá sido actualizado y el segundo retiro no se permitirádebido a la condición retirar.
Imágenes originales de DiarioBitcoin, de uso libre, licenciadas bajo Dominio Público
Artículo original de Diariobitcoin
ADVERTENCIA:Este es un artículo de carácter informativo. DiarioBitcoin es un medio de comunicación, no promociona, respalda ni recomienda ninguna inversión en particular. Vale señalar que las inversiones en criptoactivos no están reguladas en algunos países. Pueden no ser apropiadas para inversores minoristas, pues se podría perder el monto total invertido. Consulte las leyes de su país antes de invertir.Hechos clave: Blackdot se presenta como opción para que las personas elijan diseños originales en sus tatuajes. Artistas visuales y tatuadores de todo el mundo podrán recibir ganancias con el comercio de NFT. El deseo de tatuarse la piel es un fenómeno universal presente desde hace miles de años. La práctica sigue en expansión sobreviviendo a cambios culturales y, sobre todo, tecnológicos. Bajo esta premisa, Blackdot, una startup de tatuajes de alta tecnología con sede en Austin, Texas, pretende dar un nuevo paso en este mercado al presentar una nueva máquina que además de hacer tatuajes, los almacena en la cadena de bloques como token no fungible o NFT. La empresa no indica si se utilizará alguna plataforma en específico. También te podríainteresar Chainlink es «la apuesta más segura» en la industria de RWA, según K33 Research 12 octubre, 2023 Grayscale pronostica «rendimientos descomunales» para varias criptomonedas 12 octubre, 2023 De acuerdo con la información que se da a conocer en una nota de prensa, el lanzamiento del dispositivo (que incluye la máquina y un estudio de tatuajes) ha sido reconocido por expertos en el área, quienes destacanla posibilidad de que los artistas presenten diseños originales, que serán presentados como colecciones a través de la plataforma o elaborados por encargo. Esto, al tiempo de obtener regalías por la comercialización en los marketplaces de NFT, dondelas obras también se guardan como objetos con una entidad única en su tipo. «Blackdot está redefiniendo fundamentalmente lo que es posible para la industria del tatuaje, estableciendo nuevas prácticas y fuentes de ingresos para cambiar un paradigma que con demasiada frecuencia cambia en detrimento de muchos artistas», señalan algunos tatuadores en declaraciones a medios de comunicación. La industria de los tatuajes cada vez más cerca del mercado NFT Según los comentarios de los artistas visuales, ellos ven la nueva tecnología como un beneficio para el desempeño de muchos pintores, ilustradores y personas que trabajan en diferentes campos del arte. De ahí que el lanzamiento tenga el respaldo de tatuadores reconocidos como Tyler Hobbs, Omer Tunca y John Craig. Piensan que al incorporar estas nuevas tecnologías se ofrecerá a los clientes una experiencia diferente, considerando que la industria del tatuaje actualmente está en pleno crecimiento con un número cada vez más numeroso de personas que quieren tatuarse, según muestranlas investigaciones. Por ello se espera que los buscadores de diseños, mayormente ubicados entre las generaciones más jóvenes, puedan usar y encargar creaciones a artistas de todo el mundo utilizando la nueva plataforma. De hecho, en la página oficial de Blackdot ya hay disponibles varias colecciones que estarán en vigencia por un lapso de tiempo. La compañía, que planea expandir sus estudios a las principales ciudades de EE. UU. y del extranjero, está en la búsqueda de inversionistas y ángeles amigos. La propuesta de esta empresa se presenta como otra opción tecnológica que acerca el mundo del arte al mercado de los tokens no fungibles. Pues en esa misma línea de acción avanzan investigaciones de universidades, como la de Colorado, donde se han estado formulandotintas para tatuajes que conducen electricidad y cambian de color en respuesta a diferentes estímulos. Se trata de tatuajes reescribibles que también se comercializan como NFT. La tendencia a inmortalizar las creaciones en cadenas de bloquesestá en pleno auge, tal como lo reconocen muchos espacios web dedicados al arte del tatuaje: «Si bien esta profesión obtiene su retribución económica a través del arte de tatuar sobre la piel, la tecnología blockchain ofrece un segundo medio para sacar provecho de este talento, invitando a los tatuadores a salir de su zona de confort y resignificando su trabajo». Etiquetas:BlockchainNFT (Non fungible tokens)Relevantes