Durante los últimos tres días el protocolo sobre el que se sostiene Bitcoin ha sufrido ataques de maleabilidad. Es decir, varias transacciones de la Blockchain fueron modificadas y retransmitidas con un nuevo número de transacción. De manera que las transacciones afectadas aparecen como si hubiesen sido enviadas dos veces o como un “doble gasto”.
La maleabilidad de las transacciones no es algo desconocido para los especialistas, simplemente se trata de una alteración en el hash de una transacción sin el conocimiento de las claves privadas involucradas. Por lo tanto, los fondos de los usuarios permanecen a salvo y pueden ser recibidos correctamente por el destinatario.
Coinkite, una plataforma canadiense de carteras Bitcoin, advirtió a sus usuarios acerca de este ataque en una entrada de su blog. En busca de una solución a corto plazo, la empresa informó haber desplegado un nuevo código que rastrea las transacciones modificadas, de manera que cuando éstas son confirmadas en los bloques, los registros de la plataforma de la empresa se ajustan y se continúa trabajando con el nuevo número de transacción vigente.
La compañía señaló que simplemente se trata de una molestia con poca relevancia y consecuencias para la red. Sin embargo, esta eventualidad provoca que el proceso de retirar fondos tarde un poco más de lo habitual y requiere que los usuarios tomen algunas medidas para evitar mayores consecuencias.
Mientras este ataque está en curso no se puede confiar completamente en los números de las transacciones, pues estos pudieron haber sido modificados. Es necesario que los usuarios comprendan que sus transacciones pudieron haber sido registradas bajo un hash diferente y podrían no reconocerlas en la Blockchain. Dicha modificación es inevitable, pues sucede después de que las transacciones se han hecho públicas.
También es recomendable evitar realizar nuevas transacciones sobre transacciones entrantes hasta que éstas hayan sido confirmadas. Es importante saber que de haber sido víctima del ataque existirán dos versiones de la transacción: la real y la modificada. Entonces, en el caso de que sea minada (esto es, propagada a la Blockchain) la versión modificada de la primera transacción, la nueva que se realice encima de ésta quedaría invalidada.
Luego de aproximadamente tres días durante los cuales la red soportó estos inconvenientes, el atacante publicó un comentario en el foro Bitcoin Talk admitiendo haber sido el causante de dichos problemas a los que se refirió como “prueba de estrés”. Además, dijo haber decidido pausar el ataque reservándose el derecho a reanudarlo.
Muchos miembros de la comunidad Bitcoin se han quejado recientemente en los foros acerca de estos ataques. Uno de los usuarios de Reddit realizo un comentario en el que resalta la urgencia de encontrar una solución a largo plazo para este problema. El usuario considera que si bien es solo una “molestia”, es algo que afecta la imagen y la credibilidad de la red en general y podría causar desconfianza en los nuevos usuarios.
Afortunadamente los desarrolladores ya han propuesto una solución a largo plazo para este problema. Se trata de la aplicación del BIP 62, un proyecto que propone algunos cambios en las reglas de validación de las transacciones para imposibilitar la maleabilidad de las transacciones.
Sin embargo, este proyecto se encuentra en desarrollo y por lo tanto aún no puede ser implementado correctamente. Una vez que esta solución sea completamente desarrollada es necesario que los mineros se esfuercen en implementarla para evitar las molestias causadas por este tipo de ataques.