Apresentamos orgulhosamente o Alpenglow, o novo protocolo de consenso da Solana. O Alpenglow é um protocolo de consenso desenvolvido para uma blockchain global de alta performance baseada em prova de participação. Acreditamos que o lançamento do Alpenglow será um ponto de virada para a Solana. O Alpenglow não é apenas um novo protocolo de consenso, mas a maior mudança no protocolo central da Solana desde, bem, sempre.
Ao migrar para Alpenglow, dizemos adeus a vários componentes legados do protocolo central, em particular, TowerBFT e Proof-of-History. Em vez disso, introduzimos o Votor, que assume a lógica de votação e finalização de blocos. Além disso, em vez de depender de gossip, Alpenglow adota um primitivo de comunicação direta mais rápido.
Apesar de ser uma grande mudança, Alpenglow se baseia nas maiores forças da Solana. O Turbine desempenhou um papel crucial no sucesso da rede Solana, pois aborda o aspecto importante da disseminação de dados. Em blockchains do passado, o líder muitas vezes era o gargalo do sistema. Em contraste, o Turbine apresenta uma técnica onde cada bloco é codificado por apagamento em muitos pedaços menores que podem ser disseminados rapidamente. Crucialmente, a largura de banda de todos os nós é utilizada nesse processo. O Rotor, que é o protocolo de disseminação de dados do Alpenglow, adota a abordagem do Turbine e a refina.
Com essas mudanças, levaremos a Solana a um nível de desempenho sem precedentes. Com o TowerBFT, a Solana tinha cerca de 12,8 segundos desde a criação do bloco até a finalização do bloco. Para reduzir a latência para o domínio sub-segundo, a Solana introduziu o conceito de "confirmação otimista". O Alpenglow vai quebrar esses limites de latência. Esperamos que o Alpenglow possa alcançar a finalização real em cerca de 150 ms (mediana). Às vezes, a finalização pode ser alcançada tão rapidamente quanto 100 ms, o que é um número incrivelmente baixo para um protocolo de blockchain L1 mundial. (Esses números de latência são baseados em simulações com a distribuição de stakes da mainnet atual, não contando o overhead de computação.)
Uma latência média de 150 ms não significa apenas que a Solana é rápida — significa que a Solana pode competir com a infraestrutura Web2 em termos de responsividade, potencialmente tornando a tecnologia blockchain viável para categorias inteiras de aplicações que exigem desempenho em tempo real.
O gráfico acima mostra a divisão da latência de diferentes partes do Alpenglow com o líder em Zurique, Suíça. Escolhemos Zurique como um exemplo porque foi nossa localização durante o desenvolvimento do Alpenglow. Cada barra mostra os atrasos médios da atual distribuição mundial de nós Solana, classificados pela distância de Zurique. As latências simuladas para alcançar diferentes estágios do protocolo Alpenglow são plotadas em relação à fração da rede que chegou a esse estágio.
As barras verdes mostram a latência da rede. Com a distribuição atual de nós do Solana, cerca de 65% do stake do Solana está dentro de 50ms de latência de rede de Zurique. A longa cauda de stake tem mais de 200ms de latência de rede de Zurique. A latência da rede serve como um limite inferior natural para o nosso gráfico, por exemplo, se um nó está a 100ms de Zurique, então qualquer protocolo precisa de pelo menos 100ms para finalizar um bloco nesse nó.
As barras amarelas mostram o atraso incorrido pelo Rotor, a primeira etapa do nosso protocolo.
As barras vermelhas marcam o momento em que um nó recebeu votos de notarização de pelo menos 60% do stake.
Finalmente, as barras azuis mostram o tempo de finalização.
O componente de votação do Alpenglow, Votor, finaliza blocos em um único round de votação recorde se 80% do stake estiver participando, e em dois rounds se apenas 60% do stake estiver respondendo. Esses dois modos de votação são integrados e realizados simultaneamente, de modo que a finalização ocorre assim que o mais rápido dos dois caminhos termina.
Rotor, que é o subprotocolo de disseminação de dados da Alpenglow, adota a abordagem do Turbine e a refina. Assim como o Turbine, o Rotor utiliza a largura de banda dos nós participantes proporcionalmente à sua participação, aliviando o gargalo do líder para alta capacidade de processamento. Como resultado, a largura de banda total disponível é utilizada de forma assintoticamente otimizada. Uma das percepções que informam o design do Rotor é que a velocidade da luz ainda é muito lenta, e o atraso na dispersão da informação é dominado pela latência da rede, em vez de atrasos de transmissão ou computação. O Rotor apresenta uma única camada de nós de retransmissão, em vez da árvore de múltiplas camadas do Turbine. Dessa forma, o Rotor minimiza o número de saltos de rede. Além disso, o Rotor introduz novas técnicas para determinar os nós de retransmissão, resultando em uma maior resiliência.
Alpenglow é construído com pesquisa de ponta, combinando distribuição de dados codificados por apagamento com os mais recentes avanços em consenso. Ele introduz inovações, como seus modos de votação integrados de uma/duas rodadas, resultando em uma latência de finalização sem precedentes. A distinta resiliência "20+20" permite que o protocolo opere efetivamente mesmo em condições de rede adversas, tolerando até 20% de participação adversária e um adicional de 20% de participação não responsiva. Outras contribuições incluem uma estratégia de amostragem de baixa variância.
Escrevemos um white paper abrangente que descreve Alpenglow em detalhes. O white paper apresenta a intuição por trás do Alpenglow e o que queremos alcançar. Também discute o protocolo com definições concisas e pseudo-código. O white paper inclui várias medições e cálculos de simulação para entender como o Alpenglow vai se comportar. E, finalmente, o white paper contém provas de correção.
Compartilhar
Apresentamos orgulhosamente o Alpenglow, o novo protocolo de consenso da Solana. O Alpenglow é um protocolo de consenso desenvolvido para uma blockchain global de alta performance baseada em prova de participação. Acreditamos que o lançamento do Alpenglow será um ponto de virada para a Solana. O Alpenglow não é apenas um novo protocolo de consenso, mas a maior mudança no protocolo central da Solana desde, bem, sempre.
Ao migrar para Alpenglow, dizemos adeus a vários componentes legados do protocolo central, em particular, TowerBFT e Proof-of-History. Em vez disso, introduzimos o Votor, que assume a lógica de votação e finalização de blocos. Além disso, em vez de depender de gossip, Alpenglow adota um primitivo de comunicação direta mais rápido.
Apesar de ser uma grande mudança, Alpenglow se baseia nas maiores forças da Solana. O Turbine desempenhou um papel crucial no sucesso da rede Solana, pois aborda o aspecto importante da disseminação de dados. Em blockchains do passado, o líder muitas vezes era o gargalo do sistema. Em contraste, o Turbine apresenta uma técnica onde cada bloco é codificado por apagamento em muitos pedaços menores que podem ser disseminados rapidamente. Crucialmente, a largura de banda de todos os nós é utilizada nesse processo. O Rotor, que é o protocolo de disseminação de dados do Alpenglow, adota a abordagem do Turbine e a refina.
Com essas mudanças, levaremos a Solana a um nível de desempenho sem precedentes. Com o TowerBFT, a Solana tinha cerca de 12,8 segundos desde a criação do bloco até a finalização do bloco. Para reduzir a latência para o domínio sub-segundo, a Solana introduziu o conceito de "confirmação otimista". O Alpenglow vai quebrar esses limites de latência. Esperamos que o Alpenglow possa alcançar a finalização real em cerca de 150 ms (mediana). Às vezes, a finalização pode ser alcançada tão rapidamente quanto 100 ms, o que é um número incrivelmente baixo para um protocolo de blockchain L1 mundial. (Esses números de latência são baseados em simulações com a distribuição de stakes da mainnet atual, não contando o overhead de computação.)
Uma latência média de 150 ms não significa apenas que a Solana é rápida — significa que a Solana pode competir com a infraestrutura Web2 em termos de responsividade, potencialmente tornando a tecnologia blockchain viável para categorias inteiras de aplicações que exigem desempenho em tempo real.
O gráfico acima mostra a divisão da latência de diferentes partes do Alpenglow com o líder em Zurique, Suíça. Escolhemos Zurique como um exemplo porque foi nossa localização durante o desenvolvimento do Alpenglow. Cada barra mostra os atrasos médios da atual distribuição mundial de nós Solana, classificados pela distância de Zurique. As latências simuladas para alcançar diferentes estágios do protocolo Alpenglow são plotadas em relação à fração da rede que chegou a esse estágio.
As barras verdes mostram a latência da rede. Com a distribuição atual de nós do Solana, cerca de 65% do stake do Solana está dentro de 50ms de latência de rede de Zurique. A longa cauda de stake tem mais de 200ms de latência de rede de Zurique. A latência da rede serve como um limite inferior natural para o nosso gráfico, por exemplo, se um nó está a 100ms de Zurique, então qualquer protocolo precisa de pelo menos 100ms para finalizar um bloco nesse nó.
As barras amarelas mostram o atraso incorrido pelo Rotor, a primeira etapa do nosso protocolo.
As barras vermelhas marcam o momento em que um nó recebeu votos de notarização de pelo menos 60% do stake.
Finalmente, as barras azuis mostram o tempo de finalização.
O componente de votação do Alpenglow, Votor, finaliza blocos em um único round de votação recorde se 80% do stake estiver participando, e em dois rounds se apenas 60% do stake estiver respondendo. Esses dois modos de votação são integrados e realizados simultaneamente, de modo que a finalização ocorre assim que o mais rápido dos dois caminhos termina.
Rotor, que é o subprotocolo de disseminação de dados da Alpenglow, adota a abordagem do Turbine e a refina. Assim como o Turbine, o Rotor utiliza a largura de banda dos nós participantes proporcionalmente à sua participação, aliviando o gargalo do líder para alta capacidade de processamento. Como resultado, a largura de banda total disponível é utilizada de forma assintoticamente otimizada. Uma das percepções que informam o design do Rotor é que a velocidade da luz ainda é muito lenta, e o atraso na dispersão da informação é dominado pela latência da rede, em vez de atrasos de transmissão ou computação. O Rotor apresenta uma única camada de nós de retransmissão, em vez da árvore de múltiplas camadas do Turbine. Dessa forma, o Rotor minimiza o número de saltos de rede. Além disso, o Rotor introduz novas técnicas para determinar os nós de retransmissão, resultando em uma maior resiliência.
Alpenglow é construído com pesquisa de ponta, combinando distribuição de dados codificados por apagamento com os mais recentes avanços em consenso. Ele introduz inovações, como seus modos de votação integrados de uma/duas rodadas, resultando em uma latência de finalização sem precedentes. A distinta resiliência "20+20" permite que o protocolo opere efetivamente mesmo em condições de rede adversas, tolerando até 20% de participação adversária e um adicional de 20% de participação não responsiva. Outras contribuições incluem uma estratégia de amostragem de baixa variância.
Escrevemos um white paper abrangente que descreve Alpenglow em detalhes. O white paper apresenta a intuição por trás do Alpenglow e o que queremos alcançar. Também discute o protocolo com definições concisas e pseudo-código. O white paper inclui várias medições e cálculos de simulação para entender como o Alpenglow vai se comportar. E, finalmente, o white paper contém provas de correção.