This course isn't available in English yet, so you're reading the Portugues (BR) original.
Ouvir este episódio no Spotify
Objetivo: Identificar e resumir os princípios arquitetônicos centrais e suas implicações para incluir na visão técnica do relatório.
Por que agora: Após a síntese histórica, extraímos temas arquitetônicos para a visão técnica do relatório.
Conceitos: Arquitetura da Solana; princípios de design arquitetônico; funções e responsabilidades dos componentes; implicações para usabilidade e desempenho; mapeamento da arquitetura para decisões históricas; limitações e compromissos
Tempo de leitura: 35 min
Você está identificando os princípios arquitetônicos centrais da Solana e traduzindo-os em resumos fundamentados por evidências para a visão técnica do relatório do projeto final. Você já definiu o escopo e o método para este capstone, coletou fontes primárias e secundárias e produziu uma síntese histórica do desenvolvimento da Solana; esta lição converte esse trabalho histórico em uma análise focada na arquitetura que você pode citar e incluir no relatório.
Concretamente, de "Enquadrando o Projeto Final: Escopo e Método para a História da Solana" você trouxe a estrutura do capstone, a planilha de coleta de evidências e o modelo de relatório que define a seção de visão técnica. De "Sintetizando a História da Solana" você trouxe a linha do tempo histórica, as anotações de marcos, a matriz de avaliação de evidências e o rascunho narrativo que liga decisões de marco a mudanças arquitetônicas. Esses artefatos — o documento de escopo, a matriz de evidências, a linha do tempo e o rascunho histórico — são seus materiais iniciais aqui.
Nesta lição, orientamos você a extrair temas em nível de arquitetura (princípios de design, responsabilidades de componentes e trade-offs do sistema) a partir desse material histórico, mapeando componentes para decisões observadas e citando evidências. Você praticará converter alegações em estilo historiador ("a latência de rede moldou o design dos validators") em declarações arquiteturais ("Gulf Stream move o encaminhamento de transações para os validators para minimizar a latência do mempool, permitindo maior throughput sob certas suposições de rede") que podem ser inseridas diretamente na visão técnica do relatório do capstone.
O objetivo deste passo do módulo não é reescrever especificações de protocolo de baixo nível de memória, mas produzir afirmações arquiteturais concisas e vinculadas a evidências que você possa colar no rascunho do relatório: declarações claras do que cada componente principal faz, por que foi introduzido historicamente e quais são as implicações práticas e os trade-offs. Também estabelecemos um fluxo de trabalho repetível que você usará para adicionar citações e evidência em nível de código na próxima lição, ao redigir e polir o relatório final.
Ao final desta lição você será capaz de:
Esses objetivos são acionáveis: você deve sair com parágrafos adequados para inserção no relatório e um método reproduzível para transformar alegações históricas em declarações arquitetônicas com evidência.
A arquitetura da Solana se organiza em torno de um pequeno conjunto de componentes interligados e alguns princípios de design. Em alto nível, a arquitetura foca em maximizar o throughput por nó individual e o paralelismo entre nós ao deslocar trabalho para etapas anteriores no ciclo de vida da transação, introduzir uma fonte de tempo verificável e permitir execução concorrente de programas. Os componentes mais consequentes para entender no relatório são: Proof of History (PoH), o líder/escalação de líderes, Tower BFT, Turbine, Gulf Stream, Sealevel, Pipelining/Stages, Cloudbreak e Archivers. Cada um desempenha um papel específico que corresponde a um princípio arquitetônico.
Mecanicamente, as escolhas de design do sistema se agrupam em três princípios: (1) sequenciamento determinístico e carimbo temporal para reduzir overhead de coordenação (PoH), (2) pipelining agressivo e fragmentação de responsabilidades para manter CPU e recursos de rede saturados (Turbine, Pipelining, Cloudbreak) e (3) execução paralela otimista com verificações em tempo de runtime para recuperar de conflitos (Sealevel). Esses princípios são úteis como títulos na visão técnica do seu relatório porque permitem agrupar componentes pelo problema que resolvem, em vez de por detalhes de implementação.
Use a tabela a seguir no relatório para resumir responsabilidades dos componentes e implicações imediatas; ela ajuda os leitores a escanear a arquitetura rapidamente e conecta cada componente a uma implicação acionável que você pode citar a partir da sua linha do tempo histórica.
| Componente | Responsabilidade Primária | Implicação para Desempenho ou Usabilidade |
|---|---|---|
| Proof of History (PoH) | Fornece um fluxo criptográfico de ordenação temporal para timestamp de eventos sem consenso global adicional. | Reduz a latência de coordenação e permite que líderes sequenciem transações localmente, melhorando o throughput. |
| Leader / Leader Schedule | Designa qual validator propõe o próximo bloco/fluxo de entradas. | Evita propostas conflitantes; um proponente centralizado de curto prazo reduz os custos de negociação entre nós. |
| Tower BFT | Implementa decisões de consenso finalizadas usando PoH como relógio. | Aproveita o PoH para semântica de lock-in; troca alguma latência entre validators por finalidade mais rápida sob certa conectividade. |
| Turbine | Divide a propagação de blocos em pedaços e usa uma árvore de fanout para reduzir gargalos de largura de banda. | Melhora a velocidade de propagação em escala, mas assume perda de pacotes razoavelmente baixa e redes modernas. |
| Gulf Stream | Encaminha transações para validators antecipadamente para reduzir o tamanho do mempool e a latência. | Permite alto throughput ao reduzir o trabalho do líder; aumenta a dependência de comportamento de rede previsível. |
| Sealevel | Runtime paralelo que executa transações não sobrepostas de forma concorrente. | Permite alta concorrência para transações que acessam contas disjuntas; exige verificações cuidadosas em tempo de execução para conflitos. |
Ao redigir a visão técnica, sempre emparelhe a descrição de cada componente com duas frases curtas: uma descrevendo o que ele faz (mecanismo) e outra descrevendo por que essa escolha de design importa (implicação). Por exemplo, para PoH escreva: "PoH codifica uma sequência verificável de hashes para fornecer um tempo lógico global. Essa escolha reduz o overhead de coordenação ao permitir que líderes sequenciem transações localmente, possibilitando maior throughput por nó." Esse padrão mantém o relatório focado e vincula diretamente a descrição arquitetural à intenção histórica do design e aos resultados observáveis.
Finalmente, evite tratar os componentes como isolados; enfatize a composição: PoH permite que Tower BFT referencie o tempo sem mensagens adicionais, enquanto Turbine e Gulf Stream juntos otimizam propagação de blocos e distribuição de transações. Esses comportamentos conjuntos são frequentemente onde aparecem trade-offs, e eles formam subseções úteis na visão técnica.

