Desde TowerBFT hasta Alpenglow, Solana entra en la era de los milisegundos.

Título original: Alpenglow: Un nuevo consenso para Solana Autor original: Quentin Kniep, Kobi Sliwinski y Roger Wattenhofer Traducción original: zhouzhou,

Nota del editor: Alpenglow es un nuevo protocolo de consenso lanzado por Solana, que reemplaza el antiguo mecanismo TowerBFT y la prueba histórica, introduciendo Votor y Rotor, optimizando la votación y la propagación de datos, y reduciendo significativamente la latencia a 100–150 milisegundos, logrando una finalización en segundos. Este protocolo mejora el rendimiento, la resiliencia y la escalabilidad, permitiendo que Solana tenga una velocidad de respuesta comparable a la de Web2.

A continuación se presenta el contenido original (para facilitar la comprensión, el contenido original ha sido reorganizado):

Estamos orgullosos de presentar Alpenglow, el nuevo protocolo de consenso de Solana. Alpenglow es un protocolo de consenso diseñado a medida para blockchain de prueba de participación (Proof-of-Stake) de alto rendimiento a nivel global. Creemos que el lanzamiento de Alpenglow será un punto de inflexión para Solana. No solo es un nuevo mecanismo de consenso, sino también la mayor transformación del protocolo central desde la fundación de Solana.

Durante el proceso de migración a Alpenglow, diremos adiós a una serie de antiguos componentes centrales, especialmente a TowerBFT y la prueba de historia (Proof-of-History). Hemos introducido un nuevo módulo llamado Votor, que se encargará de la lógica de votación y la confirmación final de bloques. Además, Alpenglow ha abandonado el método de comunicación basado en gossip, optando por un primitivo de comunicación directa más rápido.

A pesar de que esto representa una transformación significativa, Alpenglow todavía se basa en la mayor ventaja de Solana. Turbine ha jugado un papel clave en el éxito de la red Solana, resolviendo este importante problema de la propagación de datos. En las blockchain tradicionales, los líderes a menudo son el cuello de botella del sistema.

La tecnología utilizada por Turbine divide cada bloque en muchos fragmentos más pequeños mediante codificación de borrado (erasure-coding) y los difunde rápidamente. La clave es que este proceso aprovecha al máximo el ancho de banda de todos los nodos. El protocolo de difusión de datos en Alpenglow, Rotor, continúa y optimiza la filosofía de diseño de Turbine.

A través de estas transformaciones, llevamos el rendimiento de Solana a alturas sin precedentes. Al utilizar TowerBFT, se requieren aproximadamente 12.8 segundos desde la generación del bloque hasta la confirmación final. Para reducir la latencia a subsegundos, Solana introdujo el concepto de 'confirmación optimista'.

Y Alpenglow romperá estas limitaciones de retraso. Esperamos que Alpenglow pueda reducir el tiempo de confirmación final real a aproximadamente 150 milisegundos (mediana).

En algunos casos, la confirmación final se puede lograr incluso en tan solo 100 milisegundos, una velocidad casi increíble para un protocolo de cadena de bloques L1 global. (Estas cifras de latencia se basan en simulaciones de la distribución actual de staking de la red principal y no incluyen la sobrecarga computacional). )

Una latencia media de 150 milisegundos no solo significa que Solana es más rápido, sino que la capacidad de respuesta de Solana puede compararse con la infraestructura de Web2, lo que tiene el potencial de hacer que la tecnología blockchain sea viable en nuevos campos de aplicación que requieren rendimiento en tiempo real.

La imagen de arriba muestra la distribución de retardos en las diferentes etapas del protocolo Alpenglow cuando el líder está en Zúrich, Suiza. Elegimos Zúrich como ejemplo porque fue en esta ciudad donde desarrollamos Alpenglow.

Cada barra del gráfico muestra la latencia promedio de los nodos de Solana en la distribución global, ordenada por distancia a Zúrich.

