O que significa ponto a ponto (P2P)?
No campo da tecnologia da informação, uma rede peer-to-peer ou peer-to-peer (P2P) consiste em um grupo de dispositivos interligados que trocam arquivos entre si e armazenam o mesmo conjunto de dados. Cada participante (nó) atua como um par individual. Normalmente, todos os nós têm o mesmo poder e executam as mesmas tarefas.
Em termos financeiros, o termo refere-se frequentemente à troca de criptomoedas ou ativos digitais através de uma rede distribuída. A plataforma P2P permite que compradores e vendedores concluam transações sem intermediários. Em alguns casos, os websites também podem fornecer um ambiente peer-to-peer que conecta credores e devedores.
A arquitetura P2P é adequada para uma variedade de casos de uso, e a tecnologia se tornou popular na década de 1990, quando os primeiros programas de compartilhamento de arquivos foram criados. Hoje, as redes peer-to-peer são a base da maioria das criptomoedas, constituindo uma grande parte da indústria blockchain. No entanto, também é usado em outras aplicações de computação distribuída, incluindo motores de busca, plataformas de streaming, mercados online e o Sistema de Arquivos Interplanetários de Protocolo de Internet (IPFS).
Como é que isso funciona?
O sistema P2P é suportado por uma rede distribuída de usuários. Geralmente não possuem um administrador ou servidor principal, pois cada nó contém uma cópia de todos os arquivos, atuando como cliente e servidor para os demais nós. Assim, cada nó pode baixar arquivos de outros nós e também na ordem inversa. Esse é um diferencial de uma rede P2P em relação aos seus clientes mais tradicionais, nos quais os dispositivos baixam arquivos de um servidor centralizado.
Nas redes ponto a ponto, os dispositivos conectados trocam arquivos armazenados em seus discos rígidos. Usando aplicativos de software projetados para compartilhar dados, os usuários podem solicitar e baixar arquivos para outros dispositivos na rede. Depois que o usuário tiver baixado esse arquivo, ele poderá atuar como sua fonte.
Em outras palavras, quando um nó atua como cliente, ele baixa arquivos de outros nós da rede. Mas quando todos os nós atuam como servidores, eles são uma fonte da qual outros nós podem baixar dados. Porém, na prática, ambas as funções podem ser executadas simultaneamente (por exemplo, baixar o arquivo A e baixar o arquivo B).
Como cada nó armazena, transmite e recebe arquivos, as redes P2P tendem a operar de forma mais rápida e eficiente à medida que sua base de usuários aumenta. Além disso, a arquitetura distribuída torna tais sistemas muito resistentes a diversos ataques cibernéticos. Ao contrário dos modelos tradicionais, as redes P2P não possuem um único ponto de falha.
Podemos classificar os sistemas peer-to-peer de acordo com sua arquitetura. Existem três tipos principais: rede P2P não estruturada, estruturada e híbrida.
Redes P2P não estruturadas
As redes não estruturadas não representam nenhuma organização específica de nós. Todos os participantes entram em contato aleatório uns com os outros. E, nesse sentido, tais sistemas são considerados resistentes à atividade de alta rotatividade de nós (ou seja, alguns nós ingressam na rede, enquanto outros a abandonam).
Embora simples de construir, as redes P2P não estruturadas podem exigir maior uso de CPU e RAM, pois as solicitações de pesquisa são enviadas para o maior número possível de pares. Essa arquitetura tende a inundar a rede com solicitações, principalmente se um pequeno número de nós oferecer a informação desejada.
Redes P2P estruturadas
Em comparação com a forma anterior, as redes estruturadas são uma arquitetura organizada que permite aos nós pesquisar arquivos de forma mais eficiente, mesmo que o conteúdo não esteja amplamente disponível. Na maioria dos casos, isso é conseguido através do uso de funções hash, que facilitam a pesquisa no banco de dados.
Embora as redes estruturadas ofereçam alta disponibilidade e produtividade, elas tendem a ser mais centralizadas e exigentes em termos de instalação e manutenção. Além disso, essa arquitetura é menos resiliente quando se trata de altas taxas de rotatividade de nós.
Redes P2P híbridas
As redes P2P híbridas combinam o modelo tradicional com alguns aspectos da arquitetura peer-to-peer. Por exemplo, isto poderia permitir o desenvolvimento de um servidor central que facilitaria a comunicação entre os nós.
Comparados aos outros dois tipos, os modelos híbridos tendem a ter desempenho geral superior. Geralmente combinam algumas das principais vantagens de cada abordagem e, assim, alcançam altos níveis de eficiência e descentralização ao mesmo tempo.
Distribuição ou descentralização?
A arquitetura P2P é distribuída por natureza, mas vale ressaltar que se implementada, a rede poderá ter diferentes níveis de descentralização. Por esta razão, nem todas as redes peer-to-peer são descentralizadas.
Como muitos sistemas dependem de uma autoridade central para gerenciar a rede, isso os torna um tanto centralizados. Por exemplo, alguns serviços de hospedagem de arquivos ponto a ponto permitem que os usuários pesquisem e baixem arquivos às custas de outros usuários, mas não podem participar de outros processos, como o gerenciamento de solicitações de pesquisa.
Além disso, pode-se dizer que pequenas redes controladas por uma base limitada de usuários com objetivos comuns apresentam um maior nível de centralização, apesar da falta de uma infraestrutura de rede centralizada.
Impacto P2P no Blockchain
Nos estágios iniciais de desenvolvimento, Satoshi Nakamoto definiu o Bitcoin como um “sistema de pagamento eletrônico em dinheiro ponto a ponto”. O Bitcoin foi criado como uma forma digital de dinheiro que pode ser transferida de um usuário para outro por meio de uma rede peer-to-peer e gerenciada por um livro-razão distribuído, também conhecido como blockchain.
Neste contexto, a arquitetura P2P, característica da tecnologia blockchain, permite a troca de bitcoins e outras criptomoedas em todo o mundo sem intermediários e servidores centralizados. Além disso, qualquer pessoa pode ingressar e se tornar um nó na rede Bitcoin se quiser participar do processo de verificação e validação de blocos.
Assim, não existem bancos na rede Bitcoin que processem ou registrem todas as transações. Em vez disso, o blockchain funciona como um livro digital que registra publicamente todas as atividades. Na prática, cada nó armazena uma cópia do blockchain e a compara com cópias de outros nós para garantir a precisão dos dados. Dessa forma, a rede responde rapidamente a qualquer atividade maliciosa ou imprecisão.
Dentro dos blockchains de criptomoedas, os nós podem assumir responsabilidades diferentes. Por exemplo, nós completos (nós completos) garantem a segurança da rede ao validar as transações em relação às regras de consenso estabelecidas do sistema.
Cada nó completo mantém uma cópia atualizada do blockchain, permitindo-lhe participar de um esforço coletivo para verificar o verdadeiro estado do livro-razão distribuído. Porém, é importante notar o fato de que nem todos os nós completos são mineradores.
Vantagens
A arquitetura ponto a ponto dos blockchains oferece muitos benefícios aos usuários. Um dos mais importantes é que tais redes oferecem maior segurança do que um dispositivo cliente-servidor tradicional. A distribuição de dados na blockchain entre um grande número de nós torna a rede virtualmente imune a ataques de negação de serviço (DoS) que afetam a maioria dos sistemas.
Como a maioria dos nós deve chegar a um consenso antes que os dados sejam adicionados ao blockchain, é virtualmente impossível para um invasor fazer qualquer alteração. E isso é verdade quando se trata de uma grande rede como o Bitcoin. Blockchains menores são mais suscetíveis a ataques porque uma entidade ou grupo de indivíduos pode eventualmente obter o controle da maioria dos nós (também conhecido como ataque de 51%).
Como resultado, uma rede peer-to-peer distribuída, combinada com o consenso obrigatório da maioria dos participantes, fornece às blockchains um grau relativamente alto de resistência a atividades maliciosas. O modelo P2P é uma das razões pelas quais o Bitcoin (e outras blockchains) conseguiram alcançar a chamada tolerância a falhas bizantinas.
Além da segurança, o uso da arquitetura peer-to-peer em blockchains de criptomoedas também os torna resistentes à censura por parte das autoridades centrais. Ao contrário das contas bancárias padrão, as carteiras de criptomoedas não podem ser congeladas ou canceladas pelo governo. Esta resiliência também se estende à censura de plataformas privadas de processamento de pagamentos e publicação de conteúdos. Alguns criadores de mídia e vendedores online começaram a usar criptomoedas para evitar o bloqueio de seus pagamentos por terceiros.
Imperfeições
Apesar das muitas vantagens, as redes peer-to-peer também apresentam certas desvantagens.
Como os livros distribuídos devem ser atualizados em cada nó e não em um servidor central, adicionar transações ao blockchain requer uma grande quantidade de recursos computacionais. Embora isto proporcione maior segurança, por sua vez reduz significativamente a agilidade operacional, que é um dos principais obstáculos quando se trata de escalabilidade e adaptação em grande escala. No entanto, criptógrafos e desenvolvedores de blockchain estão explorando alternativas que podem ser usadas como solução para aumentar a escalabilidade. Exemplos notáveis incluem Lightning Network, Ethereum Plasma e o protocolo Mimblewimble.
Outra possível desvantagem está relacionada aos ataques que podem ocorrer durante um hard fork. Como a maioria dos blockchains são descentralizados e de código aberto, grupos de nós podem copiar e modificar livremente o código e depois se separar da cadeia principal para formar uma nova rede paralela. Hard forks são um evento completamente normal, que por si só não representa nenhuma ameaça. No entanto, se certas medidas de segurança não forem seguidas corretamente, ambas as cadeias podem se tornar vulneráveis a um ataque de repetição.
Além disso, a natureza distribuída das redes P2P torna-as relativamente difíceis de monitorizar e regular, não apenas no espaço blockchain. Devido a isso, vários aplicativos e empresas P2P foram vinculados a atividades ilegais e violação de direitos autorais.
Conclusão
A arquitetura peer-to-peer pode ser desenvolvida e usada de diferentes maneiras, mas é a base de todos os blockchains, tornando possível a criptomoeda. Ao distribuir livros de transações entre grandes nós de rede, a tecnologia P2P garante segurança, descentralização e resistência à censura.
Além da sua utilidade para a tecnologia blockchain, os sistemas P2P também podem servir outras aplicações de computação distribuída, desde redes de partilha de ficheiros até plataformas de comércio de energia.

