47 / 736ASIC

ASIC Miner

Uma máquina especializada em minerar bitcoin

Um ASIC Miner faz uma enorme quantidade de cálculos para tentar encontrar um novo bloco. Entenda o que seu desempenho representa, por que consome eletricidade e por que ligá-lo não garante renda.

Um ASIC Miner é um equipamento com chips desenvolvidos para minerar bitcoin. Ele calcula repetidamente a impressão digital numérica do cabeçalho de um bloco proposto, o registro resumido de seus principais dados, buscando um resultado que cumpra as regras da mineração. Mais desempenho significa mais tentativas por segundo, não uma recompensa garantida. Também são necessários energia, refrigeração, software de controle e uma fonte de tarefas.

Mining: modelo de resultado operacionalCompare uma parcela esperada do subsídio de bloco com a eletricidade segundo o hashrate, consumo e taxa de pool escolhidos.

Anna vê um pequeno minerador ao lado de um computador e pergunta se seu notebook não poderia fazer o mesmo. Um computador comum consegue executar os cálculos necessários. O ASIC, porém, foi projetado especificamente para isso e normalmente faz muito mais tentativas com a mesma energia. A sigla significa Application-Specific Integrated Circuit: um circuito integrado para uma aplicação específica. No uso cotidiano, ASIC também designa o minerador completo com esses chips. O minerador de Bitcoin usa SHA-256 para buscar uma impressão digital numérica adequada, chamada hash. Ele não conhece antecipadamente a resposta correta: altera os dados de entrada e tenta novamente. Essa especialização substituiu aos poucos, na mineração competitiva, processadores comuns CPU, processadores gráficos GPU e circuitos programáveis FPGA. Um chip de mineração SHA-256, contudo, não pode simplesmente virar um computador de uso geral. [6] [8]

Imagine um minerador de 100 TH/s consumindo uma potência de 3.000 W. São números ilustrativos, não as especificações de um produto. TH/s significa trilhões de hashes por segundo: a máquina faz cem trilhões de tentativas a cada segundo. Esse ritmo é o Hashrate. Já o medidor de eletricidade registra energia. Com potência constante de 3 kW, o aparelho consome 72 kWh em 24 horas. Multiplicamos essa quantidade pelo preço do kWh para calcular o gasto com eletricidade. Outra medida é J/TH: joules de energia por trilhão de tentativas. No exemplo, 3.000 / 100 = 30 J/TH. Um valor menor significa menos energia para o mesmo trabalho. Mas é preciso comparar métodos de medição e configurações equivalentes. A eficiência do chip isolado não pode ser comparada diretamente ao consumo da máquina inteira na tomada. [7] [8]

Quase toda a energia consumida acaba virando calor. Por isso Anna precisa pensar em como retirá-lo do ambiente e, dependendo do projeto, no ruído das ventoinhas. Um pequeno minerador doméstico e uma máquina industrial podem ter necessidades muito diferentes. A palavra ASIC, por si só, não informa tamanho nem consumo. Além dos chips, o aparelho contém fonte de alimentação, reguladores de tensão, controlador e placas com chips de mineração, chamadas hashboards. Ventoinhas ou refrigeração líquida retiram o calor. Poeira, ventoinha defeituosa, alimentação inadequada ou configurações excessivas podem provocar erros e paradas. Observar toda a operação diz mais que o maior número anunciado pelo fabricante. [7] [8]

Ao se conectar a um Mining Pool, o minerador de Anna recebe tarefas de um serviço que coordena mineradores. O pool tem software e operador próprios; não faz parte do chip. Para minerar sozinha, Anna precisa providenciar a infraestrutura correspondente. O firmware, software de controle do aparelho, entrega tarefas aos chips e envia os resultados. Antes disso, alguém precisa montar uma proposta de bloco com transações, o Block Template. Um Full Node ou outro fornecedor de modelos faz esse trabalho. Full Node é um programa que verifica por conta própria os blocos e as transações segundo as regras do Bitcoin. BIP22 descreve a interface getblocktemplate, e BIP23 acrescenta extensões para pools. Stratum V2 separa Mining Protocol para tarefas, Job Declaration para propor trabalho próprio e Template Distribution para fornecer modelos. A possibilidade de escolher transações depende da configuração e do suporte a esses componentes. O chip não as escolhe por conta própria. [1] [2] [4] [5] [9]

Anna vê shares aceitas no painel do pool, embora seu equipamento não tenha encontrado um bloco Bitcoin. Uma share satisfaz uma condição mais fácil do pool e fornece evidência estatística do trabalho realizado. O pool considera esse trabalho no cálculo dos pagamentos conforme suas regras. Uma share não é outra moeda nem automaticamente um pedaço de bloco. Só um resultado muito mais raro satisfaz também a condição mais difícil da rede Bitcoin. Com ele, pode-se apresentar um bloco, que ainda precisa passar por todas as outras verificações. Mudar a dificuldade das shares altera a frequência de envio delas. Isso, por si só, não aumenta o desempenho real da máquina nem muda a dificuldade de mineração da rede. [4] [6]

