La maleabilidad de una transacción de las criptomonedas hace referencia a la posibilidad de que un atacante modifique o altere el hash de una operación.

¿Qué es la maleabilidad de una transacción de las criptomonedas?

Las criptomonedas hacen mucho énfasis en su seguridad y protección. No obstante, se ha demostrado que no son tan fiables como nos quieren vender. Por ello es que existe la maleabilidad de una transacción de las mismas, donde un atacante puede modificar o alterar el hash de una operación.

A este tipo de ataques se les denomina Denegación de Servicio o DoS.

¿Cómo sucede este ataque por la maleabilidad de una transacción?

La maleabilidad de una transacción se debe a que las operaciones 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 a la maleabilidad de una transacción 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 una transacción, 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.

maleabilidad de una transacción

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 la maleabilidad de una transacción 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
Facebook
Twitter
LinkedIn
WhatsApp
¿Necesitas ayuda?