Índice do curso · 13 aulas
Fundamentos do Bitcoin

O que é um bloco em uma blockchain? Hashes, árvores de Merkle e o bloco gênese

Uma caixa de aço aberta contém cartões em branco de cor creme sob um cartão superior mais grosso, com uma mão segurando a tampa ao lado.

Esta aula é uma tradução do original em inglês, que é o texto de referência. Ler em inglês

No Bitcoin, um bloco é um conjunto fechado de transações com um cabeçalho curto em cima: uma marca de tempo, uma impressão digital de todas as transações dentro e outra do bloco anterior. Ligados em cadeia, os blocos formam o registro compartilhado que acompanha todos os bitcoins desde janeiro de 2009, sem autoridade central. Se a blockchain é um livro-razão, os blocos são as páginas dele.

Nesta aula, você vai abrir um bloco: o que há no cabeçalho, como os blocos se ligam, o que uma árvore de Merkle faz e por que o primeiro, o bloco gênese, ainda carrega uma mensagem sobre a razão de existir do Bitcoin. Antes, um termo: um hash é uma impressão digital de tamanho fixo de alguns dados (o Bitcoin usa SHA-256). Altere um pouco os dados e o hash sai completamente diferente, uma propriedade chamada efeito avalanche.

O que é um bloco na blockchain do Bitcoin?

Um bloco faz duas coisas: registra um conjunto de transações válidas e se liga a todos os blocos anteriores. Os mineradores, computadores que competem para produzir o próximo bloco válido por prova de trabalho, adicionam um novo a cada 10 minutos, mais ou menos.

Componentes do cabeçalho de um bloco

Um bloco tem duas partes: um cabeçalho de bloco de 80 bytes e a lista de transações. Os mineradores calculam o hash do cabeçalho repetidamente. Ele tem seis campos:

CampoTamanhoDescrição
Versão4 bytesQual conjunto de regras de bloco ele segue. Os mineradores também usam para sinalizar que estão prontos para uma atualização (um sinal de coordenação, não um voto: mais na aula Quem faz cumprir as regras do Bitcoin)
Hash do bloco anterior32 bytesO hash do cabeçalho do bloco anterior: essa é a “cadeia” em blockchain
Raiz de Merkle32 bytesUm hash que resume todas as transações do bloco (explicado abaixo)
Marca de tempo4 bytesHorário aproximado em que o bloco foi criado, contado em segundos desde 1 de janeiro de 1970 (a “época Unix”)
Alvo de dificuldade4 bytesUma forma compacta do alvo: o número abaixo do qual o hash do bloco precisa ficar
Nonce4 bytesUm número que os mineradores mudam a cada tentativa para obter um hash novo

Os mineradores calculam o hash desse cabeçalho de 80 bytes (com um nonce novo a cada vez) trilhões de vezes por segundo até o resultado ficar abaixo do alvo.

Um bloco desenhado como uma caixa. Em cima, o cabeçalho de 80 bytes com seis campos: versão (4 bytes), hash do bloco anterior (32 bytes), raiz de Merkle (32 bytes), marca de tempo (4 bytes), alvo (4 bytes) e nonce (4 bytes). O hash do bloco anterior aponta para o bloco que veio antes. Abaixo do cabeçalho está a lista de transações, que a raiz de Merkle resume em um hash. A primeira é a transação coinbase, que paga ao minerador 3,125 BTC de bitcoin novo mais todas as taxas. O restante são transações comuns da mempool do minerador. Um bloco médio tem cerca de 4.000 transações e costuma ocupar de 1,5 a 2 MB.
Um bloco é um cabeçalho pequeno sobre uma lista longa de transações. O cabeçalho de 80 bytes carrega duas impressões digitais: uma do bloco anterior, que faz a cadeia, e outra de todas as transações dentro, a raiz de Merkle.

Limites de tamanho e peso dos blocos

Até a atualização SegWit de 2017, que moveu os dados de assinatura para uma parte separada de cada transação, os blocos eram limitados a 1 MB. O SegWit trocou esse limite por um de 4 milhões de unidades de peso, em que dados de assinatura contam um quarto do que contam os outros dados. Em teoria, um bloco pode chegar perto de 4 MB; na prática, costuma ocupar de 1,5 a 2 MB. Na semana encerrada em 6 de novembro de 2026, os blocos tinham cerca de 4.000 transações em média.

O que há na lista de transações

