Divulgação de propagação de bloco prejudicada devido a peers paralisados

MEDIA TEAM

Antes do Bitcoin Core v25.1, um invasor pode fazer com que um nó não baixe o bloco mais recente.

Esta questão é considerada Médio gravidade.

Detalhes

Ao receber um anúncio de novo bloco por meio de uma mensagem de cabeçalhos ou blocos compactos, o nó receptor solicita ao peer entregador o bloco completo ou os detalhes da transação ausentes. Se o ponto anunciador não responder conforme exigido pelo protocolo ponto a ponto, o nó Bitcoin Core afetado aguardará até 10 minutos antes de desconectar o ponto e fazer outra tentativa de download do bloco. Se o invasor conseguir fazer múltiplas conexões de entrada ou saída, esse processo poderá ser repetido.

Atrasar a entrega de blocos pode causar degradação da rede, retardando a convergência da rede, tornando os pagamentos de mineração menos justos e causando problemas de vivacidade.

Esta questão foi ainda agravada por outras questões divulgadas recentemente (por exemplo, a acumulação de inventário), quando os mempools eram relativamente heterogéneos, não permitindo a reconstrução oportunista de blocos compactos por pares honestos.

Uma mitigação foi introduzida em #27626introduzido no Bitcoin Core v26.0 e portado para v25.1. Ele garante que os blocos possam ser solicitados simultaneamente de até 3 pares de blocos compactos de alta largura de banda, um dos quais deve ser uma conexão de saída.

Atribuição

Relatado e corrigido por Greg Sanders.

Linha do tempo

  • 08/05/2023 – Usuários relatando tempos limite de bloqueio no Canal IRC #bitcoin-core-dev
  • 09/05/2023 – Primeiros problemas do github descrevendo o problema https://github.com/bitcoin/bitcoin/issues/25258#issuecomment -1540028533
  • 11/05/2023 – PR de mitigação aberto https://github.com/bitcoin/bitcoin/pull/27626
  • 24/05/2023 – PR fundido antes do Bitcoin Core v26.0
  • 25/05/2023 – Backport para Bitcoin Core v25.1 mesclado https://github.com/bitcoin/bitcoin/pull/27752
  • 19/10/2023 – Lançado Bitcoin Core v25.1
  • 05-11-2024 – Divulgação pública
Leave a comment

Leave a Reply

Your email address will not be published. Required fields are marked *