Vamos conversar um pouco sobre o conceito de descentralização, DApps e a relação com blockchain.
Sistemas distribuídos são sistemas onde dois ou mais nós trabalham de forma coordenada para com um resultado comum. Nestes sistemas são transparentes para o usuário final, ou seja, eles se apresentam como um único sistema. São sistemas interligados em rede que compartilham recursos como hardware, software e dados.
Um exemplo clássico de sistemas distribuídos e descentralizados onde para o usuário
final só o vê como um sistema único é o Google. Quando você vai efetuar uma busca no Google, consegue ver uma caixa de busca com uma única forma de acesso pelo browser, mas, por trás existem milhares de maquinas “servidores” interligados em um datacenter do tamanho de uma cidade que é mantido pelo Google nos Estados Unidos.
Sistemas distribuídos são difíceis de implementar. Segundo teorema CAP ( Consistency, Availability e Partition tolerance) também chamado de Teorema de Brewer, indica que não se consegue através de armazenamento de dados distribuídos forneça simultaneamente mais de duas das três propriedades:
- Consistência (Consistency);
- Disponibilidade (Availability);
- Tolerância a particionamentos (Partition tolerance).
Segue link interessante de onde foram extraídos base das informações e a imagem acima que pode ser consultado como material de apoio: Teorema CAP.
Blockchain é um sistema distribuído que pode ser centralizado ou descentralizado.
O que existe de mais fantástico na blockchain é o paradigma em que se trabalha os sistemas distribuídos: Consenso.
Não existe uma autoridade central para atualização no sistema. Qualquer alteração como por exemplo à adição de transações em um bloco da rede blockchain, só são realizadas através do consenso entre os nós maquinas.
Esses consensos são adquiridos por algoritmos que facilitam o processo. “falaremos em mais detalhes dos algoritmos de consensos nos próximos posts”.
A base da blockchain pode ser pensada como uma rede distribuída peer-to-peer rodando sobre a internet através de protocolo TCP/IP.
A pergunta que não se quer calar: Podemos ter uma blockchain em uma rede privada?
Sim, mas, perde-se o conceito de rede distribuída, pois, mesmo que os dados trafeguem através de uma rede, por exemplo peer-to-peer privada, ainda sim existe o administrador centralizador que gerencia a rede, ao contrario do Bitcoin onde se tem uma rede pública e não existe uma autoridade centralizadora que define o controle da rede.
Chamamos de DApp aplicativos que rodam com base em seu backend sistemas distribuídos descentralizados.
Não existe uma maquina servidor centralizado que controla a rede em uma DApp, todos os nós fazem parte de um controle por consenso.
Qualquer máquina conectada a internet (considerando ser aplicativo público distribuído) pode-se conectar a rede.
Isso pode trazer um problema de segurança por se tratar de uma rede pública, onde pode haver pessoas maliciosas tentando modificar, incluir ou até mesmo acabar com as informações ali contidas. E por isso hoje a blockchain é considerada o sistema de armazenamento mais seguro na atualidade e com grande promessa de se tornar a próxima revolução tecnológica ou como chamamos, web 3.0.
Através de criptografia baseada em hash e trabalhos de algoritmos de consenso, é praticamente impossível violar os dados de uma blockchain. Os dois principais algoritmos de consenso são:
DAOs (Decentralized Autonomous Organization) são referidas a organizações descentralizada. O maior exemplo de uma DAO é o Bitcoin. Bitcoin não existe uma entidade que diga o que pode ou não pode ser lançado como transação dentro de sua rede de blockchain, essa tarefa é realizada pelos algoritmos de consenso. Podemos dizer então que as DApps são a tecnologia portada de uma organização descentralizada DAO.
Uma empresa como Carrefour por exemplo, que hoje tem um funcionamento complexo onde se tem várias frentes de departamentos como RH, departamento pessoal, almoxarifado, entregas, loja online, cobrança, além da interação com fornecedores, parceiros e tudo isso entre suas mais de 570 lojas espalhadas pelo país. Lembrando que cada loja possui aquela imensa quantidade de departamento citado acima. Imaginamos toda comunicação sendo realizada por uma rede descentralizada (sem uma entidade gerencial) automatizada. A DAO é uma organização descentralizada que pode ser representada em um programa de computador. A organização funcionaria de acordo com regras escritas em um programa o que tornaria a empresa totalmente transparente independentemente do controle dos acionistas/donos. Todo o conceito da empresa ou processo que contenha um estatuto pode ser transplantado para uma rede implementado por regras complexas ligadas a token de contratos inteligentes através de DApps e incorporados por exemplo a uma rede blockchain que prove todo processo de segurança e disponibilidade dos dados.
Vou deixar aqui link de um livro que é excelente e já retrata esses conceitos que não são novos e até mesmo em uma aplicação real do Ricardo Semler escrito na década de 90. Livro – Virando a própria mesa.
Também deixo uma pergunta que está no material da DataScienceAcademy – curso – Sistemas Distribuídos que é bom pensar nos próximos passos do futuro:
Conclusão: Apresentamos alguns conceitos de redes distribuídas e descentralizadas. Complexidade da implementação e algumas quebras de paradigmas.
Também falamos um pouco sobre blockchain e uma rápida observação sobre seus protocolos de consenso. Estruturas de organizações descentralizadas DAOs e as tecnologias que a sustentam DApps.
Show!👏👏👏
CurtirCurtido por 1 pessoa