O que é ponto a ponto (P2P)?
Na ciência da computação, uma rede ponto a ponto (P2P) consiste em um grupo de dispositivos que armazenam e compartilham arquivos coletivamente. Cada participante (nó) atua como um par individual. Todos os nós têm os mesmos recursos e trabalham na mesma tarefa.
Na tecnologia financeira, o termo peer-to-peer geralmente se refere à troca de criptomoedas ou ativos digitais através de uma rede distribuída. Uma plataforma P2P permite que compradores e vendedores realizem transações sem a necessidade de intermediário. Em alguns casos, as páginas do site também podem fornecer um ambiente P2P que conecta provedores de fundos e mutuários.
A arquitetura P2P pode ser usada de muitas maneiras, mas foi especialmente popular na década de 1990, quando os primeiros programas de compartilhamento de arquivos foram criados. Hoje, as redes P2P são o núcleo das criptomoedas, dominando a maioria das áreas do setor de blockchain. No entanto, ele também é utilizado em outras aplicações de computação distribuída, incluindo mecanismos de busca na web, plataformas de streaming, mercados online e o protocolo da web InterPlanetary File System (IPFS).
Como funciona o P2P?
Em essência, um sistema P2P é gerenciado por uma rede distribuída de usuários. Normalmente, esses sistemas não têm um administrador ou servidor central porque cada nó mantém uma cópia dos arquivos, agindo tanto como cliente quanto como servidor para outros nós. Assim, cada nó pode baixar ou carregar arquivos de e para outros nós. É isso que distingue as redes P2P dos sistemas cliente-servidor mais tradicionais, onde os dispositivos clientes baixam arquivos de um servidor centralizado.
Em uma rede P2P, dispositivos conectados compartilham arquivos armazenados em seu hardware. Usando um aplicativo de software projetado para mediar o compartilhamento de dados, os usuários podem solicitar que outros dispositivos na rede localizem e baixem arquivos. Quando um usuário baixa o arquivo em questão, ele pode atuar como a fonte do arquivo.
Em outras palavras, quando um nó atua como cliente, ele baixa arquivos de outros nós da rede. Mas quando atuam como servidores, esses nós se tornam fontes das quais outros nós podem baixar arquivos. Mas, na prática, essas duas funções podem ser executadas ao mesmo tempo (por exemplo, baixar o arquivo A e carregar o arquivo B).
Como cada nó armazena, transmite e recebe arquivos, as redes P2P tendem a ser mais rápidas e eficientes à medida que a base de usuários aumenta. Além disso, a arquitetura distribuída torna os sistemas P2P altamente resistentes a ataques cibernéticos. Ao contrário dos modelos tradicionais, as redes P2P não têm um único ponto de falha.
Podemos categorizar sistemas ponto a ponto de acordo com sua arquitetura. Os três tipos principais são redes P2P não estruturadas, estruturadas e mistas (híbridas).
Rede P2P não estruturada
Redes P2P não estruturadas não exibem nenhuma organização específica dos nós. Os participantes se comunicam aleatoriamente entre si. Este sistema é considerado robusto contra atividades de alta volatilidade (por exemplo: vários nós frequentemente entram e saem da rede).
Embora sejam mais fáceis de construir, redes P2P não estruturadas podem exigir maior uso de CPU e memória porque as solicitações de pesquisa são enviadas ao maior número possível de pares. Isso tende a inundar a rede com solicitações, especialmente se um pequeno número de nós oferece o conteúdo desejado.
Rede P2P estruturada
Em contraste, redes P2P estruturadas representam uma arquitetura organizada, permitindo que os nós pesquisem arquivos com mais eficiência, mesmo que o conteúdo não esteja amplamente disponível. Na maioria dos casos, isso é obtido por meio do uso de uma função hash que facilita as pesquisas no banco de dados.
Embora redes estruturadas possam ser mais eficientes, elas tendem a apresentar um maior grau de centralização e normalmente exigem custos mais altos de configuração e manutenção. Além disso, redes estruturadas são menos robustas quando enfrentam altos níveis de volatilidade.
Rede P2P Mista
Redes P2P híbridas combinam o modelo cliente-servidor convencional com alguns aspectos da arquitetura ponto a ponto. Por exemplo, a rede pode projetar um servidor central que facilite as conexões entre pares.
Quando comparado aos outros dois tipos, o modelo híbrido/misto tende a apresentar melhor desempenho geral. Essas redes geralmente combinam algumas das principais vantagens de cada abordagem, alcançando um grau de eficiência e descentralização simultaneamente.
Distribuído vs. não centralizado
Embora a arquitetura P2P seja inerentemente distribuída, é importante observar que há vários graus de descentralização. Portanto, nem todas as redes P2P são descentralizadas.
De fato, muitos sistemas dependem de uma autoridade central para orientar a atividade da rede, o que torna esses sistemas um tanto centralizados por natureza. Por exemplo, alguns sistemas de compartilhamento de arquivos P2P permitem que os usuários pesquisem e baixem arquivos de outros usuários, mas eles não podem participar de outros processos, como gerenciar solicitações de pesquisa.
Além disso, pequenas redes controladas por uma base limitada de usuários com um objetivo comum também podem ser consideradas como tendo um maior grau de centralização, apesar da falta de uma infraestrutura de rede centralizada.
O papel do P2P no Blockchain
Nos estágios iniciais do Bitcoin, Satoshi Nakamoto o definiu como um “Sistema de Dinheiro Eletrônico Ponto a Ponto”. O Bitcoin foi criado como uma forma de dinheiro digital. Ele pode ser transferido de um usuário para outro por meio de uma rede P2P, que gerencia um livro-razão distribuído chamado blockchain.
Nesse contexto, a arquitetura P2P inerente à tecnologia blockchain é o que permite que o Bitcoin e outras criptomoedas sejam transferidas ao redor do mundo, sem a necessidade de intermediários ou servidores centrais. Além disso, qualquer pessoa pode configurar um nó Bitcoin se quiser participar 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, o blockchain atua como um livro-razão digital que registra publicamente todas as atividades. Basicamente, cada nó mantém uma cópia do blockchain e a compara com outros nós para garantir que os dados sejam precisos. A rede rejeita rapidamente atividades suspeitas ou imprecisas.
No contexto de uma blockchain de criptomoeda, os nós podem assumir uma variedade de funções diferentes. Nós completos, por exemplo, são aqueles que fornecem segurança à rede verificando as transações em relação às regras de consenso do sistema.
Cada nó completo mantém uma cópia completa e atualizada do blockchain, permitindo que ele participe do trabalho coletivo de verificação do verdadeiro estado do livro-razão distribuído. Vale ressaltar que nem todos os nós totalmente validadores são mineradores.
Lucro
A arquitetura de blockchain ponto a ponto oferece muitos benefícios. Entre os mais importantes está o fato de que as redes P2P oferecem maior segurança do que os arranjos tradicionais cliente-servidor. A distribuição do blockchain por um grande número de nós o torna imune a ataques de negação de serviço (DoS) que assolam muitos sistemas.
Da mesma forma, como a maioria dos nós precisa chegar a um consenso antes que os dados sejam adicionados ao blockchain, é quase impossível para um invasor alterar os dados. Isto é especialmente verdadeiro para grandes redes como o Bitcoin. Blockchains menores são mais vulneráveis a ataques porque uma pessoa ou grupo pode potencialmente controlar uma grande parte dos nós (isso é conhecido como ataque de 51 por cento).
Como resultado, a rede ponto a ponto distribuída, aliada à exigência de consenso majoritário, faz com que os blockchains tenham um grau relativamente alto de resistência a atividades maliciosas. O modelo P2P é uma das razões pelas quais o Bitcoin (e outras blockchains) conseguem atingir o que é chamado de tolerância a falhas bizantinas.
Além da segurança, o uso da arquitetura P2P em blockchains de criptomoedas também as torna resistentes à censura por autoridades centrais. Diferentemente das contas bancárias padrão, as carteiras de criptomoedas não podem ser congeladas ou esvaziadas pelos governos. Essa resistência também se estende aos esforços de censura por parte de processadores de pagamento privados e plataformas de conteúdo. Alguns criadores de conteúdo e comerciantes on-line estão adotando pagamentos em criptomoedas como uma forma de evitar que seus pagamentos sejam bloqueados por terceiros.
Limitações
Apesar de ter muitas vantagens, o uso de redes P2P em blockchain também tem certas limitações.
Como os livros-razão distribuídos precisam ser atualizados em cada nó, e não em um servidor central, adicionar transações ao blockchain exige uma grande quantidade de poder computacional. Embora isso ofereça maior segurança, reduz bastante a eficiência e é um dos maiores gargalos em termos de escalabilidade e adoção generalizada. No entanto, criptógrafos e desenvolvedores de blockchain estão investigando alternativas que podem ser usadas como soluções de dimensionamento. Exemplos notáveis incluem a Lightning Network, o Ethereum Plasma e o protocolo Mimblewimble.
Outra limitação potencial está relacionada aos ataques que podem surgir durante um evento de hard fork. Como a maioria dos blockchains são descentralizados e de código aberto, grupos de nós são livres para copiar e modificar o código e se separar da cadeia principal para formar novas redes paralelas. Hard forks são algo completamente normal e não representam uma ameaça. Mas se certos métodos de segurança não forem adotados corretamente, ambas as cadeias podem se tornar 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 apenas em um ambiente de blockchain. Alguns aplicativos e empresas P2P estão envolvidos em atividades ilegais e violação de direitos autorais.
Cobrir
A arquitetura ponto a ponto pode ser desenvolvida e usada de diversas maneiras e está no centro do blockchain que torna as criptomoedas possíveis. Ao distribuir o livro-razão de transações em uma grande rede de nós, a arquitetura P2P oferece segurança, descentralização e resistência à censura.
Além de seus usos na tecnologia blockchain, os sistemas P2P também podem atender a outras aplicações de computação distribuída, desde redes de compartilhamento de arquivos até plataformas de negociação de energia.

