Alguma vez se perguntou por que a carteira BTC de outra pessoa não consegue gerar o mesmo endereço que a sua? Ou por que alguém não consegue gerar a mesma frase-semente que você? Afinal, são apenas algumas palavras! Neste tópico, analisamos os números, investigando quão bem o bitcoin protege a sua riqueza. 🧵⬇️
Existem 3 ferramentas principais que o protocolo bitcoin utiliza para proteger a sua riqueza, que vale a pena entender: Entropia, funções de hash e criptografia assimétrica. Cada uma delas é utilizada extensivamente no mundo da segurança digital, mesmo fora do bitcoin. Vamos explicar brevemente cada uma.
Primeiro: Entropia. Este é um nome elegante e conciso para "aleatoriedade imprevisível." Se você escolher um número muito grande aleatoriamente, de forma imprevisível, então nenhum computador poderia jamais esperar adivinhá-lo (desde que o número seja grande o suficiente!). Você teria então um segredo seguro.
Qual é um número grande o suficiente? O NIST recomenda 2^112 (ou seja, 112 bits) ou mais para uma segurança eficaz. Para referência, toda a rede de mineração de bitcoin atualmente faz cerca de 2^79 palpites a cada 10 minutos. Mas 2^112 é mais de 8 bilhões de vezes maior do que isso!
Além disso, uma frase-semente de 12 palavras representa uma entropia ainda maior: 2^128. (Cada palavra representa 11 bits. 11*12 = 132, menos 4 bits para um checksum.) 2^128 é cerca de 65.000 vezes mais forte do que a recomendação do NIST!
Para alguém adivinhar uma frase-semente específica, é como se precisasse pegar emprestadas todas as máquinas de mineração de bitcoin do mundo e fazer palpites por cerca de 10,7 bilhões de anos. É teoricamente possível, mas é irracional pensar que isso algum dia acontecerá, se as melhores práticas forem seguidas.
Segundo: Funções de hash. As funções de hash são incríveis, porque você pode inserir qualquer dado (chamado de pré-imagem) e ele irá gerar um número único entre 0 e o limite superior da função (SHA-256 é especialmente famoso, com um intervalo de até 2^256). Você pode inserir uma palavra, uma página, um livro.
Estas funções são unidirecionais. Você pode facilmente encontrar uma saída a partir de uma entrada. No entanto, se você só tiver a saída, não conseguirá encontrar a entrada sem adivinhar. Mesmo as saídas de entradas semelhantes com pequenas alterações (como uma letra maiúscula) parecem completamente diferentes e aleatórias:
Portanto, uma saída de hash tem propriedades semelhantes às da entropia. Alguém que procura uma pré-imagem que resulte em uma saída de hash particular teria que tentar adivinhar após adivinhar após adivinhar. Enquanto levar 2^112 tentativas ou mais, é inviável e a pré-imagem é segura.
O Bitcoin utiliza SHA-256 para ajudar a tornar as transações irreversíveis, e SHA-256 ou RIPEMD-160 para proteger a maioria dos tipos de endereços. Assim, para que uma carteira gere o mesmo endereço que a de outra pessoa, precisaria de pelo menos 2^160 tentativas, o que é mais do que suficiente em termos de segurança.
Finalmente: Criptografia assimétrica. Também conhecida como criptografia de chave pública, ou em muitos contextos criptografia de curva elíptica (ECC). No bitcoin, a ECC é utilizada para que uma chave privada possa produzir uma chave pública, bem como assinaturas para aprovar transações.
Se uma chave pública for um número grande o suficiente, mais uma vez, levaria uma quantidade insana de tentativas para encontrar a chave privada associada. As chaves do Bitcoin são números dentro de um espaço de 2^256. A matemática funciona de tal forma que a segurança é na verdade metade dos bits, ou seja, 2^128, o que é seguro.
No final, todos os que realizam operações normais na economia do bitcoin estão protegidos por padrões de segurança que vão muito além das recomendações do NIST e das senhas típicas de bancos online. O gráfico abaixo ajuda a visualizar a situação.
618