Video Transcript
No vídeo principal sobre criptomoedas, fiz duas referências a situações
em que, para quebrar uma determinada peça de segurança, você teria
que adivinhar uma sequência específica de 256 bits. Uma delas estava no contexto de assinaturas digitais e o outro no
contexto de uma função de criptografia hash.
Por exemplo, se você deseja encontrar uma mensagem cujo hash SHA-256 seja
uma sequência específica de 256 bits, não há método melhor do que
apenas adivinhar e verificar mensagens aleatórias. E isso exigiria, em média, de dois a 256 palpites. Agora, esse é um número tão distante de qualquer coisa com a qual lidamos
que possa ser difícil apreciar seu tamanho. Mas vamos tentar. Dois elevado a 256 é o mesmo que dois elevado a 32 multiplicado por ele
mesmo oito vezes. Agora, o que é legal nessa divisão é que dois elevado a 32 são quatro
bilhões, o que é pelo menos um número em que podemos pensar,
certo? É o tipo de coisa que você pode ver em uma manchete.
Então, o que precisamos fazer é apreciar o que realmente seria
multiplicar quatro bilhões vezes ele mesmo oito vezes
sucessivas. Como muitos de vocês sabem, a CPU do seu computador pode permitir que
você execute vários cálculos em paralelo incrivelmente rápido. Portanto, se você programar especialmente uma CPU para executar uma
função de criptografia hash repetidamente, uma realmente boa poderá
executar um pouco menos de um bilhão de hashes por segundo. Digamos que você apenas pegue um monte deles e monte seu computador cheio
de CPUs extras para que ele possa executar quatro bilhões de hashes
por segundo.
Portanto, os quatro primeiros bilhões aqui representam o número de hashes
por segundo por computador. Agora, imagine quatro bilhões desses computadores cheios de CPU. Para comparação, embora o Google não torne público o número de
servidores, as estimativas estão em um dígito de milhões. Na realidade, a maioria desses servidores será muito menos poderosa do
que a nossa máquina cheia de CPU. Mas digamos que o Google substituiu todos os milhões de servidores por
uma máquina como esta. Então, quatro bilhões de máquinas significariam cerca de mil cópias desse
Google aprimorado. Vamos chamar esse valor de um quiloGoogle de poder de computação.
Existem cerca de 7.3 bilhões de pessoas na Terra. Então, a seguir, imagine dar a pouco mais da metade de cada indivíduo na
Terra seu próprio quiloGoogle pessoal. Agora, imagine quatro bilhões de cópias desta Terra. Para comparação, a Via Láctea tem algo entre 100 e 400 bilhões de
estrelas. Realmente não sabemos, mas as estimativas tendem a estar nesse
intervalo. Portanto, isso seria semelhante a um por cento completo de todas as
estrelas da galáxia, com uma cópia da Terra onde metade das pessoas
na Terra tem seu próprio quiloGoogle pessoal.
Em seguida, tente imaginar quatro bilhões de cópias da Via Láctea. E chamaremos isso de supercomputador gigagaláctico, executando de duas a
160 tentativas por segundo. Agora quatro bilhões de segundos? São cerca de 126.8 anos. Quatro bilhões desses? Bem, são 507 bilhões de anos, cerca de 37 vezes a idade do universo. Portanto, mesmo que você tenha seu computador gigagaláctico
multiplanetário por quiloGoogle por pessoa, equipado com CPU,
adivinhando números 37 vezes a idade do universo, ele ainda terá
apenas uma chance em quatro bilhões de encontrar o número
correto.
A propósito, o estado do hash de bitcoin atualmente é que todos os
mineradores criam palpites e verificam a uma taxa de cerca de cinco
bilhões de bilhões de hashes por segundo. Isso corresponde a um terço do que acabei de descrever como um
quiloGoogle. Isso não ocorre porque existem bilhões de máquinas cheias de CPU por
aí. Mas como os mineradores realmente usam algo mil vezes melhor que uma CPU,
Aplicativos Integrados de Circuitos Específicos. São peças de hardware projetadas especificamente para mineração de
bitcoin, para executar um monte de hashes SHA-256 e nada mais. Acontece que há muitos ganhos de eficiência quando você descarta a
necessidade de computação geral e projeta seus circuitos integrados
para uma e apenas uma tarefa.