OS QUATRO PASSOS PARA O FUNCIONAMENTO DO BLOCKCHAIN

OS QUATRO PASSOS PARA O FUNCIONAMENTO DO BLOCKCHAIN

As manchetes dos noticiários de tecnologia envolvendo o blockchain são estrondosas. “É a maior revolução do século 21”; “Vai mudar o mundo”; “A maior coisa depois da Internet”. Muito desse conteúdo divulgado explora o potencial do blockchain, porém muito pouco se trata, efetivamente, de como funciona o blockchain. A não ser, é claro, em fóruns técnicos.

Recentemente, em um webcast (https://conteudo.smlbrasil.com.br/webinar-blockchain) procurei explorar esse potencial e ir além abordando como o blockchain pode gerar novas oportunidades de negócios.

Existe uma literatura vasta de artigos publicados na Internet explicando o blockchain, sua importância para a economia mundial e potenciais casos de uso. Ainda assim, se você é curioso, e não é técnico, ficam as perguntas: por que o blockchain é tão poderoso? Por que é tão seguro? Por que é tão complexo? Neste artigo, tento explicar, de maneira resumida e muito simplificada, alguns dos principais conceitos e processos envolvidos no blockchain. É importante deixar claro que não se trata de um detalhamento técnico rígido de seu funcionamento. Além disso, em muitas situações, procurei simplificar, resumir ou até mesmo omitir conceitos (quando muito técnicos). Espero com isso poder desmistificar um pouco o assunto.

O Blockchain não é um produto, um fornecedor ou uma implementação única. Blockchain é um conceito, uma arquitetura de banco de dados. Não existe um único blockchain, existem vários. O mais conhecido é o blockchain que suporta as transações do Bitcoin, a moeda virtual. Mas existem vários outros. Você pode criar um blockchain em sua casa, no seu computador, por exemplo. Basta seguir alguns procedimentos.

 

1º passo: O registro de uma transação

Por ser comparado a um banco de dados, imagine o blockchain, de modo muito simplificado, como uma planilha Excel. Essa planilha Excel tem algumas colunas. Já que o blockchain do Bitcoin armazena transações financeiras, que colunas esse Excel deveria ter? Alguns comparam o blockchain com um livro-razão. Para simplificar ainda mais, imagine uma planilha com, no mínimo, a origem, o destino e o valor da transação.

Uma característica essencial do blockchain, entretanto, é que ele trabalha de maneira descentralizada e distribuída. Isso significa que qualquer pessoa poderia ter uma cópia da nossa planilha Excel em seu computador. Algo parecido com o compartilhamento de arquivos via Torrent (extensão de arquivos utilizados por um protocolo de transferência do tipo P2P - PeertoPeer). De fato, tenho uma cópia do blockchain do Bitcoin em meu computador e ela ocupa 80 GB neste momento. Diariamente, eu recebo dados atualizados dessa planilha.

Outra característica essencial do blockchain é o sigilo e privacidade dos dados. Isso significa que ninguém pode saber quem são as pessoas envolvidas na transação. Logo, nossa planilha precisa melhorar. Não posso expor os dados das pessoas envolvidas na transação!

Como esconder essa informação? Se você pensou em criptografia, pensou certo.

 

2º passo: Tornar a transação anônima

Para isso, o blockchain trouxe a ideia de endereço (address). A partir de uma chave privada, de sua posse, aplicando operações criptográficas, você pode gerar diversos endereços diferentes, que são um conjunto longo de caracteres e números. Recomenda-se que, a cada nova transação que você realizar, utilize um endereço diferente.

Digamos que, no nosso exemplo, Marcos queira enviar dinheiro para Axl. Para fazer isso, Marcos precisa que Axl informe a ele um endereço.Veja então como ficou nosso blockchain até o momento:

A partir do endereço, ninguém tem como descobrir a identidade do Marcos e do Axl. Mas, com suas respectivas chaves privadas, eles podem assumir as propriedades desses endereços. Tanto Marcos quanto Axl guardam suas chaves privadas em locais muito seguros (em um papel embaixo da cama, em um cofre ou em um programa do tipo "carteira" no computador ou smartphone).

 

3º passo: Tornar a transação "oficial"

Quando Marcos faz uma transação e envia Bitcoins para Axl, entretanto, essa transação não é automaticamente incluída no blockchain. Ela precisa ser validada. Por isso, ela fica em uma espécie de área temporária, esperando ser incluída no blockchain, quando então é oficializada. Veja na imagem abaixo nosso status "Pendente".

A cada 10 minutos, mais ou menos, todas as transações do mundo que estão na área temporária são analisadas por uma pessoa, chamada de miner. Na verdade, é um computador ligado à rede do blockchain que, após ganhar uma competição matemática, ganha o direito de incluir as transações pendentes no blockchain. Para isso, ele ganha um prêmio, em Bitcoins. Essa competição ocorre novamente daqui a 10 minutos.

Entre outras coisas, o minervai verificar a autenticidade de cada transação. Como saber se alguém simplesmente gerou um volume de endereços falsos e está simulando transações para sua própria conta, esperando que alguma exista? Para isso existe a assinatura digital.

Quando Marcos fez a transação para Axl, ele assinou digitalmente as informações dessa transação com sua chave privada. Esse processo de assinatura é como uma operação criptográfica em cima de todas as informações da transação e, igualmente, gera uma chave representada por um novo conjunto de caracteres e números (a assinatura).

O minervai confirmar que essa assinatura é válida, correspondente aos dados da transação, confirmando então a operação. Nesse momento, também, é oficializada a data da transação, através de um carimbo oficial de tempo. Por fim, o próprio minerassina a transação e gera novos procedimentos criptográficos, dando origem, para cada transação, ao “transaction id”, a chave que oficializa a transação.

 

 4º passo: Tornar a transação imutável

Infelizmente, estamos ainda um pouco longes do fim. Temos um problema sério a resolver. Se todo mundo tem uma cópia dessa “planilha”, o que impede de alguém apagar uma transação, atualizar os dados de uma transação ou mudar valores? A transação é assinada digitalmente, mas seria relativamente fácil mudar os dados da transação E da assinatura digital ao mesmo tempo.

Aqui começa o grande segredo do blockchain e o próprio motivo pelo qual ele é chamado assim (corrente de blocos). Para isso, é preciso entender o conceito de hash.

O hashé uma operação ou função matemática que pode ser realizada sobre qualquer conjunto de informações digitais. Existem dezenas de funções de hashdiferentes. Quando você seleciona um método de hash, sempre que aplicar sobre um determinado texto, ele irá gerar a mesma sequência simplificada de caracteres e números. Se você modificar qualquer coisa no texto, mesmo que uma vírgula, o hashirá mudar totalmente. Veja abaixo duas frases que passaram pela função de hash MD5, uma das mais simples:

Você pode fazer alguns testes e brincadeiras em https://www.miraclesalad.com/webtools/md5.php.

Quando o minerrealizou a validação de nossa transação, ele fez isso com todas as transações que estavam pendentes ao mesmo tempo. E, depois, gerou um hashcalculado a partir de todas operações realizadas nesse bloco.

Quando esse bloco é inserido, finalmente, no blockchain, mais uma operação ocorre. Olhando para o hashfinal do bloco anterior (no nosso caso, 53), é realizada nova operação, gerando um novo hash final para esse novo bloco, elaborado a partir do hashdo bloco anterior e do hashgerado a partir das transações desse bloco.

Observe que, uma vez que cada bloco adicionado no blockchain é armazenado e criptografado usando informações do bloco anterior, absolutamente todos os registros do nosso banco de dados estão entrelaçados. O bloco 54 depende do 53, que depende do 52. Essa lógica remete até o início do blockchain, que no caso do Bitcoin foi há sete anos.

Se eu quiser mudar os dados de uma transação qualquer, ou mesmo excluir uma transação do blockchain, mesmo que eu consiga fazer isso na cópia local que tenho em meu computador, jamais conseguiria oficializar isso frente às demais cópias do blockchain. Digamos que eu mude o valor de uma transação que foi realizada faz três anos. Ao mudar o valor da transação, o hashda transação é modificado. Com isso, o hashdo próximo bloco é modificado. E a partir daí, todos os demais blocos e transações ocorridas até o dia de hoje seriam modificados. A operação não seria aceita e o volume de processamento computacional necessário para que eu conseguisse modificar isso e recalcular os hashsem todas as cópias existentes do blockchain seria impensável.

Você deve ter observado, entretanto, que quanto mais recente a transação, menor sua força e, teoricamente, mais fácil seria de adulterá-la. De fato, modificar os dados do último bloco, ocorrido 10 minutos atrás, seria teoricamente mais simples. É por isso que alguns indicam esperar alguns blocos a mais serem processados até considerar sua transação “segura”.

Realmente, não é um assunto simples de se entender. Mas espero ter despertado o interesse em desvendar a lógica do funcionamento do blockchain.

 

[author] [author_image timthumb='on']https://docmanagement.com.br/wp-content/uploads/2017/05/rafael-bortolini-thumbnail.jpg[/author_image] [author_info]Rafael Bortolini

Diretor de P&D e Inovação da SML Brasil[/author_info] [/author]

Share This Post

Post Comment