¡Dos herramientas, un Bitcoin clon perfecto! El secreto que blinda tu nodo como nunca antes
El 27 de mayo, un developer conocido como b10c nos sorprendió con un descubrimiento bien chido para la comunidad de Bitcoin. Mostró que cualquier persona puede checar si el software que instala en su nodo es de verdad auténtico y no está truqueado.
Lo que hizo b10c fue compilar la versión 31.0 de Bitcoin Core usando Nix, que es una herramienta diferente a la oficial que usa el equipo de Bitcoin Core, llamada Guix. Y ojo, el resultado le salió exactamente igual, byte por byte, al binario original hecho con Guix. Eso es mucha precisión.
Antes, la única forma de estar seguro de que el software oficial no estaba modificado era usando Guix, la misma herramienta que los del equipo oficial usan para hacer sus binarios. Esto significaba que confiábamos en una sola cadena de herramientas. Pero ahora, dos sistemas independientes logran el mismo resultado idéntico, lo que hace casi imposible que alguien pueda meterle mano sin que nos demos cuenta.
Un ataque así, que llaman “de suministro”, funciona cuando alguien intercepta y cambia el software antes que llegue a ti, sin que te enteres. Puede pasar por hackear el repositorio del código, alguna dependencia o el compilador mismo. Si el compilador oficial estuviera pinchado, generaría un programa malicioso y el equipo oficial hasta firmaría ese software infectado sin saberlo. Peligro total.
Que el software esté comprometido es grave porque cualquiera que use ese nodo o wallet puede perder todo su dinero. Por eso, el apaño de b10c ataca justo en el punto más vulnerable: el propio cliente de Bitcoin.
b10c es un dev independiente que siempre anda investigando y mejorando la seguridad del ecosistema Bitcoin. Su trabajo tiene mucha reputación por su rigor y método, y esta joyita le tomó tres años de chamba.
¿Qué onda con Guix y Nix? Pues son como dos cocinas que hacen el mismo platillo, pero con recetas y herramientas diferentes. Cuando programadores crean algo como Bitcoin Core, escriben código que luego tienen que convertir en un programa que tu computadora pueda usar, y para eso usan estas “herramientas de compilación”.
Guix es la oficial del equipo de Bitcoin Core, y Nix es otra distinta, hecha por otro grupo. Que ambas generen el mismo archivo exacto es una señal clarísima de que nadie metió mano chueca en el proceso.
Esto es súper importante porque si alguien hubiera modificado el software en cualquier paso – en el código, en la herramienta o en la distribución – los archivos no coincidirían. Que coincidan justo es la prueba de que todo está limpio.
La magia se llama “compilación reproducible”. Si dos personas con herramientas distintas compilan el mismo código y obtienen el mismo resultado, es casi imposible que uno haya metido cambios malos sin que el otro se dé cuenta. Gracias a esto, Nix es la primera herramienta fuera del proyecto oficial que puede validar de manera independiente los binarios de Bitcoin Core.
Eso sí, b10c aclara que este logro es suyo nomás y todavía no es un estándar oficial de Bitcoin Core. Todavía no hay un proceso fijo para usar varias herramientas de verificación, así que por ahora, validar con Nix y Guix depende de iniciativas voluntarias como la que él propuso.
Para cerrar, b10c dice que la neta sería crear un modelo donde no confiemos solo en una herramienta para verificar el software, sino en varias que se chequen mutuamente. Eso ya es norma en otras ramas de la seguridad y sería un paso gigantesco para Bitcoin. ¡Aguas que lo que sigue está bien prometedor!

Respuestas