Según un reciente estudio, al menos un 0,36% de los contratos de la red Ethereum son vulnerables a fallas de error humano, lo cual, pese al poco porcentaje, podría llegar a causar pérdidas millonarias.
En este estudio, titulado “Finding The Greedy, Prodigal, and Suicidal Contracts at Scale“ (Encontrando los contratos codiciosos, pródigos y suicidas a escala) y realizado por los investigadores Ivica Nicolic, Aashish Kolluri, Ilya Sergey, Prateek Saxena, y Aquinas Hobor de la University College London y la Escuela de Computación de la Universidad Nacional de Singapur, se analizaron casi 1 millón de contratos de Ethereum, de los cuales 3.686 fueron diagnosticados con potenciales fallas que podrían ser causadas por error humano, lo que indica que aproximadamente un 0,36% de los contratos de la red pueden presentar vulnerabilidades.
Para lograr esto, se realizó una bifurcación privada de esta blockchain, evitando conectar terceros que se encuentren en la red original. De esta forma, se logró obtener la muestra de contratos para este estudio.
Implementamos MAIAN, la primera herramienta para especificar precisamente y razonar sobre las propiedades de rastreo, que emplea análisis simbólico inter-procedimiento y validación concreta para exhibir vulnerabilidades reales. Nuestro análisis de casi un millón de contratos señala 34.200 (2.365 distintos) contratos vulnerables, a diez segundos por contrato. En un subconjunto de 3.759 contratos que hemos muestreado para la validación concreta y manual análisis, reproducimos exploits reales a una tasa positiva real del 89%, produciendo exploits por 3.686 contratos.
Ivica Nicolic, Aashish Kolluri, Ilya Sergey, Prateek Saxena, y Aquinas Hobor
University College London, Universidad Nacional de Singapur
Las fallas posibles fueron clasificadas en tres categorías: primero están los Contratos Pródigos (Prodigal Contracts), que son aquellos que pueden ser manipulados para modificar la dirección de la cartera a la cual se deben enviar los fondos; en segundo lugar están los Contratos Suicidas (Suicidal Contracts), los cuales pueden ser terminados por un ataque externo llevado a cabo por un tercero; y, finalmente, están los Contratos Codiciosos (Greedy Contracts), que son los que se pueden manipular para bloquear los fondos contenidos en ellos. Como estos sistemas tienden a utilizar varios contratos, incidentes de este tipo pueden involucrar fallas de más de una de las categorías anteriormente mencionadas.
Ejemplo de ello fue el caso de Parity, ya que el pasado noviembre un bug accidentalmente congeló cerca de 150 millones de dólares en ether cuando un usuario lo activó accidentalmente. Esto se podría considerar un contrato suicida, pero dado que sus carteras dejaron bloqueados los fondos, estas pueden considerarse codiciosas. Al día de hoy, estos fondos continúan congelados.
Para la muestra de contratos usada en este estudio, la cantidad de Ether (ETH) que pudieron haberse extraído o bloqueado desde contratos pródigos y suicidas es de 4.905 ETH (más de 4 millones de dólares). Adicionalmente, unos 6.239 ETH (más de 5 millones de dólares) se encuentran atrapados dentro de contratos póstumos, los cuales son contratos que ya fueron terminados o que no poseen código, de los cuales 313 ETH fueron enviados a contratos que ya habían sido terminados. Después de que un contrato es terminado, ya no se puede ejecutar su código en la blockchain, pero todos los contratos terminados pueden seguir recibiendo transacciones, aunque estas ya no puedan invocar el código de estos contratos, por ello los tokens enviados a contratos ya terminados son bloqueados indefinidamente.
La red de Ethereum utiliza un lenguaje de programación llamado Solidity, el cual se creó apenas en 2014 y fue hecho con la intención de volver más seguros a los contratos inteligentes. Al ser este un lenguaje novedoso, algunos programadores no están acostumbrados a él y esto puede llevar a fallas de error humano en la programación de los contratos inteligentes. Sin embargo, este proceso de adaptación es necesario para que la red siga creciendo, y a medida que los programadores se acostumbren a Solidity las fallas de esta naturaleza deberían disminuir.
Cuando errores de este tipo ocurren y se pierde una cantidad importante de fondos, una de las soluciones posibles es realizar una bifurcación fuerte (hardfork) de la red de Ethereum, creando así una actualización de la misma red pero sin el error. Sin embargo, esto sólo ocurrió una vez tras los eventos del robo de los fondos del DAO de Slock.it, lo cual desembocó por diferencias ideológicas en la creación del Ethereum Classic. Generalmente propuestas de esta naturaleza tienden a encontrar bastante resistencia, pues se considera que se traiciona el ideal de descentralización.
Sin embargo, existen otras formas de abordar estos problemas. Estudios como este, acompañados de monitoreos y de un sistema de auditoría para estos programas pueden ayudar a detectar errores y fallas potenciales antes de que estos ocurran. También se podría crear una biblioteca de contratos cuyo funcionamiento ya ha sido verificado, lo que puede facilitar el trabajo de los programadores y reducir el riesgo de fallas. Asimismo, Ethereum podría aplicar interfaces más amigables con el usuario, lo que reduciría el riesgo de fallas.
Publicado por Fidel La Rosa en
https://www.criptonoticias.com
El Día de Star Wars: Una Celebración Interplanetaria El fenómeno que es el Día de Star Wars tiene un origen tan peculiar como la misma saga. El 4 de mayo de 1979, tras el estreno de la primera película, el London Evening News incluyó la frase “May the Force be with you” en una nota política. Los fanáticos tomaron esto como inspiración para crear la festividad. El origen de la fecha es muy curioso. El 4 de mayo de 1979, cuando el mundo estaba extasiado tras el estreno de la primera película de La Guerra de las Galaxias, el diario británico London Evening News publicó una nota en la que miembros del Partido Conservador del Reino Unido felicitaban a Margaret Thatcher por su recién adquirido puesto como primera ministra del país, incluyendo esta frase “May the Force be with you”, traducido como “que la fuerza te acompañe”. Esto fue aprovechado por los fans como impulso para crear el Star Wars Day. Desde entonces, la celebración ha crecido exponencialmente. Un hito crucial fue el festival de cine organizado por el Toronto Underground Cinema en 2011, que consolidó la fecha como un evento cultural. Además, multitud de empresas aprovechan la ocasión para ofrecer ofertas y descuentos especiales en sus productos de Star Wars. El Día de Star Wars se ha convertido en mucho más que una simple fecha en el calendario. Es un momento de unidad para los fanáticos de todas partes del mundo, una oportunidad para celebrar la saga que ha marcado a generaciones enteras. Así, cada 4 de mayo, la galaxia entera se une para conmemorar el legado de George Lucas y la magia de Star Wars.
El Domingo de Ramos es el día que marca el inicio de la Semana Santa en la tradición cristiana, conmemorando la entrada triunfal de Jesús en Jerusalén. Este día está lleno de simbolismo y significado religioso para los cristianos, pero en términos de “misterios”, podrían interpretarse algunos aspectos simbólicos o teológicos: La entrada triunfal de Jesús: Este evento, mencionado en los evangelios, es la base del Domingo de Ramos. Jesús entra en Jerusalén montado en un burro, mientras la multitud lo aclama y lo saluda con ramas de palma y ropas extendidas en su camino. El misterio aquí radica en la comprensión del significado de esta entrada en el contexto de la misión de Jesús y su relación con el reino de Dios. El cambio de actitud de la multitud: Es intrigante cómo la multitud que aclama a Jesús en su entrada triunfal el Domingo de Ramos luego se convierte en la misma multitud que lo rechaza y pide su crucifixión pocos días después. Este cambio repentino de actitud puede ser objeto de reflexión sobre la naturaleza humana y la fragilidad de las lealtades populares. El simbolismo de las palmas y las ramas: En muchas tradiciones cristianas, se llevan palmas y ramas durante las celebraciones del Domingo de Ramos como símbolo de victoria y triunfo. Estos elementos pueden representar la victoria espiritual sobre el pecado y la muerte que Jesús trae consigo, pero también pueden ser interpretados como un recordatorio de la naturaleza efímera de los triunfos terrenales. El comienzo de la Semana Santa: El Domingo de Ramos marca el inicio de la Semana Santa, un período de intensa reflexión y conmemoración para los cristianos. Este tiempo está lleno de rituales y tradiciones que recuerdan los eventos finales de la vida de Jesús, desde la Última Cena hasta su crucifixión y resurrección. Los misterios aquí son los propios misterios de la fe cristiana: la pasión, muerte y resurrección de Jesús, y su significado para la salvación de la humanidad. En resumen, el Domingo de Ramos está envuelto en una serie de misterios religiosos y simbolismos que invitan a la reflexión y la contemplación sobre la fe cristiana y el significado de la vida y la obra de Jesucristo. https://www.tiktok.com/@mscnoticias