A primeira transação de cada bloco é especial: a transação coinbase (sem relação com a empresa de mesmo nome). Tem exatamente uma entrada, que não gasta moedas anteriores. Essa entrada tem um campo de dados de formato livre, onde fica a manchete de jornal do bloco gênese. As saídas dela pagam ao minerador o subsídio de bloco (bitcoin novo, 3,125 BTC desde abril de 2024) mais todas as taxas das outras transações do bloco. Para saber o que acontece conforme o subsídio diminui, leia a aula O que acontece quando todos os bitcoins forem minerados.

O restante são transações comuns tiradas da mempool do minerador, a fila dele de transações válidas esperando confirmação. Os mineradores preferem as que pagam mais, mas tratam transações ligadas como grupos, e uma transação pai sempre precisa vir antes da que gasta a saída dela. Por isso, a lista não é simplesmente ordenada pela taxa.

Como os blocos se ligam

A cadeia de hashes

Cada cabeçalho de bloco contém o hash do cabeçalho do anterior. O bloco 974.738 guarda o hash do cabeçalho do bloco 974.737, que guarda o do 974.736, e assim até o bloco 0, o gênese.

Isso cria uma cadeia de dependências em um só sentido. Se você alterar uma transação em um bloco antigo, o efeito avalanche muda a raiz de Merkle dele e, com ela, o hash do cabeçalho. O bloco seguinte ainda carrega o hash antigo, então a ligação se rompe, assim como todas as seguintes.

Linha de cima: os blocos 974.736, 974.737 e 974.738 em fila. O cabeçalho de cada um guarda o hash do anterior, desenhado como uma impressão digital, e as impressões digitais batem. Linha de baixo: uma transação do bloco 974.736 é alterada. A raiz de Merkle dele muda e, com ela, o hash. O bloco 974.737 ainda guarda o hash antigo, então a ligação se rompe, e todos os blocos seguintes precisariam ser refeitos.
Cada bloco carrega a impressão digital do anterior. Altere uma transação antiga e a impressão digital daquele bloco muda. O bloco seguinte deixa de bater, e tudo depois precisaria ser reconstruído.

Por que é tão difícil mudar blocos antigos

Para alterar um bloco passado e ainda ter uma cadeia aceita pelos nós (os computadores que conferem cada bloco com as regras do Bitcoin), um atacante teria que:

  1. mudar os dados do bloco.
  2. refazer a prova de trabalho daquele bloco.
  3. refazer a prova de trabalho para todos os blocos seguintes.
  4. e ultrapassar a rede honesta, que continua adicionando blocos, porque os nós seguem a cadeia válida com mais trabalho acumulado.

Com a rede em torno de 1.000 EH/s (1021 hashes por segundo) em novembro de 2026, isso exige mais poder computacional que todo o restante da rede junto. Cada bloco extra de profundidade acrescenta mais dez minutos, mais ou menos, de trabalho da rede inteira a refazer. A razão pela qual a cadeia honesta vence está na aula sobre prova de trabalho.

O que é uma árvore de Merkle?

Uma árvore de Merkle, que leva o nome do cientista da computação Ralph Merkle, resume todas as transações de um bloco em um único hash, a raiz de Merkle, guardada no cabeçalho.

Como uma árvore de Merkle funciona

Pegue um bloco com quatro transações, de TX1 a TX4. Escreva H1 para o hash de TX1, e assim por diante. A árvore é construída de baixo para cima:

  • Linha de baixo: calcule o hash de cada transação: H1, H2, H3, H4.
  • Linha do meio: calcule o hash de cada par junto: H12 = hash(H1 + H2) e H34 = hash(H3 + H4).
  • Em cima: calcule o hash do último par: Root = hash(H12 + H34).
Uma árvore construída de baixo para cima. Embaixo, quatro transações, de TX1 a TX4. Etapa 1: calcula-se o hash de cada uma, resultando em H1, H2, H3 e H4. Etapa 2: calcula-se o hash de cada par junto, H12 = hash(H1 + H2) e H34 = hash(H3 + H4). Etapa 3: calcula-se o hash do último par para obter a raiz, Root = hash(H12 + H34). A raiz entra no cabeçalho do bloco como raiz de Merkle.
Quatro transações viram um hash, de baixo para cima. Calcula-se o hash de cada transação e depois o dos hashes em pares, reduzindo a quantidade pela metade até sobrar um: a raiz de Merkle no cabeçalho do bloco. Se qualquer transação mudar, todos os hashes acima dela se alteram.

Com mais transações, basta adicionar mais linhas. Cada etapa reduz pela metade a quantidade de hashes até sobrar um. Alterar qualquer transação muda o hash dela e todos os que estão acima até a raiz. Isso modifica o hash do cabeçalho do bloco e rompe a cadeia.

Por que árvores de Merkle importam: verificação eficiente

