¿Qué es Bitcoin Core?

¿Qué es Bitcoin Core?

¿Qué es Bitcoin Core?

¿Qué es Bitcoin Core?

Hechos clave:
  • Bitcoin Core es el software más utilizado para ejecutar el protocolo de Bitcoin.
  • Cualquiera puede participar en la red Bitcoin descargando y ejecutando el cliente Bitcoin Core. 
  • Casi 50.000 nodos utilizan el cliente de Bitcoin Core, esto representa el 98% del total.

Bitcoin Core es un software que se encarga de validar y almacenar las transacciones que se realizan en Bitcoin, un protocolo de intercambio entre pares de dinero efectivo electrónico.

Se trata de un software de código abierto bajo licencia del MIT que cualquiera puede ejecutar para cumplir las reglas de consenso del protocolo de Bitcoin. A los computadores que corren este programa se les suele llamar nodos, y el conjunto de nodos, que interactúan entre sí, conforman la red de Bitcoin.

Bitcoin Core es en realidad el nombre de una versión de un software desarrollado por Wladimir van der Laan, quien se basó en el código original. Las primeras tres versiones del código de Bitcoin fueron desarrolladas por Satoshi Nakamoto entre 2008 y 2009. Luego de que este desapareciera de la vida pública, el código de Bitcoin tuvo una serie de modificaciones.

Los desarrolladores que se encargaban de hacer mejoras en el código de Bitcoin decidieron cambiar el nombre de las versiones más recientes, para diferenciarlas de aquellas programadas por Satoshi Nakamoto. De esta manera surgió Bitcoin-Qt, que fue incluida en Bitcoin a partir de su versión 0.5. El 19 de marzo de 2014 se libera la versión 0.9.0 de Bitcoin Qt, rebautizada en ese momento como Bitcoin Core.

Cliente-servidor

En computación, un cliente es un programa que solicita información a un servidor. Por ejemplo, es lo que hace una wallet para saber cuáles son las últimas transacciones validadas en la red. El servidor, por su parte, atiende estas peticiones de manera remota. Esto permite, por ejemplo, que un comerciante, un exchange u otro servicio de pago pueda tener una copia de todo el historial de transacciones, procesar y transmitir las nuevas de manera más eficiente y segura.

Bitcoin Core se ha actualizado en distintas versiones hasta el presente. La versión de Bitcoin Core más reciente es la versión 0.23.0. Con todo, no es el único programa que permite interactuar con la red Bitcoin. Existen otros programas de Bitcoin como Bcoin, Bitcoin Knots, BTCD entre otros; aunque Bitcoin Core es el más utilizado y el que cuenta con más desarrolladores.

1 ¿Cuáles son las funciones de Bitcoin Core?

Bitcoin Core puede considerarse como un programa que permite operar nodos completos. Esto quiere decir que posee funciones de cliente y de servidor. Como servidor, Bitcoin Core facilita la difusión de transacciones al resto de la red para que puedan ser validadas y confirmadas. Como cliente se puede usar como una wallet de escritorio para pagos regulares.

Nodo completo

Bitcoin Core cumple la función de verificar pagos de manera independiente. Es decir, las computadoras que utilizan este programa son servidores interconectados entre sí que responden a las solicitudes de otras computadoras, como los clientes ligeros, para conocer el estado del historial de transacciones y validar las nuevas en base a las anteriores.

Para hacer transacciones en la red Bitcoin, los usuarios normalmente usan wallets o monederos: colocan la dirección de envío, el monto, deciden cuánta comisión pagar y listo. Pero para que esa transacción llegue al resto de la red, es necesario que pase a través de un programa como Bitcoin Core.

Cliente ligero

Un cliente ligero de Bitcoin es un software capaz de almacenar llaves privadas y gestionar llaves públicas. Debido a que básicamente puede ser un dispositivo independiente de un disco duro, la mayoría de las wallets de Bitcoin utilizan esta arquitectura para operar. No requieren muchos recursos de computación o almacenamiento. Pero sí dependen de otras computadoras que utilicen un programa como Bitcoin Core para conocer el historial de las transacciones y validar una determinada operación.

