Blockchain (2020)

Blog do Gui Blockchain Destaque

Blockchain é uma lista de registros crescentes, onde “blocos” de dados são vinculados usando criptografia (daí o nome blockchain). Cada bloco contém um hash criptográfico do bloco anterior, um marcador de data e hora e dados da transação.



Introdução

Neste artigo sobre blockchain vamos entender em detalhes seu significado, o que é, como funciona e para que serve (não é só para Bitcoin).

A não ser que tenha vivido fora do ambiente de internet ou de convívio social, você já ouviu falar em blockchain.

Ou pelo menos ouviu falar de Bitcoin, certo?

Ao contrário do que muita gente pode pensar, blockchain não é uma criptomoeda.

Na realidade, o mesmo foi idealizado para criar um sistema confiável de negociação de criptomoedas, mais especificamente o Bitcoin.

Entretanto, não é o Bitcoin propriamente dito ou qualquer outra coisa que não uma tecnologia de dados estruturados e criptografados com foco em segurança e transparência nas transações.

História

Antes de ir “para os finalmentes”, vamos entender mais da história desta maravilha tecnológica.

Se você procurar pela origem do blockchain vai chegar no ano de 1991.

E também vai chegar no nome de importantes cientistas da computação, que veremos a seguir.

Stuart Haber

Formado com grandes honras (magna cum laude) em Harvard (EUA) em matemática e mestre na matéria pela École Normale Supérieure (França), Stuart Haber conseguiu seu Ph.D. em Ciência da Computação pela Columbia University (EUA) em 1987.

W. Scott Stornetta

A primeira menção à arquitetura blockchain foi mencionada em uma publicação de co-autoria de W. Scott Stornetta, que descreveu um sistema de hierarquia digital conhecido como “cadeia de blocos” que utilizava carimbos de data e hora digitais para pedidos de transações.

Satoshi Nakamoto

Pseudônimo utilizado pela pessoa ou grupo de pessoas (até hoje não se sabe) que criaram a criptomoeda Bitcoin, Satoshi Nakamoto publicou em 2008 o artigo Bitcoin: A Peer-to-Peer Electronic Cash System, para no ano seguinte lançar o código como código aberto.

O nascimento do blockchain

A ideia por trás da tecnologia blockchain foi descrita no ano de 1991, quando os mencionados cientistas da computação (Haber e Stornetta) introduziram uma solução para documentos digitais, onde eles eram gerados com timestamp (registro de data e hora) e não podiam ser adulterados.

Entretanto, foi só em 2008 que a tecnologia blockchain foi finalmente posta em prática para a criação da criptomoeda.

Nakamoto melhorou o design de Haber e Storneta de uma maneira importante, usando um método semelhante ao Hashcash para marcar os blocos com o timestamp sem exigir que eles fossem assinados por uma parte confiável, o que reduziria a velocidade com que os blocos são adicionados à cadeia.

Em Outubro deste ano, Nakamoto publicou o artigo citado acima, já com as melhorias implementadas.

Em Janeiro de 2009 nascia, finalmente, o Bitcoin, sendo o blockchain o componente principal da primeira criptomoeda.

Nakamoto criou o site com o nome de domínio bitcoin.org e continuou a colaborar com outros desenvolvedores no software da criptomoeda até meados de 2010.

Nessa época, ele entregou o controle do repositório de código fonte e da chave de alerta de rede a Gavin Andresen, além de transferir vários domínios relacionados a vários membros importantes da comunidade Bitcoin e interrompeu seu envolvimento no projeto.

Até pouco antes de sua ausência e entrega, Nakamoto fez todas as modificações no código fonte.

Assim, vemos que o Bitcoin só foi possível graças a tecnologia blockchain e, por isso, é comum a confusão entre blockchain e a criptomoeda.

Blockchain existe sem Bitcoin, porém, o contrário não é verdadeiro.

Blockchain

Nesta seção veremos a definição de blockchain, sua estrutura e usos.

