La mayoría de las criptomonedas importantes, como Bitcoin, Ethereum y Litecoin, se basan en código abierto. Cualquiera puede acceder al código detrás de la cadena de bloques, modificarlo y lanzarlo como una alternativa al original. Las versiones lanzadas de estos proyectos de código abierto se conocen como clientes de referencia.
La mayoría de las criptomonedas importantes, como Bitcoin, Ethereum y Litecoin, se basan en código abierto. Cualquiera puede acceder al código detrás de la cadena de bloques, modificarlo y lanzarlo como una alternativa al original. Las versiones lanzadas de estos proyectos de código abierto se conocen como clientes de referencia.
Los clientes de referencia son fragmentos de código de software personalizados escritos exactamente según las especificaciones. Esto permite a los desarrolladores consultar los clientes originales al realizar modificaciones en sus propias versiones personalizadas. Este punto de referencia es indispensable para coordinar el trabajo y las contribuciones de los desarrolladores. Las grandes criptomonedas suelen tener una implementación de referencia predeterminada, lo que permite obtener el software de cliente personal necesario para ejecutar un nodo.
Aspectos esenciales del cliente de referencia
- Un cliente de referencia es la implementación estándar de un proyecto de software.
- Proporciona referencias sobre cómo deberían funcionar las cosas en la versión estándar.
- Las cadenas de bloques descentralizadas de código abierto lo utilizan como la versión base de su código.
- Un cliente de referencia popular para Bitcoin es Bitcoin Core.
Coordinación de proyectos de código abierto
Normalmente, un equipo de desarrollo de software tiene algún tipo de estructura jerárquica o liderazgo, y una visión de cómo debería funcionar su proyecto. Esto les permite crear un plan de trabajo y establecer objetivos claros, así como centrarse en los problemas urgentes cuando sea necesario.
Sin embargo, al escribir software de código abierto, como el código original de Bitcoin, no hay un único líder, lo que permite que cualquiera lo modifique como considere oportuno. Alguien podría pensar que sería bueno aumentar el tamaño del bloque, mientras que otra persona podría preferir que se mantenga como está y centrarse en la resolución de problemas.
No obstante, independientemente de lo que se cambie, estos cambios no pueden entrar en vigor a menos que una parte suficientemente grande de la red blockchain realice exactamente el mismo cambio (consulta nuestro artículo sobre bifurcaciones para ver cómo se introducen los cambios en una cadena de bloques). Por lo tanto, es esencial tener una forma de llegar a un acuerdo entre los desarrolladores para que puedan introducir actualizaciones cruciales. Pueden lograrlo centrándose en el desarrollo del cliente de referencia.
Las criptomonedas tienen varios clientes de referencia
Los clientes de referencia a menudo se almacenan en repositorios basados en la nube, como GitHub, que permiten a cualquier desarrollador enviar código y rastrear cambios.
Clientes de referencia de Bitcoin
Uno de los clientes de referencia más populares y ampliamente utilizados para Bitcoin es Bitcoin Core, el descendiente del cliente Satoshi original (llamado así por el padre de Bitcoin, Satoshi Nakamoto). Alojado por bitcoin.org, este cliente de referencia forma la columna vertebral de las actualizaciones esenciales de Bitcoin.
A veces, un grupo de desarrolladores con una visión diferente elige hacer un cambio drástico en el código fuente del cliente de referencia, forzando una bifurcación del cliente de referencia. Las bifurcaciones de Bitcoin Core incluyen Bitcoin XT, Bitcoin Unlimited y Bitcoin Classic. Classic no resistió la prueba del tiempo, mientras que el resto dejó de dar soporte a Bitcoin y ahora sirven principalmente como clientes para Bitcoin Cash.
Clientes de referencia construidos desde cero
A diferencia de XT o Unlimited, que comenzaron como bifurcaciones de otro cliente, algunos clientes de referencia se crean desde cero. Si bien esto es ciertamente cierto para el cliente Satoshi original, Ethereum, por ejemplo, también tiene varios clientes de referencia hechos a medida escritos en diferentes lenguajes de programación. El proyecto Go Ethereum, o Geth, proporciona un cliente escrito en el lenguaje de programación Golang de Google, Parity utiliza Rust, cpp-ethereum utiliza C++, y así sucesivamente.
Evolución de las cadenas de bloques de criptomonedas
Tener una implementación de cliente estándar es vital para proyectos de código abierto como las cadenas de bloques de criptomonedas. Dado que todos tienen acceso al cliente de referencia, el desarrollo se facilita y la tecnología, ya revolucionaria, recibe actualizaciones que introducen mejoras esenciales y resuelven problemas potenciales.
Ejecutar un cliente es la forma más directa de acceder a una cadena de bloques. Te permite convertirte en un verdadero par en la red al ejecutar tu propio nodo. Pero esto es irrelevante si no posees realmente ninguna criptomoneda. La forma más sencilla de obtener algunas monedas es intercambiarlas por dinero tradicional en un exchange.