La verificación de las transacciones en Bitcoin requiere que un nodo almacene una gran cantidad de información. Esta información constituye prácticamente todo el historial de las transacciones, agrupadas en paquetes conocidos como bloques. Debido a que cada transacción lleva una marca de tiempo, cualquier nueva transacción puede ser cotejada en el historial y de esta manera se evita el doble gasto.

Bitcoin funciona como una red de datos distribuida y descentraliza, pues no depende de un servidor central. Una de las funciones de Bitcoin Core consiste en hacer que los nodos que constituyen la red operen bajo los mismos parámetros. Sin embargo, pueden coexistir nodos en la red que trabajen con distintas versiones. Las versiones más antiguas no cuentan con las especificaciones o mejoras más recientes, como SegWit y Taproot, que mejoran la seguridad y la eficiencia de las transacciones.

Minería de Bitcoin

Los mineros de Bitcoin utilizan Bitcoin Core para propagar los bloques de transacciones y conocer el estado más actualizado del historial de todas las operaciones que ejecuta el sistema. Sin embargo, no debe confundirse un equipo de minería con un nodo de Bitcoin. Muchos equipos de minería pueden estar conectado a un mismo nodo. Por otro lado, un nodo puede simplemente ejecutar las tareas de validación y verificación sin realizar la Prueba de Trabajo que realizan los equipos de minería. Esta tarea es una especie de lotería que adjudica al ganador el derecho a escribir las transacciones de un bloque y ganar una recompensa de BTC por esa tarea.

El software de Bitcoin Core se utiliza ampliamente. De hecho, el 98% de los nodos de la red emplea este programa para ejecutar Bitcoin. Alrededor de 50.000 nodos constituyen la red de Bitcoin en la actualidad.

Nodos de Bitcoin Core en la actualidad - Qué es Bitcoin Core
Un análisis del estado actual de los nodos de Bitcoin elaborado por Luke Dashjr, desarrollador de Bitcoin Core indica que más del 98% de los nodos utiliza este programa. Fuente: luke.dashjr.org

2 ¿Cómo ejecutar el software de Bitcoin Core?

Al ser un programa informático, el software funciona (o se ejecuta) en una computadora. Para comenzar, solamente hay que entrar al sitio web bitcoin.org y obtener alguna de las versiones más recientes. Puedes instalar este programa en los sistemas operativos de Windows, Mac OS y Linux.

Debido a que Bitcoin almacena un historial de transferencias que data de 2009, la descarga puede tardar entre cuatro horas y dos días –dependiendo de tu ancho de banda–.

Bitcoin requiere una red distribuida de datos

Muchas personas corren un nodo completo de Bitcoin Core de manera voluntaria. Utilizan recursos energéticos y de ancho de banda para realizar esta tarea. Esto contribuye a robustecer la seguridad de la red Bitcoin.

La sincronización inicial se realiza una sola vez. Posteriormente, la sincronización depende de que los nodos conozcan el estado más reciente de las transacciones que se transmiten constantemente alrededor del globo. Al conocer o escuchar al resto de los nodos de la red, cada nodo logra saber cuál es el bloque de transacciones más reciente.

Los nodos que quedan rezagados, por desconocimiento de la punta de la cadena de bloques, no pueden validar y enviar transacciones con bitcoins. Deben esperar a que el nodo se actualice al estado más reciente del historial de transacciones. Cualquier operación con la wallet de Bitcoin Core también debe esperar a que se complete la sincronización. Esto se debe a que necesita descargar todo el historial de transacciones de Bitcoin para comprobar que no exista una transacción duplicada o inválida.

Wallet de Bitcoin Core
La Wallet de Bitcoin Core muestra arriba y a la izquierda el estado de sincronización con el historial de transacciones. No se puede enivar BTC mientras no esté actualizado. Fuente: bitcoin.org

3 ¿Qué se necesita para usar Bitcoin Core?