Definição

Podemos definir blockchain como uma lista de registros crescentes, onde “blocos” (blocks, em inglês) de dados são vinculados usando criptografia

Cada bloco contém um hash criptográfico do bloco anterior, um timestamp e dados da transação.

Sendo assim, esta tecnologia é, literalmente, uma cadeia e blocos (blockchain, em inglês), sendo:

Bloco (block): informação digital

Cadeia (chain): banco de dados público

Todos os registros feitos nos blocos são públicos, ou seja, qualquer pessoa (física ou jurídica) tem acesso a esses dados, sendo de total transparência.

Estrutura

Como já visto, a tecnologia é composta por blocos conectados por uma cadeia dos mesmos.

Esta tecnologia conta com um banco de dados distribuído, onde seu primeiro funcionamento foi com o Bitcoin.

Em poucas palavras, o blockchain é um “livro-razão” público composto por uma rede peer-to-peer e um banco de dados distribuído descentralizado.

v
Estrutura da rede blockchain

Blocos

Os blocos são compostos por 3 partes:

  1. Um timestamp da transação com seu valor.
  2. Informações sobre os participantes da transação, mostrando de onde sai e para onde vai o valor.
  3. Código hash criptografado.

Um bloco pode armazenar centenas e até milhares de transações, devido a informação ser bem pequena em termos de espaço de armazenamento (alguns bytes, apenas).

Assim, o bloco é um livro-razão (o mesmo conceito da Contabilidade) com informações de todas as transações realizadas nele.

Estrutura de um bloco na cadeia
Estrutura de um bloco na rede blockchain

Rede Peer-to-Peer

A rede Peer-to-Peer, também conhecida como P2P, não serve somente para baixar coisas via torrent.

A rede P2P é uma arquitetura de computadores ou redes que compartilham arquivos e/ou tarefas entre pares (peers).

Os pares nada mais são que parceiros desta rede.

Cada computador (usuário) desta rede é chamado de nó (node, em inglês) e, coletivamente, esses nós (nodes) compõe a rede P2P.

Na rede blockchain, quando um nó recebe uma nova informação, esta é criptografada e passada adiante para os outros nós.

Não há como rastrear quem adicionou a informação àquele bloco, sendo possível, apenas, verificar sua validade.

Imagem ilustrativa de rede P2P
Imagem ilustrativa de uma rede P2P

Função hash criptográfica

A função hash ou hashing é uma forma criptográfica que tem como objetivo converter qualquer forma de dados (envolvendo números, letras e/ou caracteres especiais) em uma sequência única de texto.

Todo e qualquer dado pode ser dividido em hash, independentemente do tamanho ou tipo.

Tradicionalmente, independentemente do tamanho, tipo ou comprimento dos dados, o hash produzido por qualquer dado é sempre o mesmo comprimento.

Observe a imagem abaixo:

Exemplo de criptografia hash SHA-1
Exemplo de criptografia hash SHA-1 (imagem retirada de Wikipedia)

Repare como da segunda para a terceira frase, onde a diferença é somente uma letra (de over para ouer, com “u” no lugar de “v”), como muda todo resultado (box rosa).

A ideia da criptografia hash é essa mesmo, dificultar ao ponto de impossibilitar (ou pelo menos quase) a mudança de qualquer dado original (box azul), preservando a integridade do mesmo.

Construção do hash

O hash, que se apresenta na forma de chave criptografada, inclui o número do bloco atual (neste exemplo, o bloco 50), o número do próximo bloco da cadeia (bloco 51), a data e a hora (timestamp) em que foi assinado e, também, a quantidade de transações inclusas no bloco presente.

Assim, os hashes formam ligações entre as cadeias até chegar ao bloco gênese (primeiro bloco da cadeia).

Merkle tree
Merkle tree (imagem de Wikipedia)

Interação entre as partes

Uma vez entendida cada uma das peças acima, vamos entender a interação entre elas.