Um resultado encontrado é uma proposta à rede, não uma ordem. Um Full Node verifica as regras de Bitcoin por conta própria e rejeita um bloco inválido mesmo vindo de um minerador muito potente. Um ASIC não permite criar uma recompensa acima do limite, gastar moedas alheias sem autorização ou obrigar nós a aceitar outras regras. O operador continua tomando decisões importantes: firmware, pool e, quando o sistema permite, transações a minerar. Vale comparar o desempenho indicado pela máquina com a estimativa do pool em um período maior, além de acompanhar shares rejeitadas, temperatura e consumo real. Oscilações curtas na estimativa do pool não comprovam, sozinhas, um defeito. [5] [10]

Dois mineradores iguais podem ter resultados financeiros muito diferentes. Um trabalha bem refrigerado com eletricidade mais barata; o outro sofre paradas e paga mais pela energia. Compra e depreciação do equipamento, taxas do pool, preço do bitcoin, dificuldade da rede e taxas das transações nos blocos também influenciam. Eficiência técnica não é promessa de retorno. A especialização elevou ainda as exigências de fabricar chips e operar grandes instalações. Ao discutir concentração, é preciso distinguir fabricantes, donos das máquinas, locais físicos e pools. Uma participação elevada de um pool não comprova que todos os equipamentos conectados pertençam à mesma empresa. [6] [8]

A frequência define o ritmo do chip, e a tensão ajuda a manter os cálculos confiáveis. Chips do mesmo tipo podem exigir configurações diferentes, pois a fabricação produz pequenas variações elétricas. O firmware pode buscar ajustes adequados para cada chip ou placa. Esse processo se chama Autotuning. Reduzir a frequência com uma tensão apropriada pode melhorar J/TH, mesmo diminuindo o Hashrate total. O overclocking, por outro lado, pode elevar o desempenho com um aumento desproporcional de consumo e calor. O resultado depende do equipamento, da refrigeração e dos ajustes. O máximo desempenho alcançável não é necessariamente o melhor regime para operação contínua. [7]

O ponto de partida é o cabeçalho de bloco de 80 bytes, um resumo compacto dos dados básicos. Ele contém versão, hash do bloco anterior, Merkle Root que resume as transações, registro de tempo, alvo de dificuldade codificado nBits e um campo Nonce de 32 bits. SHA-256(SHA-256(header)) significa aplicar SHA-256 duas vezes; header é esse cabeçalho. O hash resultante é interpretado como um número. Para cumprir a prova de trabalho exigida, não pode superar o alvo: hash ≤ target. O chip pode acelerar os cálculos reutilizando resultados intermediários das partes que não mudam. Os nós verificam o resultado e o alvo correto, não a organização dos circuitos do fabricante. As demais regras de validade do bloco continuam necessárias. [6] [10]

Nonce oferece 2^32 valores possíveis. Um minerador rápido os testa em pouco tempo, então o sistema precisa variar outros dados. Extranonce é um valor auxiliar na Coinbase Transaction, a primeira transação especial que contém a recompensa do bloco. Sua alteração muda a transação, o Merkle Root resultante e a entrada para outra rodada de cálculos. Também é possível variar o campo de tempo nTime dentro dos limites permitidos ou usar bits de versão apropriados. A proposta BIP320 descreve a reserva de alguns bits para uso geral; não autoriza ignorar as regras da rede. Stratum V2 exige dividir o trabalho para evitar esforço desperdiçado em candidatos idênticos. Esses mecanismos alimentam os chips com novas possibilidades, sem aumentar a recompensa de cada bloco. A proposta mais recente BIP323 pretende substituir BIP320 e reservar 24 bits de versão para esse fim. A especificação atual do Stratum V2 já faz referência a BIP323. Seu status continua sendo Draft, ou rascunho: publicar uma proposta não altera por si só as regras do Bitcoin. [3] [4] [11]

Para ter uma visão mais completa, leia este verbete junto com Mineração, Hashrate, SHA-256, Block Header, Nonce, Extranonce. Também há referências a este verbete em Mining Pool, Hashrate, Nonce, Braiins.

DOC · 001BIP 22 — getblocktemplate fundamentalsEspecificação DOC · 002BIP 23 — getblocktemplate pooled miningEspecificação DOC · 003BIP 320 — nVersion bits for general purpose useEspecificação DOC · 004Stratum V2 — Mining Protocol specificationEspecificação DOC · 005Stratum V2 — Protocol overviewEspecificação DOC · 006Bitcoin Developer Guide — MiningDocumentação DOC · 007Braiins OS — AutotuningDocumentação DOC · 008Bitaxe — open-source ASIC miner hardwareFonte primária DOC · 009Bitcoin Core — getblocktemplate RPCDocumentação DOC · 010Bitcoin Core v29.0 — CheckProofOfWorkImplFonte primária DOC · 011BIP 323 — 24 nVersion bits for general purpose useDocumentação
Revisto em: Fontes em primeiro lugar · Não é recomendação de investimento