Guia sobre Redes Peer-to-Peer
P√°gina Inicial
Artigos
Guia sobre Redes Peer-to-Peer

Guia sobre Redes Peer-to-Peer

Intermedi√°rio
Publicado em Sep 30, 2019Atualizado em Nov 16, 2022
7m

O que é Peer-to-Peer (P2P)?

Na ci√™ncia da computa√ß√£o, uma rede peer-to-peer (P2P) consiste em um grupo de dispositivos que armazenam e compartilham arquivos colectivamente. Cada participante (n√≥) atua como um par individual. Normalmente, todos os n√≥s t√™m poder igual e desempenham as mesmas fun√ß√Ķes.

Na tecnologia financeira, o termo peer-to-peer geralmente se refere ao interc√Ęmbio de criptomoedas ou ativos digitais atrav√©s de uma rede distribu√≠da. Uma plataforma P2P permite que compradores e vendedores executem trades sem a necessidade de intermedi√°rios. Em alguns casos, sites tamb√©m podem fornecer um ambiente P2P que conecta usu√°rios para realiza√ß√£o de empr√©stimos.

A arquitetura P2P pode ser adequada para v√°rios casos de uso, mas se tornou especialmente popular nos anos 90, quando foram criados os primeiros programas de compartilhamento de arquivos. Hoje, as redes P2P servem de base para a maioria das criptomoedas, constituindo grande parte da ind√ļstria blockchain. No entanto, essa tecnologia tamb√©m √© aproveitada em outros aplicativos de computa√ß√£o distribu√≠da, incluindo mecanismos de pesquisa da web, plataformas de streaming, mercados online e o protocolo de web InterPlanetary File System (IPFS).


Como funciona um sistema P2P?

Essencialmente, um sistema P2P √© mantido por uma rede distribu√≠da de usu√°rios. Geralmente, o sistema n√£o tem um administrador ou servidor central pois cada n√≥ mant√©m uma c√≥pia dos arquivos - agindo tanto como cliente quanto servidor para outros n√≥s. Sendo assim, cada n√≥ pode baixar arquivos de outros n√≥s ou fazer upload de arquivos para eles. √Č isso que diferencia as redes P2P dos sistemas cliente-servidor tradicionais, nos quais os dispositivos clientes baixam arquivos de um servidor central.

Nas redes P2P, os dispositivos conectados compartilham arquivos armazenados em seus discos rígidos. Usando softwares projetados para mediar o compartilhamento de dados, os usuários podem consultar outros dispositivos na rede para encontrar e baixar arquivos. Depois que um usuário faz o download de determinado arquivo, ele pode atuar como mais uma fonte desse arquivo.

Em outras palavras, quando um n√≥ atua como um cliente, ele baixa arquivos de outros n√≥s da rede. Mas quando ele est√° funcionando como servidor, ele √© uma fonte da qual outros n√≥s podem baixar arquivos. Na pr√°tica, entretanto, ambas as fun√ß√Ķes podem ser executadas ao mesmo tempo (por exemplo, baixar o arquivo A e fazer upload do arquivo B).

Como todo n√≥ armazena, transmite e recebe arquivos, as redes P2P tendem a ser mais r√°pidas e eficientes √† medida que a quantidade de usu√°rios aumenta. Al√©m disso, sua arquitetura distribu√≠da torna os sistemas P2P muito resistentes a ataques. Diferentemente dos modelos tradicionais, as redes P2P n√£o t√™m um ponto √ļnico de falha.

Podemos classificar os sistemas peer-to-peer de acordo com sua arquitetura. Os três principais tipos são redes P2P não estruturadas, estruturadas e híbridas.


Redes P2P n√£o estruturadas

As redes P2P não estruturadas não apresentam nenhuma organização específica dos nós. Os participantes se comunicam aleatoriamente entre si. Esses sistemas são considerados robustos devido à alta taxa de rotatividade (ou seja, muitos nós entram e saem da rede com frequência).

Embora seja mais f√°cil de construir, redes P2P n√£o estruturadas podem exigir maior uso de CPU e mem√≥ria, pois as consultas de pesquisa s√£o enviadas para o maior n√ļmero poss√≠vel de pares. Isso tende a inundar a rede com consultas, especialmente se apenas um pequeno n√ļmero de n√≥s fornecer o conte√ļdo desejado.


