Hechos clave:
-
Podría ayudar a limitar la confianza en los códigos descargados del sistema operativo Ubuntu.
-
Guix contiene paquetes de aplicaciones, herramientas de sistemas, documentos y más.
Sin importar a quien le guste, hay algo de confianza involucrada en el proceso de configurar o compilar el protocolo en el corazón de Bitcoin, pero un reciente cambio en el código podría ayudar.
Con el paquete de software de Guix, el código recientemente se fusionó con el cliente más popular de Bitcoin, Bitcoin Core, lo que significa que ahora está listo para ser probado en el mundo real. Este cambio podría ayudar a limitar la confianza en los códigos descargados del sistema operativo Ubuntu durante el proceso de construcción.
El mes pasado, Carl Dong, el principal desarrollador detrás del proyecto, comentó en su cuenta de Twitter: “ha sido todo un viaje, pero hemos logrado la maestría en el soporte de #Guix, en la construcción de Bitcoin Core para versiones deterministas y compatibles con bootstap.”
Para este proceso de construcción, ya hay algunas protecciones incorporadas. Cuando se descarga Bitcoin Core desde Bitcoin.org, hay muchos desarrolladores que utilizan un proceso llamado Gitian para hacer lo que se denomina construcciones “reproducibles”. Esto les permite a los programadores comprobar que los datos binarios que están siendo compartidos con ellos son la versión correcta de lo que quieren descargar, y no una réplica con una puerta trasera secreta construida dentro del software, que digamos, sea para robar bitcoins.
Pero Dong aclara que esto no es suficiente en términos de seguridad en el proceso de construcción, tal como detalló en una presentación sobre este tema en la conferencia Breaking Bitcoin, celebrada en Amsterdam.
Por medio del proceso de Gitian, el código se transforma en algo que una computadora puede entender. Por medio de esto, los usuarios podrían no darse cuenta de que están descargando códigos del sistema operativo Ubuntu y de hecho confiar en ellos.
Dong le comentó a un medio:
Actualmente, Ubuntu, o cualquiera que obtenga acceso a las llaves de acceso de Ubuntu, influye tanto en la disponibilidad como en la seguridad de los datos binarios liberados de Bitcoin Core. A largo plazo, colocar la confianza en descargas de binarios, opacas y no auditables de terceras partes, como Ubuntu, parece la receta para el desastre.
No más desilusiones
Debido a esto, hace unos años, al repasar todo el proceso de edificación reproducible, según comentó Dong a un medio, se desilusionó con el proceso de construcción de bitcoin.
Descubrió que no fue el único, y una vez que se unió a Chaincode Labs, un centro de desarrollo de protocolos de Bitcoin establecido en la ciudad de Nueva York, el proyecto tomó vuelo, con la ayuda de los desarrolladores Russ Yanofsky y Cory Fields, entre otros contribuyentes activos del software de Bitcoin Core.
En última instancia, decidió que la solución era minimizar lo más posible la confianza en estos datos binarios. Además de hacer que sea fácil rastrear de dónde vienen los binarios que están siendo descargados.
“Cuando utilizamos Guix para construir nuestra cadena de herramientas (tool chain), podemos auditar cómo fue construida cada una de las herramientas disponibles, y fácilmente enmarcarlas para un conjunto mínimo de binarios confiables”, comentaba Dong durante su charla en Breaking Bitcoin.
Esto no quiere decir que erradica por completo la confianza. Según Dong, “desafortunadamente es de alguna manera una tarea imposible remover por completo del proceso de construcción a las terceras partes de confianza”, pero, según argumenta, esto ciertamente ayuda. Continuó diciendo:
Lo que hemos logrado es mucho más auditable que la cadena de herramientas provista por nuestra tercera parte. Este uso de Guix en los proyectos, nos permite tener una visibilidad sin precedente de lo que es nuestro conjunto de binarios confiados, y de cómo derivamos de él, el entorno de construcción de Bitcoin Core.
¿Qué sigue para Guix y Bitcoin Core?
Por ahora, este cambio está disponible para los usuarios del sistema operativo Linux. Don y otros están trabajando en el proceso de hacer que el cambio también funcione para los usuarios de Windows y de Mac.
“Este fue un gran primer paso, y debería ser una buena alternativa a la construcción Gitian. Muchas mejoras relacionadas a Guix ya se encuentran en el canal. Soy optimista de que jugará un papel en el lanzamiento de la versión 0.19.0”, tuiteó Michael Ford, un desarollador de Bitcoin Core, quien recientemente fue nombrado conserje o encargado de mantenimiento del software.
Dong tiene planes para hacer que estas construcciones reproducibles a través del tiempo. Comentó:
Si esto funciona, significa que los futuros desarrolladores de Bitcoin Core serán capaces de construir versiones anteriores de Bitcoin Core y producir datos binarios que sean idénticos en cada bit a como lo eran cuando fueron lanzados. Esta reproductibilidad a través del tiempo nos permite recrear el comportamiento exacto de versiones anteriores, lo cual tiene valor para propósitos de prueba y depuración.
A pesar de que es más un cambio técnico que podría sonar arcaico, los desarrolladores están elogiando a Dong por su trabajo de hacer a Bitcoin más seguro.
“Las innovaciones como estas usualmente son invisibles para los consumidores y las comunidades de inversionistas, pero sin duda alguna es la razón por la que bitcoin está tan adelantado”, tuiteó el cofundador y jefe de desarrollo de Sia, David Vorick.
Versión traducida del artículo de Alyssa Herting, publicado en CoinDesk.