En la linea rapida: Reducción del tiempo de bloque — Parte 2

Qtum Español
4 min readFeb 2, 2021

Jan 12 ·

Qtum publicó QIP-26 para reducir el espacio entre bloques el 19 de octubre de 2020. Los principales objetivos de esta propuesta son reducir el espacio entre bloques para acelerar las transacciones, confirmaciones y respuestas de contratos inteligentes, como para DeFi. Aquí hay otra actualización sobre el progreso y las pruebas hasta ahora.

La prueba actual se centra en un espaciado de bloque promedio de 32 segundos y las pruebas muestran que el intervalo debe permanecer en 16 segundos. El “intervalo” es un intervalo de tiempo durante el cual los Stakers utilizan el algoritmo de consenso para verificar todos sus UTXO (sus propios UTXO y los delegados para Super Stakers). Los Stakers revisan todas sus UTXO para encontrar soluciones de consenso una vez en cada intervalo. Esto significa que para bloques de 32 segundos, habrá dos intervalos antes de alcanzar el espaciado de bloque promedio de 32 segundos. En la práctica, el nuevo bloque podría venir después del primer intervalo, segundo, tercero, etc., y la dificultad (objetivo) se ajusta para mantener el promedio de 32 segundos.

Distribución de intervalo

Puede pensar en cómo funcionan los intervalos con el ajuste de dificultad como un balance donde perfectamente equilibrados son bloques promedio de 32 segundos. Si llega un nuevo bloque durante más de 32 segundos, una de las personas del lado derecho del balance da un pequeño empujón hacia abajo (la dificultad disminuye). Si llega un nuevo bloque antes de los 32 segundos, la mujer grande con la computadora portátil en el lado izquierdo da un pequeño empujón hacia abajo (la dificultad aumenta). Si el bloqueo llega justo a los 32 segundos (la mujer que lleva los libros en la cabeza) ningún lado recibe un empujón (la dificultad sigue siendo la misma). Para los intervalos resultantes (y el balancín) esto significa que el primer intervalo (la mujer grande del lado izquierdo) “empuja” la dificultad más veces que el otro jugador del balance (intervalos). Ambos lados ajustan la dificultad para mantener el balance horizontal (el espacio entre bloques tiene un promedio de 32 segundos).

Podemos ver las distribuciones de intervalos en la red de prueba de desarrollo (descrita en el blog de la Parte 1) que muestran que el primer y el segundo intervalo (16 segundos y 32 segundos respectivamente) son el 76% de las recompensas del bloque con aproximadamente el 50% de los bloques en ese primer Intervalo de 16 segundos porque ese primer intervalo (la mujer grande del lado izquierdo del balancín) debe promediar todos los demás intervalos.

Distribución Blocktime

El espaciado de intervalo es de 16 segundos, el mismo que el actual, lo que significa que los nodos tienen 16 segundos para responder a cada intervalo.

Nuevo Staker

En preparación para bloques más rápidos, el equipo actualizó el código del staker. Este tipo de “refactorización” es una limpieza de código para optimización y eficiencia, y la mejora es impresionante. El trabajo principal del staker es evaluar cada UTXO en cada intervalo para buscar una solución de “núcleo”, lo que significa que el staker ha llegado a un consenso para publicar el siguiente bloque y reclamar una recompensa por bloque.

La CPU del staker debe hacer un cálculo de hash SHA-256 y una comparación con el objetivo (dificultad) para cada UTXO que está staking (su propio UTXO de dirección delegada para Super Stakers). Las CPU de menor potencia que apuestan a una gran cantidad de UTXO pueden tener problemas para mantenerse al día.

Para probar el staker, podemos usar una Raspberry Pi 3B (núcleos ARM de 1.4 GHz con 1 GB de RAM y un archivo de intercambio) staking 10,000 UTXO en testnet. El rendimiento de la CPU para Qtum-Qt versión 0.20.1 se ve así, y el RPi lucha por mantenerse al día con esta prueba de esfuerzo.

Staker CPU % — v0.20.1

La CPU está básicamente vinculada al 100% y este staker se perderá algunas recompensas en bloque. El eje horizontal son pasos de aproximadamente 3 segundos dados por el comando “top” para mostrar métricas para los procesos en ejecución.

El nuevo staker lo hace mucho mejor en esta misma prueba de estrés apostando 10,000 UTXOs:

Staker CPU % — Staker Nuevo

Aquí, la CPU está inactiva a un pequeño porcentaje, y puede ver algunos picos pequeños de hasta el 7% en cada nuevo intervalo. Este jugador ganó una recompensa en bloque como se muestra, alcanzando un máximo del 100% de CPU durante medio minuto. Al ejecutar el nuevo staker en máquinas de escritorio normales, la CPU estará inactiva por debajo del 1% con picos de un dígito medio.

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

No responses yet

Write a response