Author

Topic: Usar os digitos do Pi (π) para gerar uma brain wallet, 31415 sats free (Read 163 times)

legendary
Activity: 1722
Merit: 4711
**In BTC since 2013**
Obrigado @TryNinja e @bitmover pelos esclarecimentos adicionais.

Foi um assunto, que nunca tinha pesquisado mais a fundo, e tinha essas duvidas. Wink
legendary
Activity: 2352
Merit: 6089
bitcoindata.science

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. Wink

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.
legendary
Activity: 2758
Merit: 6830
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.
Não tem como aparecer mais palavras. O padrão é esse.

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.
legendary
Activity: 1722
Merit: 4711
**In BTC since 2013**
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. Wink
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
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://bitcointalksearch.org/topic/2020-lista-de-palavras-em-portugues-para-o-bip-0039-5272106

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
legendary
Activity: 1722
Merit: 4711
**In BTC since 2013**
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?
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
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.
newbie
Activity: 17
Merit: 9
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!












                      




 
Jump to: