Blocos
O que é um bloco no Bitcoin?
Um bloco é um conjunto de transações que foram adicionadas à blockchain.
Como os blocos são formados?
Os blocos são construídos durante o processo de mineração.
Noções básicas de mineração
Quando você faz uma transação de bitcoin, ela não é adicionada à blockchain imediatamente. Em vez disso, ela é mantida em um conjunto temporário de transações.

Eu o chamei de "conjunto de transações" aqui, mas o termo oficial é memory pool.
Se você é um minerador, sua função é reunir transações do conjunto de transações em um "bloco candidato" e tentar adicionar esse bloco candidato à blockchain.
Cabeçalho do bloco
Cada bloco candidato recebe um cabeçalho de bloco, que é basicamente um conjunto de metadados contendo informações sobre o conteúdo do bloco.
Os mineradores usam esse cabeçalho de bloco como ponto de partida ao tentar adicionar um bloco à blockchain.
Metadados – dados que descrevem outros dados, servindo como um rótulo informativo.
Como os blocos são adicionados à blockchain?
Para adicionar um bloco candidato à blockchain, você faz o hash dos dados do cabeçalho do bloco e torce para que o resultado fique abaixo de um certo valor alvo.
O alvo é calculado a partir da dificuldade, que é um valor definido pela rede bitcoin para regular o quão difícil é adicionar um bloco de transações à blockchain.
Não se preocupe, eu sei que essa história de dificuldade e alvo é um pouco confusa no início, mas vai fazer mais sentido com o tempo.
- Dificuldade
- Um valor usado para regular a rapidez com que os blocos são resolvidos. Todos os nós concordam com o mesmo cálculo da dificuldade para a altura atual da blockchain. Ela se ajusta a cada 2.016 blocos (aproximadamente a cada 2 semanas) para ajudar a manter uma média de 10 minutos entre os blocos.
Pense no alvo como a barra do limbo para os blocos candidatos — quanto maior a dificuldade, mais baixo o alvo e mais difícil é encontrar um hash de bloco que fique abaixo desse valor.
Um número extra
Eu menti. Na verdade você não faz o hash do cabeçalho do bloco sozinho. Você o faz junto com um número extra.
Esse número extra é chamado de nonce, e é basicamente um campo coringa que os mineradores usam para ajudar a obter um hash de bloco abaixo do valor alvo.
Nonce – um número arbitrário usado apenas uma vez em uma comunicação criptográfica.
Se o primeiro nonce não funcionar (começando em 0), continue incrementando-o e fazendo o hash do cabeçalho do bloco. Com sorte, você encontrará um nonce que retorne um hash de bloco abaixo do valor alvo atual.
Eu sei que esses valores de hash contêm letras, mas você ainda pode pensar neles como números, como quaisquer outros. Eles são simplesmente valores hexadecimais, e os computadores adoram trabalhar com eles.
Resolvendo o bloco
Assim que você encontra um nonce que produz um hash de bloco baixo o suficiente, o bloco é "resolvido" e todas as transações desse bloco são adicionadas à blockchain.
Todos os mineradores agora voltam ao conjunto de transações e começam a trabalhar no próximo bloco candidato. Eles usarão o seu hash de bloco bem-sucedido no próximo cabeçalho de bloco deles (para que possam construir sobre o bloco que você acabou de minerar), e a corrida para adicionar um novo bloco de transações à blockchain começa de novo.
Bom trabalho.