Árvores de Merkle permitem à carteira conferir se uma transação está em um bloco sem baixar o bloco inteiro. Isso se chama verificação simplificada de pagamentos (SPV), e carteiras leves como o Electrum funcionam assim: baixam apenas os cabeçalhos de 80 bytes e pedem a um servidor uma prova de Merkle, os poucos hashes irmãos no caminho da transação até a raiz.

No exemplo de quatro transações, para provar que TX3 está no bloco você só precisa de dois hashes: H4 (para calcular H34 com H3) e H12 (para calcular a raiz com H34). Se o resultado bater com a raiz de Merkle do cabeçalho, TX3 está no bloco. Para um bloco de 4.000 transações, a prova só precisa de 12 hashes, porque 4.000 pode ser dividido pela metade 12 vezes. A limitação: uma carteira SPV confia que o bloco siga todas as regras, algo que só um nó completo verifica.

A mesma árvore de quatro transações. Sua transação TX3 e o caminho dela pela árvore, H3, H34 e a raiz, estão destacados. Um servidor manda só dois hashes, H4 e H12. TX1, TX2, TX4, H1 e H2 não são necessários. Com TX3, você calcula H3, depois H34 com H4 e então a raiz com H12. Se o resultado bater com a raiz de Merkle do cabeçalho de 80 bytes, TX3 está no bloco. Com 4 transações, a prova tem 2 hashes. Com 4.000, só 12.
Para provar que uma transação está em um bloco, você só precisa dos hashes ao lado do caminho dela. Para TX3, são H4 e H12. Mesmo em um bloco de 4.000 transações, a prova só precisa de 12 hashes.

O que é o bloco gênese?

O bloco gênese, bloco 0, é o primeiro da blockchain do Bitcoin. Satoshi Nakamoto criou em 3 de janeiro de 2009.

A manchete do The Times

No campo de dados da entrada da transação coinbase, Satoshi deixou este texto:

“The Times 03/Jan/2009 Chancellor on brink of second bailout for banks”

Cumpre duas funções. Prova que o bloco não foi criado antes de existir o jornal daquele dia. E costuma ser lido como um comentário sobre o sistema bancário: o Bitcoin surgiu depois da crise financeira de 2008. Você vai entender o problema que pretendia resolver na aula O que é Bitcoin e que problema ele resolve?

Os 50 BTC que nunca podem ser gastos

O bloco gênese pagou a recompensa comum de 50 BTC, mas, pela forma como está escrito no software, as moedas dele nunca entraram no banco de dados de saídas que podem ser gastas. Por isso, aqueles 50 BTC nunca podem ser gastos. Não se sabe se foi intencional.

Desde então, pessoas mandaram muitos valores pequenos para o endereço gênese, 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa, como homenagem. Essas moedas posteriores são saídas comuns: quem tem a chave privada desse endereço, se alguém ainda tem, poderia gastar. Só os 50 BTC originais estão presos para sempre.

O bloco 0, de 3 de janeiro de 2009, pagou uma recompensa coinbase de 50 BTC, mas aqueles 50 BTC nunca foram adicionados ao banco de dados de moedas que os nós usam para saber o que pode ser gasto. Os nós rejeitam gastar o que não está nele, então nunca podem ser gastos. Presentes enviados depois para o endereço gênese, 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa, estão nesse banco de dados: são moedas comuns que quem tem a chave do endereço poderia gastar.
Só os 50 BTC originais estão presos para sempre. Os 50 BTC do bloco gênese nunca entraram no banco de dados de moedas que podem ser gastas, então qualquer tentativa de gastar é rejeitada. Presentes enviados depois para o endereço gênese são moedas comuns.

Propriedades únicas do bloco gênese

  • Está escrito no software: todos os outros blocos são encontrados pela mineração e recebidos da rede. O bloco 0 está integrado a cada nó.
  • O hash do bloco anterior é só zeros, porque não existe bloco anterior.
  • Um intervalo de seis dias: a marca de tempo do bloco 1 é de 9 de janeiro de 2009, seis dias depois. Não se sabe por quê.
  • Definiu a dificuldade inicial, a menor possível, 1.

Tempo entre blocos e ajuste de dificuldade

O Bitcoin busca um bloco a cada 10 minutos em média. Intervalos menores confirmariam pagamentos mais rápido, mas haveria mais casos de dois mineradores encontrarem blocos ao mesmo tempo, antes de a notícia do primeiro se espalhar. Isso desperdiçaria trabalho e favoreceria mineradores grandes e bem conectados. Intervalos maiores fariam todos esperar. Dez minutos foi o meio-termo de Satoshi. A 3,125 BTC por bloco, isso também significa cerca de 450 bitcoins novos por dia.

