La maleabilidad de una transacción es cuando un atacante puede modificar o alterar el hash de una transacción dentro del blockchain. Es un tipo de ataque de Denegación de Servicio o DoS, por el cual el hacker puede alterar una transacción.
Aunque la modificación del hash no evitaría que se ejecute la transacción, el receptor de la misma puede alegar que no está reflejada en su cuenta. Lo que lleva a la desconfianza del usuario que realizó la operación y del sistema en sí mismo.
¿Cómo sucede este ataque?
Las transacciones de Bitcoin están conformadas por varias entradas y salidas. Estas están compuestas por una serie de referencias que hacen alusión a la salida de una transacción anterior conocidas como salidas no gastadas o UTXO. Además esta salida contiene la dirección donde fue realizada la transacción y la cantidad de fondos transferidos.
Cada transacción tiene su propio hash único e irrepetible para ubicar e identificar una transacción en particular. De esta forma los mineros pueden rastrear, comprobar y validar las transacciones que han sido agregadas al blockchain.
Hasta que no se valide y confirme una transacción cualquier atacante puede modificar y alterar el hash sin alterar la firma digital, pudiendo ocultar la misma y ocultando la misma al emisor. Por lo que se puede repetir la misma transacción, ya que los fondos no llegaron. Ahí es donde se realiza el ataque y el hacker se queda con los fondos sin que se vean reflejados en el hash (txid) donde se registró el servicio.
¿Qué tan fácil es realizar este ataque?
El lugar perfecto donde se realizan estos ataques es en los Exchanges debido al gran volumen de operaciones que se realizan a diario.
El caso Mt Gox
El caso Mt Gox es el más claro ejemplo de la maleabilidad de las transacciones, según el equipo técnico y su CEO, Mark Karpelès. Esto permitió que numerosos atacantes reclamaran por supuestas transacciones fallidas. Las mismas alcanzaron los 850.000 bitcoins robados. Lo que llevó al Exchange a la quiebra en 2014.
No obstante, varias investigaciones determinaron que la quiebra del mismo no se debió solo a estos ataques sino que hubo manipulación de los datos por parte de la firma. El informe publicado por ArXiv calculó que las pérdidas no superaron los 400 bitcoins.
¿Cómo solucionar este problema?
Aunque esta problemática fue detectada principalmente en Bitcoin, esto también afectó a otras criptomonedas. Por ello podemos señalar tres soluciones propuestas.
Propuestas de Bitcoin:
- BIP 0062: Es una solución presentada en 2014 por el desarrollador Pieter Wuille. En esta propuesta se exponen todas las formas posibles de encontrar maleabilidad en las transacciones, con lo cual pueden ser abordadas y solucionadas
- SegWit: Esta solución separa los datos de la transacción, incluidos en el árbol de Merkle, de las firmas. Así, las transacciones que utilizan y gastan las salidas segwit no son vulnerables a problemas de maleabilidad
Propuesta de Ethereum
- El Hard Fork de Ethereum “Homestead”, descrito en el EIP-2, solucionaba el problema de maleabilidad en Ethereum. La actualización hace que todas las firmas de transacciones cuyo valor s es mayor que secp256k1n / 2 ahora se consideran inválidas
Propuesta de Dash
- Dash opto por aplicar un fix siguiendo las recomendaciones del BIP-66, solucionando en parte el problema. Adicionalmente también aplicó un parche basándose en las recomendaciones dadas en el BIP-0147. Pero pese a esto, aún no está protegido completamente contra este tipo de ataques, y para su equipo de desarrollo esto no es una prioridad de primer nivel
Javier Molina: “Las soluciones que se han ido implementando están logrando el objetivo principal de máxima seguridad”
Le consultamos a nuestro experto y profesor en el curso de inversión en criptomonedas, NFT y metaverso, Javier Molina, algunos detalles sobre cómo afecta la maleabilidad al sector.
-¿Con esto de la maleabilidad de las transacciones podemos dejar en claro que la seguridad es una materia pendiente en los blockchains?
Las soluciones que se han ido implementando están logrando el objetivo principal de máxima seguridad. Es un tema a tener siempre presente pero que, en el caso de Bitcoin por ejemplo, sigue siendo máximo.
-¿Además de Bitcoin, Ethereum y Dash que otros blockchains han tomado medidas al respecto?
A medida que se va dando mayor usabilidad, aumenta la preocupación por la seguridad. Con lo que veremos propuestas en ese sentido.
-¿Estos ataques también son posibles fuera de los Exchanges como cuando realizamos una compra en una tienda online que acepte criptomonedas como medio de pago?
Si nos referimos a la modificación del hash, sólo es a nivel de la cadena. Otra cosa es corromper el punto de entrada.
Apúntate gratuitamente al boletín semanal de Critoactivos, NFTs y Metaverso