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

Qtum Español
7 min readJan 28, 2021

Jan 6 ·

Introduccion

En el diseño de blockchain públicas, el alto TPS (Transacciones por segundo) y la descentralización suelen ser una contradicción. En una red completamente descentralizada, cada nodo es completamente igual. Para mantener la seguridad de la red, debe haber un intervalo de tiempo lo suficientemente largo entre cada bloque para garantizar que los nuevos bloques se puedan distribuir y validar completamente para mantener el consenso para toda la red. Esto afectará inevitablemente el tiempo de confirmación de la transacción y afectará al TPS. Reducir el intervalo de bloque promedio ayudará a mejorar el TPS, pero puede hacer que toda la red no logre el consenso completo a tiempo, lo que conducirá a forks y afectará la seguridad.

En el diseño de parámetros de la blockchain pública, a menudo existe una compensación entre el TPS y la arquitectura de descentralización de la red. Bitcoin se centra en los atributos de la moneda con un espaciado de bloque promedio de 10 minutos para garantizar el consenso de toda la red, pero tampoco puede admitir aplicaciones con requisitos de tiempo real más altos. El espaciado promedio de bloques de Ethereum es de aproximadamente 15 segundos, lo que mejora enormemente la experiencia del usuario, pero significa que la red continúa produciendo forks a corto plazo y tiene que recompensar a los mineros por los bloques “Uncle”. El número medio de confirmaciones de bloque también es mayor.

Qtum adopta el modelo UTXO consistente con Bitcoin y es compatible con EVM (Ethereum Virtual Machine) para contratos inteligentes. El espaciado de bloque promedio actual de Qtum es de 128 segundos, y el TPS teórico es dieciséis veces el de Bitcoin. Si bien se ha mejorado la experiencia del usuario, el consenso de toda la red está garantizado y la probabilidad de un fork corto es baja.

Sin embargo, con el aumento y la popularidad de DeFi y otras aplicaciones descentralizadas, Qtum planea reducir el intervalo de bloque promedio para mejorar aún más la experiencia del usuario con la gran cantidad de aplicaciones que dependen de tiempos de bloqueo más rápidos. Parte de esta actualización es una optimización del software Qtum Staking para mejorar en gran medida la eficiencia del algoritmo de consenso de Staker. Los resultados de la prueba muestran que podemos acortar el intervalo de bloqueo a 32 segundos sin afectar significativamente el tiempo de consenso de la red.

En la actualidad, el trabajo de espaciado de bloques reducido se encuentra en una fase de prueba intensiva, y se avecinan más avances. Este artículo proporcionará algunos “spoilers” para presentar brevemente el progreso más reciente de esta actualización.

Actualizar componentes

El “Plan de aceleración” de Qtum se proporcionará a través de estas actualizaciones principales:

  1. El espaciado promedio entre bloques se redujo de 128 segundos a 32 segundos.
  2. Actualiza el algoritmo de ajuste de dificultad.
  3. Modificar la recompensa del bloque
  4. Mejorar la eficiencia minera de Staker

La primera actualización es el objetivo principal para reducir el espacio entre bloques, y 2, 3 y 4 son claves para una actualización exitosa.

La actualización 2, el algoritmo de ajuste de la dificultad, garantiza que el espacio entre bloques no fluctúe bruscamente después de aumentar la velocidad. La dificultad (objetivo) se ajusta para cada nuevo bloque para mantener el espacio medio entre bloques en 32 segundos.

Actualización 3, la modificación de recompensa de bloques, asegura que el mismo numero de nuevas QTUM sean producidas por la red antes y despues de la actualizacion. El subsidio de recompensa por bloque se reducirá para bloques más rápidos para mantener la tasa de inflación y los períodos de reducción a la mitad. Un beneficio es que los Stakers más pequeños verán recompensas en bloque con mayor frecuencia, por bloques de 32 segundos en una cuarta parte del tiempo en comparación con los bloques de 128 segundos.

Upgrade 4, el aumento en la eficiencia minera de Staker, permite a los Stakers mantenerse al día con los bloques más rápidos y ayuda a reducir los bloques huérfanos.

Condiciónes de la prueba

Para verificar las actualizaciones, hemos implementado una red de prueba de desarrollo con más de 100 nodos en todo el mundo (incluso en América, Europa, Asia y Oceanía) para simular la distribución de nodos de nuestra red descentralizada. Esta red de prueba se puede probar con cargas pesadas que no se logran fácilmente incluso en la red de prueba pública de Qtum. El software actualizado se está ejecutando en esta red de prueba y, a continuación, presentamos los resultados operativos para esta red.

Detalles de la prueba

Antes del tiempo de bloque reducido

