ASIC designa a especialização do hardware, não o poder sobre o consenso. O chip calcula repetidamente o double-SHA-256 de cabeçalhos candidatos de blocos com 80 bytes e comunica os resultados que satisfazem o target atribuído. Um ASIC Miner completo também necessita de controlador, alimentação, geração do sinal de relógio, refrigeração, firmware e uma fonte de modelos de blocos ou de tarefas do pool. O hashrate mede o número de tentativas por segundo; J/TH mede a energia por terahash. Nenhuma destas grandezas, por si só, garante lucro ou o direito de alterar as regras do Bitcoin.
Um ASIC implementa uma tarefa específica diretamente no silício, em vez de utilizar lógica de instruções de uso geral. Por isso, a mineração passou historicamente de CPU e GPU para FPGA e depois para ASIC SHA-256: um caminho de dados fixo permite calcular muito mais hashes por joule. O custo é a falta de flexibilidade: um ASIC de mineração SHA-256 não é um computador de uso geral que possa ser facilmente reprogramado quando a tarefa muda. [Bitcoin Developer Guide — Mining] [Bitaxe — open-source ASIC miner hardware]
O Proof of Work do Bitcoin calcula SHA-256(SHA-256(cabeçalho)) a partir do cabeçalho serializado de 80 bytes. Este contém version, o hash do bloco anterior, Merkle Root, timestamp, nBits e um Nonce de 32 bits. O chip pode reutilizar internamente resultados intermédios das partes inalteradas do cabeçalho, mas a rede avalia apenas o hash resultante face ao target (hash ≤ target), e não a otimização específica do minerador. [Bitcoin Developer Guide — Mining] [Bitcoin Core v29.0 — CheckProofOfWorkImpl]
O Nonce de 32 bits, por si só, oferece apenas 2^32 valores, que os hashrates modernos esgotam muito depressa. O minerador altera, por isso, outras variáveis: o Extranonce na coinbase altera a transação coinbase e, consequentemente, o Merkle Root; nTime pode ser ajustado dentro dos limites do consenso, e a proposta BIP320 reserva version bits para uso geral. O Stratum V2 atribui ainda partes distintas do espaço de pesquisa aos dispositivos, para que não calculem os mesmos candidatos. [BIP 320 — nVersion bits for general purpose use] [Stratum V2 — Mining Protocol specification]
O ASIC não seleciona transações nem inventa regras por si próprio. Um Full Node ou um fornecedor de modelos de blocos monta um bloco candidato; o BIP22 normaliza getblocktemplate e o BIP23 as suas extensões para mineração em pool. O pool ou o proxy prepara, a partir daí, uma tarefa com um target e variáveis para o dispositivo. O Stratum V2 separa Mining Protocol, Job Declaration e Template Distribution, pelo que a distribuição do trabalho e a seleção de transações podem ser funções distintas. [BIP 22 — getblocktemplate fundamentals] [BIP 23 — getblocktemplate pooled mining] [Stratum V2 — Protocol overview] [Bitcoin Core — getblocktemplate RPC]
O pool define normalmente um share target muito mais fácil de satisfazer do que o target da rede Bitcoin. Um share que satisfaz o target do pool fornece evidência estatística do trabalho realizado para a contabilização das recompensas; apenas um hash excecionalmente raro que satisfaz o target da rede é candidato a um bloco válido. A dificuldade do pool altera, portanto, a frequência dos shares, não a dificuldade de consenso nem o hashrate físico da máquina. [Bitcoin Developer Guide — Mining]
O hashrate indica o número de hashes por segundo. A potência consumida mede-se em watts, e a eficiência é habitualmente expressa como J/TH = W dividido por TH/s. Um valor J/TH mais baixo significa menos energia elétrica para o mesmo volume de pesquisa. O lucro também depende, porém, da dificuldade da rede, do preço do BTC, das taxas, do tempo de funcionamento, da eletricidade, da refrigeração, do financiamento e da amortização do hardware. [Braiins OS — Autotuning] [Bitaxe — open-source ASIC miner hardware]
Mesmo chips do mesmo tipo não são eletricamente idênticos: as variações de fabrico alteram as correntes de fuga, a temporização e a margem de tensão necessária. O firmware pode, por isso, ajustar a frequência e a tensão do núcleo. O underclock, ou redução da frequência de relógio, melhora frequentemente J/TH, enquanto o overclock aumenta o hashrate à custa de um aumento desproporcionado do consumo e do calor. O autotuning procura um ponto de funcionamento adequado ao chip ou hashboard em causa. [Braiins OS — Autotuning]
Um minerador não se resume ao ASIC. O resultado é limitado pela fonte de alimentação, regulação DC-DC, conectores, hashboards, ventoinhas ou circuito de refrigeração líquida e controlador. Temperaturas elevadas, pó, uma ventoinha avariada, tensão instável ou uma frequência de relógio agressiva aumentam os erros de hardware e o risco de paragem. A eficiência do chip isolado não é, portanto, igual à eficiência de todo o sistema medida na tomada. [Braiins OS — Autotuning] [Bitaxe — open-source ASIC miner hardware]
Os ASIC aumentam as barreiras de capital e técnicas à mineração competitiva e criam economias de escala nas compras, energia, reparações e infraestrutura. Isto pode concentrar os fabricantes ou o hashrate, mas não significa automaticamente controlo sobre o consenso. É necessário distinguir a concentração da produção de chips, dos pools, das localizações físicas e dos verdadeiros proprietários do hashrate. [Bitcoin Developer Guide — Mining]
Um ASIC pode procurar cabeçalhos e trabalhar numa tarefa específica de acordo com o software a montante. Não pode tornar válido um bloco inválido, alterar o limite da oferta, gastar moedas pertencentes a outras pessoas nem obrigar um Full Node a aceitar regras diferentes. O operador deve verificar o firmware, o endpoint do pool, o hashrate observado pelo pool, os shares rejeitados, a potência consumida na tomada, as temperaturas e a sua própria política de criação de modelos de blocos. [Bitcoin Developer Guide — Mining] [Bitcoin Core — getblocktemplate RPC] [Bitcoin Core v29.0 — CheckProofOfWorkImpl]
Para ter uma visão mais completa, leia este verbete junto com Mineração, Hashrate, SHA-256, Cabeçalho de bloco, Nonce, Extranonce. Também há referências a este verbete em Mining Pool, Hashrate, Nonce, Braiins.