Lo más recomendable para comenzar a operar un nodo de Bitcoin es tener un almacenamiento de 500 GB y un dispositivo de 2 GB de memoria RAM, como mínimo. Los procesos computacionales que requiere el protocolo de Bitcoin no son muy complejos. Sin embargo, el historial de las transacciones crece constantemente. Por esa razón, muchos propietarios de nodos instalan el programa de Bitcoin Core en dispositivos que tienen más de 4GB memoria RAM y al menos 1 TB de almacenamiento. Esto permite mayor margen de operatividad.

Ciertamente, a medida que los desarrolladores de Bitcoin mejoran el código, también se hace más eficiente el almacenamiento de la información. Aun así, Bitcoin tiene un peso de 390 GB en la actualidad, con un crecimiento del 50% en poco más de un año.

Crecimiento de Bitcoin en términos de almacenamiento - Qué es Bitcoin Core
En este gráfico se aprecia la curva de crecimiento del historial de las transacciones de Bitcoin entre 2009 y 2022, hasta alcanzar 389,72 GB de peso. Fuente: Statista

También se requiere una conexión a Internet estable y con suficiente banda ancha. Bitcoin funciona sobre el protocolo TCP/IP (sí, esto también significa Internet), porque es la red de comunicación más extendida alrededor del mundo. En el caso de que te preocupe la privacidad de tus transacciones, puedes enrutarlas a través de una conexión a la red Tor, que provee mayor seguridad en este sentido.

Capacidad de carga y descarga del nodo de Bitcoin

Ten en cuenta que un nodo completo de Bitcoin puede requerir una capacidad aproximada de carga de 200 GB al mes, si cuenta con una velocidad de internet alta. Por otro lado, es posible que en ese periodo de tiempo descargue 20 GB.

Algunos proyectos como RoninDojo, myNode, RaspiBlitz y Nodl trabajan en el desarrollo de software y hardware para implementar nodos de Bitcoin. Algunos de estos proyectos ofrecen herramientas y equipos pre ensamblados que solo requieren un clic para comenzar a operar.

4 ¿Cuál es la historia de los desarrolladores de Bitcoin Core?

Tras la desaparición de Satoshi Nakamoto de la vida pública en 2010, Gavin Andresen se convirtió en el mantenedor del código de Bitcoin junto con otros programadores. Algunas fuentes sugieren que Andresen no fue seleccionado por Nakamoto, sino que asumió ese rol. Al ser el único que poseía las llaves de acceso al código, luego de que el creador de Bitcoin se las otorgara y dijera adiós, se hizo responsable de esa labor.

Bitcoin.org

Bitcoin.org es el dominio original que se utilizó para difundir el código de Bitcoin. En la actualidad, la comunidad de desarrolladores de Bitcoin Core utiliza este dominio para dar a conocer las características de Bitcoin. También existe otro dominio oficial denominado bitcoincore.org, donde hay documentación sobre el uso de este software.

Gavin Andresen tuvo una breve relación con Satoshi Nakamoto a través de correos. Luego trabajó en otros proyectos. Fuente: Web Summit/flickr.com

Años después, Andresen deja el cargo para dedicarse a un proyecto personal. Delega, el 7 de abril de 2014, en Wladimir van der Laan la tarea de ser el mantenedor principal del código de Bitcoin. Durante los años posteriores, otros desarrolladores se unieron a van der Laan en las tareas de mantención: Jonas Schnelli, Marco Falke y Samuel Dobson. En junio de 2019, se unió Michael Ford.

En enero de 2021, Wladimir van der Laan anunció que se alejaba por un tiempo de esa labor que resultaba «estresante». A finales de ese año, lo siguió Jonas Schnelli, quien era el mantenedor de la interfaz gráfica de Bitcoin Core en ese momento. La más reciente de estas renuncias ocurrió en diciembre de 2021, cuando Samuel Dobson dejó el cargo de mantenedor principal: «Me entristece dejar el puesto, pero ya no puedo dedicar el tiempo necesario, ya que me acerco al final de mi doctorado», escribió.

