La sincronización del nodo de Bitcoin (BTC) sería imposible si no fuera por las mejoras que se han hecho al software, según el ala de investigación del exchange de criptomonedas, BitMex.

BitMex Research midió los tiempos de Descarga Inicial en Bloque (IBD) de las versiones de software de Bitcoin Core de 2012 a 2019 necesarias para descargar la cadena de bloques y verificarla, y compartió sus conclusiones en un post el 29 de noviembre.

El equipo de investigación afirma que la versión anterior del software Bitcoin Core puede ser imposible de sincronizar ahora y que las mejoras de escalabilidad realizadas en el software son esenciales para el funcionamiento de la red:

"Las versiones más antiguas de Bitcoin tuvieron dificultades para superar la recuperación del volumen de transacciones que se produjo en el período 2015-2016. Por lo tanto, concluimos que sin las mejoras del software, una sincronización inicial hoy en día podría ser casi imposible".

Tiempo de descarga inicial del bloque de Bitcoin en días, un promedio de tres intentos

Tiempo de descarga inicial del bloque de Bitcoin en días, un promedio de tres intentos. Fuente: BitMex

El equipo también obtuvo versiones de Bitcoin Core anteriores a la 0.8.6, pero esas versiones no pudieron sincronizarse más allá del periodo 2015-2016. El equipo también intentó ejecutar software antiguo en un hardware considerablemente potente, pero sin éxito. Los investigadores anotaron:

"Incluso intentamos ejecutar Bitcoin Core 0.7.0 en nuestra nueva máquina local, con 64 GB de RAM y 8 procesadores Intel i9, sin embargo, el nodo seguía sin poder pasar de 2016. [...] Las grandes reducciones en los tiempos de IBD y la incapacidad de los nodos antiguos para sincronizarse completamente indican que si no fuera por estas mejoras en la escalabilidad, Bitcoin ya estaría esencialmente muerto, incluso si los usuarios tuvieran el hardware de mayor especificación disponible".

La tasa de mejora se ralentizó

La mejora más significativa en la velocidad se produjo después de la versión 0.12.0 del núcleo de Bitcoin, cuando los desarrolladores adoptaron una biblioteca de verificación de firmas especialmente diseñada para Bitcoin en lugar de una estándar.

Esta versión particular del software del nodo tampoco valida las firmas de las transacciones de Segregated Witness (SegWit), ya que no las soportaba, lo que reduce aún más los tiempos de sincronización.

 Tiempo de descarga inicial del bloque de Bitcoin en días

Tiempo de descarga inicial del bloque de Bitcoin en días. Fuente BitMex

Curiosamente, hasta Bitcoin Core 0.14.0 las mejoras de escalabilidad aparentemente mantuvieron el ritmo y los tiempos de sincronización en un rango de tiempo relativamente estrecho. Después de esas versiones iniciales, la popularidad de la red Bitcoin y su tamaño empezaron a crecer mucho más rápido que las mejoras de escalabilidad introducidas en el software, lo que se tradujo en tiempos de sincronización más largos. El equipo de investigación de BitMex concluye:

"Los datos también muestran que es poco probable que la innovación tecnológica siga el ritmo de la creciente cadena de bloques y que los tiempos de IBD aumentarán".

Gran parte del enfoque en el desarrollo de Bitcoin se dedicó a preservar la descentralización, lo que también significa mantener las especificaciones de hardware necesarias para ejecutar un nodo de la red lo más modesto posible.

Con el fin de reducir las necesidades, los desarrolladores también mantuvieron un bloque de cuatro megabytes relativamente bajo límite de peso (con SegWit) y un tiempo de bloque relativamente alto de 10 minutos, lo que ha mantenido el crecimiento del tamaño de la cadena de bloques bajo control.

Actualmente, el tamaño de la cadena de bloques de Bitcoin es de 293.37 GB, con un tamaño medio de bloque de algo más de 1 megabyte. También hay más de 9.5K nodos alcanzables alrededor del mundo hoy en día, de acuerdo con el recurso de monitoreo, Bitnodes.

Como informó recientemente Cointelegraph, la última actualización del software de Bitcoin Core, 0.19.0.1, mejora aún más la escalabilidad al utilizar Bech32 que soporta de forma nativa las transacciones de SegWit.

Te puede interesar: