Visão geral
A rede ponto a ponto do Bitcoin é a espinha dorsal de comunicação que conecta nós ao redor do mundo sem depender de nenhum servidor central ou coordenador. Cada nó na rede é tanto cliente quanto servidor, capaz de solicitar dados de seus pares e servir dados a outros. Essa arquitetura é fundamental para a resistência à censura e a resiliência do Bitcoin.
Como a rede P2P funciona
Quando um nó Bitcoin é iniciado, ele se conecta a um conjunto de pares descobertos por meio de sementes DNS ou endereços predefinidos. Uma vez conectados, os nós trocam informações sobre outros pares, construindo uma topologia em malha.
Cliente-Servidor tradicional: Rede P2P do Bitcoin:
┌────────┐ ┌──┐ ┌──┐
│Servidor│ │N1│───│N2│
└───┬────┘ └┬─┘ └─┬┘
┌────┼────┐ │ ╲ ╱ │
│ │ │ ┌┴─┐ ╲╱ ┌─┴┐
[C1] [C2] [C3] │N3│──X──│N4│
└┬─┘ ╱╲ └─┬┘
Ponto único de falha │ ╱ ╲ │
┌┴─┐ ┌─┴┐
│N5│───│N6│
└──┘ └──┘
Sem ponto único de falha
Mensagens P2P principais
Os nós se comunicam usando um conjunto definido de mensagens:
version/verack— Handshake para estabelecer uma conexãoinv— Anunciar novas transações ou blocosgetdata— Solicitar transações ou blocos específicostx/block— Entregar dados de transações ou blocosaddr— Compartilhar endereços de pares conhecidos
Propagação de transações e blocos
Quando um usuário transmite uma transação, seu nó a envia para os pares conectados, que a validam e a retransmitem. Este protocolo de fofoca garante que as transações cheguem aos mineradores e que novos blocos se propaguem rapidamente pela rede, geralmente alcançando a maioria dos nós em segundos.
Considerações de privacidade
Como as conexões P2P revelam o endereço IP de cada nó, usuários conscientes da privacidade frequentemente executam seus nós por meio do Tor ou I2P. O Bitcoin Core tem suporte integrado ao Tor, permitindo que os nós participem da rede sem expor sua localização física.