-
La versión 0.19 de Bitcoin Core completó la prueba con un tiempo de sincronización de 399 minutos.
-
Las otras seis pruebas de validación necesitaron el doble del tiempo que usó Bitcoin Core.
El desarrollador y director tecnológico de la startup Casa, Jameson Lopp, después de probar a siete diferentes clientes de un nodo completo de Bitcoin, volvió a demostrar, como en 2018, que Bitcoin Core oficial (0.19.0) es el software de sincronización más rápido y eficiente.
Lopp publicó en su blog, el pasado 10 de noviembre, el resultado de su estudio mediante el cual puso a prueba el rendimiento de las distintas implementaciones para correr nodos completos. De esa manera llegó a la conclusión, que Bitcoin Core es el software más eficiente para verificar todos los datos de las transacciones, tomando en cuenta que necesitó un tiempo de sincronización de 6 horas y 39 minutos para completar la evaluación.
Es conveniente acotar que Bitcoin Core es el software referencial de Bitcoin y la implementación más popular, tomando en cuenta que el 96% de los nodos alcanzables de la red ejecutan alguna versión de Bitcoin Core. Originalmente fue lanzado como Bitcoin 0.1 por Satoshi Nakamoto el 9 de enero de 2009, pero cambió su nombre a Bitcoin Core en 2014. Es de código abierto y opera un nodo completo.
Jameson explicó además que las otras seis pruebas de software que usó fueron Bcoin 77d8804, la cual tomó 18 horas y 29 minutos. En tanto que Gocoin 1.9.7 tomó 19 horas y 56 minutos. El Nodo Libbitcoin 3.2.0 completó la prueba en 1 día, 3 horas y 37 minutos, mientras Parity Bitcoin 7fb158d lo hizo en 2 días, 2 horas y 10 minutos. BTCD v0.20.0-beta, culminó en 3 días, 3 horas y 12 minutos, mientras que Stratis 3.0.5.0 no completó la prueba.
En un tuit Jameson escribió: «Le tomó 399 minutos sincronizar Bitcoin Core 0.19 desde génesis para bloquear 601.300 con assumevalid = 0 en mi máquina de referencia. El cuello de botella sigue siendo la CPU». En un mensaje similar de hace un año, el desarrollador necesitó 88 minutos menos para realizar la prueba con Bitcoin Core 0.17.
It took 399 minutes to sync Bitcoin Core 0.19 from genesis to block 601,300 with assumevalid=0 on my benchmark machine. Bottleneck continues to be CPU.
— Jameson Lopp (@lopp) October 30, 2019
Como su nombre lo indica, los nodos completos son responsables de mantener y distribuir copias de todo el registro de la cadena de bloques. Como tal, juegan un papel vital en la creación de redes, ya que son el punto principal en la validación de las transacciones.
Al comparar su prueba reciente con la del año pasado, Lopp observó que las implementaciones tardaron más en sincronizarse. En ese sentido dijo que el tamaño total de la cadena de bloques ha crecido en un 30% desde su última ronda de pruebas, por lo que esperaría que una implementación sin nuevas mejoras de rendimiento o cuellos de botella requiera mayor o menor tiempo para completar su sincronización.
Lopp concluye que debido a la naturaleza de las cadenas de bloques, la cantidad de datos que debe validarse para un nuevo nodo que se sincroniza desde cero seguirá aumentando sin cesar con el tiempo. Como punto positivo destacó que las pruebas que viene realizando están en el mismo hardware, sin embargo, considera que el rendimiento del hardware también aumentará cada año.
“Es importante asegurarnos que los requisitos de recursos para sincronizar un nodo no superen el rendimiento del hardware que está disponible a un costo razonable. Si lo hacen, entonces las franjas cada vez más grandes de la población se descontarán de la autosoberanía en estos sistemas”.
Jameson Lopp, desarrollador de Bitcoin.
En su nota explicativa sobre la prueba, Lopp contempló algunas consideraciones, las cuales cree que pudieron influir en el resultado. En ese sentido observó que no hay garantía que su ISP (proveedor de servicio de Internet) haya funcionado exactamente igual durante todas las sincronizaciones.
Igualmente destacó que algunas implementaciones pueden haberse conectado a pares con mayor ancho de banda ascendente que otras. Además, cree que es fundamental contemplar la variable que no todos los nodos realizan las mismas funciones de indexación. Por ejemplo, Libbitcoin siempre indexa todas las transacciones por hash, que es inherente a la estructura de la base de datos. Por lo tanto, indica que esta sincronización de nodo completo es más adecuadamente comparable a Bitcoin Core.