Pular para o conteúdo
buybitcoinsmart

Glossário / Mineração e consenso

Maturidade da Coinbase

Outros nomes: Regra de maturidade da Coinbase.

O que é a maturidade da Coinbase?
A maturidade da Coinbase é a regra de consenso que bloqueia os bitcoins recém-criados de um bloco por 100 blocos adicionais antes que qualquer transação possa gastá-las.

As recompensas de mineração não são dinheiro gastável no momento em que um bloco é encontrado. O Bitcoin Core define COINBASE_MATURITY como 100 em seu cabeçalho de consenso, então a espera é de 100 blocos, cerca de 16 horas e 40 minutos com a meta de dez minutos por bloco. Os bitcoins que você compra em uma corretora nunca são atingidas pela regra, porque tudo o que chegou até você já foi gasto pelo menos uma vez.

Como funciona

A maturidade da Coinbase é aplicada por todo nó completo como uma regra de rede, o que significa que nenhuma configuração, nenhuma carteira e nenhum pool pode relaxá-la.

A verificação em si é uma subtração. Ao validar uma transação, um nó inspeciona cada entrada e, quando a saída veio de uma transação coinbase, subtrai a altura do bloco dessa saída da altura em que o gasto seria incluído. Se a diferença for menor que 100, o Bitcoin Core rejeita a transação com o código bad-txns-premature-spend-of-coinbase e uma mensagem informando a profundidade com que foi tentada. Uma recompensa paga no bloco 900.000 é gastável pela primeira vez no bloco 900.100, a menor altura em que essa subtração chega a 100.

O atraso existe porque uma saída coinbase é o único tipo de bitcoin que pode deixar de existir. Os bitcoins comuns sobrevivem a uma reorganização da cadeia: as transações que as contêm voltam à mempool e são mineradas de novo. A recompensa de um bloco existe apenas porque esse bloco está na cadeia, então, se um ramo concorrente vencer, a recompensa some, e também tudo o que descende dela. Gastos construídos sobre uma recompensa que depois evaporou derrubariam todas as carteiras que a tivessem tocado.

O Bitcoin Core também protege o intervalo entre blocos. Cada entrada da mempool é marcada com a informação de se gasta uma saída coinbase, e o comentário no código-fonte explica por quê: essas entradas são verificadas novamente durante reorganizações para checar se a regra de 100 blocos ainda é cumprida. Tudo o que voltou a ficar imaturo é descartado em vez de minerado.

Uma propriedade da regra pega muita gente de surpresa. A espera é contada em blocos, não em horas, então uma época de dificuldade lenta a alonga e uma rápida a encurta. O Bitcoin tem como meta um bloco a cada 600 segundos, de onde vêm tanto as 16 horas e 40 minutos quanto os conhecidos 144 blocos por dia, e uma média de onze minutos alonga os mesmos 100 blocos para 18 horas e 20 minutos.

Onde você vê isso

O avistamento mais comum da maturidade do coinbase é uma carteira informando dois saldos em vez de um.

O getbalances do Bitcoin Core retorna um campo immature, documentado no código-fonte como o saldo proveniente de saídas coinbase imaturas, e o getreceivedbyaddress e o listunspent aceitam um sinalizador include_immature_coinbase que por padrão é false. A carteira do Core é um bloco mais rigorosa que o consenso, mantendo uma recompensa imatura até que o bloco que a pagou esteja a 101 blocos de profundidade, então um minerador solo vê o saldo ser desbloqueado um bloco depois do que a regra de rede sozinha exige.

Os painéis de pool usam seu próprio vocabulário, geralmente uma coluna pendente ou imatura ao lado de uma confirmada. Um pool que paga um valor fixo por share credita seus mineradores muito antes de os bitcoins amadurecerem, então está adiantando dinheiro contra uma recompensa que ainda não pode movimentar, e o pool, e não o minerador, fica exposto se esse bloco for substituído.

A regra também define o piso de quão rápido os bitcoins minerados chegam a um mercado. Um minerador que quer vender espera os 100 blocos, envia para uma corretora e então espera a política de depósito dela, normalmente um punhado de confirmações, e não cem.

Maturidade do coinbase vs confirmação

A maturidade da Coinbase é uma profundidade fixa escrita no consenso, enquanto uma contagem de confirmações é um total acumulado do qual qualquer um pode escolher um limite.

Uma corretora que pede seis confirmações antes de creditar um depósito escolheu esse número por conta própria e pode mudá-lo amanhã. A regra de 100 blocos não é uma escolha. Ela abrange apenas bitcoins criados por um bloco, se aplica de forma idêntica em todo nó que valida, e uma transação que a viola não é lenta, mas inválida: nenhum minerador pode incluí-la, porque o bloco que a carregasse também seria rejeitado.

Não confundir com

Perguntas frequentes

Por que um minerador não pode gastar uma recompensa de bloco imediatamente?

Porque o consenso não aceitará o gasto até que o bloco que criou os bitcoins esteja a 100 blocos de profundidade, cerca de 16 horas e 40 minutos com a meta de dez minutos por bloco. Um bloco que perde em uma reorganização da cadeia leva consigo sua recompensa, então o atraso impede que esses bitcoins circulem antes que esse risco passe.

A maturidade do coinbase afeta bitcoins que compro em uma corretora?

Não, ela se aplica apenas a saídas criadas por um bloco. Os bitcoins que você compra já foram minerados e gastas pelo menos uma vez, então a única regra de espera que toca seu depósito ou saque é a política de confirmações da própria corretora.

100 blocos é o mesmo que 100 confirmações?

Quase. O Bitcoin Core aceita um gasto na sua mempool assim que o bloco que criou essa saída mostra 100 confirmações, então a recompensa paga no bloco 900.000 pode ser minerada no bloco 900.100. A carteira do próprio Core é um bloco mais cautelosa e mantém os bitcoins no saldo imaturo até 101 confirmações, então o que sua carteira oferece e o que a rede aceitaria podem diferir em um bloco.

Leia a seguir

Termos relacionados

Mais em Mineração e consenso

Ler esta página em inglês