Toda vez que uma transação é feita, é enviada uma mensagem a toda rede P2P.

Essa informação da transação é gravada no bloco correspondendo com o momento de seu processamento.

Quando um bloco chega ao seu fim, isto é, atinge o limite de dados, recebe uma assinatura hash:

Livro-razão do bloco sendo atualizado e assinado
Atualização e assinatura de um bloco da rede

Independente de ter chego ou não ao fim do bloco, quando um nó grava a transação em seu próprio livro-razão, ele envia essa informação para todos os outros nós da rede, onde cada um atualiza seu próprio livro-razão usando esta nova informação:

Nós atualizando a rede blockchain
Nós atualizando informações na rede blockchain

Tipos de rede

Até hoje, existem três tipos principais de blockchains:

  1. Pública (ex.: Bitcoin e Ethereum)
  2. Privada (ex.: Hyperledger e R3 Corda)
  3. Híbrida (ex.: Dragonchain)

Pública

Blockchains públicas são de código aberto, como o Bitcoin.

Eles permitem que qualquer pessoa participe como usuários, mineradores, desenvolvedores ou membros da comunidade.

Todas as transações que ocorrem em cadeias públicas são totalmente transparentes, o que significa que qualquer pessoa pode examinar os detalhes da transação.

As blockchains públicas são projetadas para serem totalmente descentralizadas, ou seja, não há um indivíduo/entidade, pública ou privada, que controle quais transações são ou não registradas na cadeia ou a ordem em que são processadas.

Assim, são imunes à censura, pois, qualquer pessoa está aberta para ingressar na rede, tornando extremamente difícil para as autoridades desativá-las ou auditá-las.

As cadeias públicas têm, geralmente, um token associado a elas, que projetado para incentivar e recompensar os participantes da rede.

Privada

As blockchains privadas, também conhecidas como permissioned blockchains, possuem algumas diferenças notáveis das públicas.

Primeiro, os participantes dela precisam de consentimento para ingressar na rede.

As transações, por serem privadas, estão disponíveis apenas para os participantes do ecossistema que receberam permissão para ingressar na rede.

Cadeias privadas são mais centralizadas do que as públicas.

Para empresas que desejam colaborar e compartilhar dados sem expor dados sigilosos, as blockchains privadas são muito valiosas, uma vez que as informações não são de domínio público.

As entidades que dirigem a cadeia privada têm controle significativo sobre os participantes e as estruturas de governança.

Com relação ao token, as blockchains privadas podem ou não ter um envolvido com a cadeia.

Híbrida

Este tipo de rede combina os benefícios de privacidade de uma blockchain privada com os benefícios de segurança e transparência de uma blockchain pública.

Isso significa dizer que existe uma flexibilidade significativa para escolher quais dados os participantes querem tornar públicos e transparentes e quais dados eles querem manter em sigilo.

Além disso, a possibilidade de postar em várias blockchains públicas ao mesmo tempo aumenta a segurança das transações, pois, elas se beneficiam do poder hash combinado aplicado às cadeias públicas.

Tokens

Na seção anterior citamos o token, mas, não o definimos.

Os cripto-tokens representam um ativo fungível e negociável em particular ou um utilitário que é frequentemente encontrado em uma blockchain.

Estes tokens são tipos especiais de tokens de uma moeda virtual que residem em suas próprias cadeias de blocos.

Por exemplo, pode-se ter um cripto-tokens que representa ‘x’ números de pontos de fidelidade em uma blockchain usada para gerenciar uma cadeia de varejo.

Pode haver outro cripto-token que autoriza o detentor do mesmo a exibir algumas horas de conteúdo de streaming em uma blockchain de compartilhamento de vídeo.

Um cripto-token pode, até mesmo, representar outra criptomoeda: um token pode ser igual igual a 6 bitcoins em uma blockchain específica.

Além de tudo, cripto-tokens são negociáveis e transferíveis entre os participantes da blockchain.

Usos do blockchain

a

Segurança nas transações

a

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *