Title: Usar os digitos do Pi (π) para gerar uma brain wallet, 31415 sats free Post by: ussemoc on July 23, 2022, 12:14:56 PM O ideal seria nunca precisarmos anotar as 24 palavras geradas aleatoriamente de uma wallet BIP39 e guardar na memória.
Quem tem memória fotografica não teria nenhuma preocupação.Mas não é o caso da maioria. Imagige uma situação em que você precisa fugir de um lugar por causa de uma guerra, desastre, incêndio, e perde tudo. Ou atravessa uma fronteira e tem seus bens confiscados. Ou pior , tem seus emails e arquivos da nuvem confiscados e suas chaves estão lá guardadas Podemos usar algumas propriedades do número Pi (π) aquela famosa relação entre o comprimento e diâmetro de um circulo. π = 3,1415926... A primeira propriedade é que seus digitos decimais (matissa) são infinitos, já que ele é um número irracional. Outra propriedade é que esses digitos não tem um padrão de repetição e são uma boa fonte de números aleatórios, como atestam esses artigos: https://blogs.sas.com/content/iml/2015/03/12/digits-of-pi.html https://arxiv.org/pdf/1411.3911.pdf https://www.purdue.edu/uns/html4ever/2005/050426.Fischbach.pi.html As palavras seed do BIP39 são compostas de 2048 palavras em inglês que são indexadas , ou seja cada palavra tem um número que varia de 1 a 2048. Aqui tem a relação das palavras e seu índice: https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt A proposta é basicamente escolher uma posição do dígito de pi e a cada 4 digitos seguintes procurar um número que se encaixe entre os intervalos do índice ou seja, os dígitos tem que estar entre 0001 e 2048 para ser válido, caso contrario descarte e passe para a proxima busca. Nesse exemplo eu usei o https://www.angio.net/pi/bigpi.cgi e baixei os primeiros 500 digitos do Pi a partir da posição 1 para usar como exemplo. Na prática devemos usar uma posição que só você saiba. Essa posição seria a senha secreta que vai gerar a seed do BIP39. Nesse site de busca de digitos de Pi basta escolher a quantidade de digitos para ser baixada e a posição a partir da qual os digitos serão baixados. Depois basta clicar no Show Pi. Abaixo estão os primeiros 500 digitos a partir da posição 1, lembrando que é apenas um exemplo e não deve ser usado na prática, escolha outra posição que só você saiba. 1415926535897932384626433832795028841971693993751058209749445923078164062862089 9862803482534211706798214808651328230664709384460955058223172535940812848111745 028410270193852110555964462294895493038196 Vamos dividir essa maçaroca de digitos em grupos de 4 digitos e verificar se estão entre o intervalo de 0001 e 2048, se sim. vamos procurar na tabela do índice do BIP39 as palavras correspondentes. Se o digito estiver fora do intervalo, descartamos e vamos pra proxima busca, até complermos 23 palavras, a palavra de número 24 não pode ser escolhida, deve ser calculada a partir das 23 palavras anteriores,isso será feito na etapa posterior. O motivo de termos baixados 500 digitos é que nem todos os grupos de 4 digitos se encaixam no intervalo, assim temos que ter uma boa quantidade para fazer a busca, em alguns casos precisamos baixar 1000 digitos para conseguir atingir o objetivo. 1415 palavra 1: radio 9265 3589 7932 3846 2643 3832 7950 2884 1971 palavra 2: wagon 6939 9375 1058 palavra 3: loud 2097 4944 5923 0781 palavra 4: ghost 6406 2862 0899 palavra 5: icon 8628 0348 palavra 6: clock 2534 2117 0679 palavra 7:feel 8214 8086 5132 8230 6647 0938 palavra 8:inside 4460 9550 5822 3172 5359 4081 2848 1117 palavra 9: merit 4502 8410 2701 9385 2110 5559 6446 2294 8954 9303 8196 4428 8109 7566 5933 4461 2847 5648 2337 8678 3165 2712 0190 palavra 10: bless 9145 6485 6692 3460 3486 1045 palavra 11: little 4326 6482 1339 palavra 12: point 3607 2602 4914 1273 palavra 13: page 3460 3724 5870 0660 palavra 14: fame 6315 5881 7488 1520 palavra 15:sadness 4326 9209 6282 9254 0917 palavra 16:income 1536 palavra 17:say 4367 8925 9036 0011 palavra 18:access 3305 3054 8820 4665 2138 4146 9519 4151 1609 palavra 19:simple 4330 5727 0365 palavra 20:collect 7595 9195 3092 1861 palavra 21: trigger 1738 palavra 22:summer 1932 palavra:23: vapor radio wagon loud ghost icon clock feel inside merit bless little point page fame sadness income say access simple collect trigger summer vapor Temos as 23 palavras da seed, ainda falta a palavra 24 que é o check sum e é calculado a partir as outras 23 palavras. Essa é a parte mais chata do processo. Das 2048 palavras do BIP39, só 8 podem validar essa sequência de 23 palavras. Para descobrir quais são essas palavras precisamos usar um programa escrito em Python disponivel aqui: https://github.com/jonathancross/jc-docs/blob/master/BIP39_Seed_Phrase_Checksum.py Usando esse programa descobrimos as 8 palavras que podem completar a nossa sequencia acima, são elas em ordem alfabetica: cabin crowd expand hurt nation random slow total Outro método para quem não sabe usar o Pyton seria usar o gerador do BIP 39 do Ian Coleman https://iancoleman.io/bip39/ e procurar por força bruta uma das 8 palavras para validar a sequência, preenchendo com as 23 palavras conhecidas e buscando a palavra 24, na teoria teriamos 256 tentativas para encontra uma das 8 palavras, ou 2048 tentativas para achar todas as 8, lembrando que temos que usar a lista oficial de palavra do BIP39.. Finalizando nossa relação de possiveis seeds: radio wagon loud ghost icon clock feel inside merit bless little point page fame sadness income say access simple collect trigger summer vapor cabin radio wagon loud ghost icon clock feel inside merit bless little point page fame sadness income say access simple collect trigger summer vapor crowd radio wagon loud ghost icon clock feel inside merit bless little point page fame sadness income say access simple collect trigger summer vapor expand radio wagon loud ghost icon clock feel inside merit bless little point page fame sadness income say access simple collect trigger summer vapor hurt radio wagon loud ghost icon clock feel inside merit bless little point page fame sadness income say access simple collect trigger summer vapor nation fadio wagon loud ghost icon clock feel inside merit bless little point page fame sadness income say access simple collect trigger summer vapor random radio wagon loud ghost icon clock feel inside merit bless little point page fame sadness income say access simple collect trigger summer vapor slow radio wagon loud ghost icon clock feel inside merit bless little point page fame sadness income say access simple collect trigger summer vapor total Verifiquei essas 8 carteiras no Trust Wallet e nenhuma delas tem algum saldo. O segredo desse método é escolher uma posição inicial do digito do número Pi que só você consiga guardar na memoria. Datas do seu nascimento não seria recomendado. Lembrando que o site que gera os digitos do número Pi guarda 200 milhões de digitos , ou seja a posição escolhida teria que estar entre 1 e 199999000, deixando uma margen confortável de digitos disponiveis para uso. Outro método para deixar mais aleatório o método, seria o de inverter a sequência de palavras, embaralhar a sequencia, ou pular os digitos seguindo uma ordem que só você saiba e logicamente consiga lembrar, existem inúmeras variações. Lembrando que mesmo que alguem tenha as 23 palavras, mas se não souber a correta sequencia, vai ser dificil abrir a carteira e sacar as criptos, lembrando que temos o fatorial de 23 como as possiveis combinações, ou 25.852.016.738.884.976.640.000 possibilidades. Para finalizar deixei 31415 satoshis, justamente o valor de pi, no endereço abaixo, hoje vale quase 7 dólares. bc1q5ww05r83qlxw3at6xt8pkn0znel3t77f9sxqhh https://www.blockchain.com/btc/address/bc1q5ww05r83qlxw3at6xt8pkn0znel3t77f9sxqhh Esse endereço foi gerado usando esse metodo , usei a data de nascimento do físico Albert Einstein, que, concidẽncia ou não , nasceu no famoso dia do Pi, ou seja 14 de março . Usei o formato americano para a data de nascimento do Einstein: 3141879 Usando essa data e usando a primeira palavra em ordem alfabética para o check sum da palavra 24, descubra os seeds da carteira e saque seus satoshis. Vou estar monitorando no Trust wallet essa conta. Boa sorte! Title: Re: Usar os digitos do Pi (π) para gerar uma brain wallet, 31415 sats free Post by: bitmover on July 25, 2022, 11:43:24 AM ussemoc, voce parece ter botado algum esforço no seu post e acho que até faz algum sentido, mas de forma geral essas sugestões não são boas para a segurança.
No final do processo, você terá uma seed que já foi exposta à um computador com internet (ou seja, comprometida), e métodos inseguros de armazenamento e uma aleatoriedade pobre (usando um aniversário como seed). Vou pontuar os principais problemas acima, que vão contra as principais práticas de segurança: O ideal seria nunca precisarmos anotar as 24 palavras geradas aleatoriamente de uma wallet BIP39 e guardar na memória. Quem tem memória fotografica não teria nenhuma preocupação.Mas não é o caso da maioria. Esse é um péssimo método. Ninguém deve fazer isso. O mais óbvio motivo é que qualquer pessoa pode esquecer a seed e perder o dinheiro. Não é fácil decorar 12/24 palavras que não fazem sentido juntas ordenadas. E na verdade nem tem motivo, se voce pode simplesmente anotar num papel com o mesmo grau de segurança (alias, um grau ainda maior do que na memória) Guardar seus bitcoins deve ser um método de segurança infalível. Não faz diferença se voce perdeu suas moedas pq foi hackeado ou pq esqueceu a seed. O resultado é o mesmo, assim como a causa: uma política de segurança ruim. Quote Imagige uma situação em que você precisa fugir de um lugar por causa de uma guerra, desastre, incêndio, e perde tudo. Ou atravessa uma fronteira e tem seus bens confiscados. Talvez a única situação em que seja útil guardar sua chave na memória seja fugindo de uma guerra que voce pode ser revistado por autoridades o tempo todo. Contudo, mesmo assim, existem métodos mais eficientes como grifar páginas em livros, guardar backups alternativos com alguma codificação, etc. Quote Ou pior , tem seus emails e arquivos da nuvem confiscados e suas chaves estão lá guardadas Chaves privadas nunca devem ser guardadas em nuvem. Uma vez que sua seed foi digitada em um computador com acesso a internet, essa SEED já não serve mais e pode ser considerada comprometida. Quote Temos as 23 palavras da seed, ainda falta a palavra 24 que é o check sum e é calculado a partir as outras 23 palavras. Essa é a parte mais chata do processo. Das 2048 palavras do BIP39, só 8 podem validar essa sequência de 23 palavras. Para descobrir quais são essas palavras precisamos usar um programa escrito em Python disponivel aqui: https://github.com/jonathancross/jc-docs/blob/master/BIP39_Seed_Phrase_Checksum.py A principio, essa Seed foi exposta à um computador com acesso a internet (voce precisou baixar o programa e fazer tudo isso). Já tem um baixo grau de segurança na sua geração. No final das contas, o melhor é comprar uma hardware wallet e não se preocupar com nada disso. Anote num papelzinho sua seed, guarda num local seguro, faça outra cópia e deixe em outro local ou com um familiar de confiança. Você terá segurança contra hackers e um método amplamente testado e recomendado por toda a comunidade de armazenamento e geração de seed. Title: Re: Usar os digitos do Pi (π) para gerar uma brain wallet, 31415 sats free Post by: joker_josue on July 26, 2022, 09:00:24 AM Como o Bitmover comentou, as vezes todo esse processo pode colocar a pessoa expostas.
Mesmo podendo-se fazer boa parte do processo offline, mas seria mais complexo e complicado. As vezes não vale a pena complicar, o que já funciona e é muito mais simples. As palavras seed do BIP39 são compostas de 2048 palavras em inglês que são indexadas , ou seja cada palavra tem um número que varia de 1 a 2048. Aqui tem a relação das palavras e seu índice: https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt Mas neste ponto, na minha opinião pode complicar. Que garantia há que essa sequencia de palavras do BIP39 é sempre igual? Ou seja a palavra 1 será sempre essa? Ou que garantia há que não podem vir a surgir mais palavras? E se a pessoa não conseguir aceder a lista de palavras? Title: Re: Usar os digitos do Pi (π) para gerar uma brain wallet, 31415 sats free Post by: bitmover on July 26, 2022, 10:45:43 AM As palavras seed do BIP39 são compostas de 2048 palavras em inglês que são indexadas , ou seja cada palavra tem um número que varia de 1 a 2048. Aqui tem a relação das palavras e seu índice: https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt Mas neste ponto, na minha opinião pode complicar. Que garantia há que essa sequencia de palavras do BIP39 é sempre igual? Ou seja a palavra 1 será sempre essa? Ou que garantia há que não podem vir a surgir mais palavras? E se a pessoa não conseguir aceder a lista de palavras? Joker, BIP39 é o padrão da geração de seed das carteiras determinísticas. É um BIP (Bitcoin Improvement Proposal) do Bitcoin. As palavras sao sempre fixas, e sao usadas por praticamente todas as carteiras qeu existem. QUal carteira voce usa? onde voce guarda seus bitcoins? Voce nao guarda 12/24 palavras num papelzinho? São essas palavras ai. Se voce nao usa uma carteira com Seed, voce deveria usar. Uma curiosidade: A comunidade aqui do bitcointalk participou da criação das 2048 palavras em portugues, e foi com sucesso colocada no código do bitcoin. Veja que interessante: O topico de discussao https://bitcointalk.org/index.php?topic=5272106.0 O Github com portugues https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md A lista em portugues com quem participou: https://github.com/bitcoin/bips/blob/master/bip-0039/portuguese.txt Title: Re: Usar os digitos do Pi (π) para gerar uma brain wallet, 31415 sats free Post by: joker_josue on July 26, 2022, 11:30:18 AM Joker, BIP39 é o padrão da geração de seed das carteiras determinísticas. É um BIP (Bitcoin Improvement Proposal) do Bitcoin. As palavras sao sempre fixas, e sao usadas por praticamente todas as carteiras qeu existem. QUal carteira voce usa? onde voce guarda seus bitcoins? Voce nao guarda 12/24 palavras num papelzinho? São essas palavras ai. Se voce nao usa uma carteira com Seed, voce deveria usar. Sim eu sei. Mas a ordem que aparece na lista é sempre a mesma? Ou pode mudar? Ou seja o que hoje aparece na posição 1, alguém ao montar a lista não pode colocar na posição 10? Não estou a dizer que as palavras mudam, mas que a localização da lista pode mudar. Todas as carteiras que usei até hoje, sempre tive seed, incluindo a carteira do blockchain.com. Agora estou a usar a Electrum. ;) Title: Re: Usar os digitos do Pi (π) para gerar uma brain wallet, 31415 sats free Post by: TryNinja on July 26, 2022, 12:32:24 PM Sim eu sei. Mas a ordem que aparece na lista é sempre a mesma? Ou pode mudar? Não tem como aparecer mais palavras. O padrão é esse.Ou seja o que hoje aparece na posição 1, alguém ao montar a lista não pode colocar na posição 10? Não estou a dizer que as palavras mudam, mas que a localização da lista pode mudar. São 2048 palavras exatamente porquê cada grupo do hash gerado pode ter 2048 bits. Seria a mesma coisa de perguntar como podemos garantir que 1 + 1 sempre vai ser 2, se o sentido da operação de soma pode mudar no futuro. Ela simplesmente não pode. Se mudar, já é variação nova, outra coisa. Title: Re: Usar os digitos do Pi (π) para gerar uma brain wallet, 31415 sats free Post by: bitmover on July 26, 2022, 02:37:41 PM Sim eu sei. Mas a ordem que aparece na lista é sempre a mesma? Ou pode mudar? Ou seja o que hoje aparece na posição 1, alguém ao montar a lista não pode colocar na posição 10? Não estou a dizer que as palavras mudam, mas que a localização da lista pode mudar. Todas as carteiras que usei até hoje, sempre tive seed, incluindo a carteira do blockchain.com. Agora estou a usar a Electrum. ;) As palavras são apenas um símbolo de fácil leitura e armazenamento para o ser humano ler. O que interessa são os números por trás das palavras. A combinação das palavras são na verdade combinação de número de 0 a 2047 em 12/24 lugares, que geram a seed. A seed é, de forma simplificada, um número enorme. Existe apenas uma lista de palavras com números associados para cada idioma. Não existe como essa lista mudar. Se mudar, vai ser outra lista. Title: Re: Usar os digitos do Pi (π) para gerar uma brain wallet, 31415 sats free Post by: joker_josue on July 26, 2022, 03:14:10 PM Obrigado @TryNinja e @bitmover pelos esclarecimentos adicionais.
Foi um assunto, que nunca tinha pesquisado mais a fundo, e tinha essas duvidas. ;) |