O que é blockchain?
novembro 9, 2022Bitcoin é o resultado de décadas de pesquisas sobre criptografia e sistemas distribuídos, pois possui uma rede descentralizada (peer-to-peer), uma rede pública de transações (a blockchain), uma série de regras para validação das transações e também um mecanismo descentralizado de criação de novas unidades (mineração).
Mas afinal, o que é essa rede pública de transações? A blockchain se trata de um grande banco de dados que pode armazenar qualquer tipo de transação. No caso de blockchain da rede do Bitcoin, ela irá armazenar o registro das transações, salvando dados como a quantia transacionada, o endereço da carteira do remetente e do destinatário, o timestamp da transação e outras informações.
As informações são salvas em blocos e a cadeia desses blocos compõem a blockchain. Com exceção do primeiro bloco, conhecido como gênesis, os blocos estão sempre interligados ao seu anterior, por exemplo, o bloco 3 está ligado ao bloco 2, o bloco 4 está ligado ao bloco 3 e assim sucessivamente.
Graças à rede blockchain é possível que o bitcoin e outras criptomoedas existam. Todavia, cada criptomoeda tem a sua blockchain, suas regras de validação de transações e conteúdo que pode ser armazenado.
Esse encadeamento de blocos, em que cada um aponta para o seu anterior é feito através do hash. O hash é o resultado de um código gerado a partir de uma função hash (como a função SHA-256, que gera um hash de 256 bits). Uma função hash é um algoritmo que aceita dados de comprimento variável de “entrada” (input) e a partir deles gera o resultado (output) de tamanho fixo, denominado hash.
Cada hash deve ser único, caso eu tenha uma função hash que gera o mesmo resultado para duas variáveis de entrada (inputs) diferentes, essa função hash é ruim.
Outras características fundamentais de uma função hash são:
– Deve ser rápida a geração do output a partir de um input qualquer;
– Deve ser muito difícil de descobrir o input a partir do hash gerado;
– Deve ser muito difícil de modificar o input sem ser alterado o hash;
O hash será utilizado como identificador do bloco. O bloco é uma estrutura de dados que armazena diversos valores, como o timestamp, o nonce, o dado armazenado, o hash do bloco anterior e quaisquer outros valores daquela blockchain. No caso do bloco da rede blockchain do Bitcoin, nele permanecerá permanentemente salvo os dados daquela transação.