MSTR Cat

Blockchain/Nível II · Mecânica/2.3 Blocos e a cadeia/Lição 6

O subsídio por bloco e o halving

O deslocamento de bits que define a oferta monetária e o bloqueio de 100 blocos para novas moedas

MateriaisUma cópia do código-fonte do Bitcoin Core, especificamente `validation.cpp` ou `main.cpp`, contendo `GetBlockSubsidy`Interface de explorador de blocos (por exemplo, mempool.space ou blockchain.com)Uma calculadora capaz de operações binárias

Curiosidade

  1. Por que um operador de deslocamento para a direita em C++ impõe um limite monetário rígido?
  2. O que acontece com a diferença se um minerador solicitar menos do que o subsídio máximo permitido?
  3. Quantos blocos precisam ser adicionados antes que uma moeda recém-cunhada possa ser movida?

Explorar

  1. Novos bitcoins entram em circulação exclusivamente por meio da transação coinbase de cada bloco. Não se trata de uma entrada separada no livro-razão, mas sim de um output específico na primeira transação de cada bloco válido, onde o minerador declara a propriedade do novo valor. O montante é determinado pela função `GetBlockSubsidy` na lógica de validação do Bitcoin Core, que calcula a recompensa com base na altura atual do bloco e não no tempo calendário.
  2. O subsídio inicial foi definido de forma fixa em 50 BTC, o que equivale a 5 bilhões de satoshis. Para reduzir esse valor pela metade a cada 210.000 blocos, o código realiza uma divisão inteira entre a altura do bloco e 210.000 para determinar quantas reduções já ocorreram. Em seguida, aplica um operador de deslocamento binário para a direita no valor inicial de 5 bilhões de satoshis para cada intervalo completado.
  3. Esse mecanismo de deslocamento de bits é determinístico e eficiente. Como opera com números inteiros, qualquer valor fracionário em satoshis resultante da divisão é truncado para baixo. Após 33 desses deslocamentos, o valor se torna zero. Essa convergência matemática garante que não serão criados mais do que aproximadamente 21 milhões de bitcoins, independentemente das condições econômicas externas ou das flutuações na capacidade de mineração.
  4. O primeiro halving ocorreu no bloco 210.000, em 28 de novembro de 2012, reduzindo o subsídio para 25 BTC. Os halvings subsequentes aconteceram nos blocos 420.000 (9 de julho de 2016), 630.000 (11 de maio de 2020) e, mais recentemente, no bloco 840.000, em 20 de abril de 2024, diminuindo a recompensa para 3,125 BTC. A próxima redução está prevista para o bloco 1.050.000.
  5. A receita total de um minerador consiste nesse subsídio mais todas as taxas de transação das transações incluídas. No entanto, o minerador pode optar por reivindicar uma quantia menor do que o valor máximo permitido. Os satoshis não reivindicados simplesmente nunca são criados e não podem ser recuperados posteriormente. À medida que o subsídio continua sendo reduzido pela metade, as taxas precisam cobrir uma parte maior dos custos para proteger a rede, tema de um debate de longa data sobre o orçamento de segurança do Bitcoin no futuro.
  6. Os outputs da coinbase são bloqueados por uma regra de consenso: eles não podem ser gastos até obterem 100 confirmações. Um output de coinbase existe apenas no ramo que contém seu bloco; portanto, se esse bloco for substituído em uma reorganização, as novas moedas desaparecem. O atraso impede que tais moedas sejam utilizadas em outras transações, as quais então se tornariam inválidas.

Fatos-chave

  • O subsídio do bloco começa em 50 BTC e é reduzido pela metade a cada 210.000 blocos.
  • O Bitcoin Core calcula o subsídio deslocando para a direita 5 bilhões de satoshis, com base na altura do bloco.
  • O último halving ocorreu no bloco 840.000, em abril de 2024, estabelecendo o subsídio em 3,125 BTC.
  • Os mineradores podem solicitar menos do que o subsídio total; o valor não solicitado nunca é criado.
  • Os outputs da coinbase exigem 100 confirmações antes de poderem ser gastos.
  • A série geométrica de reduções pela metade converge para um suprimento máximo de aproximadamente 21 milhões de BTC.

Exercício nove, seis, três, um

9ReunirListe 9 períodos de subsídio: o início em 2009 e as oito reduções seguintes, com o valor do subsídio em cada um deles e se já ocorreu ou não.
6AgruparAgrupe os 9 em 6 de acordo com a participação de todos os bitcoins emitidos em cada era: metade, um quarto, um oitavo, um dezesseis avos, um trinta e dois avos e o restante.
3DestilarReduza de 6 para 3 as consequências da redução do subsídio para os mineradores e as taxas.
1CristalizarEscreva 1 frase explicando como o truncamento de números inteiros no cálculo do subsídio impõe o teto absoluto de oferta.

Verificação de fatos

Datas, números e afirmações verificados com as fontes publicadas listadas abaixo.

Abrir na academia interativa →

EN ES ZH JA KO RU DE FR MS