Para manter esse ritmo com a entrada e saída de mineradores, a cada 2.016 blocos (cerca de duas semanas), cada nó ajusta a dificuldade do problema. Nos primeiros dias do Bitcoin, a dificuldade era 1. Em novembro de 2026, cerca de 148 trilhões. Você vai ver o ajuste na aula sobre prova de trabalho. O cronograma de oferta que ele protege está na aula Quantos bitcoins existem.

Ideias principais

  • Um bloco é um cabeçalho de 80 bytes (versão, hash anterior, raiz de Merkle, marca de tempo, alvo, nonce) mais uma lista de transações.
  • Cada cabeçalho contém o hash do bloco anterior, então mudar um bloco antigo rompe todas as ligações seguintes e exige refazer todo o trabalho desde então.
  • A transação coinbase tem uma entrada especial e paga ao minerador o subsídio mais todas as taxas do bloco.
  • Uma árvore de Merkle transforma todas as transações em um hash raiz. Para provar que uma transação está incluída, bastam alguns hashes (2 para 4 transações, 12 para 4.000).
  • O bloco gênese (3 de janeiro de 2009) carrega a manchete do The Times. Os 50 BTC dele não podem ser gastos, mas presentes posteriores para o endereço são moedas comuns.
  • Os blocos chegam a cada 10 minutos em média porque a dificuldade se ajusta a cada 2.016 blocos.

Perguntas frequentes

Quantas transações cabem em um único bloco de Bitcoin?

Depende do tamanho das transações. Na semana encerrada em 6 de novembro de 2026, os blocos tiveram cerca de 4.000 transações cada em média. Pagamentos simples são pequenos. Transações com muitas entradas ou muitos dados extras ocupam mais espaço e deixam lugar para menos.

Para que serve uma árvore de Merkle fora do Bitcoin?

Muitos sistemas que precisam verificar grandes quantidades de dados rapidamente usam árvores de hashes. O Git (controle de versões) usa uma para identificar cada versão de cada arquivo. Os registros Certificate Transparency usam árvores de Merkle para que qualquer pessoa possa auditar os certificados que protegem sites. Bancos de dados como o Apache Cassandra usam para encontrar diferenças entre cópias dos dados.

Qualquer pessoa pode ler a mensagem que Satoshi deixou no bloco gênese?

Sim. Busque o bloco 0 em qualquer explorador de blocos, como o mempool.space, e abra a transação coinbase dele. A manchete está nos dados da entrada, escrita em hexadecimal, e a maioria dos exploradores também mostra como texto.

Por que os 50 BTC do bloco gênese não podem ser gastos?

A saída coinbase do bloco gênese nunca foi adicionada ao banco de dados que os nós usam para acompanhar moedas que podem ser gastas, então qualquer tentativa seria rejeitada. Todas as saídas coinbase posteriores são registradas normalmente e podem ser gastas depois de mais 100 blocos. Não se sabe se Satoshi fez isso de propósito.

O que acontece se dois mineradores encontram um bloco válido ao mesmo tempo?

Por um breve período, a rede tem duas pontas competindo: alguns nós viram um bloco primeiro, outros, o outro. Os mineradores constroem sobre o que viram primeiro. Assim que um ramo recebe o próximo bloco, tem mais trabalho acumulado, e todos os nós mudam para ele. O bloco que perde fica “obsoleto” (muitas vezes chamado de “órfão”). As transações dele que não estiverem no ramo vencedor voltam para a mempool. Isso costuma se resolver em um ou dois blocos e é uma parte normal de como o Bitcoin funciona.

Confira o que você aprendeu

1. Um bloco contém oito transações. De quantos hashes uma prova de Merkle para uma delas precisa?

Resposta

Três. Oito folhas se reduzem a quatro, depois a duas e então a uma raiz: três níveis, e a prova precisa de um hash irmão em cada nível.

2. Alguém manda 0,01 BTC para o endereço gênese como homenagem. Essa moeda não pode ser gasta, como os 50 BTC originais?

Resposta

Não. Só os 50 BTC do próprio bloco gênese não podem ser gastos, porque nunca entraram no conjunto de moedas que podem ser gastas. Um pagamento posterior para o mesmo endereço é uma saída comum que quem tem a chave privada do endereço poderia gastar.

3. Além do bitcoin novo, o que mais o minerador de um bloco recebe e de qual transação?

Resposta

Todas as taxas pagas pelas outras transações do bloco. O minerador recebe tanto o subsídio quanto as taxas na primeira transação do bloco, a transação coinbase.