Blockchain: Parte II – Hash Pointers

Neste quinto post da série sobre o Bitcoin, falaremos sobre o elemento que conecta os blocos: hash pointers.

No post anterior, citei que no cabeçário do bloco, está presente o hash do bloco anterior. Esse hash do bloco anterior é utilizado para encadear esses blocos, sendo denominado de hash pointer (ponteiro).  

Em primeiro lugar, ponteiros são recursos usados em programação para guardar o endereço de um dado. Além da localização, eles também podem informar seu conteúdo. No blockchain, temos dois tipos de hash pointers: um ponteiro que indica a localização e o número de hash do bloco imediatamente anterior, e o ponteiro das transações contidas naquela bloco. Esse último aponta para o bloco que contém a transação anterior, da onde aquela quantia em Bitcoins veio. Assim, o “histórico” ou “rastro” da moeda, naquela transação em particular, fica registrado na rede. Portanto, independente de qual bloco anterior tenha vindo, o hash pointer da transação informa da onde aquelas moedas  negociadas neste bloco vieram.  Isso significa que é possível saber de qual transação vieram os bitcoins que estão na transação atual. 

 

Portanto, a ideia chave é construir estrutura de dados com hash pointers.

 

Essa estrutura de dados é o blockchain, uma série de blocos com dados e um ponteiro para o bloco anterior. O ponteiro para o bloco anterior é o  hash pointer, que informa seu local e seu hash.

Essa forma de estruturar os dados garante a segurança do sistema, prevenindo alterações no bloco. Trocar um bloco por outro, ou alterar uma informação dentro do bloco, gera um número de hash diferente daquele mostrado pelo bloco seguinte. Logo, para que esse ataque tenha sucesso, seria necessário alterar todos os blocos subsequentes. Se essa alteração não acontecer, o próximo bloco identifica que o número de hash está diferente do que aquele armazenado. Em suma, o blockchain nada mais é do que uma estrutura de blocos conectados por hash pointers, que guardam a localização e o número de hash do bloco anterior.

Você pode gostar...

Deixe uma resposta

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