O objetivo deste post é explicar como funciona a blockchain, da maneira mais simples possível, pois é um conceito difícil de explicar.
Blockchain é uma cadeia de blocos que contém informações que, mediante diversos conceitos já existentes (criptografia, teoria dos jogos, programação, redes descentralizadas, etc.), pode garantir que uma informação lá armazenada não pode ser apagada ou alterada no futuro.
Como funciona a blockchain: Hash
Isto acontece porque os blocos são armazenados com data e hora (timestamp), com as transações feitas naquele instante, e uma assinatura (hash) gerada sobre estes dados, em um processo conhecido como mineração (resolução de um problema matemático – prova de trabalho, ou proof of work).
A grande sacada do Nakamoto foi que este hash que garante a autenticidade do bloco fará parte do bloco seguinte, com as informações deste.
No bloco seguinte, um novo hash referente a ele é gerado e passado para o bloco posterior.
E assim, vai se formando uma cadeia de blocos (blockchain), em que cada bloco novo incluído na cadeia depende do hash do bloco anterior.
Estes blocos, no caso do blockchain do bitcoin, armazenam as transações financeiras enviadas de uma carteira de origem para outra de destino (envio e recebimento de bitcoins).
Como a cadeia não pode ser adulterada, isto garante que eu não posso utilizar meu mesmo saldo de bitcoin na carteira mais de uma vez, pois a blockchain armazena que eu já gastei aquele valor e meu saldo atual.
A blockchain é descentralizada porque ela tem múltiplas cópias espalhadas por computadores do mundo inteiro.
Ao instalar uma carteira de bitcoin que seja full node (possui uma cópia local completa do blockchain), ela começa a baixar toda a cadeia dos outros computadores que possuem uma cópia.
Como a cadeia é enorme, o download pode demorar dias.
Ao final, você terá em seu computador uma cópia de todas as transações feitas na blockchain desde o primeiro bloco (chamado Genesis).
Mineração de bitcoin
O processo de cálculo do hash do bloco se chama, através da resolução de um problema matemático (prova de trabalho ou proof of work).
A aproximadamente cada dez minutos, um minerador consegue resolver este problema.
Os demais mineradores podem validar rapidamente se a resolução está correta.
Se estiver, este bloco minerado se junta à blockchain (inclusive sua cópia local) e o minerador que resolveu o problema, recebe uma recompensa (novos bitcoins).
Porque a blockchain é descentralizada e inviolável
Se um fraudador quiser alterar uma transação ocorrida há 50 blocos atrás, ele terá de recriar não só o bloco fraudado, mas todos os 50 blocos seguintes (minerar tudo de novo).
Mas enquanto ele faz isto, os outros mineradores continuam, a cada dez minutos, criando blocos e adicionando-os à blockchain sem a transação fraudada (cadeia honesta).
O protocolo do bitcoin é feito de tal forma que é aceita pelos outros mineradores somente a maior cadeia existente (a que tem o maior número de blocos).
Para o fraudador conseguir introduzir a fraude, ele tem de fraudar todos os blocos seguintes mais rapidamente que os outros.
Matematicamente, por meio de teoria dos jogos, se pode provar que o fraudador somente conseguiria fazer isto se o computador dele tiver mais processamento do que metade de todos os outros computadores no mundo que estão minerando a cadeia honesta.
Uma vez que minerar tem custo (energia elétrica), compensa mais para o fraudador, financeiramente, não fazer a fraude, mas ajudar a manter a cadeia honesta.
Como funciona a blockchain: Conclusão
Espero ter explicado de forma simples este conceito de blockchain, que não é muito fácil de explicar.
Existem diversas aplicações da blockchain, uma das mais conhecidas são as criptomoedas.
Este post faz parte de uma série de artigos sobre Criptomoedas.