Para tornar a arquitetura significativa no relatório, você precisa de mapeamentos concretos de eventos históricos para ênfases arquitetônicas. Comece selecionando três marcos da sua linha do tempo onde uma decisão de engenharia ou declaração pública influenciou a arquitetura — por exemplo: a introdução do PoH em notas de design iniciais, um lançamento específico que melhorou o Turbine ou a propagação de pacotes, e um voto ou RFC que alterou o agendamento de líderes ou a lógica de encaminhamento de transações. Para cada marco, produza uma afirmação curta que vincule o evento a uma mudança de componente e depois anexe a evidência primária (commit, post no blog ou RFC) da sua matriz de evidências.
Aqui está um fluxo de trabalho repetível que você usará para criar esses mapeamentos e parágrafos para o relatório. Siga estes passos na ordem e mantenha seus links de evidência prontos.
Como exemplo concreto: considere a introdução do PoH. Sua frase de mecanismo poderia ser: "Proof of History foi introduzido como uma sequência verificável de hashes que timestamps eventos, permitindo que validators consumam a sequência local de um líder sem coordenação extra." A frase de implicação poderia ser: "Isso reduziu o tráfego de consenso entre nós e permitiu que líderes otimizassem a construção de blocos para throughput, mas aumentou a dependência do sistema em um modelo de sequenciamento dirigido pelo líder." Em seguida, anexe sua entrada da linha do tempo e o excerto do whitepaper como evidência, e opcionalmente inclua uma pequena sondagem de código que mostre parâmetros de época dirigidos por PoH ou rotação de líderes para indicar que o conceito está ativo no cluster.
Use esse fluxo de trabalho para gerar três mapeamentos; quando montados, esses mapeamentos tornam-se a espinha dorsal da seção de visão técnica do seu relatório. Cada mapeamento é curto, factual e vinculado a evidências para que o leitor veja não apenas o que a arquitetura faz, mas quando e por que essa escolha foi feita historicamente.

