O que é computação distribuída? Examinando o backbone do Blockchain

A computação distribuída é um dos princípios fundamentais da computação que impulsiona o blockchain. Mas o que exatamente é computação distribuída? Muitas pessoas agora têm um entendimento básico de blockchain como uma rede de computadores verificando transações. No entanto, para qualquer pessoa interessada em se aprofundar um pouco mais, imaginando como funciona a criptografia de chave ou descobrir mais sobre a computação distribuída, pode levar a um melhor entendimento da tecnologia blockchain. Compreender como a tecnologia funciona não é apenas para os cientificamente curiosos. Também pode ajudá-lo a tomar decisões de investimento mais informadas, concentrando-se em projetos com uma base tecnológica sólida.

Este artigo está dividido em duas partes. O primeiro cobre o que é computação distribuída, como ela é usada e os prós e contras. Na segunda parte, examinamos mais detalhadamente as diferentes arquiteturas de sistemas distribuídos e nos aprofundamos na arquitetura ponto a ponto do blockchain.

Então, o que é computação distribuída? E por que o blockchains o utiliza para conduzir mercados inteiros de criptomoedas como bitcoin?

O que é computação distribuída?

No nível mais simples, a computação distribuída é apenas uma rede de computadores trabalhando juntos como um sistema. As máquinas podem estar localizadas próximas umas das outras e conectadas fisicamente como parte de uma rede local. Outras redes, como blockchains, usam computadores geograficamente dispersos.

A computação distribuída existe há muito mais tempo do que o próprio blockchain. Conforme o uso de computadores em universidades e laboratórios de pesquisa cresceu durante os anos 1960, surgiu a necessidade de os computadores começarem a se comunicar entre si, compartilhando hardware como armazenamento e impressoras. A década de 1970 viu o estabelecimento das primeiras redes locais. Os primeiros sistemas de computação distribuídos foram redes de área local, como Ethernet, uma família de tecnologias de rede desenvolvidas pela Xerox. Agora eles estão por toda parte. Cada vez que você entra em uma nova conexão Wifi, você está entrando em uma nova rede de computador.

Ethernet

Ethernet foi uma das primeiras tecnologias de computação distribuída. Fonte da imagem: Pixabay

Os computadores em redes distribuídas não precisam estar em nenhum formato ou configuração de hardware específicos. Eles podem ser laptops ou mainframes, PCs ou Macs. Em blockchains, eles podem ser PCs executando uma CPU ou GPU, ou hardware dedicado como um ASIC miner.

No entanto, independentemente do tipo de máquina na rede, todos eles devem funcionar como um único computador. O usuário final não deve ser capaz de identificar que existe uma rede de computação distribuída por trás da interface.

Por que usar computação distribuída?

Para ilustrar o básico do que é computação distribuída, pense em uma empresa que possui e executa um aplicativo da web, digamos um site de quadro de empregos. À medida que o aplicativo ganha cada vez mais usuários, tanto candidatos quanto recrutadores, a empresa precisa de cada vez mais recursos de computação para continuar executando o site.

No início, a empresa pode atualizar sua infraestrutura de servidores para acomodar novos usuários, adicionando mais memória e largura de banda. Chamamos esse tipo de expansão de escala vertical. No entanto, em um nível crítico, isso se torna impraticável tanto física quanto economicamente.

Nesse ponto crítico, a computação distribuída fornece uma solução, na forma de escala horizontal. Em vez de atualizar a infraestrutura de computador existente, a empresa adiciona mais computadores ao sistema para acomodar o aumento da carga de trabalho.


Em nosso exemplo de site de anúncios de empregos, a empresa sabe que a maior parte do tráfego é de pessoas navegando nos painéis de empregos. Assim, ele pode adicionar um servidor escravo para tirar o peso da atividade de navegação. O servidor escravo recebe informações de um servidor mestre, que atualiza o banco de dados com novos candidatos e registros de trabalho.

Rede de computação distribuída

Em uma rede distribuída, mais computadores assumem carga de trabalho adicional. Fonte da imagem: Pixabay

Um blockchain é uma rede ponto a ponto, que é um tipo diferente de sistema distribuído do ilustrado neste exemplo. Vamos mergulhar nos diferentes tipos de sistemas distribuídos na parte dois, cobrindo arquiteturas de computação distribuída.

Profissionais da computação distribuída

