Redes Peer-to-Peer (P2P)
Redes ponto a ponto são sistemas distribuídos onde os participantes (pares) compartilham recursos diretamente uns com os outros sem depender de servidores centralizados.
Redes ponto a ponto (P2P) são uma tecnologia fundamental para sistemas descentralizados, onde cada participante (par) age tanto como cliente quanto como servidor. Ao contrário das arquiteturas cliente-servidor, não há ponto central de controle ou falha, tornando as redes P2P resilientes e resistentes à censura.
Os principais componentes incluem: descoberta de pares (encontrar outros nós — DHT, nós de bootstrap, mDNS), roteamento de dados (levar mensagens aos pares corretos), endereçamento de conteúdo (identificar dados por hash em vez de localização) e protocolos de fofoca (propagação eficiente de informações).
Na blockchain, as redes P2P distribuem transações e blocos por todos os nós, permitindo a descentralização. Implementações populares de P2P incluem libp2p (usado por Ethereum, IPFS, Filecoin), devp2p (original do Ethereum) e o protocolo P2P personalizado do Bitcoin. Cada um lida com descoberta de nós, gerenciamento de conexões e roteamento de mensagens.
Os desafios incluem travessia de NAT (alcançar nós atrás de firewalls), ataques de eclipse (isolar nós), ataques Sybil (identidades falsas) e partições de rede. As soluções incluem hole-punching, sistemas de reputação de pares e conexões redundantes.
graph LR
Center["Redes Peer-to-Peer (P2P)"]:::main
Pre_networking["networking"]:::pre --> Center
click Pre_networking "/terms/networking"
Pre_distributed_systems["distributed-systems"]:::pre --> Center
click Pre_distributed_systems "/terms/distributed-systems"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 Explique como se eu tivesse 5 anos
Trocar livros diretamente.
🤓 Expert Deep Dive
Generated expert content