¿Qué es Gitian Building? ¿Cómo los procesos de seguridad de Bitcoin convirtió en un modelo para la comunidad de código abierto

One de características de seguridad más importantes de Bitcoin, una propiedad fundamental que hace que el sistema sin esperanzas, es su naturaleza de código abierto. Debido a que el código de Bitcoin es de código abierto, cualquiera que sea capaz de leer el código puede comprobar por sí mismos si hace lo que tiene que hacer.

Además, según la ley de Linus: Dada suficientes ojos, todos los errores son superficiales

Pero el código de fuente abierta no necesariamente eliminan todos los riesgos.. Los usuarios todavía tienen que confiar en que el software que se ejecutan en sus equipos refleja realmente el código de fuente abierta como debería. Para eliminar este riesgo, los desarrolladores Bitcoin han desarrollado una política de seguridad feroz que va más allá de la naturaleza de código abierto del mismo Bitcoin: “. Gitian Edificio”

Gitian edificio se abrazó incluso cada vez más por la comunidad de código abierto más amplio. Los equipos de desarrollo detrás de Tor, Debian, Mozilla y otros proyectos de código abierto están adoptando la práctica encabezada por el equipo de desarrollo de Bitcoin Core, y que muy bien podrían convertirse en un estándar de código abierto en poco tiempo.

He aquí por qué Gitian edificio es importante, y cómo funciona.

en el código fuente y los binarios

El problema que Gitian edificio resuelve, en su corazón, es que los seres humanos y las computadoras hacen no hablan el mismo idioma.

Bitcoin Core está escrito en C ++, uno de los varios lenguajes de programación. Los lenguajes de programación – mientras que, obviamente, muy diferente de las lenguas reales – puede ser escrita y leída por los seres humanos. Y es este código C ++ que es de código abierto, y por lo tanto comprobable y verificable.

Pero las CPU de ordenador en realidad no puede leer estos lenguajes de programación. En cambio, las CPU tienen su propio “lenguaje de máquina”: binarios. Los binarios, como su nombre indica, se representan a menudo como “unos” y “ceros”. Pero más importante:. Binarios no son legibles por humanos

En un programa escrito en código legible por humanos (como C ++) para ser ejecutado en un equipo, debe ser “traducida” en los binarios. Este proceso de “traducción” se llama “compilación”, y se lleva a cabo mediante un software especial: un compilador. Alguien, en algún lugar tiene que compilar código en archivos binarios.

Si no fuera por Gitian construcción, el proceso de compilación presentaría un potencial punto único de fallo.

El Riesgo

Entonces, ¿qué es, exactamente, el riesgo si no hay un proceso de Gitian Building?

digamos que Wladimir van der Laan, desarrollador principal de Bitcoin Core, tiene la tarea de compilar El código del núcleo de Bitcoin en binarios. Esto significaría que tendría que insertar código C ++ en el compilador instalado en su ordenador, y los binarios Bitcoin Core salir por el otro extremo. Y así distribuye a través de estos binarios bitcoin.org, bitcoincore.org y tal vez otras plataformas.

El problema es obvio. Si bien cualquier persona puede leer C ++ puede comprobar y verificar el código de fuente abierta de Bitcoin Core, que todavía tienen que confiar en que los binarios según lo publicado por Van der Laan reflejan este mismo código.

Pero si, por ejemplo, Van der equipo de Laan se ve comprometida, el compilador podría ser reemplazado con un software que crea archivos binarios maliciosos lugar – tal vez binarios que se parecen a Bitcoin Core cuando se ejecuta en un ordenador, pero que en realidad robar bitcoins. O, Van der Laan podría ser obligado por alguien con intenciones nefastas, y se ve obligado a publicar archivos binarios maliciosos. O tal vez Van der Laan ir un día de locos e intencionalmente distribuir malware a sí mismo

Es poco probable que alguien se diera cuenta de nada de esto hasta que sea demasiado tarde.; mientras que el código es de código abierto, en realidad nadie puede leer los archivos binarios.

Gitian construcción

La forma más fácil de resolver este problema sería tener varios todos los desarrolladores construir binarios desde el mismo código y cotejarla con estos binarios de unos contra otros. Si los binarios son idénticos, saben los binarios son exactos, y ninguno de ellos se pondrían en peligro. Además, cualquier persona podría compilar los binarios, también, y comprobar si los desarrolladores todavía están actuando honestamente. Este tipo de comprobación cruzada eliminaría un único punto de fallo.

Por desgracia, no es así de simple. edificio binario es un proceso muy impredecible, que implica muchas variables. Si los diferentes desarrolladores por ejemplo, usan diferentes compiladores, sistemas operativos diferentes, o incluso compilar los binarios en diferentes momentos, los binarios pueden ser muy diferentes. Esto hace que la comprobación inútil simple cruz.

Para resolver esto, un colaborador del ecosistema Bitcoin pasando por el seudónimo de “Dev aleatoria,” a lo largo de varios colaboradores Bitcoin Core, creado Gitian.

Gitian es una programa de software de código abierto que ofrece lo que se conoce como un entorno de compilación es quizás mejor descrito como un “ordenador dentro de una computadora”, pero con un propósito específico “entorno de construcción.”: un espacio virtual para compilar los binarios, completamente libre de cualquier variable . “Gitian edificio,” el proceso de compilación de binarios en Gitian, asegura que todo lo que el ordenador se utiliza, los binarios resultan exactamente lo mismo.

Esto, a su vez, permite que diferentes desarrolladores de forma fiable cruz comprobar sus binarios uno contra el otro. Y, por supuesto, que permite a cualquier persona para verificar si los binarios coincide con el código fuente también.

Para una explicación más a fondo de Gitian edificio, ven esto CCC-charla de El Tor Mike Perry del proyecto y de la Fundación de la Frontera Electrónica Seth Schoen:.

Gracias a Bitcoin Core desarrollador BtcDrak

La ¿Qué es publicar Gitian Building? ¿Cómo los procesos de seguridad de Bitcoin se convirtió en un modelo para la comunidad de código abierto apareció por primera vez en la revista Bitcoin.


Bitcoin revista

Leave a Comment

Your email address will not be published. Required fields are marked *

For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.

I agree to these terms.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Scroll to Top