You can also read the English version of this article.
Puede que algunos ya estén familiarizados con el término "código abierto". Especialmente aquellos que tienen experiencia con la programación. Pero, ¿qué significa realmente y por qué es importante para las billeteras Bitcoin? En el siguiente artículo explicamos qué significa y qué ventajas tiene este modelo.
Código abierto
Con diferencia, la característica más importante del software de código abierto es la transparencia del código del programa.
Si instalas un programa desde Internet, normalmente sólo obtienes un archivo binario ejecutable (por ejemplo un .exe).
Un archivo binario es una versión "precompilada" del código fuente, que tiene la ventaja de que es mucho más fácil de manejar. El usuario ya no tiene que compilar él mismo el código, y sólo tiene que ejecutar un único archivo. Sin embargo, una vez compilado el código, el contenido del programa deja de ser directamente rastreable, ya que se expresa en código máquina. El usuario debe confiar en que el desarrollador sabe que el programa no contiene ningún malware.

El código fuente de la BitBoxApp
Para evitar tener que confiar completamente en el desarrollador, éste puede decidir publicar el código fuente sin compilar, poniéndolo a disposición de cualquiera. Esta publicación del código fuente es el requisito básico del software de código abierto.
Auditabilidad
Gracias al código fuente abierto, es posible conocer el grado de seguridad o inseguridad de un programa. Otros programadores pueden comprobar el código en busca de vulnerabilidades de seguridad y hacer sugerencias para mejorarlo.
Especialmente para programas muy relevantes para la seguridad, como un monedero de Bitcoin, esta característica es esencial. Por esta razón, el código de tanto el firmware de la BitBox02 como el de la BitBoxApp pueden ser vistos y compilados abiertamente por cualquiera.
Con la ayuda de nuestra documentación, el firmware de la BitBox02 puede ser compilado por ti mismo. Esto asegura que el dispositivo realmente ejecuta el software que está disponible online. Con la ayuda del hash del firmware, esta comparación se puede hacer rápida y fácilmente.
Licencias
El software de código abierto siempre debe ser liberado con una licencia muy libre que permita a otros programadores ver el código, modificarlo y publicar estos cambios.

Comparación de diferentes licencias - Source: Semantic Scholar
A menudo se aplican ciertas restricciones, como que los cambios publicados no pueden distribuirse comercialmente (es decir, venderse). Las licencias que no permiten realizar cambios en el código también se denominan de "código compartido", por lo que no son de código abierto.
Forks
Estas versiones modificadas se denominan "forks", porque se separan del código principal de forma similar a una bifurcación. Las bifurcaciones pueden utilizarse para crear programas completamente nuevos basados en el código de otro programa.

La versión 0.11a es una bifurcación del programa
De esta forma pueden resolverse conflictos entre desarrolladores de un programa. Si no se llega a un acuerdo sobre qué cambios introducir, el programa puede "bifurcarse" en cualquier momento.
Cooperación
Debido a estas características, el software de código abierto es absolutamente necesario para la colaboración de varios programadores, que ni se conocen entre sí ni tienen por qué confiar los unos en los otros.
Es el modelo de código abierto el que permite desarrollos como Bitcoin, en el que colaboran miles de personas de todo el mundo. En última instancia, el público en general se beneficia del software de código abierto porque está disponible gratuitamente para todo el mundo y el código puede ser desarrollado y utilizado por cualquiera.
El código abierto devuelve el control al usuario. En lugar de utilizar programas precompilados, el usuario tiene la posibilidad de modificar el software a su gusto y entender lo que realmente hace.
Preguntas más frecuentes
¿Por qué es importante el código abierto para las billeteras Bitcoin?
Bitcoin es un software libre y de código abierto. Esto significa que puedes inspeccionar cada detalle de su funcionamiento y utilizarlo sin confiar en los desarrolladores. Lo mismo es crucial para las billeteras de hardware: si contiene código cerrado, necesitas confiar en que el fabricante hará muy bien su trabajo (ya que nadie más puede comprobar el código y señalar fallos) y resistir la tentación de hacer cosas turbias. La billetera de hardware BitBox02 es 100% de código abierto, e incentivamos a investigadores de seguridad independientes para que comprueben nuestros productos a través de nuestro programa de recompensas por fallos.
¿El código abierto es malo para la seguridad?
Parece lógico que el código de software público sea menos seguro que el secreto, ya que los atacantes pueden encontrar vulnerabilidades más fácilmente. Sorprendentemente, ocurre todo lo contrario: el software de código abierto está ampliamente considerado como más seguro. El software de código cerrado se basa en la "seguridad por oscuridad", mientras que el de código abierto se apoya en una arquitectura de seguridad fundamentalmente sólida, auditable por cualquiera.
¿Por qué el software de código abierto es más seguro?
Desarrollar software de código abierto a los ojos del público incentiva una mejor calidad del código y la documentación, muchos más ojos pueden comprobarlo todo, y las auditorías externas de investigadores de seguridad independientes son muy valiosas para tener una visión externa. Con el software de código cerrado, la "seguridad por oscuridad" sólo puede durar hasta que los fallos de seguridad se hacen evidentes para los atacantes motivados.
¿Son todas las billeteras Bitcoin de código abierto?
No todas las billeteras de Bitcoin y otras criptomonedas son proyectos libres y de código abierto. Las billeteras de hardware Ledger, por ejemplo, contienen software de código cerrado que gestiona las claves privadas, lo que se debe confiar en cómo Ledger utiliza el chip seguro. Consulta la tabla comparativa de código abierto con información sobre más monederos en https://shiftcrypto.ch/bitbox02/bitcoin-only/#compare.
¿Aún no tienes una BitBox?
Mantener tus criptomonedas seguras no tiene por qué ser difícil. La billetera física BitBox02 almacena las claves privadas de tus criptomonedas offline. Así podrás gestionar tus monedas de forma segura.
La BitBox02 también viene en versión sólo Bitcoin, con un firmware radicalmente enfocado: menos código significa menos superficie de ataque, lo que mejora aún más tu seguridad cuando sólo almacenas Bitcoin.
¡Hazte con una en nuestra tienda!

Shift Crypto es una empresa privada con sede en Zurich, Suiza. Nuestro equipo de colaboradores de Bitcoin, expertos en criptomonedas e ingenieros de seguridad crea productos que permiten a los clientes disfrutar de un viaje sin estrés desde el nivel de principiante hasta el nivel de maestría en la gestión de criptomonedas. La BitBox02, nuestra billetera de hardware de segunda generación, permite a los usuarios almacenar, proteger y realizar transacciones con Bitcoin y otras criptomonedas con facilidad, junto con su software complementario, la BitBoxApp.