De acuerdo con Andrew Chow, actual encargado de la wallet de Bitcoin Core, 16 personas han tenido acceso a las llaves que permiten introducir cambios en el código de Bitcoin. Entre ellos, el actual mantenedor de la interfaz gráfica, Henadii Stepanov; Marco Falque, encargado de la red de pruebas de Bitcoin; Michael Ford, quien fue nominado por varios mantenedores para dicha responsabilidad; Pietter Wuille, quien es un frecuente contribuidor del código y van der Laan.

Bifurcaciones de Bitcoin

Han ocurrido hasta 21 bifurcaciones en Bitcoin. Algunas programadas y otras accidentales. Ninguna ha tenido graves consecuencias. En una ocasión, el 11 de marzo de 2013, la llegada de una actualización generó dos cadenas de transacciones por accidente. Una transacción se vio reflejada en cada una de estas y como consecuencia, los mineros decidieron ponerse de acuerdo para dejar de minar ambas de manera simultánea. Esto ocasionó una caída repentina del precio de BTC.

Wladimir van der Laan ha contribuido al desarrollo de Bitcoin desde 2011. Fuente: Messari / messari.io

Durante los primeros años de Bitcoin Core, otras personas tuvieron acceso a las llaves de acceso del código. Entre ellos, Martti Malmi, Laszlo (laszloh), Chris Moore, Jeff Garzik, Nils Schneider, y Greg Maxwell.

El desarrollo de Bitcoin Core, sin embargo, no recae solo en las manos de estas personas. La comunidad de programadores es mucho más amplia, puesto que el código de Bitcoin ha recibido mejoras de cientos de personas. Entre ellos, programadores como Gloria Zhao, Matt Corallo, Gregory John Newberry, Cory Fields y Peter Todd.

5 Algunos datos históricos sobre el desarrollo de Bitcoin Core

Antes de que existiera Bitcoin Core, existía una versión de cliente de Bitcoin conocida como bitcoind (la segunda versión de Bitcoin desarrollada por Satoshi Nakamoto). Esta se usó en las versiones 0.2.6 hasta la 0.4.9. Bitcoind estaba diseñado para ejecutar llamadas de procedimiento remoto (RPC). En otras palabras, se ejecutaba a través de líneas de comando o scripts. En la actualidad se ejecuta en segundo plano.

Una de las primeras versiones de Bitcoin - QUé es Bitcoin Core
Las primeras versiones de Bitcoin solo se podían ejecutar a través líneas de comando, hasta la llegada de la versión bitcoin_Qt. Fuente: BitcoinWiki

A partir de la versión 0.5., Wladimir van der Laan crea bitcoin-Qt (1 de noviembre de 2011), que incorpora una interfaz gráfica (GUI) para que los usuarios comunes pudieran interactuar con Bitcoin. Van der Laan cuenta que el principal impulso para trabajar en esta versión fue demostrarse a sí mismo que era posible usar el concepto de dinero electrónico para intercambios P2P. Poco después, este código fue renombrado como Bitcoin Core.

Algunos desarrolladores de Bitcoin como Peter Todd, Luke Dashjr y Greg Maxwel se opusieron a este renombramiento, con el argumento de que implicaría cierta centralización del desarrollo. Los debates entre los desarrolladores han sido importantes para corregir problemas en la programación y mejorar el código.

Red de pruebas o testnet

Otro rasgo importante de Bitcoin Core es la capacidad de ejecutar una red de pruebas (testnet), en donde sus desarrolladores tienen la libertad de probar las propuestas de mejora antes de que se implementen en la red principal (mainnet).

En 2014, Mike Hearn y Gavin Andresen (luego de renunciar a ser mantenedor del código) crearon Bitcoin XT a partir de una bifurcación de Bitcoin Core. El objetivo era probar implementaciones que no se habían introducido en Bitcoin, incluyendo un polémico cambio en el límite del tamaño de bloque, que pretendían que fuese dinámico. Para 2017 solo quedaban 30 nodos en esta red. Hoy en día no existe.

Otro de estos debates ocurrió durante el año 2017, cuando la comunidad de desarrolladores de Bitcoin Core jugó un papel crucial para impedir que otra propuesta aumentara el límite del tamaño de bloque de Bitcoin a más de 2MB, con peligrosas consecuencias. En aquel entonces, un grupo influyente de empresarios y mineros apostaron por implementar esta medida con el objetivo de tomar el control del desarrollo de Bitcoin.

