O que é prova de trabalho?
Definição · Prova de trabalho (PoW)
Um sistema em que o direito de adicionar um bloco vai para quem primeiro encontrar um hash do cabeçalho do bloco abaixo de um alvo. Encontrá-lo leva números enormes de tentativas; verificá-lo leva um hash.
Satoshi Nakamoto descreveu isso no whitepaper do Bitcoin em 2008, se baseando no Hashcash de Adam Back, uma ideia mais antiga para tornar caro o spam de e-mail. O hash válido é a prova. Você não consegue um sem fazer o trabalho, e qualquer um consegue ver que você fez.
O resto desta página passa por cada peça, e a caixa acima deixa você experimentar: esse é um formato real de cabeçalho do Bitcoin, hasheado ao vivo no seu navegador. Para o panorama geral da mineração, veja nosso guia completo de mineração de Bitcoin.
Que problema a prova de trabalho resolve?
O Bitcoin não tem empresa, banco ou servidor no comando. Milhares de computadores mantêm sua própria cópia do livro-razão, e eles precisam concordar sobre qual bloco vem a seguir e em que ordem os pagamentos aconteceram. Do contrário, alguém poderia gastar a mesma moeda duas vezes.
Uma votação simples não funciona online, porque qualquer um pode criar mil computadores falsos e votar mil vezes. Isso se chama ataque Sybil. A prova de trabalho contorna isso: sua voz é medida em hashes, e hashes custam eletricidade e equipamento.
Quem tem voz no próximo bloco?
Um voto por nó
Um atacante cria 60 nós falsos de graça e vota mais do que os 12 honestos.
Um voto por hash
mineradores honestos 88%atacante 12%
Os mesmos 60 nós compartilham o equipamento real do atacante, então juntos eles ainda pesam 12%. Cópias são grátis, hashes não são.
O que tem dentro de um cabeçalho de bloco do Bitcoin?
Os mineradores não fazem o hash do bloco inteiro. Eles fazem o hash do seu cabeçalho de 80 bytes, que se compromete com tudo o mais. Estes são os seis campos que você editou na caixa no topo:
| Campo | Bytes | O que ele guarda | Quem o muda |
|---|---|---|---|
| Versão | 4 | Qual conjunto de regras o bloco segue | Muda raramente |
| Hash do bloco anterior | 32 | O hash do bloco anterior, que liga a cadeia | Novo a cada bloco |
| Raiz de Merkle | 32 | Uma impressão digital de todas as transações do bloco | Minerador, quando as transações ou o nonce extra mudam |
| Horário | 4 | Quando o minerador diz que o bloco foi feito (horário Unix) | Minerador, dentro de limites |
| Bits | 4 | O alvo, empacotado em 4 bytes | A rede, a cada 2.016 blocos |
| Nonce | 4 | Um número livre para tentar de novo | Minerador, a cada tentativa |
Como o cabeçalho inclui o hash do bloco anterior, mudar um bloco antigo muda seu hash, o que quebra o próximo cabeçalho, e o seguinte. Conferimos o bloco gênesis real de 2009 com o mesmo código que a seção de destaque usa, no nosso servidor, quando esta página foi criada:
000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
Como o SHA-256 funciona no Bitcoin?
O SHA-256 transforma qualquer entrada em um número de 256 bits, escrito como 64 caracteres hexadecimais. O Bitcoin o roda duas vezes no cabeçalho (as pessoas chamam de SHA-256d). As propriedades que importam para a mineração são simples:
Mesma entrada, mesma saída
Determinístico
O mesmo cabeçalho sempre dá o mesmo hash, em qualquer computador. É por isso que a checagem funciona.
256 bits
Tamanho fixo
Uma linha curta ou um livro inteiro, o hash sempre tem 64 caracteres hexadecimais.
Mão única
Sem atalho de volta
Você não consegue calcular uma entrada que dê o hash que quer. Só consegue tentar entradas.
≈ 50%
Avalanche
Mude um caractere e cerca de metade dos bits vira. Observe a grade na seção de destaque.
Essa última propriedade é o coração da prova de trabalho. Um hash perto do alvo não te diz nada sobre a próxima tentativa, então não há um caminho esperto até um bloco válido. Todo minerador está rodando a mesma loteria, e mais hashes por segundo só compram mais bilhetes.
O que é a meta, e por que os zeros à esquerda?
O alvo é um número de 256 bits. Um bloco é válido quando seu hash, lido como número, está nele ou abaixo dele. Como números pequenos começam com zeros, um alvo mais baixo aparece como mais zeros à frente. Cada zero hexadecimal extra significa 16 vezes mais tentativas em média.
Hashes médios necessários para encontrar um bloco válido
- O bloco de brinquedo na seção de destaque · 4 zeros hexadecimais à frente65,536
- O alvo mais fácil do Bitcoin (2009) · 8 zeros hexadecimais à frente, bits 1d00ffff4,294,967,296
- Um bloco de Bitcoin hoje · cerca de 20 zeros hexadecimais à frente (estimativa ao vivo)6.0 × 1023
A rede move a meta a cada 2.016 blocos, cerca de duas semanas, então os blocos continuam chegando a cada dez minutos, mais ou menos, não importa quanto hashrate entre ou saia. Agora mesmo a rede roda a cerca de 1003 EH/s (ao vivo, atualizado a cada hora). Como esse ajuste funciona está no nosso guia de dificuldade de mineração de Bitcoin, e o explicador de hashrate cobre as unidades.
O que é um nonce, e o que é o nonce extra?
O nonce (“número usado uma vez”) é o campo de 4 bytes que os mineradores mudam a cada tentativa. É o único campo que está ali puramente para ser mudado. O problema é que 4 bytes dão só cerca de 4,3 bilhões de valores, e as máquinas modernas passam por isso quase instantaneamente.
O laço do minerador
- 01
Tente todo nonce
0, 1, 2 e assim por diante até 4.294.967.295. Esses são todos os valores que 4 bytes conseguem guardar.
- 02
Se esgotam, rápido
Uma única máquina de 100 TH/s passa por todos eles em cerca de 43 milionésimos de segundo.
- 03
Mude o nonce extra
O minerador edita um campo sobrando na própria transação de recompensa (a coinbase).
- 04
Nova raiz de Merkle
Aquela transação mudou, então a raiz de Merkle muda e todo nonce dá novos hashes de novo.
Então os mineradores também mudam um nonce extra, alguns bytes sobrando na coinbase, a primeira transação do bloco que paga o minerador. Uma nova coinbase significa uma nova raiz de Merkle, e isso significa bilhões de novos nonces para tentar. Em um pool de mineração, o pool entrega a cada minerador sua própria faixa de nonce extra para que ninguém repita o trabalho de outra pessoa.
Por que um bloco é caro de encontrar mas barato de checar?
Para encontrar um bloco
≈ 6.0 × 1023 hashes
A rede inteira, todas as suas máquinas, cerca de dez minutos de tentativas.
Estimativa ao vivo, atualizada a cada hora.
Para checar
1 hash
Qualquer nó, até um notebook barato, faz o hash do cabeçalho de 80 bytes uma vez e o compara com o alvo em bem menos de um milissegundo.
O minerador precisa tentar hashes até um cair abaixo do alvo. Todo mundo mais só precisa fazer o hash do cabeçalho uma vez e comparar. Esse custo desigual é o que permite que milhares de computadores comuns verifiquem a cadeia sem confiar nos mineradores que a construíram.
Experimente a parte de busca você mesmo abaixo. Esta demonstração usa um formato de bloco mais simples do que a seção de destaque, mas é a mesma loteria de SHA-256 duplo, e cada bloco encontrado se liga ao anterior.
Interativo · minere um bloco no seu navegador
Prova de trabalho SHA-256 real, cabeçalho simplificado
Hash do bloco (SHA-256 duplo)
Edite as transações: o hash muda completamente com uma única letra.
Tentativas: 0
Seu hashrate: n/d
Tempo: 0,0 s
O que é a regra da cadeia mais longa, e o que é um ataque de 51%?
Às vezes dois mineradores encontram um bloco quase no mesmo momento, e a rede tem brevemente duas versões. Os nós seguem a cadeia com o maior trabalho total por trás dela. As pessoas chamam de a cadeia mais longa, mas na verdade é a mais pesada: alguns blocos em alta dificuldade podem superar mais blocos em baixa dificuldade.
Para reverter um pagamento, um atacante precisaria construir uma cadeia mais pesada do que todo mundo, começando de antes daquele pagamento. Cada novo bloco por cima (uma confirmação) deixa o atacante mais atrás. O whitepaper calculou as chances; mova o controle deslizante para vê-las:
Interativo · um atacante consegue alcançar?
Fórmula do whitepaper do Bitcoin, seção 11
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Blocos que o atacante está atrás (confirmações). As barras usam escala logarítmica, de um em um milhão até certo.
Com 10% do hashrate, a chance de reescrever um pagamento depois de 6 confirmações é 0,024%, e depois de 1 confirmação é 20,5%.
Com 50% ou mais, o atacante vence com o tempo. Esse é o ataque de 51%. É sério, mas tem limites:
Com a maior parte do hashrate, um atacante consegue
- Substituir blocos recentes pela própria cadeia
- Gastar duas vezes moedas que eles mesmos enviaram
- Deixar algumas transações de fora dos blocos deles
Mesmo assim, eles não conseguem
- Gastar moedas de carteiras de outras pessoas
- Criar moedas além da recompensa do bloco
- Mudar as regras do Bitcoin para todo mundo
É por isso que as corretoras esperam várias confirmações em depósitos grandes. Seis é a regra comum.
Por que a prova de trabalho usa tanta energia?
Porque a energia é a segurança. Um bloco válido é prova de que eletricidade de verdade foi gasta. Para reescrever a história, um atacante precisa gastar pelo menos tanto de novo, e continuar gastando enquanto a rede honesta segue em frente.
Para onde vai a energia, e o que ela compra
Recompensa do bloco e taxas
Novo BTC mais taxas de cada bloco, pago a quem o encontrar.
Máquinas e eletricidade
Os mineradores gastam até o quanto a recompensa vale para eles.
Hashrate da rede
Todo esse gasto aparece como hashes por segundo.
Custo para reescrever a história
Um atacante precisa gastar mais do que tudo isso, bloco após bloco.
Quanta eletricidade é essa, e de onde ela vem, é um debate justo. O índice de Cambridge acompanha estimativas, e nosso guia de energia da mineração de Bitcoin passa pelos números. Todo halving corta a parte de moeda nova da recompensa, então com o tempo as taxas precisam carregar mais desse orçamento de segurança.
Prova de trabalho vs prova de participação: qual é a diferença?
A prova de participação (PoS) escolhe o próximo produtor de bloco entre pessoas que travam moedas como depósito, em vez de pessoas que queimam eletricidade. A Ethereum trocou de prova de trabalho para prova de participação em 2022. Eis uma comparação justa lado a lado:
| Prova de trabalho | Prova de participação | |
|---|---|---|
| Quem adiciona o próximo bloco | O primeiro minerador a encontrar um hash abaixo do alvo | Um validador escolhido em proporção à participação dele |
| O que a protege | Eletricidade e equipamento gastos fora da rede | Moedas travadas dentro da rede, que podem ser confiscadas por trapaça |
| Consumo de energia | Alto, por design | Baixa |
| Para participar | Máquinas e energia barata | Moedas para colocar em stake |
| Liquidação | Fica mais seguro a cada confirmação | Pontos de checagem de finalização explícitos |
| Principal crítica | Uso de energia e concentração de mineração | Concentração de participação e um design mais complexo |
| Histórico | Bitcoin, desde 2009 | Ethereum, desde 2022 |
Os desenvolvedores do Bitcoin mantiveram a prova de trabalho porque seu custo fica fora do sistema, então ninguém pode comprar controle com moedas que já possui. Os defensores da prova de participação apontam a economia de energia e a finalização mais rápida.
Você consegue ganhar bitcoin minerando sem rodar a prova de trabalho você mesmo?
Sim. Com a CloudMineCrypto você minera bitcoin de graça pelo celular ou navegador, sem equipamento, ruído ou conta de luz. Reivindique o plano gratuito de 8 horas, e adicione mais planos gratuitos assistindo anúncios, jogando, completando ofertas e fazendo check-in diário. Seu saldo em BTC cresce enquanto seus planos estiverem ativos, e você saca para sua própria carteira, Lightning incluído.
Cada plano tem uma taxa de hash, e sua estimativa corresponde à parcela dessa taxa de hash em relação à rede inteira, multiplicada por 6 blocos por hora e pela recompensa por bloco. Essa é a fórmula que o app usa para estimar suas recompensas (regras e limites se aplicam). Quer mais velocidade? Um plano pago opcional adiciona taxa de hash, e o preço aparece antes de você confirmar.
Bom saber: as recompensas são estimativas que mudam com a rede e não são garantidas, e um plano não dá a propriedade de nenhuma máquina ou pool. Podem se aplicar limites ou verificação aos saques. Os detalhes estão nas regras de recompensa e no guia de mineração gratuita de Bitcoin. Aplicam-se termos.
Perguntas frequentes
O que é prova de trabalho em termos simples?
É uma forma de fazer com que adicionar um bloco custe esforço real. Os mineradores fazem o hash do cabeçalho do bloco repetidas vezes, mudando um número chamado nonce, até o resultado ficar abaixo de um alvo. Encontrar esse hash leva números enormes de tentativas, mas qualquer um consegue checar com um único hash.
O que é um nonce no Bitcoin?
Um número de 4 bytes no cabeçalho do bloco que os mineradores mudam a cada tentativa. Tem cerca de 4,3 bilhões de valores possíveis. Quando eles se esgotam, os mineradores mudam um nonce extra dentro da transação coinbase, o que gera uma nova raiz de Merkle e um novo conjunto de hashes.
Por que o Bitcoin usa SHA-256 duas vezes?
O Bitcoin faz o hash do cabeçalho de 80 bytes com SHA-256 e depois faz o hash desse resultado de novo. Satoshi nunca explicou a escolha. A leitura mais comum é que isso protege contra ataques de extensão de comprimento e dá uma margem extra de segurança.
O que um ataque de 51% deixa alguém fazer?
Alguém com a maior parte do hashrate pode construir uma cadeia mais longa em privado e substituir blocos recentes, o que permite gastar duas vezes as próprias moedas ou bloquear algumas transações. Essa pessoa não consegue gastar as moedas de outras pessoas, criar moedas além das regras nem mudar as regras para todo mundo.
A prova de participação é melhor que a prova de trabalho?
Ela usa bem menos energia, e a segurança vem de moedas travadas como stake. A prova de trabalho vincula a segurança a um custo externo, eletricidade e equipamento, e roda o Bitcoin desde 2009. Cada uma faz trocas diferentes, então qual é melhor depende do que você valoriza.
Posso ganhar bitcoin minerando sem meu próprio equipamento?
Sim. No app CloudMineCrypto você reivindica planos de mineração gratuitos (o plano gratuito, anúncios, jogos, ofertas e um check-in diário) e seu saldo em BTC cresce enquanto eles estiverem ativos, depois você saca para sua própria carteira. As recompensas são estimativas baseadas no hashrate do seu plano e em dados ao vivo da rede, não são garantidas, e um plano não dá a propriedade de nenhum equipamento.
Fontes e leitura adicional
- Bitcoin: A Peer-to-Peer Electronic Cash System (o whitepaper) · Satoshi Nakamoto, bitcoin.org
- Guia da blockchain: cabeçalhos de bloco, prova de trabalho, coinbase · Documentação para desenvolvedores do Bitcoin
- Guia de mineração: mineração solo, pools, getblocktemplate · Documentação para desenvolvedores do Bitcoin
- Dificuldade · Bitcoin Wiki
- Confirmação · Bitcoin Wiki
- Cambridge Bitcoin Electricity Consumption Index · Cambridge Centre for Alternative Finance
- Painel de mineração: hashrate, dificuldade, blocos recentes · mempool.space
Os números ao vivo nesta página (hashrate da rede, recompensa de bloco, preço do BTC) vêm da API da CloudMineCrypto, atualizados a cada hora, e são identificados onde aparecem. Este guia é educativo e não é aconselhamento financeiro. A CloudMineCrypto não é um produto de investimento; as recompensas no app são estimativas e não são garantidas.
Você já leu como funciona. Agora veja acontecer.
Resgate um plano de mineração gratuito de 8 horas no app CloudMineCrypto e veja sua estimativa de BTC subir com dados ao vivo da rede. Sem hardware, sem cartão.