Arquitetura de sistema distribuído: como a Blockchain revolucionou as redes ponto a ponto

Ao configurar uma rede de computação distribuída, existem diferentes tipos de arquitetura de sistema distribuído que podem ser implantados. Neste artigo, examinamos mais profundamente os tipos de arquitetura de sistema distribuído, com um foco específico na arquitetura de sistema distribuído ponto a ponto de blockchain.

Tipos de arquitetura de sistema distribuído

Modelo Cliente-Servidor

Aplicativos como e-mail ou impressoras em rede geralmente usam a arquitetura cliente-servidor. Essencialmente, os provedores (chamados de servidores) e os solicitantes (chamados de clientes) têm funções diferentes. O servidor lida com todos os requisitos de processamento, gerenciamento de dados e computação, que estão disponíveis sob demanda para o cliente. Se uma entrada de banco de dados muda, o cliente não precisa necessariamente fazer nada. Apenas os dados no servidor precisam ser alterados.

O servidor não precisa ser um único dispositivo neste modelo; podem ser vários servidores executando tarefas semelhantes para distribuir a carga de trabalho. O modelo se refere à função do cliente e servidor, ao invés do hardware específico.

Diagrama do modelo cliente-servidor

Um diagrama de modelo cliente-servidor. Fonte: Wikimedia Commons

Usamos interações cliente-servidor todos os dias, sempre que usamos um laptop ou smartphone para navegar na web, usar aplicativos de mídia social, jogar jogos móveis ou assistir a um filme no Netflix. A arquitetura de sistema distribuído cliente-servidor é a que nos referimos quando falamos sobre sistemas de computador “centralizados”, em contraste com o blockchain como uma arquitetura de sistema distribuído descentralizado.

Embora esta seja uma explicação simples, existem diferentes tipos de arquitetura cliente-servidor, como três camadas. Esse modelo envolve separar o servidor que executa o próprio aplicativo do servidor que hospeda os dados por trás do aplicativo. Existem outros, mas como não são relevantes para o blockchain, não os analisaremos todos aqui.

Modelo Peer-To-Peer

Uma arquitetura de sistema distribuído ponto a ponto (P2P) não tem clientes ou servidores específicos. Uma rede P2P é um sistema distribuído de máquinas chamadas nós. Todos os nós podem desempenhar a função de cliente e servidor simultaneamente ou em diferentes momentos. O modelo é inerente ao próprio nome – em uma rede P2P, cada máquina é um par igual, em vez de ser um cliente ou servidor.

As redes P2P se tornaram populares após o lançamento de serviços de compartilhamento de arquivos como o site de compartilhamento de música Napster. A ideia do P2P ganhou uma espécie de status de culto porque os sistemas podiam operar independentemente de qualquer controle centralizado. Hoje, fora do blockchain, o protocolo de compartilhamento de arquivos BitTorrent é provavelmente o maior e mais reconhecível nome associado a redes P2P.

Redes não estruturadas vs. redes estruturadas


Com base na forma como os nós se conectam e como os dados são indexados e descobertos, as redes P2P são classificadas como estruturadas ou não estruturadas. Em um sistema não estruturado, os nós simplesmente formam conexões aleatórias uns com os outros. Redes não estruturadas são fáceis de construir e aumentar ou diminuir.

Diagrama de rede não estruturada ponto a ponto (Fonte: Wikimedia Commons)

No entanto, como não são estruturados, isso torna a indexação muito mais difícil. Se um nó deseja encontrar um determinado dado ou outro nó, ele deve inundar a rede para alcançar o maior número possível de nós que possam ser um alvo potencial para a pesquisa. Isso usa mais energia da rede, pois todos os nós devem processar todas as solicitações. Além disso, se os dados forem raros, eles podem não ser encontrados se todos os nós da rede forem incapazes de processar todas as solicitações. Exemplos de redes não estruturadas incluem Kazaa e Limewire.

Por outro lado, localizar todos os dados em uma rede estruturada é fácil. Redes estruturadas usam uma tabela de hash distribuída para identificar quais pares estão mantendo quais arquivos e versões de arquivos. Chord é um exemplo de rede P2P estruturada.

Tabela de hash distribuída

Diagrama de uma tabela hash distribuída, usada em redes P2P estruturadas. Fonte: Wikimedia Commons

Por que o Blockchain é especial

Como um modelo puro para arquitetura de sistema distribuído, as redes P2P apresentam vários benefícios e desafios. A principal vantagem é a resiliência ao tempo de inatividade porque não há um ponto central de falha.

No entanto, como os nós em uma rede P2P agem como cliente e servidor, eles são mais vulneráveis ​​a ataques. Esses ataques podem incluir negação de serviço ou distribuição de malware ou dados corrompidos. Um estudo descobriram que 15 por cento de meio milhão de arquivos baixados do Kazaa estavam infectados com 52 vírus diferentes.

Embora os blockchains não sejam 100 por cento incorruptíveis, Satoshi propôs uma solução engenhosa para o problema de vulnerabilidade quando escreveu o Bitcoin papel branco. Ao introduzir um protocolo de consenso, todos os nós na rede Bitcoin devem concordar que uma transação é válida. O uso da teoria dos jogos tem cada nó competindo para extrair o próximo bloco.

A mineração bem-sucedida do próximo bloco traz uma recompensa, fornecendo aos operadores de nó um incentivo para manter a rede limpa. Desde que 51 por cento ou mais dos operadores de nó trabalhem em conjunto para continuar competindo pela próxima recompensa do bloco, o blockchain continua funcionando livre de ataques.

Conclusão

Claro, existem outros elementos para o Bitcoin, como o uso de hashing e assinaturas criptográficas, que criam o armazenamento de valor digital. No entanto, a solução inventada por Satoshi para superar as fraquezas inerentes em uma arquitetura de sistema distribuído P2P continua sendo um dos componentes mais atraentes e inovadores do blockchain.

Desde o início do Bitcoin, muitos outros surgiram com desenvolvimentos criativos baseados na ideia de Satoshi. Esses desenvolvimentos continuam até hoje. Blockchain representa uma etapa revolucionária na arquitetura de sistema distribuído. Além disso, a tecnologia ainda irá evoluir por muitos mais anos.

Imagem em destaque cortesia da Pixabay

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map