Blockchain – Parte I: Merkle Tree

No quarto post da série sobre o Bitcoin, vamos introduzir um dos conceitos chave desse ecossistema: o Blockchain.

Nos posts anteriores, citamos que o Bitcoin é um sistema peer-to-peer, que faz uso de assinaturas digitais e funções hash. Você pode acompanhar toda a série de posts aqui.

O blockchain (em português “cadeia ou encadeamento de blocos”) é a estrutura dos blocos que contém as transações.  Como o próprio nome diz, são blocos encadeados. Essa tecnologia permite que seja feita a transferência eletrônica de valores, isto é, é aplicada em blocos de transações. Mas esta forma de estruturar e encriptar dados pode ser utilizada para qualquer tipo de informação transmitida pela rede.

Antes de entender como o encadeamento de blocos é feito, vamos inicialmente pensar em único bloco, contendo uma série de transações. De cada transação, é calculado o hash (ou id). Estes hashes de transações são organizados dois a dois e, então, desse par é calculado um novo hash. Essa sequência é repetida sucessivamente até que reste um único hash, chamado de merkle root. Esse processo de, calcular o id de transações singulares, e depois combiná-los em pares, aplicando a função hash até que reste o merkle root, forma uma estrutura chamada merkle tree. Portanto, a merkle root é uma espécie de assinatura de todas as transações dentro de um único bloco.

Os blocos também possuem um cabeçalho.

Neste cabeçalho estão presentes o merkle root, juntamente com o hash do bloco anterior e um número aleatório chamado nounce, que falaremos no post sobre mineração.  Dessa informação do cabeçalho é calculado um novo hash, que servirá como um identificador do bloco.

Portanto, vamos recapitular o que vimos até aqui: É calculado o hash de cada transação, e através destes, calculado novos hashes naquele formato da Merkle tree, até chegar no Merkle Root. Este último é adicionado ao cabeçalho, junto com o hash do bloco anterior e o nounce e, de todo esse conjunto do cabeçalho, calculado um novo hash, que caracteriza o bloco. 

Esses são os elementos de um único bloco. Mas como é feito o encadeamento de blocos e por que isso é importante?  É o que veremos na próximo post!

 

Você pode gostar...

Deixe uma resposta

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