$BTC $BTC $BTC

VALIDANDO UM NOVO BLOCO

O terceiro passo no mecanismo de consenso do bitcoin é a validação independente de cada

novo bloco por cada nó na rede. À medida que o bloco recém-resolvido se move pela

rede, cada nó realiza uma série de testes para validá-lo antes de propagá-lo para seus

pares. Isso garante que apenas blocos válidos sejam propagados na rede. A validação

independente também garante que os mineradores que agem de forma honesta tenham

seus blocos incorporados na blockchain, assim ganhando a recompensa. Aqueles

mineradores que agem de forma desonesta têm seus blocos rejeitados e não só perdem a

recompensa, mas também desperdiçam o esforço empregado para encontrar uma solução

de Proof-of-Work, incorrendo assim no custo da eletricidade sem compensação.

Quando um nó recebe um novo bloco, ele valida o bloco verificando-o contra uma

longa lista de critérios que devem ser atendidos; caso contrário, o bloco é rejeitado.

Esses critérios podem ser vistos no cliente Bitcoin Core nas funções CheckBlock e

CheckBlock Header e incluem:

• A estrutura de dados do bloco é sintaticamente válida

• O hash do cabeçalho do bloco é menor que o alvo (impõe o Proof-of-Work)

• O timestamp do bloco é menor que duas horas no futuro (permitindo erros de

tempo)

• O tamanho do bloco está dentro dos limites aceitáveis

• A primeira transação (e apenas a primeira) é uma transação coinbase

• Todas as transações dentro do bloco são válidas usando a lista de verificação de

transações discutida em “Verificação Independente de Transações”