711 / 736ERL

Erlay

Anúncios de transações mais eficientes

Os nós Bitcoin anunciam frequentemente transações que os seus vizinhos já conhecem. O Erlay reduz essa repetição: envia um anúncio rápido a alguns vizinhos e verifica periodicamente o que falta aos restantes.

O Erlay é uma proposta para retransmitir transações não confirmadas na rede P2P do Bitcoin. Combina os anúncios habituais com a comparação de conjuntos de identificadores, chamada set reconciliation. Poupa tráfego sem alterar o consenso nem a obrigação de validar cada transação recebida.

Na retransmissão habitual, os nós ligados trocam mensagens INV com identificadores de transação de 32 bytes. Muitas vezes, o vizinho já conhece a transação. Mais ligações aumentam este tráfego, embora ligações diversificadas ajudem a evitar o isolamento de um nó e a divisão da rede. [1]

O Erlay mantém os anúncios rápidos numa pequena parte das ligações. Nas restantes, dois nós comparam periodicamente os conjuntos de transações que ainda precisam de anunciar. Um resumo matemático compacto, chamado sketch, permite descobrir as diferenças sem transmitir listas completas. O BIP 330 descreve a extensão P2P necessária. [1]

Cada ligação tem o seu próprio conjunto, e cada ronda usa um retrato fixo desse conjunto. Ambas as partes fornecem um salt: um dado auxiliar usado para derivar identificadores curtos de 32 bits a partir dos wtxid. O PinSketch permite comparar os conjuntos desses identificadores. As mensagens sendtxrcncl, reqrecon, sketch, reqsketchext e reconcildiff negociam o suporte, trocam resumos e identificam os anúncios em falta. [1]

Depois de encontrar as diferenças, o nó continua a pedir a transação completa e a validá-la segundo as suas regras. O salt dificulta a preparação antecipada de colisões dos identificadores curtos; não é uma palavra-passe nem cifra a transação. Se o resumo for insuficiente, pode pedir-se uma extensão. Se a comparação falhar, o protocolo volta aos anúncios habituais. A implementação deve limitar o cálculo e a memória para que outro nó não os esgote facilmente. [1]

Na verificação de outubro de 2026, o BIP 330 tinha o estado Draft e descrevia um procedimento revisto face ao estudo original. A discussão nº 34542 do Bitcoin Core reavaliava a poupança de tráfego, a latência e a complexidade do código. Isso não demonstra que uma versão específica do Bitcoin Core use Erlay. É preciso verificar as notas dessa versão, a implementação e o suporte negociado entre os dois nós. [4]

Nas suas condições experimentais, o estudo de 2019 indica aproximadamente 40 % menos tráfego total e 84 % menos tráfego de anúncios de transações. São resultados de simulações e de um protótipo, não uma promessa para todas as redes atuais. Esperar pela ronda seguinte pode aumentar a latência; um nó que recebe transações mas não as retransmite pode atrasá-las ainda mais. A poupança e a rapidez devem ser medidas em conjunto. [2]

O Erlay reduz os anúncios repetidos de transações não confirmadas. Compact Blocks reduz os dados necessários para reconstruir um novo bloco a partir de transações que o nó já conhece em grande parte. Os mecanismos complementam-se, mas nenhum esconde, por si só, a identidade do nó na rede. Cada um precisa de procedimentos para falhas e de proteção contra o esgotamento de recursos. [3]

Comece pela versão do BIP 330 e pelo código que o nó realmente executa. Verifique a negociação do suporte, a derivação dos identificadores curtos e o salt, os intervalos entre rondas, os limites dos resumos e o comportamento de reqsketchext. Verifique também o regresso aos anúncios habituais e a validação posterior da transação completa. O nome Erlay não prova, por si só, a poupança ou a latência obtidas. [1]

Para ter uma visão mais completa, leia este verbete junto com Mempool, Bitcoin Core, Compact Blocks, Full Node, Sybil Attack, Eclipse Attack. Também há referências a este verbete em Block Propagation.

01O BIP 330 significa que o meu Bitcoin Core já usa Erlay?

Não. A especificação, por si só, não o garante. Verifique a versão concreta, a implementação e se ambos os nós negociaram o suporte. Código experimental ou um estudo não são o mesmo que uma função ativada no seu nó.

02O Erlay substitui a validação de transações?

Não. Ajuda a descobrir os anúncios que faltam à outra parte. O nó continua a pedir a transação completa e aplica as suas próprias regras para decidir se a aceita no mempool e a retransmite.

DOC · 001BIP 330 — Transaction Announcements ReconciliationEspecificação DOC · 002Erlay — Bandwidth-Efficient Transaction Relay for BitcoinDocumentação DOC · 003ACM CCS 2019 — Erlay: Efficient Transaction Relay for BitcoinDocumentação DOC · 004Bitcoin Core issue 34542 — Erlay Conceptual DiscussionFonte primária
Revisto em: Fontes em primeiro lugar · Não é recomendação de investimento