En abril de este año, un desarrollador de la Iniciativa de Monedas Digitales del MIT y de Bitcoin Core, llamado Cory Fields, detectó una significativa falla en el software del nodo de Bitcoin-ABC. Esta falla podría haber provocado una bifurcación no intencional en Bitcoin Cash sin que los propios desarrolladores del proyecto se hayan dado cuenta.
Explotando esta falla, un ciberdelincuente solo necesitaba crear una transacción maliciosa (con el bitflag de 0x20 establecido en el hash de firma, según explicó Fields) que sería aceptada por el nodo de Bitcoin ABC para posteriormente ser minada en un bloque. Una vez este bloque fuera establecido, todas las implementaciones compatibles con Bitcoin Cash serían rechazadas. La detección fue informada por Fields a tiempo y el equipo logró crear un parche.
Sin embargo, el catastrófico peligro al que se vio expuesta la cadena de Bitcoin Cash da para pensar.
Debido a la gran cantidad de código común, es típico que estos proyectos derivados tengan errores similares y, por lo tanto, correcciones de errores similares. Pero no es realista esperar que los desarrolladores que trabajan en una moneda sean proactivos para compartir sus mejoras con los desarrolladores que trabajan con otras personas; el solo hecho de mantenerse al día con un proyecto es un trabajo bastante duro.
Cory Fields
Desarrollador/Investigador
Una falla brutal y que había pasado inadvertida, ¿qué nos dice esto? En primer lugar que una de las grandes deudas de esta bifurcación de Bitcoin es la seriedad de su desarrollo. Quienes llevan adelante el proyecto parecen no tener claro que lo que se pone en riesgo es el dinero de personas que han confiado en esta criptomoneda, o al menos eso sugiere la dejadez con la que parece desarrollar este protocolo, con fallas mayúsculas como esta.
Incluso suponiendo que los desarrolladores se tomen el asunto con seriedad, una falla como esta sugiere que el proceso de generación y trabajo del protocolo no está bien organizado, ya que no hay suficientes pruebas de seguridad e investigaciones profundas que podrían ayudar a detener este tipo de errores.
Y es que, a pesar de que el cliente de Bitcoin Cash, Bitcoin ABC, deriva de Bitcoin Core, la fortaleza del código no es suficiente; debe haber un equipo humano dedicado a este desarrollo y que sea capaz de discutir y dar soluciones en tiempo real a posibles escenarios de error. Un error como este también sugiere falta de enfoque, como si el tiempo que dedicaron a los preparativos de la bifurcación de Bitcoin hace ya más de un año hubiese sido suficiente para que el proyecto tenga éxito.
Si bien los desarrolladores de Bitcoin Cash pudieron corregir el error, la displicencia del proceso de acoplamiento del protocolo llama la atención. Según Fields, la implementación de la parte del protocolo que contenía esta falla solo fue revisada un par de veces, sin casi comentarios entre los desarrolladores, lo que, a la larga, expuso la red a una bifurcación no planificada.
Además, la aceptación por parte de usuarios y entusiastas del proyecto es un poco contradictoria. El inusitado interés podría haber sido generado por la figura de Roger Ver, principal promotor de Bitcoin Cash, y catalogado como un “especialista” en Bitcoin; así como por el mercadeo del proyecto, dejando en segundo plano el código, la actividad de los desarrolladores en GitHub.
Por otro lado, cabe señalar la integridad ética de Fields, quien a pesar de haber descubierto una falla que podría haber echado por tierra toda la cadena, decidió comunicarse primero con el propio equipo de desarrollo de Bitcoin ABC.
A pesar de que no se trataba de una obligación ni mucho menos, Fields decidió revelar de manera anónima este error. Incluso aunque los desarrolladores de Bitcoin ABC no contaban con una estructura determinada y segura para este tipo de información sensible, logró comunicarse con ellos.
“No tenía obligación de informar nada, después de todo. Pero si alguien hubiera descubierto una falla igualmente desagradable en Bitcoin Core, espero que esa persona nos lo haga saber de la manera más discreta y segura posible. Así que decidí hacer exactamente eso: crear el informe que quisiera leer y entregarlo como quisiera recibirlo”, aseveró Fields.
Este tipo de errores pueden costarle caro no solo a un proyecto, sino al ecosistema en general, al poner en entredicho la fortaleza de esta tecnología. Los desarrolladores de cada proyecto son a su vez responsables del buen nombre de los criptoactivos.
Imagen destacada por Romolo Tavani / stock.adobe.com