O que é ponto a ponto (P2P)?
Na ciência da computação, uma rede ponto a ponto consiste em um grupo de dispositivos que podem armazenar e compartilhar documentos. Cada participante (nó) equivale a um indivíduo par. Ou seja, todos os nós têm os mesmos direitos e executam as mesmas tarefas.
No campo das fintechs, P2P geralmente se refere à transação de moeda digital ou ativos digitais através de uma rede distribuída. Uma plataforma P2P permite que compradores e vendedores façam transações diretamente, sem intermediários. Alguns sites também podem fornecer um ambiente de negociação P2P para mutuários e credores.
A arquitetura P2P é adequada para vários cenários, mas tornou-se realmente popular na década de 1990, quando nasceram os primeiros programas de compartilhamento de arquivos. Hoje, as redes peer-to-peer tornaram-se o núcleo da maioria das moedas digitais e representam uma grande parte da indústria blockchain. No entanto, também é usado em uma variedade de outros programas de computador distribuídos, incluindo: mecanismos de pesquisa na web, plataformas de streaming, mercados on-line e o protocolo de rede InterPlanetary File System (IPFS).
Como funciona o P2P
Essencialmente, um sistema P2P é mantido por usuários em uma rede distribuída. Normalmente, eles não têm administrador de sistema ou servidor central porque cada nó possui uma cópia dos arquivos – um usuário e um servidor para outros nós. Portanto, cada nó pode baixar arquivos de outros nós ou fazer upload de arquivos para eles. O dispositivo cliente do sistema servidor tradicional precisa baixar arquivos do servidor central. Esta é a diferença entre a rede P2P e outros sistemas de serviço tradicionais.
Em uma rede P2P, os arquivos compartilhados por dispositivos interconectados são armazenados em seus discos rígidos. E usando aplicativos de software para transferir dados compartilhados, os usuários também podem encontrar e baixar arquivos em outros dispositivos. Se um usuário baixar um arquivo específico, ele poderá atuar como a fonte desse arquivo.
Em outras palavras, quando um nó atua como usuário, ele baixa arquivos de outros nós. Mas se funcionar como um servidor, outros nós poderão baixar arquivos dele. Na verdade, essas duas funções podem ser executadas simultaneamente (por exemplo, baixar o arquivo A e enviar o arquivo B).
Como cada nó pode armazenar, transmitir e receber arquivos, e à medida que a base de usuários da rede P2P cresce, ela se torna mais rápida e eficiente. A estrutura distribuída também torna o sistema P2P mais resistente a ataques de rede. Ao contrário dos modelos tradicionais, as redes P2P não possuem um único ponto de falha.
De acordo com sua estrutura, podemos classificar os sistemas P2P, dos quais os três principais tipos são: rede ponto a ponto não estruturada, rede ponto a ponto estruturada e rede ponto a ponto híbrida.
Rede P2P não estruturada
Redes peer-to-peer não estruturadas não revelam a arquitetura específica dos nós. Os participantes podem comunicar-se livremente entre si. Esses sistemas são resistentes à atividade de alta frequência, o que significa que vários nós que entram e saem frequentemente da rede não terão qualquer impacto no sistema.
Embora as redes ponto a ponto não estruturadas sejam mais fáceis de configurar, elas exigem CPUs e memória mais poderosas porque as consultas de pesquisa são enviadas ao maior número de pares. Especialmente se um pequeno número de nós puder fornecer o conteúdo necessário, um grande número de pesquisas inundará a rede.
rede ponto a ponto estruturada
Ao contrário das redes ponto a ponto não estruturadas, as redes ponto a ponto estruturadas exibem uma estrutura organizacional que permite que os nós procurem um arquivo com eficiência, mesmo que o conteúdo do arquivo não seja amplamente utilizado. Na maioria das vezes, as pesquisas são feitas usando funções hash para auxiliar nas pesquisas no banco de dados.
Relativamente falando, as redes peer-to-peer estruturadas são mais eficientes porque podem demonstrar um nível mais elevado de centralização e exigir mais capital inicial e custos de manutenção. Além disso, redes peer-to-peer estruturadas são menos tolerantes a atividades de alta frequência.
Rede híbrida ponto a ponto
As redes híbridas ponto a ponto combinam a arquitetura mestre-escravo tradicional com alguns recursos da arquitetura ponto a ponto. Por exemplo, pode estabelecer um servidor central para acelerar a integração entre pontos.
Ao contrário dos outros dois modos, as redes híbridas peer-to-peer tendem a apresentar melhor desempenho geral. Combina as vantagens de cada método ao mesmo tempo que alcança eficiência e descentralização.
Distribuído VS Descentralizado
Embora as estruturas peer-to-peer sejam todas distribuídas, o seu grau de descentralização é diferente. Portanto, nem todas as redes peer-to-peer são descentralizadas.
Na verdade, muitos sistemas exigem uma autoridade central para dirigir a atividade da rede, tornando-a mais ou menos centralizada. Por exemplo, alguns sistemas de compartilhamento de arquivos ponto a ponto permitem que os usuários pesquisem e baixem arquivos de outros usuários, mas não podem participar de processos como o gerenciamento de consultas de pesquisa.
Além disso, algumas pequenas redes controladas por um pequeno número de utilizadores também podem ser consideradas altamente centralizadas, embora possam não ter uma infra-estrutura neutra.
O papel do ponto a ponto no blockchain
Nos primeiros dias do Bitcoin, Satoshi Nakamoto o definiu como um “sistema de dinheiro eletrônico ponto a ponto”. O Bitcoin apareceu aos olhos do público como uma forma de dinheiro eletrônico. Pode ser transferido entre dois usuários através de uma rede peer-to-peer, o que requer o uso de um livro-razão distribuído, a saber: blockchain.
No blockchain, a arquitetura peer-to-peer permite que Bitcoin e outras moedas digitais sejam transferidas entre si em todo o mundo, sem a necessidade de intermediários e de quaisquer servidores centrais. Se algum usuário quiser participar do processo de verificação de blocos, poderá estabelecer um nó Bitcoin.
Portanto, não existem etapas bancárias ou registros de transações na rede Bitcoin. Em vez disso, o blockchain serve como um livro-razão eletrônico que registra publicamente todas as atividades de transações. Basicamente, cada nó possui uma cópia do blockchain e a compara com outros nós para garantir a exatidão dos dados. A rede Bitcoin pode limpar rapidamente todos os tipos de erros e atividades maliciosas.
Os nós podem desempenhar uma variedade de funções diferentes no blockchain. Por exemplo, os nós completos verificam as transações através de regras de consenso, garantindo assim a segurança da rede.
Cada nó completo mantém uma cópia completa e atualizada do blockchain – permitindo que essas cópias do blockchain trabalhem juntas para verificar o verdadeiro status do livro-razão distribuído. Deve-se notar que nem todos os nós de verificação são mineradores.
Vantagem
A arquitetura ponto a ponto do Blockchain tem muitas vantagens. Mais importante ainda, em comparação com a arquitetura mestre-escravo tradicional, as redes ponto a ponto têm maior confidencialidade. A maioria dos nós é quase imune aos ataques de negação de serviço (DoS) que comprometeram muitos sistemas.
Da mesma forma, como os dados são adicionados à blockchain exigindo o consentimento unânime da maioria dos nós, é quase impossível para um invasor alterar os dados. Especialmente em uma grande rede como o Bitcoin. No entanto, blockchains relativamente pequenos são vulneráveis a ataques porque uma pessoa ou organização muitas vezes controla um grande número de nós (este também é um ataque de 51%).
Portanto, sob a premissa do consentimento unânime da maioria dos nós, a rede ponto a ponto distribuída torna o blockchain mais resistente a ataques maliciosos à rede. O modelo peer-to-peer é a principal razão pela qual a rede Bitcoin pode alcançar tolerância a falhas bizantinas.
Além da segurança, a arquitetura peer-to-peer permite que os blockchains de moeda digital evitem o escrutínio das autoridades centrais. Ao contrário das contas bancárias normais, as carteiras de moeda digital não podem ser congeladas ou consumidas pelos governos. O processamento de pagamentos pessoais e as plataformas de conteúdo também evitam os esforços de censura correspondentes. Para evitar a intervenção de terceiros nos seus pagamentos, alguns comerciantes online adotaram métodos de pagamento em moeda digital.
limitação
Apesar das vantagens acima, o uso de redes P2P em blockchain também tem certas limitações.
Como o livro-razão distribuído deve ser atualizado em cada nó, adicionar transações ao blockchain requer um enorme poder computacional. Embora isto melhore a segurança, também reduz enormemente a eficiência e tornou-se um dos principais obstáculos à expansão e promoção das redes blockchain. No entanto, criptógrafos e desenvolvedores de blockchain estão trabalhando em alternativas para resolver problemas de escalabilidade. Alguns exemplos óbvios incluem a “Rede Lightning”, “Ethereum Plasma” e o “Protocolo Mimblewimble”.
Outra limitação potencial diz respeito a possíveis ataques durante um hard fork. Como a maioria dos blockchains são descentralizados e de código aberto, os nós são livres para copiar e modificar o código e se separar da cadeia principal, formando assim novas redes paralelas. Hard forks são completamente normais e não representam uma ameaça. Mas ambas as cadeias podem ser vulneráveis a ataques repetidos se certas medidas de segurança não forem devidamente utilizadas.
Além disso, a natureza distribuída das redes P2P torna-as relativamente difíceis de controlar e regular. Este problema não se limita ao blockchain, algumas aplicações e empresas P2P também estão envolvidas em atividades ilegais, como infrações.
Resumir
A arquitetura ponto a ponto pode ser desenvolvida e usada em muitos aspectos diferentes, e sua posição central no blockchain também contribuiu para o nascimento das moedas digitais. Ao distribuir o livro-razão de transações por uma grande rede de nós, a arquitetura peer-to-peer oferece as vantagens de segurança, descentralização e proteção contra regulamentação.
Além das vantagens da tecnologia blockchain, os sistemas P2P também podem ser aplicados a outras aplicações de computação distribuída, desde redes de compartilhamento de arquivos até plataformas de comércio de energia.