Como funciona o halving: o código por trás do hype

Como funciona o halving, o corte nas recompensas de bloco do Bitcoin sob a perspectiva da engenharia? Vamos explicar com a ajuda de Andreas Antonopoulos.

Em um vídeo recente, Antonopoulos explicou o código do Bitcoin Core que controla o corte da recompensa de bloco do Bitcoin (BTC) em detalhes.Bitcoin halving code

Código do halving do Bitcoin. Fonte: Bitcoin Core Software.

Explicação linha a linha

Toda vez que um bloco Bitcoin é avaliado ou um novo bloco é extraído, a função GetBlockSubsidy é chamada. Seu objetivo é calcular o tamanho apropriado da recompensa do bloco. A linha 1240 avalia o ciclo do halving e divide a altura atual do bloco por 210.000; o intervalo entre a metade. No momento da publicação deste artigo, a altura do bloco é 629369, se a dividirmos por 210.000, obteremos 2,99. Como a variável que armazena esse valor é um tipo inteiro, os decimais são descartados. Usando essas informações, o código “sabe” que tivemos duas reduções. É por isso que o próximo halving ocorrerá no bloco 630000.

Satoshi continua sendo corrigido

As linhas 1242 e 1243 corrigem um erro que Satoshi cometeu no código original. Esse erro originalmente continuava diminuindo a recompensa pela metade do bloco após 64 cortes; o número total de halvings incorporadas no protocolo Bitcoin.

A linha 1245 multiplica a recompensa original do bloco de 50 por uma moeda constante, que é igual a 100.000.000 de Satoshis. Ironicamente, não há Bitcoins no código Bitcoin, apenas Satoshis.

A linha 1247 calcula a recompensa de bloco apropriada para a altura atual do bloco. Ele usa uma operação bit a bit que é mais eficiente que as operações matemáticas regulares. A recompensa em bloco calculada na Linha 1245 é então ajustada de acordo com a presente recompensa em bloco. Atualmente, isso seria assim:

50 * 100.000.000 / 22 = 1.250.000.000 Satoshis ou 12,5 Bitcoins.

Finalmente, a Linha 1248 retorna a recompensa de bloco apropriada quando chamada por outra função ou procedimento no código Bitcoin.

Até o halving finalmente chegar em 4 dias, ou 631 blocos, todos podemos respirar e apreciar a beleza do código do Bitcoin.

CONTINUE A LER

Artigo

Leave a Comment

bitcoin
Bitcoin (BTC) 32.991,89 0,34%
ethereum
Ethereum (ETH) 2.339,32 3,42%
tether
Tether (USDT) 0,837681 0,52%
binance-coin
Binance Coin (BNB) 280,09 0,16%
cardano
Cardano (ADA) 1,16 0,67%
xrp
XRP (XRP) 0,610557 0,22%
usd-coin
USD Coin (USDC) 0,849526 0,85%
dogecoin
Dogecoin (DOGE) 0,168155 0,37%
polkadot
Polkadot (DOT) 16,06 1,01%
uniswap
Uniswap (UNI) 20,63 7,68%