O que é Compact Blocks?
Compact Blocks é uma forma de nós Bitcoin partilharem novos blocos usando muito menos bytes, sem perder qualquer informação. Em vez de enviar cada transação completa, os nós trocam um pequeno resumo para que os pares possam reconstruir o bloco a partir do que já têm. Pense nisso como enviar o nome de uma playlist por mensagem a um amigo que já baixou as músicas.
“Compact Blocks alteram o tamanho dos blocos.” Não. O bloco na cadeia permanece igual. Isto trata apenas de como os pares o sincronizam mais rapidamente e com menos dados pela rede.
Como os Compact Blocks funcionam
Imagine que um minerador encontra um bloco válido e o seu nó o quer de imediato. Em vez de enviar o bloco inteiro, um par envia um pequeno conjunto de dados para que o seu nó o reconstrua localmente.
- Passo 1: Um nó anuncia um novo bloco enviando os seus cabeçalhos de bloco e algumas pistas.
- Passo 2: Junto ao cabeçalho, inclui IDs curtos para transações que pensa que já tem no seu mempool.
- Passo 3: O seu nó compara esses IDs curtos com as entradas do mempool e reconstrói a maior parte do bloco localmente.
- Passo 4: Se faltar algo, o seu nó pede apenas as transações específicas em falta.
- Passo 5: Valida o bloco reconstruído e segue com as suas tarefas, idealmente algumas centenas de milissegundos mais rápido.
Mensagens pequenas, sincronização rápida, mesma segurança. Sim, essa é a ideia.
Por que os Compact Blocks importam
Porque tempo e largura de banda valem dinheiro, e os nós valorizam ambos.
- Vantagem: Menos dados enviados por bloco significa uso reduzido da largura de banda e propagação mais rápida pela rede.
- Perspetiva: Uma propagação mais rápida reduz a probabilidade de blocos obsoletos e melhora a escalabilidade de forma prática.
- Relevância: Se executar um nó em casa ou na cloud, isto explica por que a sincronização se mantém estável mesmo durante picos de tráfego intenso.
Se executar um nó Bitcoin, mantenha o seu mempool alimentado e os seus pares em boa forma. Quanto maior a sobreposição, melhor o desempenho dos Compact Blocks.
Principais Características dos Compact Blocks
Destaque os traços centrais que tornam este conceito único. Mantenha-os diretos e fáceis de ler:
- Leve: Envia identificadores em vez de transações completas quando possível.
- Rápido: Mensagens mais curtas fazem os blocos propagarem mais depressa entre nós.
- Seletivo: Apenas as transações em falta são obtidas, não o bloco completo outra vez.
- Compatível: Funciona com a validação normal de blocos e a lógica do mempool.
Variações
Protocolos diferentes seguem objetivos semelhantes, cada um com a sua abordagem.
- Compact: Padrão no Bitcoin via BIP 152, prático e amplamente implementado.
- Graphene: Ideia de investigação com reconciliação de conjuntos e codificação mais eficiente.
- Xthin: Abordagem anterior usada por algumas forks, centrada na transmissão de blocos mais reduzidos.
- Erlay: Proposta para reduzir a sobrecarga na retransmissão de transações, complementa bem os conceitos de Compact Blocks.
Os Compact Blocks mudam a forma como os dados são partilhados entre pares, não a forma como os blocos são construídos ou verificados. As verificações de segurança mantêm-se iguais.
Exemplo
Um minerador encontra um novo bloco, o seu nó recebe o cabeçalho e os IDs curtos, preenche a maior parte com o mempool, obtém duas transações em falta e depois valida e retransmite o bloco.
Curiosidade
Os Compact Blocks chegaram ao Bitcoin como BIP 152 e foram implementados em 2016, o que reduziu significativamente o uso de largura de banda durante picos intensos no mempool.
Resumo
Se quiser uma frase de resumo, aqui está. Compact Blocks mantêm os blocos autênticos enquanto fazem o download parecer um atalho.
