-
A centralizaciรณn y los errores en los cรณdigos son los principales riesgos.
-
Las vulnerabilidades se pueden reducir con la revisiรณn y prueba de los cรณdigos.
David Tarditi, vicepresidente de ingenierรญa en CertiK, una empresa dedicada a la seguridad en cadenas de bloques, explicรณ las principales amenazas que enfrentan los contratos inteligentes de Ethereum y otras blockchains. Ademรกs, brindรณ un breve resumen sobre cรณmo prevenirlas y afrontarlas, durante su exposiciรณn en la conferencia Ethereum Rio 2022, ayer, 15 de marzo.
La proliferaciรณn de los protocolos de finanzas descentralizadas (DeFi, por sus siglas en inglรฉs) ha llevado a que estas plataformas sean blanco de numerosos ataques por parte de hackers en los รบltimos dos aรฑos. Como explicรณ Tarditi en su alocuciรณn, mรกs de USD 1.300 millones se perdieron como consecuencia de estos robos informรกticos en 2021.
Entre los casos mรกs importantes de hackeos a DeFi el aรฑo pasado, el especialista citรณ lo ocurrido con Uranium, con pรฉrdidas de USD 50 millones; Compound, con un saldo negativo de USD 90 millones en recompensas mal distribuidas en el mes de octubre; y bZx, que perdiรณ USD 55 millones en noviembre por un ataque phishing por correo electrรณnico y tambiรฉn padeciรณ repetidos ataques en 2020.
Tambiรฉn en 2022 se siguen sucediendo estos eventos, como les pasรณ a los protoclos Qubit, Wormhole y Meter.io. CriptoNoticias ha reportado sobre estos casos con bastante frecuencia desde mediados de 2020.
Con respecto a este tema, el orador explicรณ que su empresa ha realizado mรกs de 1.400 auditorรญas de contratos inteligentes en los รบltimos seis meses, las cuales arrojaron un total de 16.400 problemas, 5.300 de ellos de รญndole crรญtica para la seguridad del protocolo.
Los principales riesgos para los contratos inteligentes en Ethereum
Para profundizar mรกs en esta cuestiรณn, David Tarditi enumerรณ cinco vulnerabilidades que pueden enfrentar los protocolos de finanzas descentralizadas. Asimismo, contรณ cรณmo potenciar la seguridad para reducir el riesgo de padecerlas.
1. Centralizaciรณn
Por lejos, es el principal problema encontrado por Tarditi y su equipo en los contratos inteligentes auditados. Hallaron nada menos que 3.000 casos de centralizaciรณn en 1.400 auditorรญas. Es decir, mรกs de 2 errores o fallas por contrato.
La centralizaciรณn en contratos inteligentes en Ethereum se da cuando existe un ยซdueรฑoยป o ente centralizado que puede alterar balances, distribuir tokens, hacer retiros de fondos, actualizar el contrato o modificar sus parรกmetros a su antojo, entre otras funciones sensibles, explicรณ el expositor.
Precisamente, la esencia de estos contratos y de las DeFi, como su nombre lo indica, es eliminar al intermediario. En otras palabras, el funcionamiento del protocolo debe estar automatizado y regido por el propio cรณdigo, sin posibilidad de que la empresa desarrolladora o cualquier otra persona lo modifique segรบn su conveniencia y criterio. Esta centralizaciรณn puede ser aรบn mรกs peligrosa cuando un hacker toma el control.
Algunas maneras de evitar que se dรฉ esta situaciรณn, segรบn Tardini, incluyen eliminar ese rol privilegiado del cรณdigo, asegurar las llaves privadas mediante una wallet multifirma o bloqueo de tiempo y apelar a una organizaciรณn autรณnoma descentralizada (DAO) para la toma de decisiones comunitarias.
2. Problemas de lรณgica y correcciรณn
Las fallas de lรณgica y correcciรณn en los contratos inteligentes tienen que ver con aquellos errores que impiden su funcionamiento esperado. Un ejemplo de ello serรญa un mal cรกlculo en las recompensas por el staking de una criptomoneda o la falta de actualizaciรณn de alguna variable. Tambiรฉn se incluyen aquรญ los errores de programaciรณn en el cรณdigo.
De los casos analizados surgieron 1.209 problemas de este estilo. Aquรญ podrรญan encuadrarse los episodios de Uranium y Compound mencionados con anterioridad. De acuerdo con lo expuesto por Tarditi, estos se dieron debido a la ยซomisiรณn de un solo carรกcter en el cรณdigoยป que llevรณ a un mal funcionamiento del protocolo que los hackers pudieron explotar.
ยฟQuรฉ se puede hacer para prevenir estas fallas? Lo principal es ser muy preciso y meticuloso con los documentos de diseรฑo y el whitepaper, llevar a cabo una revisiรณn del cรณdigo y desarrollar pruebas para detectar estos posibles problemas.
3. Complicaciones con los retiros
La tercera amenaza para los contratos inteligentes de Ethereum segรบn David Tarditi son las fallas o complicaciones con los retiros de fondos. Este es un tipo de vulnerabilidad que se dio mucho menos en los casos estudiados; solo se detectรณ en 142 contratos, es decir, casi el 10% de las fallas de lรณgica y correcciรณn.
Un ejemplo en esta tercera categorรญa serรญa el bloqueo de fondos en un contrato inteligente, sin la posibilidad de removerlos por parte del usuario. Es algo que se puede corregir siguiendo los consejos del punto anterior al momento de elaborar, probar y corregir el cรณdigo del protocolo.
4. Control de accesos
Los problemas con los accesos son la cuarta amenaza enumerada por este experto. La detectaron en 120 contratos inteligentes durante sus auditorรญas.
Parecido al primer punto de esta lista, la vulnerabilidad se produce cuando cualquier persona puede ejecutar una operaciรณn sensible del contrato pese a que no deberรญa poder hacerlo. En este caso, no se darรญa por el hecho de que este usuario posea un rol privilegiado, sino que ocurre a partir de una falla en el cรณdigo que le permite hacerse con esa potestad.
Nuevamente, se trata de un problema que se puede detectar a partir de las buenas prรกcticas ya mencionadas con anterioridad. Al respecto, Tarditi destacรณ que estos procesos deben repetirse exhaustivamente cada vez que se realiza una modificaciรณn en el cรณdigo de un contrato inteligente.
5. Falta de lรญmites
Por รบltimo, podrรญa darse en un contrato inteligente el problema de la falta de lรญmites. Un caso potencial serรญa el establecimiento de tarifas; si estas no se limitan y ascienden demasiado, podrรญa perderse una gran parte del valor bloqueado en el contrato al momento de ejecutar una liquidaciรณn o cualquier otra funciรณn.
Tal y como reportรณ este medio, en 2021 las tarifas de Ethereum tuvieron precios muy elevados a causa de la congestiรณn que experimentรณ la red.
El problema de la falta de lรญmites en contratos inteligentes se dio en menor medida segรบn la investigaciรณn de Tarditi, ya que se detectaron 96 fallas de este estilo.
Los contratos inteligentes de Ethereum, en busca de la optimizaciรณn
Si hay algo que destaca a la red de Ethereum es la seguridad y escalabilidad que ofrece para operar con herramientas como los contratos inteligentes. Es lo que mรกs la diferencia de Bitcoin y lo que la separa de sus principales competidoras, que nunca llegaron a hacerle sombra.
Sin embargo, estรก claro que todavรญa quedan cosas por mejorar, y en eso trabajan expertos como David Tarditi. A partir del conocimiento de los peligros y la aplicaciรณn de las recomendaciones anteriores, puede generarse un entorno mรกs seguro que mitigue los ataques y aporte al crecimiento de la adopciรณn de esta red.