Skip to main content
Um nó que se junta à rede tem de responder a duas perguntas: como chegar ao ponto onde a cadeia está agora e como manter-se aí. A sincronização de estado responde às duas, e o compromisso entre elas é explícito, não escondido.

Duas formas de recuperar o atraso

O arranque inicial (bootstrapping) — chegar à versão atual a partir do nada — pode ser feito de duas maneiras fundamentalmente diferentes. Reexecutar o histórico. Começar na génese e avançar, executando de novo todas as transações ou aplicando os resultados que a execução já produziu. O resultado é um nó que detém o histórico inteiro: todas as versões, todas as provas, todas as transações. É também lento, e fica mais lento a cada dia que a cadeia corre. Descarregar o estado atual. Saltar o histórico e obter as chaves e os valores de estado tal como estão na versão mais recente, verificados contra a raiz confirmada. O nó fica atualizado numa fração do tempo e não sabe nada sobre como a cadeia lá chegou.
Um nó novo
Modo de arranque
Reexecutar o históricoreexecutar ou aplicar os resultados, desde a géneselento, e mais lento a cada dia que passa
Descarregar o estado atualchaves e valores na versão mais recente, verificados contra a raiz confirmadaatualizado numa fração do tempo
Versão atualsincronização contínua
Os caminhos não são equivalentesUm nó que descarregou o estado atual não serve consultas históricas nem sabe como uma posição chegou onde está. Um nó que alimenta um indexador ou uma auditoria precisa do histórico que saltou.
Dentro do caminho da reexecução há ainda outra escolha — reexecutar as transações, aplicar os resultados guardados, ou deixar o nó escolher o que for mais rápido em cada momento. Reexecutar é a verificação mais forte, já que reproduz o resultado em vez de confiar num resultado registado; aplicar os resultados é mais rápido. O modo misto existe porque a resposta certa muda consoante o atraso do nó.
Esta é uma decisão operacional, não um valor por omissão a aceitar sem pensar. Um nó que descarregou o estado atual não consegue servir consultas históricas nem responder a perguntas sobre como uma posição chegou onde está — não tem histórico para ler. Um nó que sirva um indexador ou um processo de auditoria precisa do histórico que saltou.

Manter-se atualizado

Uma vez na versão atual, um nó acompanha a cadeia consumindo os blocos confirmados à medida que chegam — de novo executando as transações ou aplicando os resultados, com o mesmo compromisso entre força de verificação e velocidade. A diferença face ao arranque inicial é que a distância é pequena e constante, em vez de grande e a diminuir. Um nó que fique suficientemente atrasado volta a entrar no caminho do arranque inicial, em vez de tentar fechar uma distância arbitrária de forma incremental.

Como os dados circulam

A sincronização não é um nó a pedir a outro um intervalo de blocos. Separa-se em camadas, para que nenhum par isolado seja uma dependência e nenhuma falha isolada trave o progresso. A consequência que vale a pena perceber: um nó em sincronização não está a confiar num par. Cada segmento chega com uma prova contra uma raiz que a rede confirmou, e um par que sirva algo inconsistente é rejeitado em vez de merecer crédito. A seleção de pares é uma decisão de desempenho, não uma decisão de confiança.

Verificação

Nada na sincronização de estado é aceite apenas por crédito de quem o enviou. Os valores de estado são verificados contra a raiz do estado confirmada. As transações e os resultados são verificados contra os acumuladores. Um nó que termina o arranque inicial tem um estado cuja raiz corresponde ao que um quórum de validadores assinou — e é isto que torna seguro o caminho rápido: descarregar o estado atual salta o histórico, mas não salta a verificação.

Para onde ir a seguir

Armazenamento e provas

As estruturas que tornam a sincronização verificável.

Operar um nó

Os papéis de nó e como pedir informações sobre a operação de um nó.

Topologia da rede

Com que nível de nó está a falar um par em sincronização.

Indexador

O que o histórico responde e o estado atual não consegue.