Ao responder à pergunta “O que é computação distribuída”, também é relevante olhar os prós e os contras. Quando olhamos para esses prós e contras, considere que a computação distribuída é mais do que apenas blockchain. Uma empresa que implementa um sistema de computação distribuído pode ter problemas que não afetam blockchains públicos e vice-versa.

Tolerância a Falhas e Redundância

Uma das vantagens mais significativas da computação distribuída é que não importa se uma ou mais máquinas da rede caem, porque o resto pode compensar. Isso significa que uma rede pode estar sempre ligada. Isso permite a negociação de criptografia 24 horas por dia, 7 dias por semana, no entanto, em um contexto de blockchain, também tem outras vantagens. Por exemplo, empresas como o Walmart que usam blockchain em seus sistemas de cadeia de suprimentos, não experimente nenhum tempo de inatividade. Este é um bônus enorme para uma operação de cadeia de abastecimento global.

Efetividade de custo e eficiência geral

Os sistemas distribuídos oferecem melhor eficiência em relação aos custos e à eficiência geral em comparação com os sistemas centralizados. Os sistemas centralizados são eficientes até certo ponto. No entanto, nosso exemplo de quadro de empregos mostra que, uma vez que as necessidades de computação atingem um determinado tamanho, faz mais sentido dimensionar horizontalmente do que verticalmente. Adicionar mais máquinas a uma rede é mais eficiente tanto tecnológica quanto economicamente.

Escalabilidade

Com relação ao poder de computação puro, a computação distribuída oferece escalabilidade mais fácil do que a computação centralizada. É relativamente fácil adicionar mais máquinas para obter mais poder de computação e reduzi-los quando as necessidades de energia são menores.

No entanto, o blockchain tem diferentes problemas de escalabilidade. Em um blockchain, o número de transações processadas em um período fixo limita a velocidade da transação. Portanto, a questão da escalabilidade é a velocidade da transação. Essa limitação de escalabilidade se deve à necessidade dos nós de uma blockchain chegarem a um consenso sobre as transações que estão ocorrendo. Portanto, embora a computação distribuída em si ofereça um alto grau de escalabilidade, o elemento da teoria de jogo do blockchain é geralmente o que dificulta a escalabilidade nas velocidades de transação.

Contras da computação distribuída

A computação distribuída oferece muitos benefícios. No entanto, também apresenta algumas desvantagens.

Complexidade

Os sistemas distribuídos são mais complexos e difíceis de solucionar do que um sistema centralizado. Em um contexto de blockchain, gerenciar a comunidade de desenvolvedores, operadores de nós e investidores pode ser um desafio sem qualquer entidade centralizada no controle. Portanto, uma grande parte da complexidade na execução de um blockchain vem da necessidade de governança descentralizada em escala.

Segurança

As empresas que implementam sistemas distribuídos precisam garantir a segurança de cada dispositivo da rede, bem como garantir a consistência dos dados entre as diferentes máquinas.

O Blockchain contorna isso usando protocolos de consenso, que garantem que toda a rede concorde com uma única fonte de verdade. O protocolo de consenso também ajuda a proteger contra agentes mal-intencionados. Contanto que 51 por cento da rede esteja agindo no interesse do grupo, a rede permanece segura. Isso se torna um desafio se os pools de mineração agregam poder de hash suficiente para lançar um ataque de 51 por cento. Esse risco é o motivo pelo qual tantos na comunidade de blockchain pressionam pela descentralização total, protestando contra empresas como a Bitmain, que dominam a mineração de criptas importantes.

Custo

Uma organização que implementa um sistema de computação distribuído incorrerá em um custo de configuração inicial mais alto do que um sistema centralizado. Isso ocorre simplesmente porque os sistemas distribuídos precisam de mais hardware.

No blockchain, os custos atingem de uma maneira ligeiramente diferente. Em um blockchain descentralizado, o projeto precisa estabelecer uma base inicial de operadores de nó executando o software blockchain em suas máquinas. Embora um projeto de blockchain não compre essas máquinas, eles precisam atrair os operadores de nó para executar seu software de blockchain sobre o software de outros projetos. Por esse motivo, muitos ICOs reservam uma parte dos fundos iniciais levantados para fins de marketing e promoção, parte dos quais é para construir uma base de usuários de operadores de nós para operar a rede.

Resumo

Este artigo cobriu todos os pontos principais para responder à pergunta o que é computação distribuída. Também vimos os prós e contras da computação distribuída no contexto do blockchain. A próxima parte deste artigo enfoca a arquitetura de computação distribuída ponto a ponto do blockchain e como ela funciona em comparação com outras arquiteturas de computação distribuída.

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