Redes P2P estruturadas

Por outro lado, as redes P2P estruturadas apresentam uma arquitetura organizada, permitindo que os n√≥s pesquisem arquivos com efici√™ncia, mesmo que n√£o seja um conte√ļdo amplamente dispon√≠vel. Na maioria dos casos, isso √© feito atrav√©s do uso de fun√ß√Ķes de hash que facilitam pesquisas em banco de dados.

Embora as redes estruturadas possam ser mais eficientes, elas tendem a apresentar maiores níveis de centralização e geralmente requerem custos mais altos de configuração e manutenção. Além disso, as redes estruturadas são menos robustas em sistemas com altas taxas de rotatividade.


Redes P2P híbridas

As redes P2P h√≠bridas combinam o modelo cliente-servidor convencional com alguns aspectos da arquitetura peer-to-peer. √Č poss√≠vel, por exemplo, criar um servidor central que facilite a conex√£o entre pares.

Quando comparados aos outros dois tipos, os modelos híbridos tendem a apresentar um melhor desempenho geral. Eles geralmente combinam algumas das principais vantagens de cada abordagem, alcançando simultaneamente, graus significativos de eficiência e descentralização.


Distribuído vs. descentralizado

Embora a arquitetura P2P seja distribuída, é importante observar que existem vários graus de descentralização. Portanto, nem todas as redes P2P são descentralizadas. 

Na verdade, muitos sistemas contam com uma autoridade central para orientar a atividade da rede, o que os torna, de certa forma, centralizados. Por exemplo, alguns sistemas de compartilhamento de arquivos P2P permitem que usu√°rios pesquisem e baixem arquivos de outros usu√°rios, mas eles n√£o podem participar de outros processos, como gerenciar consultas de pesquisa.

Além disso, pode-se dizer que pequenas redes controladas por uma quantidade menor de usuários com objetivos compartilhados, possuem maior grau de centralização, mesmo com a falta de uma infraestrutura de rede centralizada.


O papel da rede P2P em blockchains

Nos est√°gios iniciais da Bitcoin, Satoshi Nakamoto a definiu como ‚Äúum sistema Peer-to-Peer de dinheiro eletr√īnico‚ÄĚ. A Bitcoin foi criada como uma forma digital de dinheiro. Ela pode ser transferida de um usu√°rio para outro atrav√©s de uma rede P2P, que gerencia um ledger distribu√≠do chamado blockchain.
Nesse contexto, a arquitetura P2P inerente à tecnologia blockchain é o que permite que a Bitcoin e outras criptomoedas sejam transferidas em todo o mundo, sem a necessidade de intermediários nem de um servidor central. Além disso, qualquer usuário pode estabelecer um nó da Bitcoin participando do processo de verificação e validação de blocos.

Portanto, n√£o h√° bancos processando ou registrando transa√ß√Ķes na rede Bitcoin. Em vez disso, a blockchain atua como um ledger digital que registra publicamente todas as atividades. Basicamente, cada n√≥ mant√©m uma c√≥pia da blockchain e a compara com outros n√≥s para garantir que os dados sejam v√°lidos. A rede rejeita rapidamente qualquer atividade maliciosa ou inconsist√™ncia de dados.

No contexto das blockchains de criptomoedas, os n√≥s podem assumir v√°rias fun√ß√Ķes diferentes. Os "full nodes", por exemplo, s√£o os que fornecem seguran√ßa √† rede, verificando as transa√ß√Ķes com base nas regras de consenso do sistema.
Cada nó completo (full node) mantém uma cópia completa e atualizada da blockchain - permitindo que eles participem do trabalho coletivo de verificação do verdadeiro estado do ledger distribuído. Vale ressaltar, no entanto, que nem todos os full nodes de validação são mineradores.


Vantagens

