Blockchain

Teoria e prática
Voltar

RESUMO EM CONSTRUÇÃO

Material complementar:


Conceito:

Rede peer-to-peer, descentralizada e distribuída, que armazena dados em cadeia de blocos interligados (copiáveis e replicáveis) empilhados, via registro digital distribuído (ledger - BD compartilhado/sincronizado entre vários dispositivos) exclusiva a membros, de forma segura, pública e imutável, independente de autoridade terceira (banco, governo). Cada transação é agrupada em pilha imutável de blocos, segura e transparente, com rastreabilidade instantânea. Blockchain como serviço (BaaS) é serviço de blockchain oferecido por provedor cloud, que disponibiliza estrutura para criá-lo. Usado no cotidiano em criptomoedas, smart contracts, rastreamento de produtos, votação digital e certificados digitais (diplomas, identidades, NFTs).


Importância:

Na venda de imóvel, comprador e vendedor registram transações em BD. Ambos podem alegar que não enviou/recebeu valor, mesmo o fazendo. Para isso, terceira parte central supervisiona transações, mas cria ponto único de vulnerabilidade para ambas partes. Blockchain cria BD com ledger (registro) para comprador e vendedor. Todas transações devem ser aprovadas por ambas partes e são automaticamente atualizadas em ambos ledgers. Se qualquer dado histórico for corrompido, todo ledger será desefeito. Se transação apresentar erro, deverá ser submetida novamente, até comprovar em ambas partes.


BD vs Blockchain:

  • Blockchains descentralizam controle sem comprometer confiança nos dados;
  • BD tradicional não pode ser compartilhado nas transações. Em redes blockchain, cada empresa tem sua cópia do ledger completa, e sistema mantém automaticamente consistência entre ambos ledgers;
  • Blockchain somente insere dados, não editáveis nem manipuláveis após inserção.

Tipos de rede Blockchain:

  • Pública: aberta para qualquer pessoa participar (ex: blockchain do Bitcoin). Oferece descentralização, mas alto poder computacional, falta de privacidade das transações e segurança fraca;
  • Privada: rede descentralizada ponto a ponto, governada por organização que controla permissões e participantes para executar protocolo de consenso e manter livro-razão compartilhado;
    • Semiprivada: administrada por única empresa que concede acesso a participantes;
  • Autorizada: rede blockchain privada (ou pública) autorizada por organização, com restrições sobre quem tem permissão para participar e quais transações de registro. Participantes precisam obter convite/permissão para ingressar;
  • De consórcio: rede mantida e gerenciada por grupo de organizações pré-selecionadas, determinando participantes, sendo ideal para responsabilidades compartilhadas em colaboração.

Componentes de bloco:

Vínculo de hashes cria cadeia contínua e segura - se alguém tentar alterar bloco, toda cadeia torna-se inválida. Cada bloco tem hash criptográfico (alterar bloco muda hash e quebra cadeia). Dados descentralizados não estão em único servidor, mas em milhares de computadores. Para adicionar novo bloco, maioria dos nós deve concordar (ex: Proof of Work, Proof of Stake).

  • Dados (transações financeiras, contratos, etc.);
  • Hash (identificador único, como impressão digital);
  • Hash do bloco anterior (conecta um bloco ao outro);

Componentes do Blockchain:

  • Ledger distribuído: BD compartilhado na rede, para armazenar dados, disponível para edição sob regras. Registros após adicionados não poderão ser excluídos individualmente;
  • Smart contracts: contratos inteligentes para autogerenciar contratos comerciais, sem necessidade de assistência de terceira parte. São programas armazenados no BD blockchain e executados automaticamente sob gatilhos. Executam verificações simuladas para que transações possam ser concluídas com segurança. Exemplo, empresa de logística pode ter contrato inteligente que faça pagamento de maneira automática depois que mercadorias chegarem ao porto;
  • Criptografia de chave pública: segurança para identificar participantes em rede blockchain. Gera chave pública única para todos participantes da rede, e chave privada, exclusiva de cada membro. Chaves trabalham juntas para desbloquear dados no ledger. Exemplo, John e Jill são membros da rede. John registra transação criptografada sua chave privada. Jill pode descriptografar essa transação com sua chave pública. Etão, Jill terá certeza de que John fez transação. Chave pública de Jill não funcionaria se chave privada de John tivesse sido violada.

Funcionamento:

  1. Registrar transação: transação mostra movimentação dos dados de parte à outra na rede blockchain. É registrada em máquinas nós (nodes), como bloco de dados, contendo detalhes (data e hora, local, envolvidos, valor, condições, etc). Ex: Alice envia 1 Bitcoin para Bob;
  2. Obter consenso: participantes da rede blockchain precisam concordar que transação registrada é válida, conforme regras da rede;
  3. Vincular blocos: transações na blockchain são gravadas em blocos não editáveis, anexando hash ao mesmo, atuando como cadeia que interliga todos blocos empilhados. Se blocos são modificados inadvertidamente, hash será alterado, identificando violação dos dados. Cada bloco adicional é empilhado sob bloco anterior;
  4. Compartilhar ledger: blockchain distribui cópia mais recente do ledger central para todos participantes.

Elaborado por Mateus Schwede
ubsocial.github.io