Introdução à tecnologia Blockchain | parte 2
A tecnologia Blockchain tem ganhado grande hype recentemente. Ganhou popularidade após a introdução do Bitcoin em 2009 pela pessoa ou grupo de pessoas pelo pseudônimo Satoshi Nakamoto. Muitas pessoas confundem e acreditam que blockchain é bitcoin. Mas, o bitcoin é uma aplicação da tecnologia blockchain. Existem muitas outras aplicações e casos de uso que podem ser resolvidos usando blockchain além de apenas sistemas de pagamento.
O que é um blockchain?
Um blockchain é definido como um livro-razão distribuído peer to peer forjado por consenso, combinado com um sistema para contratos inteligentes.
-Hyperledger, Linux Foundation
Agora, essa definição pode conter muitos termos incomuns, então vamos começar dividindo-a em partes e entendendo cada termo.
Rede ponto a ponto – Você deve estar ciente de BitTorrent e Tor. Ambos são construídos em design de rede ponto a ponto. Uma rede ponto a ponto é uma arquitetura de aplicativo distribuída que consiste em dispositivos de computação conectados entre si, sem um servidor central.
Nas redes centralizadas, a segurança depende de uma única entidade. Se esse servidor central for atacado, a segurança da rede geral será comprometida. Mas uma rede ponto a ponto é mais segura, pois não há um único ponto de falha.
Razão Distribuída – Um livro-razão é um sistema que contém todos os registros de uma entrada e saída de um processo. Um livro-razão distribuído é uma estrutura de dados que está espalhada por diferentes dispositivos de computação. DLT (Distributed Ledger Technology) é a tecnologia que distribui registros entre todos os usuários. A DLT consiste em 3 componentes – Modelo de Dados (estado atual do livro-razão), Linguagem das transações (que altera o estado do livro-razão) e Protocolo (usado para construir consenso). Blockchain é um tipo de DLT. Dessa forma, os dados são compartilhados entre todos os seus usuários, aumentando a transparência e evitando a corrupção.
Consenso– O consenso é um processo de garantir que todos os diferentes usuários em um blockchain cheguem a um acordo sobre o estado atual do blockchain. Existem vários mecanismos de consenso que são usados por diferentes blockchains para alcançar o consenso. Por exemplo, o Bitcoin usa Prova de Trabalho enquanto o Ethereum está mudando do algoritmo de Prova de Trabalho para Prova de Participação.
Contratos inteligentes – Esqueça o contrato inteligente e o blockchain por um momento. Pense nos contratos em geral. Estes contêm algumas condições que precisam ser cumpridas para que alguma transação (por exemplo, troca de dinheiro) ocorra. Por exemplo, se você estiver me vendendo um laptop, um contrato conterá que eu serei responsável por pagá-lo apenas se o laptop funcionar corretamente. Da mesma forma, os contratos inteligentes são condições de pré-requisito que precisam ser cumpridas para que as transações aconteçam em um blockchain.
O que há dentro de um blockchain?
Um blockchain é uma cadeia de blocos conectados entre si. Um bloco é composto por quatro partes:
- Hash anterior
- O carimbo de data/hora
- Nonce
- Raiz da árvore de Merkle
Figura– Um bloco em um blockchain
Cada bloco contém um hash criptográfico dos dados do bloco anterior. O nonce é calculado pelos mineradores resolvendo quebra-cabeças criptográficos para propor o próximo bloco na cadeia. É conhecida como prova de trabalho. Diz-se que o blockchain é imutável por causa de suas propriedades criptográficas. Mas isso não significa que mudar os dados seja impossível. Isso significa que é extremamente difícil alterar os dados e qualquer alteração pode ser facilmente detectada. Uma árvore merkle é uma árvore binária com ponteiros de hash. Uma árvore de merkle é uma estrutura que permite a verificação eficiente e segura do conteúdo em um grande corpo de dados. A vantagem de usar árvores merkle é que provar a associação requer etapas O(logn). Além disso, em uma árvore de merkle classificada, a não associação também pode ser provada em etapas O(logn). O primeiro bloco é conhecido como bloco de gênese.
Vantagens do Blockchain Agora, qual é a necessidade de usar blockchains. Espera-se que as blockchains sejam implementadas pela maioria das empresas por causa dos vários benefícios que proporcionam. O blockchain elimina a necessidade de um terceiro entre duas entidades que estão dispostas a trocar algo. Isso economiza tempo, pois as trocas podem ser feitas sem qualquer interferência externa. Poupa dinheiro, uma vez que reduz as despesas gerais e o custo dos intermediários. Reduz o risco de adulteração, fraude e crimes cibernéticos devido à sua natureza imutável. Não há necessidade de confiar em terceiros agora, pois os registros são armazenados em livros contábeis distribuídos. Ele tem várias outras vantagens específicas para o caso de uso ao qual é aplicado.
Tipos de Blockchain Existem diferentes tipos de blockchains possíveis no ecossistema.
- Público– Um blockchain público também é conhecido como blockchain sem permissão. Aqui, todos podem fazer parte desse blockchain e podem participar executando como um nó, minerando um bloco ou fazendo transações no blockchain. Bitcoin e Litecoin são exemplos de blockchains públicas.
- Privado– Um blockchain privado também é conhecido como blockchain com permissão. Aqui, há restrições à participação, pois apenas indivíduos selecionados ou membros de uma organização podem fazer parte do blockchain. Projetos Multichain e Hyperledger (Fabric, Sawtooth) são exemplos de blockchain privada.
- Consórcio– Diz-se que um blockchain de consórcio é parcialmente descentralizado ou semi-descentralizado. Ele é controlado por um grupo de organizações, ao contrário de uma organização como no blockchain privado. As organizações membros têm autoridade para participar executando como um nó completo, minerando etc. R3 e EWF (Energy Web Foundation) são exemplos de blockchain de consórcio.
Estudos de caso para a tecnologia Blockchain
- Os cartões inteligentes são usados por Organizações Autônomas Descentralizadas (DAO) – Não há gerenciamento central, mas os contratos inteligentes contêm regras que descrevem como a empresa deve operar. A gestão da organização deve ser descentralizada, resultando em um requisito para blockchains sem permissão.
- O E-Voting-Privacy é uma das demandas públicas mais essenciais para o E-Voting, já que os votos devem ser anônimos para evitar intimidações. No entanto, para manter a integridade dos votos, é necessária a verificabilidade pública. Como há muitos partidos envolvidos na votação e eles não confiam uns nos outros, usar a tecnologia blockchain é uma das respostas mais razoáveis.