CanalQb - PrivateKey - Qual o nível da segurança da sua carteira?
CanalQb - PrivateKey - Qual o nível da segurança da sua carteira?
Existem varias formas de criar uma carteira através de frase mnemonics (Frase de segurança), mas no final das contas, é a mesma coisa, ela sempre vai devolver uma privatekey com 64 caracteres.
A privatekey é uma tipo de frase hexadecimal, composta de 64 caracteres, tendo isso em vista, já é entendido que pode demorar para gerar especificamente uma carteira já existente, mas sim é possivel.
Durante o processo de criação das blockchains, BTC, entre outras, foi desenvolvido uma técnica para gerar as privatekey de formas mais certivas, e foi criado o padrão bip39 para gerar a chamada frase de segurança.
As frases de segurança é um calculo feito através da base padrão de 11 palavras + 1 palavra (quando 12 palavras) e 14 palavras + 1 palavra (quando 15 palavras) e 23 palavras + 1 palavra (quando 24 palavras)
Vamos falar de 12, mas vale para todas.
Em resumo:
Existe um padrão global onde é criado um dicionário de palavras de 2048, nada a mais e nada a menos, e essas palavras são livres para que seja criado as 11 palavras iniciais.
Então é criado uma criptografia chamada de sha256, que através das somas binarias destas 11 palavras, é informado a ultima palavra compatível para você criar a carteira.
Isso teoricamente torna sua carteira única, mas e sem alguém do outro lado do globo criar as 11 palavras, e o sha256 der o mesmo resultado, visto que é uma chance é de 1 para 2048 palavras, e nem todas essas palavras tornam uma resposta de privatekey valida?
Para isso, as empresas das principais carteiras, como Wallet, Trust, entre outras, reservam grupos destas palavras para seus clientes, e cada cliente recebe determinadas palavras baseado nas configurações do computador ou celular que possui + data do dia, como se
Um exemplo com números hipotéticos
Imagina que a metamask é detentora de 100 palavras, no dia 15/06/2023, então ela pode fornecer essas palavras, e um determinado usuario vai instalar a metamask
feito isso destas 100 palavras ela vai dizer que, em outro exemplo hipotético:
Na primeira palavra, ela vai reversar 6 palavras destas 24 para cada hora do dia, então ela pode randomizar 4 palavras por horário
Para a segunda palavra, ela pode usar as 2048 palavras, separando cada uma por minuto do dia 1440 minutos
E assim uma condição para cada uma das 11 palavras, até chegar na ultima palavra, onde ela consulta algum tipo de informação, talvez o macadress de quem está solicitando a instalação da metamask.
Isso não é um padrão da metamask e nem de outra carteira, mas isso é uma forma de calculo, que limita ainda mais a geração da carteira repetida, as normas são especificas deles e não temos acesso a isso.
Então com base nesse cenário imaginário, entendemos que é "realmente" gerar privatekey's repetidas.
Agora vamos as possibilidades e a pergunta:
Quantas frases de segurança de 12 palavras, conseguimos criar, com apenas 2048 palavras unicas?
Em formula:
C(n, p) = n! / (p! * (n - p)!)
Neste caso, temos n = 2048 (número de palavras únicas) e p = 12 (número de palavras em cada frase).
Portanto, o cálculo da quantidade de frases de 12 palavras que podem ser montadas com 2048 palavras únicas seria:
C(2048, 12) = 2048! / (12! * (2048 - 12)!)
Calculando C(2048, 12):
O fatorial de um número n é representado por n! e é calculado multiplicando-se todos os números inteiros positivos de 1 até n.
Calculando os fatoriais necessários:
12! = 12 * 11 * 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 12048! = 2048 * 2047 * 2046 * ... * 3 * 2 * 1
Calculando a expressão:
C(2048, 12) = 2048! / (12! * (2048 - 12)!)= (2048 * 2047 * 2046 * ... * 3 * 2 * 1) / ((12 * 11 * 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1) * (2036!))
Bom é impossível escrever a resposta mesmo por extenso, mas é algo como 33 tentilhões ('deve ser assim que se escreve isso'), de possibilidades, só que não.
Hoje com os computadores quânticos cada vez mais perto da nossa realidade, é bem possível alguém ou algum grupo investir uma grana pesada, para resgatar todas as privatekeys disponíveis de carteira, Wallet, Web3, ou mesmo de Hardware, mesmo
Na data deste post 18/06/2023, algo como 3757,28 BTC é possível adquirir um computador quântico, então pense nos baleias.
Não pense como gente pobre, para algumas pessoas 1 milhão é coisa tipo dinheiro de pinga.
Não pense como gente pobre, para algumas pessoas 1 milhão é coisa tipo dinheiro de pinga.
Bom voltamos a nossa realidade, como não é possível chegar nessa realidades, alguns hacker com base nesse conhecimento criam sistemas para gerar e validar frases mnemonics, esses programas ou scripts, por não seguirem regras padrões, simplesmente geram frases sequenciais usando as palavras publicas de bip39, e com isso em um momento ou dois eles conseguem alcançar as carteiras das pessoas, indiferente se é btc, ltc, eth, ou outras.
Basicamente, eles decifram como é separado as palavras para cada tipo de carteira, quem tem posso das determinadas palavras, e por fim, rodam o script igual ao do vídeo que eu criei.
Se por exemplo eles entenderem que das 2048, a metamask apenas recebe 100 palavras por dia, eles estudam uma forma de receber essas palavras, e já conseguem prever quais frases serão criadas durante esse dia, isso faz com que o tempo e custo seja reduzidos.
por isso a dica, nunca deixe seus tokens, em carteiras com proximidades de letra inicial das palavras, isso pode dar a chance do computador do invasor descobrir quais são suas palavras das duas carteiras.
Quer aprender onde achar o código https://github.com/ajakubek/python-sha3, bom se você não tiver criatividade, e souber quais itens usar não serve pra nada
Nenhum comentário
Comente só assim vamos crescer juntos!
Observação: somente um membro deste blog pode postar um comentário.