A arquitetura peer-to-peer de blockchains oferece muitos benef√≠cios. Dentre os mais importantes, est√° o fato de as redes P2P oferecerem mais seguran√ßa do que a arquitetura tradicional de cliente-servidor. A distribui√ß√£o de blockchains em um grande n√ļmero de n√≥s, os torna praticamente imunes a ataques Denial-of-Service (DoS) que prejudicam muitos sistemas.
Da mesma forma, como a maioria dos nós deve estabelecer um consenso antes que os dados sejam adicionados à blockchain, é quase impossível que um invasor altere os dados. A alteração de dados é ainda mais improvável para grandes redes como a da Bitcoin. Blockchains menores são mais suscetíveis a ataques porque uma pessoa ou grupo pode, eventualmente, obter controle sobre a maioria dos nós (esse tipo de ataque é conhecido como Ataque de 51%).
Como resultado, a rede peer-to-peer distribu√≠da, combinada com um requisito de consenso que majorit√°rio, oferece √†s blockchains um grau relativamente alto de resist√™ncia a agentes maliciosos. O modelo P2P √© uma das raz√Ķes pelas quais a Bitcoin (e outras blockchains) foram capazes de alcan√ßar a chamada toler√Ęncia a falhas bizantinas.

Al√©m da seguran√ßa, o uso da arquitetura P2P em blockchains de criptomoedas tamb√©m proporciona resist√™ncia √† censura de autoridades centrais. Diferentemente de contas banc√°rias padr√£o, as carteiras de criptomoedas n√£o podem ser congeladas ou sofrer qualquer interfer√™ncia do governo. Essa resist√™ncia tamb√©m se estende √†s a√ß√Ķes de censura por parte de plataformas privadas de pagamento e provedoras de conte√ļdo em geral. Alguns traders e criadores de conte√ļdo online, adotaram pagamentos em criptomoedas como uma maneira de evitar que seus pagamentos sejam bloqueados ou sofram interfer√™ncia de terceiros.


Limita√ß√Ķes

Apesar das muitas vantagens, a utiliza√ß√£o de redes P2P em blockchains tamb√©m apresenta algumas limita√ß√Ķes.

Como os ledgers distribu√≠dos devem ser atualizados em todos os n√≥s e n√£o em um servidor central, adicionar transa√ß√Ķes √† blockchain requer muito poder computacional. Apesar de fornecer mais seguran√ßa, esse sistema possui baixa efici√™ncia e esse √© um dos principais obst√°culos quando se trata de escalabilidade e ado√ß√£o em massa. No entanto, os desenvolvedores de blockchain est√£o pesquisando alternativas que podem ser usadas como solu√ß√Ķes de dimensionamento. Exemplos promissores incluem a Lightning Network,¬†a¬†Ethereum Plasma e o protocolo Mimblewimble.
Outra potencial limitação está relacionada a ataques que podem surgir durante eventos de hard fork. Como a maioria das blockchains é descentralizada e de código aberto, grupos de nós podem copiar e modificar o código e se separar da cadeia principal para formar uma nova rede paralela. Hard forks são completamente normais e não são uma ameaça por si só. Porém, se determinados métodos de segurança não forem adotados adequadamente, ambas as cadeias podem ficar vulneráveis a ataques de repetição.

Al√©m disso, a natureza distribu√≠da das redes P2P as torna relativamente dif√≠ceis de controlar e regular, n√£o s√≥ no ambiente blockchain. V√°rias empresas e aplica√ß√Ķes P2P acabaram se envolvendo com atividades ilegais e viola√ß√Ķes de direitos autorais.


Considera√ß√Ķes finais

A arquitetura peer-to-peer pode ser desenvolvida e usada de v√°rias maneiras diferentes e √© o principal componente das blockchains que tornam poss√≠veis as criptomoedas. Atrav√©s dos ledgers de transa√ß√Ķes distribu√≠dos por toda a rede de n√≥s, a arquitetura P2P oferece seguran√ßa, descentraliza√ß√£o e resist√™ncia √† censura.

Al√©m de sua utilidade na tecnologia blockchain, os sistemas P2P tamb√©m podem atender √†s necessidades de outras aplica√ß√Ķes de computa√ß√£o distribu√≠da, desde redes de compartilhamento de arquivos at√© plataformas de negocia√ß√£o de energia.

Compartilhar publica√ß√Ķes
Registre uma conta
Coloque seus conhecimentos em pr√°tica. Abra uma conta na Binance hoje mesmo.