-
Los tres posibles casos de ataque analizados no lograrían su cometido.
-
Ante una modificación en el código, podría bifurcarse la blockchain y volver a una versión anterior.
Casi 650 mil líneas de código establecen la forma en la que Bitcoin funciona. Estas instrucciones están almacenadas en un único repositorio público en la plataforma GitHub. ¿Podría introducirse allí código malicioso con el fin de perjudicar el funcionamiento de la red?
Un trabajo de investigación publicado en Decrypt por el periodista Scott Chipolina analizó tres vectores de ataque y demostró que todos ellos serían infructuosos.
En primer lugar, el código de la primera criptomoneda se encuentra bajo la custodia de personas conocidas como mantenedores. Estos individuos, de los que actualmente puede identificarse a seis, son los únicos con permiso para aprobar cualquier cambio en el repositorio. Ellos son Michael Ford, Wladimir van Der Laan, Pieter Wuille, Jonas Schnelli, Marco Falke y Samuel Dobson.
Los mantenedores tienen la responsabilidad de revisar las propuestas realizadas por cada desarrollador de Bitcoin. Solo si cumplen con ciertos estándares de calidad deben ser aprobadas.
Además, tal como informó CriptoNoticias, cuando los mantenedores aprueban una propuesta, esta pasa a una minuciosa fase de revisión entre pares donde cualquiera puede participar a través de GitHub.
Cada mantenedor tiene acceso a una clave PGP (Pretty Good Privacy). Cualquier cambio en el código requiere ser aprobado con una de estas claves.
Ataque por filtración de claves de mantenedores
Existe la posibilidad de que una o varias de las claves PGP lleguen a estar en manos de actores malintencionados. Si esto ocurriera, efectivamente, se podrían efectuar modificaciones en el código del repositorio.
De acuerdo con el investigador Elias Strehle, que es citado en el ya mencionado trabajo de investigación, si esto ocurriera «los mantenedores de Bitcoin crearían rápidamente un nuevo repositorio con nuevas claves PGP».
Agregó Strehle que podrían subir a GitHub el nuevo código sin daños y pedirle a la comunidad que use el nuevo repositorio. Por lo tanto, queda así descartada la posibilidad de ataques por filtración de las claves PGP.
Ataque de los propios mantenedores de Bitcoin
El informe también contempla la posibilidad de que alguno de los mantenedores sea quien intente introducir código malicioso en Bitcoin Core. Si esto ocurriese, tal como en el hipotético caso anterior, el resto de los mantenedores o cualquier desarrollador de Bitcoin podría detectarlo.
«El script de verificación de firmas lo detecta la próxima vez que alguien envía una solicitud de inclusión de código o ejecuta pruebas», explicó el desarrollador Thomas Kerin. Esto significa que habrá una contradicción en el código la próxima vez que se efectúe una actualización.
¿Qué pasa si se ataca a los mantenedores de Bitcoin?
La última hipótesis planteada es la menos probable: la desaparición de todos los mantenedores de Bitcoin y la consecuente pérdida de todas las claves PGP.
Más específicamente, el artículo de Decrypt hace referencia a que los seis mantenedores sean secuestrados por algún gobierno poderoso para intentar dañar a Bitcoin. Si esto pasara, la comunidad de desarrolladores, tras conocer lo ocurrido, podría bifurcar el repositorio, tomar la última confirmación correcta y comenzar desde allí.
Si, en cambio, el secuestro se hiciera de forma sigilosa, aun así, sería imposible efectuar modificaciones malignas en el código que pasen desapercibidas. Es que las actualizaciones no se implementan automáticamente en toda la red de nodos de Bitcoin, sino que cada operador puede decidir si la acepta o no.
Los nodos que reenvíen bloques no válidos serían desconectados por otros nodos, y un nodo que envíe bloques antiguos sería ignorado y anulado por otros nodos que envíen nodos actualizados.
En palabras de Elias Strehle, «los nodos manipulados y los nodos sanos probablemente no podrían llegar a un consenso sobre el estado de la blockchain y se crearía así una bifurcación en la que una rama es maliciosa y la otra es sana».
La página de preguntas y respuestas de bitcoin.org aclara que «no se puede forzar un cambio en el protocolo de Bitcoin porque todos los usuarios son libres de elegir el software y la versión que quieran». Para que haya compatibilidad, «todos los usuarios necesitan utilizar software que cumpla con las mismas reglas».
Por todo esto, la seguridad del código de Bitcoin está garantizada. Incluso si se lograran vulnerar las barreras de acceso, la comunidad de usuarios tiene la decisión final y puede decidir no utilizar la versión adulterada de la red.