Um processador comum, rodando um programa bem escrito, testa algo em torno de alguns milhões de chaves por segundo. Uma placa de vídeo moderna testa bilhões. A diferença não vem de a placa ser mais rápida — o núcleo dela é mais lento que o do processador — e sim de haver milhares deles.
É a natureza do problema que permite isso. Testar o candidato número um bilhão não depende em nada do resultado do candidato número novecentos e noventa e nove milhões. Cada tentativa é independente das outras, e problemas assim são o caso ideal para uma máquina com dezesseis mil núcleos pequenos em vez de dezesseis grandes.

Vale ser específico sobre o que a placa realmente faz depressa. A parte cara é a aritmética no corpo finito, sobretudo a inversão modular, e o ganho grande veio de um truque de organização: processar centenas ou milhares de pontos em lote, com uma única inversão compartilhada entre todos. O resto — os hashes, as comparações — é barato. Programas como o keyhunt e o VanitySearch, que o próximo módulo apresenta, são em boa medida implementações cuidadosas dessa ideia.
Agora a pergunta que todo mundo faz: e um ASIC? Se existe chip dedicado para mineração, por que não para busca de chaves?
A resposta tem duas partes, e as duas são interessantes. A primeira é que os ASICs de mineração não servem: eles calculam SHA-256 sobre um cabeçalho de oitenta bytes, e nada mais. Não sabem multiplicar pontos numa curva, não sabem fazer inversão modular, e não há atualização de software que os ensine — a lógica está gravada no silício.
A segunda é que um ASIC feito de propósito para a curva secp256k1 é tecnicamente possível e economicamente difícil. Projetar e fabricar um chip custa milhões de dólares e leva mais de um ano, e o resultado serve para uma tarefa só. Um minerador amortiza esse investimento com receita contínua; quem procura uma chave específica tem um prêmio único e incerto, que pode ser levado por outra pessoa no dia anterior à entrega do chip. É por isso que, na prática, o mundo dos desafios roda em placas de vídeo alugadas ou compradas de segunda mão.

Com isso na mesa, a distância entre 2^40 e 2^70 fica clara. Quarenta bits são um trilhão de candidatos: uma placa de vídeo resolve em minutos, e um notebook resolve em horas. Cinquenta bits são mil vezes mais: horas numa placa. Sessenta bits são mais mil vezes: semanas. Setenta bits são outras mil vezes: os seis mil anos de uma placa só, que a Aula 2 calculou.
Repare no formato dessa escada. Não é que setenta seja quase o dobro de quarenta. É que setenta é um bilhão de vezes quarenta. Cada dez bits multiplicam por mil, e três degraus de dez bits separam uma tarde de trabalho de um esforço que exige uma organização inteira.

E é por isso que o progresso é lento e previsível. O hardware melhora, mas melhora por fatores de dois ou três a cada geração, e cada fator de dois compra exatamente um bit. Uma placa dez vezes mais rápida que a de hoje avança pouco mais de três bits na fronteira. Nenhuma geração de hardware vai transformar oitenta bits em algo fácil, e nada no horizonte ameaça os 256 bits de uma chave sorteada direito.
Uma última observação, que prepara a aula seguinte. Todas as contas deste módulo supõem uma única operação varrendo o intervalo do começo ao fim. Quando muita gente procura ao mesmo tempo, sem combinar nada, quase todo esse trabalho é repetido: dois mil computadores testando os mesmos candidatos valem por um. Organizar a divisão é o que transforma esforço somado em esforço útil — e é o assunto da próxima aula.