Antes de la actualización, la red de prueba se ejecutó durante un día con los mismos parámetros que la red principal actual de Qtum, con el panel de red que se muestra a continuación. En promedio, ocurren 10 transacciones por minuto en la red. Los resultados muestran que el intervalo de bloque promedio es de aproximadamente 129 segundos, que es aproximadamente el mismo que los 128 segundos en Qtum mainnet. La tasa de bloques huérfanos (es decir, la probabilidad de “bloques huérfanos” en la red) es de aproximadamente el 3%.

Configuración de la red principal, bloques de 128 segundos

Después de bloques de 32 segundos

Manteniendo el mismo número de transacciones en la red (10 tx / min), después de implementar las actualizaciones de bloque de 32 segundos, los resultados operativos después de 3 horas son los siguientes. El espaciado de bloque promedio se redujo a los 32 segundos esperados, y la tasa de bloque huérfano aumentó a aproximadamente el 20%. Aunque la tasa de bloqueos huérfanos ha aumentado, no hay divisiones significativas de cadenas huérfanas y la longitud de cadena dividida huérfana más larga es de 2 bloques. Esta tasa de bloqueos huérfanos es cercana a la de la red principal actual de Qtum y está dentro de un rango aceptable.

Bloques de 32 segundos

Prueba de estrés de transacciones ordinarias

Cuanto mayor sea la carga de la red (cuantas más transacciones se produzcan por unidad de tiempo), mayor será el bloque (el tamaño del bloque Qtum es actualmente de 2 MB), mayor será el tiempo de procesamiento del bloque y mayor probabilidad de bloques huérfanos. Después de introducir la actualización de bloques de 32 segundos, continuamos aumentando la carga de transacciones llenando el 50% de los nuevos bloques, con la mayoría de los bloques cerca de la carga completa. Los resultados de la prueba se muestran a continuación. La tasa de huérfanos es estable en alrededor del 27%, que todavía está al mismo nivel que la red principal actual y dentro del rango aceptable. La longitud de horquilla más larga es 4, con una probabilidad del 0,61%, que se encuentra en el rango seguro para el uso real (en la práctica, el número recomendado de confirmaciones para la red Qtum es 10). Los resultados de estas pruebas están en línea con las expectativas.

Bloques de 32 segundos, prueba de esfuerzo de carga del 50%

Prueba de estrés de llamadas de contrato inteligente

En comparación con las transacciones ordinarias, el procesamiento de transacciones de contratos inteligentes requiere un procesamiento y verificación adicionales por parte de los nodos. Cuando el espacio entre bloques se acorta y hay más llamadas de contratos inteligentes, puede hacer que el Staker tarde demasiado en procesar y generar bloques huérfanos.

Continuamos aumentando la carga de la red y aumentando las llamadas de contratos inteligentes. Si bien el espaciado promedio de bloques se redujo a 32 segundos, la tasa de bloqueos huérfanos en la red se mantuvo en 27% y todavía no había un fork obvio, lo que estaba en línea con las expectativas de seguridad.

Prueba de comparación con Staker actual

Los resultados de estas pruebas para el nuevo Staker están en línea con las expectativas. Para confirmar la necesidad de la optimización del Staker, solo se probó la actualización de bloque de 32 segundos n. ° 1 sin las otras actualizaciones. Como se muestra a continuación, la tasa de bloqueo huérfano se disparó al 200% y la seguridad de la red se vio muy afectada. Por lo tanto, el aumento de la velocidad del bloque de 32 segundos y la optimización de la eficiencia del Staker son indispensables, y los dos juntos garantizan que el espacio entre bloques se pueda reducir sin afectar la seguridad.

Solo actualización de 32 segundos, sin mejora de eficiencia de Staker

Resumen de la prueba

La red de prueba de desarrollo Qtum está compuesta por más de 100 nodos distribuidos por todo el mundo, que simula el complejo entorno de red de la red distribuida real. Los resultados muestran que después de la introducción de la optimización Staker y el intervalo de bloque de 32 segundos, bajo carga la red se mantuvo estable y la tasa de bloqueos huérfanos en la red no superó el 27%.

Próximos pasos

Los resultados de las pruebas iniciales para los bloques de 32 segundos estuvieron en línea con las expectativas, y el equipo está realizando las pruebas finales y la revisión del código para garantizar una actualización segura. El trabajo de seguimiento se centra principalmente en:

  1. Optimice aún más el algoritmo de minería Staker, reduzca aún más la tasa de bloqueos huérfanos y mejore la seguridad.
  2. Realice pruebas de esfuerzo a mayor escala.
  3. Desarrolle un plan de actualización integral para garantizar una actualización fluida de la red de hard fork.

Referencias

1. QIP-26: Reducir el espacio entre bloques https://github.com/qtumproject/qips/issues/26

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