Logótipo oficial do MASTR MASTR Apoiar o trabalho
Índice
← Início da wiki

Fundamentos de blockchain

Mineração de Bitcoin e prova de trabalho

Como os mineiros produzem blocos, como os nós os verificam e como analisar uma oferta de mineração.

Guia · Fontes no final

Pessoas e projetos

Neste artigo
  1. O que fazem os mineiros de Bitcoin
  2. A prova de trabalho não basta para validar um bloco
  3. Como são escolhidas as cadeias concorrentes
  4. O que protegem as confirmações
  5. Analisar uma oferta de mineração
  6. Fontes

O que fazem os mineiros de Bitcoin

A mineração de Bitcoin combina a seleção de transações com a procura de um cabeçalho de bloco aceitável. O mineiro constrói um bloco candidato, calcula uma raiz de Merkle que vincula as transações e aplica repetidamente a função hash ao cabeçalho, alterando os campos permitidos. O resultado tem de cumprir o alvo atual da rede. Mais capacidade de cálculo permite mais tentativas por segundo, mas não escolher antecipadamente um resultado válido.

O bloco contém normalmente transações que pagam taxas e uma transação especial, chamada coinbase, que reclama o subsídio e as taxas permitidos. Uma pool pode distribuir trabalho pelos participantes e registar os contributos através de provas mais fáceis, chamadas shares. Uma share aceite comprova trabalho segundo as regras da pool. A maioria não é um bloco Bitcoin válido; um painel cheio de shares não indica quantos blocos um utilizador encontrou individualmente. Bitcoin developer guide: mining.

Do bloco candidato à história aceite
  1. PrepararTransações, raiz de Merkle e cabeçalho candidato
  2. Encontrar a prova de trabalhoVariar o cabeçalho até o hash cumprir o alvo
  3. ValidarOs nós completos verificam o bloco e cada transação

Um nó rejeita um bloco que viole as suas regras, mesmo que a prova de trabalho cumpra o alvo.

A prova de trabalho não basta para validar um bloco

Os nós completos verificam blocos e transações segundo as regras de consenso. As condições de gasto têm de ser cumpridas e uma transação normal não pode criar saídas cujo valor total exceda o das entradas. A coinbase também tem de respeitar a recompensa permitida. Um bloco que viole estas regras não se torna aceitável por ter exigido muito trabalho computacional.

Esta distinção importa quando alguém afirma que os mineiros podem apropriar-se de quaisquer moedas. A capacidade de cálculo não revela a chave privada de outro utilizador. Reordenar transações válidas, substituir um pagamento próprio numa história concorrente e falsificar uma assinatura alheia são capacidades diferentes. Confundi-las descreve incorretamente tanto o ataque como as defesas. Bitcoin developer guide: transactions.

Como são escolhidas as cadeias concorrentes

Vários mineiros podem encontrar blocos concorrentes antes de todos os participantes os receberem. Os nós têm então de escolher entre histórias válidas. A escolha depende do trabalho acumulado, não de uma votação que atribua um voto a cada nó anunciado. Uma história alternativa tem de cumprir as regras e competir em trabalho. Criar muitas identidades de rede não equivale a possuir capacidade de mineração.

O Bitcoin ajusta o alvo a cada 2.016 blocos com base no tempo decorrido no período anterior. Procura um intervalo médio de cerca de 10 minutos. Trata-se de uma média estatística: alguns blocos chegam depressa, outros demoram mais. A ausência temporária de um novo bloco num explorador não prova, por si só, que a rede parou. Bitcoin developer guide: the blockchain.

O que protegem as confirmações

Um pagamento recebe a primeira confirmação quando é incluído num bloco da cadeia aceite. Os blocos seguintes prolongam essa história. Substituir um pagamento mais antigo exige, por isso, competir com mais trabalho acumulado. O whitepaper do Bitcoin modela esta tentativa de recuperação e explica o papel da capacidade relativa do atacante e da profundidade do pagamento.

Uma confirmação não verifica se um vendedor entrega a encomenda, se uma exchange consegue devolver os depósitos ou se um token anunciado como investimento em Bitcoin é honesto. Uma exchange pode creditar um depósito realmente confirmado e depois emprestar os ativos a uma empresa relacionada. O registo na blockchain pode estar correto enquanto a capacidade de reembolso do custodiante se deteriora. Bitcoin whitepaper, sections 5 and 11.

Analisar uma oferta de mineração

Identifica primeiro o que está a ser vendido: uma máquina, uma participação contratual na sua produção, um saldo junto de um operador ou um token alegadamente suportado por mineração. Um pagamento de uma pool a uma empresa demonstra, antes de mais, uma entrada de fundos. Não demonstra que um cliente específico possua uma máquina ou tenha direito àquela receita.

Imagina um operador que mostra o painel de uma pool e promete um rendimento diário fixo. Os dados têm de corresponder às máquinas anunciadas, ao período de operação e aos pagamentos. Também é necessário explicar quem cobre as diferenças quando os custos ou a produção variam. Uma fotografia de máquinas não responde a essa questão contratual. Uma diferença sem explicação continua a ser uma questão aberta, sem justificar uma recomendação nem uma acusação sem provas.

Guarda em conjunto a oferta inicial, o endereço de pagamento, os termos contratuais e capturas de ecrã datadas. Compara a produção anunciada com os registos fornecidos e distingue as receitas brutas do montante disponível depois das despesas e obrigações. Aqui analisa-se uma atividade comercial e as suas promessas. A validação de um bloco Bitcoin não responde a estas perguntas.

Fontes

Leituras relacionadas

Fundamentos de blockchain

Validity-proof rollups

Validity rollups submit cryptographic proofs for defined transitions.

MASTR

Apoiar a investigação independente

As investigações, as provas originais e os guias são de acesso livre. Os donativos voluntários ajudam a financiar a investigação e a manter disponíveis as ferramentas MASTR.

Abrir carteira