Sondas pequenas e reprodutíveis são evidências úteis para o relatório: elas mostram o estado atual do cluster e podem validar alegações sobre rotação de líderes, duração de época ou configurações de throughput de transações. Abaixo está um exemplo compacto em TypeScript usando @solana/web3.js que busca informações de época e o cronograma de líderes. Execute isto contra o cluster que você citou na sua linha do tempo (testnet ou mainnet conforme apropriado) e cole o JSON de saída no apêndice de evidências.
import { Connection, clusterApiUrl } from '@solana/web3.js';
async function probeCluster() {
const url = clusterApiUrl('mainnet-beta');
const conn = new Connection(url, 'confirmed');
const epochInfo = await conn.getEpochInfo();
console.log('epochInfo:', epochInfo);
const leaderSchedule = await conn.getLeaderSchedule();
console.log('leaderSchedule:', leaderSchedule);
}
probeCluster().catch(console.error);
Explicação linha a linha e como usar a saída:
Imports e conexão: import { Connection, clusterApiUrl } puxa as utilidades do cliente. clusterApiUrl('mainnet-beta') retorna um endpoint RPC canônico; se sua linha do tempo referencia testnet ou devnet, substitua essa string. new Connection(url, 'confirmed') constrói um cliente com o nível de compromisso desejado — o commitment afeta qual snapshot de estado você recebe.
Obtendo informações de época: getEpochInfo() retorna uma estrutura descrevendo a época atual, o índice do slot e slots por época. No relatório você pode citar epochInfo.slotsInEpoch e epochInfo.slotIndex ao discutir a cadência de rotação de líderes e com que frequência o cronograma de líderes muda.
Obtendo o cronograma de líderes: getLeaderSchedule() retorna um mapeamento de identidades de validators para os slots aos quais estão atribuídos como líderes. Use essa saída como evidência concreta quando afirmar "líderes rotacionam a cada N slots" ou quando quiser mostrar a distribuição de liderança entre identidades de validators. Cole o trecho JSON (redigindo chaves se necessário) no apêndice e faça referência no texto: "Cronograma de líderes atual (snapshot tirado em YYYY-MM-DD) mostra X slots por líder."
Como integrar ao relatório: Salve o JSON impresso e inclua uma legenda de uma linha que explique por que a sondagem importa: por exemplo, "Snapshot do cronograma de líderes demonstra a frequência da rotação de líderes e sustenta a alegação de que o sequenciamento dirigido por líderes é uma escolha de design prática em implantações atuais." Mantenha sondagens pequenas e datadas — elas são evidência pontual que complementa sua linha do tempo histórica, não a substitui.
Nota: este trecho é projetado apenas para coleta de evidências. Não inclua chaves de carteira, assinaturas ou envio de transações nessas sondagens; o objetivo é validação somente leitura dos parâmetros atuais do cluster.

Agora você tem um método prático para converter marcos históricos em declarações arquitetônicas: identifique um marco, mapeie-o para componentes afetados, escreva uma frase concisa do mecanismo e uma frase de implicação, e anexe evidência primária. Esse padrão converte afirmações narrativas em parágrafos técnicos prontos para citação que tornarão a seção de arquitetura do capstone tanto autoritativa quanto rastreável.
Três princípios para lembrar ao finalizar a seção de arquitetura: (1) descreva primeiro o mecanismo, depois a implicação — isso mantém as explicações objetivas; (2) agrupe componentes sob princípios de design compartilhados (por exemplo, pipelining ou paralelismo otimista) em vez de enumerar recursos isolados; e (3) acompanhe cada afirmação com uma pequena peça de evidência — ou uma fonte primária da sua linha do tempo ou uma sondagem RPC pontual — para que os leitores possam verificar a alegação sem conhecimento profundo do protocolo.
Esses pontos-chave posicionam você para montar rapidamente a visão técnica do relatório: use a tabela de componentes e os três parágrafos mapeados de marcos como o núcleo dessa seção, depois complemente com uma ou duas sondagens de código (como o exemplo RPC desta lição) para fundamentar as alegações no estado atual do cluster. Essa preparação conduz diretamente à próxima lição, onde costuraremos o conteúdo de história e arquitetura em seções de rascunho do relatório e aplicaremos polimento editorial para produzir o produto final do capstone.
Prepare-se para a próxima lição, "Relatório Final: Redação e Polimento do Relatório Abrangente da Solana", selecionando três mapeamentos de marco→arquitetura que você irá expandir em parágrafos de rascunho. Para cada mapeamento, anexe a fonte primária da sua matriz de evidências e, opcionalmente, o snapshot JSON RPC produzido usando a sondagem de código desta lição. Traga esses artefatos para a próxima lição para que possamos integrá-los diretamente na visão técnica do relatório e aplicar polimento editorial e formatação de citações.
Uma sequência criptográfica verificável de hashes que codifica informação de ordenação e fornece uma fonte de tempo local e reproduzível para sequenciar eventos sem mensagens adicionais de consenso.
Uma estratégia de propagação de blocos que particiona dados em pedaços e usa uma árvore de fanout para distribuir esses pedaços de forma eficiente, reduzindo a pressão de largura de banda por nó durante a propagação.
Um mecanismo de encaminhamento de transações que empurra transações para validators antecipadamente para reduzir contenção no mempool e permitir que validators pré-processassem e priorizem transações recebidas.
Um runtime paralelo que executa transações concorrentemente quando operam sobre conjuntos disjuntos de contas, possibilitando alta concorrência ao depender de detecção de conflitos em tempo de execução.
O mapeamento de validators para intervalos de slots que designa qual validator é responsável por propor entradas durante slots específicos, determinando a autoridade de sequenciamento de curto prazo.
Um mecanismo de consenso que se baseia em ideias clássicas de BFT, mas aproveita Proof of History como relógio para registrar votos e alcançar finalidade com mensagens de coordenação reduzidas.
Question 1 of 3