La imagen muestra la simulación de la latencia que experimentan los nodos de la red en diferentes etapas del protocolo Alpenglow, correspondiente a la proporción de nodos de la red que han alcanzado esa etapa.

El color verde de las barras representa la latencia de la red. Según la distribución actual de nodos de Solana, aproximadamente el 65% de los nodos de staking tienen una latencia de red con Zúrich de menos de 50 milisegundos. Sin embargo, la cola de latencia es bastante larga, y algunos nodos de staking tienen una latencia de red con Zúrich que supera los 200 milisegundos.

La latencia de la red constituye un límite inferior natural en nuestro gráfico: por ejemplo, si un nodo está a 100 milisegundos de Zúrich, cualquier protocolo tardará al menos 100 milisegundos en finalizar un bloque en ese nodo.

El color amarillo en el gráfico de barras representa la latencia de Rotor (protocolo de propagación de datos), que es la primera fase del protocolo Alpenglow.

El gráfico de barras rojas indica el tiempo que se ha tardado en recibir al menos el 60% del peso de la votación de los nodos a través de los votos de los testigos.

La barra azul representa el tiempo de confirmación final.

Entonces, ¿de dónde proviene el alto rendimiento de Alpenglow?

El componente de votación de Alpenglow, Votor, implementa un mecanismo de votación de ronda única extremadamente eficiente: si participa el 80% de los nodos de participación, el bloque se puede confirmar en una sola ronda de votación; Si solo el 60% de los nodos de staking responden, se puede hacer dentro de dos rondas de votación. Los dos modos se integran y ejecutan en paralelo, y el que sea más rápido tomará el camino para confirmar finalmente el bloque.

El subprotocolo de propagación de datos de Alpenglow, Rotor, continúa y optimiza el enfoque de Turbine. Al igual que Turbine, Rotor utiliza su ancho de banda proporcionalmente en función del peso de las apuestas de los nodos, lo que alivia el cuello de botella de los líderes y logra un alto rendimiento. Como resultado, el ancho de banda total se utiliza a un nivel casi óptimo. Una de las ideas de diseño de Rotor es que, en realidad, la latencia de la propagación de la información está limitada principalmente por la latencia de la red, más que por la velocidad de transmisión o de cálculo. Rotor utiliza una sola capa de nodos de relé en lugar de la estructura de árbol multicapa de Turbine, lo que reduce el número de saltos de red. Además, Rotor ha introducido un nuevo mecanismo de selección de nodos de relé para mejorar la robustez.

Alpenglow es el resultado de una investigación de vanguardia que combina la distribución de datos codificados por borrado con mecanismos de consenso de última generación. Sus innovaciones incluyen un mecanismo de votación integrado de una o dos rondas, que provoca retrasos sin precedentes en la finalización de bloques. Al mismo tiempo, también introduce un "mecanismo de tolerancia a fallos 20+20" único: incluso si las condiciones de la red son severas, el protocolo puede seguir funcionando normalmente, tolerando hasta un 20% de nodos de staking maliciosos y un 20% adicional de nodos que no responden. Otras contribuciones incluyen una estrategia de muestreo de baja varianza.

Hemos redactado un documento técnico completo que detalla Alpenglow. El documento no solo expone la intuición y los objetivos detrás de nuestro diseño, sino que también explica todo el protocolo con definiciones claras y código pseudocódigo. Al mismo tiempo, incluye diversos datos simulados y cálculos que ayudan a los lectores a entender el rendimiento real de Alpenglow, y por último, también proporciona una prueba de corrección completa.

「Enlace original」

Ver originales
El contenido es solo de referencia, no una solicitud u oferta. No se proporciona asesoramiento fiscal, legal ni de inversión. Consulte el Descargo de responsabilidad para obtener más información sobre los riesgos.
  • Recompensa
  • Comentar
  • Compartir
Comentar
0/400
Sin comentarios
  • Anclado
Comercie con criptomonedas en cualquier lugar y en cualquier momento
qrCode
Escanee para descargar la aplicación Gate
Comunidad
Español
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)