Redes P2P Do Bitcoin Explicada !

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. Normalmente, todos os nós têm o mesmo poder e executam as mesmas tarefas.

Na tecnologia financeira, o termo ponto a ponto geralmente se refere à troca de criptomoedas ou ativos digitais por meio de uma rede distribuída. Uma plataforma P2P permite que compradores e vendedores executem negociações sem a necessidade de intermediários. Em alguns casos, os sites também podem fornecer um ambiente P2P que conecta credores e devedores.

A arquitetura P2P pode ser adequada para vários casos de uso, mas tornou-se particularmente popular na década de 1990, quando os primeiros programas de compartilhamento de arquivos foram criados. Hoje, as redes P2P estão no centro da maioria das criptomoedas, constituindo uma grande parte da indústria de blockchain. No entanto, eles também são aproveitados em outros aplicativos de computação distribuída, incluindo mecanismos de pesquisa na Web, plataformas de streaming, mercados on-line e o protocolo da Web do InterPlanetary File System (IPFS).

Como funciona o P2P?

Em essência, um sistema P2P é mantido por uma rede distribuída de usuários. Normalmente, eles não têm um administrador ou servidor central porque cada nó contém uma cópia dos arquivos – atuando tanto como cliente quanto como servidor para outros nós. 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 mais tradicionais, nos quais os dispositivos clientes baixam arquivos de um servidor centralizado.

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

Dito de outra forma, quando um nó atua como cliente, ele baixa arquivos de outros nós da rede. Mas quando eles estão trabalhando como um servidor, eles são a fonte da qual outros nós podem baixar arquivos. Na prática, porém, ambas as funções podem ser executadas ao mesmo tempo (por exemplo, download do arquivo A e upload do arquivo B).

Como cada nó armazena, transmite e recebe arquivos, as redes P2P tendem a ser mais rápidas e eficientes à medida que sua base de usuários cresce. Além disso, sua arquitetura distribuída torna os sistemas P2P muito resistentes a ataques cibernéticos. Ao contrário dos modelos tradicionais, as redes P2P não apresentam um único ponto de falha.

Podemos categorizar sistemas peer-to-peer de acordo com sua arquitetura. Os três tipos principais são chamados de 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 uns com os outros. Esses sistemas são considerados robustos contra alta atividade de rotatividade (ou seja, vários nós frequentemente entrando e saindo da rede).

Embora mais fáceis de construir, as redes P2P não estruturadas podem exigir maior uso de CPU e memória porque 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 um pequeno número de nós estiver oferecendo o conteúdo desejado.

Redes P2P estruturadas

Por outro lado, as redes P2P estruturadas apresentam uma arquitetura organizada, permitindo que os nós busquem arquivos com eficiência, mesmo que o conteúdo não esteja amplamente disponível. Na maioria dos casos, isso é obtido por meio do uso de funções de hash que facilitam as pesquisas no banco de dados.

Embora as redes estruturadas possam ser mais eficientes, elas tendem a apresentar níveis mais altos de centralização e geralmente requerem custos de instalação e manutenção mais altos. Fora isso, as redes estruturadas são menos robustas diante de altas taxas de churn.

Redes Híbridas P2P

As redes híbridas P2P combinam o modelo cliente-servidor convencional com alguns aspectos da arquitetura peer-to-peer. Por exemplo, seu design pode conter um servidor central que facilite a conexão entre pares.

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

Distribuído vs. descentralizado

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

De fato, muitos sistemas contam com uma autoridade central para orientar a atividade da rede, tornando-os um tanto centralizados. Por exemplo, alguns sistemas de compartilhamento de arquivos P2P permitem que os usuários pesquisem e baixem arquivos de outros usuários, mas não podem participar de outros processos, como o gerenciamento de consultas de pesquisa.

Além disso, pode-se dizer que pequenas redes controladas por uma base limitada de usuários com objetivos compartilhados têm um maior grau de centralização, apesar da falta de uma infraestrutura de rede centralizada.

O papel do P2P em blockchains

Nos estágios iniciais do Bitcoin, Satoshi Nakamoto o definiu como um “Sistema de Caixa Eletrônico Peer-to-Peer”. Bitcoin foi criado como uma forma digital de dinheiro. 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 transferidos para todo o mundo, sem a necessidade de intermediários ou de qualquer servidor central. Além disso, qualquer pessoa pode configurar um nó Bitcoin se desejar 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 digital que registra publicamente todas as atividades. Basicamente, cada nó contém uma cópia da blockchain e a compara com outros nós para garantir que os dados sejam precisos. A rede rejeita rapidamente qualquer atividade maliciosa ou imprecisão.

No contexto de blockchains de criptomoedas, os nós podem assumir uma variedade de papéis diferentes . Os nós completos, por exemplo, são os 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 eles participem do trabalho coletivo de verificação do verdadeiro estado do registro distribuído. Vale a pena notar, porém, que nem todos os nós de validação completos são mineradores .

Vantagens

A arquitetura peer-to-peer de blockchains oferece muitos benefícios. Entre os mais importantes está o fato de que as redes P2P oferecem maior segurança do que os arranjos cliente-servidor tradicionais. A distribuição de blockchains em um grande número de nós os torna virtualmente imunes aos ataques de negação de serviço (DoS) que afligem vários sistemas.

Da mesma forma, como a maioria dos nós deve estabelecer um consenso antes que os dados sejam adicionados a um blockchain, é quase impossível para um invasor alterar os dados. Isso é especialmente verdadeiro para grandes redes como a do 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 (isso é conhecido como ataque de 51 por cento ).

Como resultado, a rede peer-to-peer distribuída, combinada com um requisito de consenso majoritário, dá aos blockchains um grau relativamente alto de resistência a atividades maliciosas. O modelo P2P é uma das razões pelas quais o Bitcoin (e outros blockchains) conseguiram atingir a chamada tolerância a falhas bizantina .

Além da segurança, o uso da arquitetura P2P em blockchains de criptomoedas também os torna resistentes à censura das autoridades centrais. Ao contrário das contas bancárias padrão, as carteiras de criptomoeda não podem ser congeladas ou drenadas pelos governos. Essa resistência também se estende aos esforços de censura por processamento de pagamentos privados e plataformas de conteúdo. Alguns criadores de conteúdo e comerciantes online adotaram pagamentos com criptomoedas como forma de evitar que seus pagamentos fossem bloqueados por terceiros.

Limitações

Apesar de suas muitas vantagens, o uso de redes P2P em blockchains também apresenta algumas limitações.

Como os registros distribuídos devem ser atualizados em cada nó único, em vez de em um servidor central, adicionar transações a um blockchain requer uma enorme quantidade de poder de computação. Embora isso proporcione maior segurança, reduz muito a eficiência e é um dos principais obstáculos quando se trata de escalabilidade e adoção generalizada. No entanto, criptógrafos e desenvolvedores de blockchain estão investigando alternativas que possam ser usadas como soluções de escala. Exemplos proeminentes incluem a Lightning Network , Ethereum Plasma e o protocolo Mimblewimble .

Outra limitação potencial 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 são livres para 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 conta própria. Mas se certos métodos de segurança não forem adotados adequadamente, 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 no nicho de blockchain. Vários aplicativos e empresas P2P se envolveram com atividades ilegais e violações de direitos autorais.

Pensamentos finais

A arquitetura peer-to-peer pode ser desenvolvida e usada de muitas maneiras diferentes, e é o cerne das blockchains que tornam as criptomoedas possíveis. Ao distribuir registros de transações em grandes redes 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 servir a outras aplicações de computação distribuída, desde redes de compartilhamento de arquivos até plataformas de comércio de energia.