O que é blockchain?
Resumindo, o blockchain equivale a um livro-razão digital descentralizado que registra uma série de dados. Esses dados são organizados em blocos, protegidos por criptografia e organizados em ordem cronológica.
Os primeiros modelos de blockchain foram construídos no início da década de 1990. Na época, o cientista da computação Stuart Haber e o físico W. Scott Stornetta usaram tecnologia de criptografia para proteger os dados contra adulteração.
Essa conquista de Haber e Stornetta inspirou muitos cientistas da computação e entusiastas da criptografia a estudar o blockchain, o que também promoveu o nascimento do Bitcoin, o primeiro sistema de dinheiro eletrônico descentralizado do mundo (a primeira criptomoeda).
Embora a tecnologia blockchain tenha precedido as criptomoedas, foi somente em 2008, quando o Bitcoin nasceu, que a primeira gradualmente ganhou reconhecimento. Desde então, o interesse público na tecnologia blockchain cresceu e as criptomoedas começaram a ganhar popularidade.
A tecnologia Blockchain é usada principalmente para registrar transações de criptomoeda, mas também pode registrar uma variedade de dados digitais e também pode ser aplicada a outros campos. A maior, mais antiga e segura rede blockchain é o Bitcoin, que foi cuidadosamente projetado para combinar criptografia e teoria dos jogos de forma equilibrada.
Como funciona o blockchain?
No mundo das criptomoedas, podemos pensar em um blockchain como uma cadeia de blocos estáveis, cada um dos quais armazena uma sequência de dados de transações previamente confirmados. A rede blockchain é mantida em conjunto por inúmeros computadores, portanto sua principal função é atuar como um banco de dados (ou livro-razão) descentralizado. Em outras palavras, todos os participantes (ou seja, nós) no blockchain mantêm uma cópia dos dados do blockchain e mantêm uma boa comunicação entre si para garantir que todos estejam sempre na mesma página (ou bloco).
Como resultado, as transações blockchain ocorrem em uma rede global peer-to-peer, promovendo o Bitcoin como uma criptomoeda descentralizada, sem fronteiras e resistente à censura. No entanto, a maioria dos blockchains não requer nenhum mecanismo de confiança e são considerados sistemas sem confiança. O Bitcoin também não possui regulador independente.
Quase todos os blockchains possuem mineração em seu núcleo, o que é inseparável dos algoritmos de hash. Bitcoin usa o algoritmo SHA-256 (Secure Hash Algorithm 256 bits), que permite inserir uma string de qualquer comprimento para produzir uma saída do mesmo comprimento. O resultado de saída pode ser chamado de "valor hash", que sempre tem 64 caracteres (256 bits).
Portanto, não importa quantas vezes a “mineração” seja repetida, a mesma entrada sempre produz a mesma saída. No entanto, se a entrada mudar ligeiramente, a saída será completamente diferente. Portanto, a função hash é determinística, enquanto a maioria das criptomoedas são projetadas com uma função hash unilateral.
Este tipo de função determina que o usuário não pode inferir a entrada com base nos resultados de saída. A única maneira é adivinhar, mas a probabilidade de adivinhar é muito pequena. Esta é uma das razões pelas quais o blockchain Bitcoin é seguro e confiável.
Agora que entendemos a funcionalidade do algoritmo, vamos ilustrar como o blockchain funciona por meio de um exemplo simples de transação.
Suponha que Alice e Bob sejam dois detentores de Bitcoins e que Alice deva a Bob dois Bitcoins.
Para reembolsar Bob com dois Bitcoins, Alice transmite essas informações da transação para mineradores em toda a rede.
Nessa transação, Alice informa aos mineradores o endereço de Bob e a quantidade de Bitcoins negociados, e anexa uma assinatura digital com sua chave pública. Esta assinatura é gerada pela chave privada de Alice e permite aos mineradores verificar se Alice é a verdadeira proprietária desses Bitcoins.
Depois de confirmar que a transação é autêntica e válida, o minerador pode colocar essas informações da transação em um bloco junto com outras informações da transação e tentar “minerar” esse bloco. Este bloco é operado através do algoritmo SHA-256, e o resultado da operação deve começar com um certo número de “0” antes que possa ser considerado válido. O número “0” depende da “dificuldade” da operação, que mudará com as mudanças no poder computacional de toda a rede.
Para gerar corretamente o número esperado de hashes “0”, os mineradores adicionam um “nonce” ao bloco antes de executar o algoritmo de criptografia. Pequenas alterações neste valor alterarão completamente o resultado da operação, e os mineiros devem tentar diferentes nonces aleatórios até obterem o valor de hash correto.
Cada vez que um bloco é minerado, os mineradores transmitem as informações do novo bloco para toda a rede para que outros mineradores possam confirmar a validade do bloco. Posteriormente, eles adicionarão as informações válidas do bloco ao seu próprio blockchain, indicando que a transação foi concluída. No entanto, os mineradores ainda precisam adicionar o valor hash do bloco anterior ao novo bloco e, eventualmente, conectar todos os blocos para formar um verdadeiro “blockchain”. Isto é muito importante e reflete o papel da confiança no sistema.
Cada minerador armazena sua própria cópia do blockchain em um computador pessoal e chega a um consenso: o blockchain com maior poder computacional deve ser o mais longo. Se alguém quiser alterar as informações da transação no bloco anterior, o valor de hash deste bloco também mudará, fazendo com que os valores de hash de todos os blocos após este bloco sejam alterados. Ele deve refazer todos os cálculos anteriores para convencer os outros de que as informações do seu bloco estão corretas. Portanto, se um minerador tentar adulterar informações do bloco, ele deverá investir mais de 50% do poder computacional de toda a rede, o que é quase uma fantasia. Ataques de rede semelhantes são, portanto, chamados de ataques de 51%.
Este modelo que requer operações computacionais para gerar novos blocos é denominado Prova de Trabalho (PoW). Existem também outros mecanismos, como o Proof of Stake (PoS), que não exigem grande poder computacional, consomem menos energia e atraem mais usuários para participar.

