Este primero de noviembre, proponentes de Bitcoin Cash lideraron una prueba de estrés en la cadena BCH, al enviar millones de transacciones en un día. Durante el transcurso del día, la red de BCH vio más de 733,000 transacciones y un bloque de 14MB que eliminó 73,000 transacciones de una sola vez.

Para prepararse para la prueba, el equipo configuró una  herramienta “The Satoshi Shotgun” con 7 nodos completos, usando los tres clientes de Bitcoin más populares y geográficamente dispersos de la siguiente manera:

  • 3 x Bitcoin Unlimited (2 x EE. UU., 1 x Bélgica)
  • 2 x Bitcoin SV (1 x EE. UU., 1 x Finlandia)
  • 3 x Bitcoin ABC (2 x EE. UU., 1 x Hong Kong)

Durante el transcurso del día, la red de BCH vio más de 733,000 transacciones y un bloque de 14MB que eliminó 73,000 transacciones de una sola vez.

Los  UTXO, varían en valor desde 15,000 hasta 15,000,000 de Satoshis. Una vez creado, cada UTXO se mantuvo en una matriz para ser dado a un proceso “Walker” que lo usaba para generar tantas transacciones como sea posible, antes de unirse a la cola para que se le asigne un nodo.

Una vez que se conecta a un cliente, cada caminante comienza enviando una transacción de ‘Fan Out’, que toma su UTXO y lo divide en un rango de 20 a 2900 UTXO nuevos. Después de este paso, cada caminante espera la transacción del fan out debe ser confirmada en el Blockchain.

Estas transacciones son enviadas a cada nodo a través del RPC (Llamada a procedimiento remoto – Una forma común de manejo) utilizando comandos estándar y luego se deja el nodo para gestionar la entrada de cada transacción en su mempool, y la transmisión en la red Bitcoin P2P.

Cada proceso de Walker espera que se confirmen los abanicos en la cadena BCH antes de comenzar de nuevo. La carga de los caminantes es un proceso manual, se detalla el equipo y el grupo se encuentra en medio de la creación de un cargador automático. La forma en que se realiza actualmente el método de la prueba de esfuerzo es bastante “costosa” y conduce a un “retraso en la activación de todos los caminantes”.

Durante la primera fase de la prueba, el equipo experimentó múltiples fallas de Walker y retrasos aleatorios. “Los nodos que ejecutan Bitcoin Unlimited no experimentaron fallas de este tipo, mientras que los Bitcoin SV (que todavía tienen la demora en su lugar) y los nodos de Bitcoin ABC fallaron en diversos grados”, explicó el equipo. Los analizadores de estrés continuaron diciendo:

“Después de que se enviaron las primeras 140,000 transacciones, el equipo dedicó un tiempo a hacer un análisis de los problemas, y a volver a reunir los UTXO de los caminantes fallidos, y reinició la prueba”.

La carga de UTXO en los IMP-Walkers es actualmente un proceso manual, sin embargo, un cargador automático es estar preparado, lo que permitirá al equipo administrar volúmenes mucho más grandes de dinero de tal manera que está optimizado para los tiempos de bloque de 10 minutos.

Aproximadamente a las 12:12 UTC, las transacciones se detuvieron a medida que más UTXO esperaban confirmación.

El siguiente bloque confirmó todos los UTXO restantes y se permitió que la prueba operara a toda velocidad desde allí. Desde el período comprendido entre las 12:40 y las 12:48, aproximadamente 50,000 transacciones fueron visto en la red P2P, lo que indica una tasa de transmisión exitosa de alrededor de 100 transacciones por segundo sostenido. Durante este tiempo, experimentaron numerosas fallas de caminante que han atribuido al azar.

Los nodos que ejecutan Bitcoin Unlimited no experimentaron fallas de este tipo, mientras que el Bitcoin SV (que todavía tiene la demora en su lugar) y todos los nodos de Bitcoin ABC fallaron en diversos grados.

Después de que se enviaron las primeras 140,000 transacciones, el equipo dedicó un tiempo a analizar qué los problemas fueron, y volver a reunir UTXOs de caminantes fallidos, y reiniciar la prueba.

The TEST

“En este punto, se inició una prueba adicional con un gran número de UTXO pequeños que dieron como resultado lo siguiente: Como puede verse, de las 17.44 a las 17.53 horas se enviaron aproximadamente 66,000 transacciones a la red, o una tasa de aproximadamente 122 por minuto. Esto culminó en un bloque de 10 MB que vació el Mempool”.

Al final del día, el equipo terminó la prueba de esfuerzo con la explosión final, utilizando todos los fondos restantes de las transacciones fallidas que quedaron en la billetera. Esta prueba fue la más optimizada en términos de éxito.

Los desarrolladores detallaron que esta prueba fue la “más optimizada en términos de tasa de éxito” y hubo una tasa de fallas mucho más baja esta vez (menos del 0.2% de la falla de la transacción). Según las estadísticas de 24 horas, la cadena BCH procesó 733,782 transacciones durante el curso de la prueba de resistencia del 1 de noviembre.

Resultados y próximos pasos

El equipo está muy satisfecho con el rendimiento y se espera llevar a cabo unas pruebas internas en testnet. Cuando regresen  el día 10 esperamos estar listos para demostrar una capacidad para enviar de 250 a 300 transacciones por segundo a la red durante más de una hora.

Esta tasa deberá mantenerse de manera indefinida (24 horas como mínimo) para lograr los objetivos establecidos en el hoja de ruta de prueba de estrés profesional, y esperamos cumplir con esta promesa.

Deja un comentario