Además, al incrementar el tamaño del historial de transacciones, los pequeños mineros requerirían más recursos y haría más improbable la participación de mineros que no fuesen económicamente poderosos, centralizando la minería.

Finalmente, quienes apoyaron la bifurcación crearon una red nueva, conocida como Bicoin Cash, dirigida en aquel entonces por Rogen Ver, un empresario que impulsó los ataques contra Bitcoin Core.

6 ¿Cuántas versiones de Bitcoin Core existen?

Hasta la fecha existen 65 versiones de Bitcoin. La primera versión de Bitcoin fue liberada el 9 de enero de 2009 por Satoshi Nakamoto. Solo se podía ejecutar en Windows. Once meses después, llegó la versión 0.2, que podía instalarse con Linux. Posteriormente apareció la versión 0.3.2.

Algunas de las versiones de Bitcoin Core más recientes - ¿Qué es Bitcoin Core?
Las versiones de Bitcoin Core lanzadas entre enero de 2020 y septiembre de 2021. Fuente: Bitcoin Core.

El 13 de agosto de 2010, Satoshi Nakamoto liberó en Bitcoin Talk la versión 0.3.9., esta sería su última participación activa en el desarrollo del código de Bitcoin.

En noviembre de 2011, Wladimir van der Laan introdujo Bitcoin-Qt, que ofrecía una interfaz gráfica para usuarios comunes. Esta versión fue rebautizada como Bitcoin Core en su versión 0.9.0.

Las versiones desactualizadas de Bitcoin Core

Utilizar versiones de Bitcoin Core que no estén lo suficientemente actualizadas puede representar un riesgo de compatibilidad, pues los nodos podrían ser incapaces de reconocer algunas funciones introducidas en las versiones más nuevas.

En octubre de 2016 llegó Bitcoin Core 0.13.1., que introdujo la posibilidad de implementar SegWit, una mejora que reducía el peso de las transacciones al segregar parte de la información. Esta mejora también evita los ataques de maleabilidad en la red. La activación definitiva de SegWit ocurrió el 23 de agosto de 2017 a través de un soft fork o una bifurcación suave.

Versiones de Bitcoin Core que no están disponibles

Entre las versiones más recientes de Bitcoin Core, al menos nueve no están disponibles para su descarga por razones de seguridad. Estas van desde la versión 14.0 hasta la 16.2.

Durante el 2021 llegó Taproot, una de las actualizaciones más recientes del protocolo de Bitcoin. La versión 22.0, llegó en septiembre del año 2021 y la versión 23.0 el 25 de abril de 2022.

Todos los cambios que ha atravesado el protocolo de Bitcoin dependen enormemente del espíritu colaborativo de una comunidad científica, de comerciantes y divulgadores que incansablemente generan soluciones y discuten los problemas que a diario enfrenta esta tecnología. Bitcoin Core juega un papel fudamental en el crecimiento y la consolidación de Bitcoin como sistema monetario que enfrenta los poderes establecidos.

Si quieres saber más sobre Bitcoin, y otros temas relacionados con desarrollo y minería, te invitamos a que hagas clic en estos enlaces que te ayudarán a profundizar tus conocimientos.

  • Términos que debes conocer para entender la minería de criptomonedas
  • Todo lo que necesitas saber para minar Bitcoin
  • ¿Qué es la minería de Bitcoin y otras criptomonedas?
  • ¿Cómo minar Bitcoin y otras criptomonedas?
  • ¿Cuántos bitcoin se pueden minar?

Este artículo se realizó con la colaboración de Jesús Herrera (periodista)

Source link

¿Qué es Bitcoin Core?
Criptomonedas
Master

¿Qué es Bitcoin Core?

Hechos clave: Bitcoin Core es el software más utilizado para ejecutar el protocolo de Bitcoin. Cualquiera puede participar en la red Bitcoin descargando y ejecutando el cliente Bitcoin Core.  Casi

Leer más »

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies