Toda vez que alguém entende que uma chave privada é só um número, a mesma pergunta aparece: e se eu ficar tentando números até acertar? A pergunta é boa, e a resposta não é "é difícil". A resposta é que a tentativa esbarra na física antes de esbarrar na engenharia, e vale ver o tamanho da parede.
Uma chave privada tem 256 bits. Isso significa que o número de chaves possíveis é 2 multiplicado por ele mesmo 256 vezes: aproximadamente 115 seguido de 75 zeros. Escrever a quantidade é fácil; imaginá-la é que não é, e as comparações que costumam ser usadas falham todas na mesma direção — elas são pequenas demais.
Os grãos de areia de todas as praias e desertos da Terra são cerca de sete quintilhões e meio, um número com dezenove casas. As estrelas de todas as galáxias que os telescópios alcançam somam algo perto de dez sextilhões, com vinte e duas casas. Os átomos que existem no universo observável estão na casa de 10^80 — e essa é a primeira comparação que finalmente ultrapassa o espaço de chaves, por uma diferença de mil vezes. Se cada chave possível recebesse um átomo do universo, sobrariam ainda mil átomos para cada uma.

Números tão grandes ficam mais concretos quando se paga por eles em energia. A rede inteira do Bitcoin calcula hoje algo em torno de um sextilhão de hashes por segundo, o maior esforço computacional já montado pela humanidade para uma tarefa só. Se ela parasse de minerar e passasse a testar chaves nesse ritmo, cobriria por volta de 3 seguido de 28 zeros por ano — e levaria mais de 10^48 anos para varrer o espaço. O universo tem 13,8 bilhões de anos, um número com onze casas.
O limite mais duro não é nem esse, e foi calculado por Bruce Schneier em 1996. Existe uma quantidade mínima de energia que qualquer computador precisa gastar para mudar um bit de estado, e ela vem da termodinâmica, não da tecnologia. Fazendo a conta com esse mínimo teórico, um computador perfeito que capturasse toda a energia emitida pelo Sol durante trinta e dois anos conseguiria apenas contar até 2^192. Contar. Sem verificar nada, sem comparar com endereço nenhum. E 2^192 é uma fatia desprezível de 2^256.

Agora a correção honesta, porque a segurança real não é 2^256. Existem algoritmos que atacam a chave privada pela chave pública e resolvem o problema em cerca da raiz quadrada do espaço — o que derruba o expoente pela metade e leva o esforço para a ordem de 2^128, ou 34 seguido de 37 zeros. É o assunto do módulo sobre busca de chaves, na trilha avançada. E 2^128 continua fora de alcance por larguíssima margem: o cálculo do Sol acima já mostra que nem 2^192 cabe, mas mesmo descendo tanto assim o número segue maior que o de grãos de areia do planeta multiplicado por ele mesmo.
O que dá para fazer, e é o que o mundo faz, é diminuir o intervalo. Ninguém procura em 2^256; procura-se em 2^70, em 2^80, em faixas onde alguém já sabe que a chave está. Cada bit a menos corta o trabalho pela metade, e é essa aritmética que separa um projeto de uma impossibilidade.

Todas as chaves que já foram descobertas na prática caíram por esse caminho. Nenhuma delas foi adivinhada: elas foram sorteadas mal. A frase escolhida por um humano, o gerador quebrado do Android que a aula anterior contou, o intervalo minúsculo de um teste que virou carteira de verdade. O tamanho do número nunca falhou; o que falha é o sorteio, e o sorteio é a única parte que depende de alguém ter feito o trabalho direito.
Esse número gigantesco, na prática, você nunca digita. Ele é escrito de quatro maneiras diferentes, e confundir uma com a outra faz uma carteira parecer vazia sem que nada tenha sumido. Na próxima aula, os formatos de chave.