Bitcoin Forum
May 05, 2024, 05:32:50 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Curiosidades sobre a BIP0039 (esquema de geração de códigos mnemônicos)  (Read 252 times)
Forsyth Jones (OP)
Hero Member
*****
Offline Offline

Activity: 1162
Merit: 618


Press F for Leo


View Profile WWW
March 20, 2018, 04:44:20 PM
Last edit: February 09, 2024, 04:28:37 PM by Forsyth Jones
Merited by u9y42 (1), alegotardo (1), Loganota (1), wilwxk (1)
 #1

 É graças a essa BIP que hoje em dia fazer o backup de uma carteira (desde ela seja HD) é tão fácil quanto escrever/memorizar uma sentença de 12 - 24 palavras num pedaço de papel e com ela é possível recuperar sua carteira em qualquer software de carteira BIP32, BIP44 ou BIP49 etc...

A frase mnemônica na verdade é uma representação de uma semente binária (master seed) cada palavra-chave representa um código em hexadecimal (no livro do Andreas explica isso com clareza, mas tarde eu posto ele aqui) os dois tem a mesma função, restaurar uma carteira HD, a diferença é que é mais fácil usar a representação binária da semente (frase de recuperação BIP39) que você pode escrever num papel ou memorizar do que decorar um monte de letras e números binários e hexadecimais, sendo assim: a frase de recuperação BIP39 gera a master seed, a master seed gera a master private key (xpriv), da xpriv é gerado as chaves privadas e por fim as chaves públicas e os endereços públicos.

Uma frase de recuperação com 12 palavras equivale a uma semente mestra de 32 bytes, uma de 18 equivale a uma entropia de 128 BYtes e uma de 24 equivale a 256 bytes, quanto maior é a extensão de palavras-chave do mnemônico, maior o tamanho de sua entropia, segurança melhor, mas é mais difícil (um pouquinho neh) de memorizar...

A grande desvantagem desse método de backup e restauração de carteira é que é uma informação muito fácil de ser roubada, por exemplo, se você guardar uma frase mnemônica em qualquer lugar e uma pessoa descobrir e sabe que isso é um backup da carteira poderá roubar seus bitcoins apenas importando essa frase numa carteira hierárquica, para evitar isso você pode fazer o seguinte:

Se o seu backup possuí 12 palavras chaves, copie apenas as 6 palavras iniciais num papel e o resto você deixa como uma senha, pode utilizar um administrador de senhas por exemplo, se em uma situação de risco alguém lhe obrigar a entregar o backup o bandido saberá que ainda está faltando mais 6 frases, para contornar isso, adicione mais 6 palavras aleatórias (mas só você sabe que as 6 primeiras palavras são necessárias para restaurar sua carteira). Faça o mesmo procedimento se a sua frase for de 18 ou de 24 palavras, anote só a metade no papel e o resto você deixa como uma senha no keepass, crie várias cópias da frase no papel e faça backup do arquivo .kbgk do keepass para evitar perder sua senha (palavras restantes)

Você também pode criptografar  seu código mnemônico com uma senha. Além de precisar do mnemônico para recuperar a carteira você vai precisar da senha para acessar suas chaves privadas, se você usar só o mnemônico ou inserir uma senha errada, será criada outra carteira HD, só a frase + senha correta que gerará a entropia que contêm suas chaves e seus fundos, mas isso vou descrever em um próximo tópico, pois este já está extenso.

Edit: Para ver a continuação deste próximo tópico clique aqui.

Update:

Mais referências: História da Carteira Electrum e da diferença do padrão BIP39

.
 airbet 
██
██
██
██
██
██
██
██
██
██
██
██
██
 .

▄████▄▄▄██████▄
███████████████
███████████████
███████▀▀▀▀████
██████████████
▀███▀███████▄██
██████████▄███
██████████████
███████████████
███████████████
██████████████
█████▐████████
██████▀███████▀
▄███████████████▄
████████████████
█░██████████████
████████████████
████████████████
█████████████████
█████████████████
███████░█░███████
████████████████
█████████████████
██████████████░█
████████████████
▀███████████████▀
.
.
.
.
██▄▄▄
████████▄▄
██████▀▀████▄
██████▄░░████▄
██████████████
████████░░▀███▌
░████████▄▄████
██████████████▌
███░░░█████████
█████████░░░██▀
░░░███████████▀
██████░░░██▀
░░▀▀███▀

  
|.
....
██
██
██
██
██
██
██
██
██
██
██
██
██
.
 PLAY NOW 
Be very wary of relying on JavaScript for security on crypto sites. The site can change the JavaScript at any time unless you take unusual precautions, and browsers are not generally known for their airtight security.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714887170
Hero Member
*
Offline Offline

Posts: 1714887170

View Profile Personal Message (Offline)

Ignore
1714887170
Reply with quote  #2

1714887170
Report to moderator
1714887170
Hero Member
*
Offline Offline

Posts: 1714887170

View Profile Personal Message (Offline)

Ignore
1714887170
Reply with quote  #2

1714887170
Report to moderator
Cazemiro
Member
**
Offline Offline

Activity: 252
Merit: 31


View Profile
March 20, 2018, 05:07:11 PM
 #2

Show a explicação, gostei muito da ideia de escrever apenas metade das palavras! Lembrando que são "apenas" 2047 palavras semente.
 
alegotardo
Legendary
*
Offline Offline

Activity: 2408
Merit: 1140


☢️ alegotardo™️


View Profile
March 20, 2018, 05:17:23 PM
 #3

Show a explicação, gostei muito da ideia de escrever apenas metade das palavras! Lembrando que são "apenas" 2047 palavras semente.
 

Também adorei essa parte de entregar a chave errada pro ladrão, nunca pensei em fazer algo desse tipo.

Eu uso uma Ledger Nano S e sinto falta de um "cofre 2" onde eu possa criar uma segunda wallet e deixar lá uma quantidade pequena de criptos, de forma que se viesse a ser roubado e forçado a revelar o PIN, eu pudesse entregar a chave correspondente a essa segunda carteira e não a minha original com valores maiores.

Não sei se isso já foi sugerido ou se existe em outra hardware wallet, mas vejo como algo muito importante a ser implementado.

███████████████████████████
███████▄████████████▄██████
████████▄████████▄████████
███▀█████▀▄███▄▀█████▀███
█████▀█▀▄██▀▀▀██▄▀█▀█████
███████▄███████████▄███████
███████████████████████████
███████▀███████████▀███████
████▄██▄▀██▄▄▄██▀▄██▄████
████▄████▄▀███▀▄████▄████
██▄███▀▀█▀██████▀█▀███▄███
██▀█▀████████████████▀█▀███
███████████████████████████
.
.Duelbits.
▄▄█▄▄░░▄▄█▄▄░░▄▄█▄▄
███░░░░███░░░░███
░░░░░░░░░░░░░
░░░░░░░░░░░░
▀██████████
░░░░░███░░░░
░░░░░███▄█░░░
░░██▌░░███░▀░░██▌
█░██░░███░░░██
█▀▀▀█▌░███░░█▀▀▀█▌
▄█▄░░░██▄███▄█▄░░▄██▄
▄███▄
░░░░▀██▄▀
.
REGIONAL
SPONSOR
███▀██▀███▀█▀▀▀▀██▀▀▀██
██░▀░██░█░███░▀██░███▄█
█▄███▄██▄████▄████▄▄▄██
██▀ ▀███▀▀░▀██▀▀▀██████
███▄███░▄▀██████▀█▀█▀▀█
████▀▀██▄▀█████▄█▀███▄█
███▄▄▄████████▄█▄▀█████
███▀▀▀████████████▄▀███
███▄░▄█▀▀▀██████▀▀▀▄███
███████▄██▄▌████▀▀█████
▀██▄█████▄█▄▄▄██▄████▀
▀▀██████████▄▄███▀▀
▀▀▀▀█▀▀▀▀
.
EUROPEAN
BETTING
PARTNER
bitmover
Legendary
*
Offline Offline

Activity: 2296
Merit: 5919


bitcoindata.science


View Profile WWW
March 20, 2018, 07:15:59 PM
 #4


Também adorei essa parte de entregar a chave errada pro ladrão, nunca pensei em fazer algo desse tipo.

Eu uso uma Ledger Nano S e sinto falta de um "cofre 2" onde eu possa criar uma segunda wallet e deixar lá uma quantidade pequena de criptos, de forma que se viesse a ser roubado e forçado a revelar o PIN, eu pudesse entregar a chave correspondente a essa segunda carteira e não a minha original com valores maiores.

Não sei se isso já foi sugerido ou se existe em outra hardware wallet, mas vejo como algo muito importante a ser implementado.


Cara, a ledger nano tem uma função exatamente pra isso. Você cria um segundo PIN, exatamente como você descreveu que queria.
Que sorte vc desejar exatamente a função que já tem rsrs

É extremamente simples, vc cria somente uma passphrase, que pode ser qualquer palavra, que será uma 25a palavra na sua seedd.

Bem interessante. Daí ela é acessível com um segundo PIN.

A seed continua a mesma e a carteira que vc usava antes não muda nada , acessa ela com o PIN q usava antes mesmo.


How to set up and/ or recover a hidden passphrase and alternate PIN on your Ledger Nano S?

Na minha opinião ledger nano é a melhor carteira que tem. Show de bola

.
.BLACKJACK ♠ FUN.
█████████
██████████████
████████████
█████████████████
████████████████▄▄
░█████████████▀░▀▀
██████████████████
░██████████████
████████████████
░██████████████
████████████
███████████████░██
██████████
CRYPTO CASINO &
SPORTS BETTING
▄▄███████▄▄
▄███████████████▄
███████████████████
█████████████████████
███████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
███████████████████████
█████████████████████
███████████████████
▀███████████████▀
█████████
.
alegotardo
Legendary
*
Offline Offline

Activity: 2408
Merit: 1140


☢️ alegotardo™️


View Profile
March 20, 2018, 07:29:12 PM
 #5


Também adorei essa parte de entregar a chave errada pro ladrão, nunca pensei em fazer algo desse tipo.

Eu uso uma Ledger Nano S e sinto falta de um "cofre 2" onde eu possa criar uma segunda wallet e deixar lá uma quantidade pequena de criptos, de forma que se viesse a ser roubado e forçado a revelar o PIN, eu pudesse entregar a chave correspondente a essa segunda carteira e não a minha original com valores maiores.

Não sei se isso já foi sugerido ou se existe em outra hardware wallet, mas vejo como algo muito importante a ser implementado.


Cara, a ledger nano tem uma função exatamente pra isso. Você cria um segundo PIN, exatamente como você descreveu que queria.
Que sorte vc desejar exatamente a função que já tem rsrs

É extremamente simples, vc cria somente uma passphrase, que pode ser qualquer palavra, que será uma 25a palavra na sua seedd.

Bem interessante. Daí ela é acessível com um segundo PIN.

A seed continua a mesma e a carteira que vc usava antes não muda nada , acessa ela com o PIN q usava antes mesmo.


How to set up and/ or recover a hidden passphrase and alternate PIN on your Ledger Nano S?

Na minha opinião ledger nano é a melhor carteira que tem. Show de bola

Como eu queria ter sMerits nessa hora.
Tô te devendo, não nego, mas pago quando puder Wink

A Ledger sempre me surpreende, vou dar uma lida no passo-a-passo e fazer isso ainda hoje a noite.

Muito obrigado pela dica.

███████████████████████████
███████▄████████████▄██████
████████▄████████▄████████
███▀█████▀▄███▄▀█████▀███
█████▀█▀▄██▀▀▀██▄▀█▀█████
███████▄███████████▄███████
███████████████████████████
███████▀███████████▀███████
████▄██▄▀██▄▄▄██▀▄██▄████
████▄████▄▀███▀▄████▄████
██▄███▀▀█▀██████▀█▀███▄███
██▀█▀████████████████▀█▀███
███████████████████████████
.
.Duelbits.
▄▄█▄▄░░▄▄█▄▄░░▄▄█▄▄
███░░░░███░░░░███
░░░░░░░░░░░░░
░░░░░░░░░░░░
▀██████████
░░░░░███░░░░
░░░░░███▄█░░░
░░██▌░░███░▀░░██▌
█░██░░███░░░██
█▀▀▀█▌░███░░█▀▀▀█▌
▄█▄░░░██▄███▄█▄░░▄██▄
▄███▄
░░░░▀██▄▀
.
REGIONAL
SPONSOR
███▀██▀███▀█▀▀▀▀██▀▀▀██
██░▀░██░█░███░▀██░███▄█
█▄███▄██▄████▄████▄▄▄██
██▀ ▀███▀▀░▀██▀▀▀██████
███▄███░▄▀██████▀█▀█▀▀█
████▀▀██▄▀█████▄█▀███▄█
███▄▄▄████████▄█▄▀█████
███▀▀▀████████████▄▀███
███▄░▄█▀▀▀██████▀▀▀▄███
███████▄██▄▌████▀▀█████
▀██▄█████▄█▄▄▄██▄████▀
▀▀██████████▄▄███▀▀
▀▀▀▀█▀▀▀▀
.
EUROPEAN
BETTING
PARTNER
vs.crypt
Newbie
*
Offline Offline

Activity: 13
Merit: 0


View Profile
March 20, 2018, 09:24:11 PM
 #6

Muito bem escrito.  Smiley

Lembrando que carteira Electrum não gera seed BIP-39, pois esta utiliza um protocolo próprio, que suporta versionamento. No entanto você pode importar uma seed BIP-39 numa carteira Electrum.

Uma ótima ferramenta para gerar, visualizar ou converter seeds pode ser encontrada em https://iancoleman.io/bip39/, em javascript, então provavelmente você vai querer usá-la offline.

Atualmente ela suporta BIP-39 com os Devirations Paths: BIP-32, BIP-44, BIP-49, BIP-84(Native Segwit) e BIP-141.

Vlw!
Forsyth Jones (OP)
Hero Member
*****
Offline Offline

Activity: 1162
Merit: 618


Press F for Leo


View Profile WWW
March 28, 2018, 09:54:47 PM
 #7

Muito bem escrito.  Smiley

Lembrando que carteira Electrum não gera seed BIP-39, pois esta utiliza um protocolo próprio, que suporta versionamento. No entanto você pode importar uma seed BIP-39 numa carteira Electrum.

Uma ótima ferramenta para gerar, visualizar ou converter seeds pode ser encontrada em https://iancoleman.io/bip39/, em javascript, então provavelmente você vai querer usá-la offline.

Atualmente ela suporta BIP-39 com os Devirations Paths: BIP-32, BIP-44, BIP-49, BIP-84(Native Segwit) e BIP-141.

Vlw!
Na verdade, a BIP39 é um complemento a BIP32 que consiste em implementar a geração de um código mnemônico que seria usado para produzir o par de chaves mestras da carteira HD. Ou seja, a partir da BIP39 que o backup das carteiras passou a ser por lista de palavras.

Antes da BIP39 as carteiras HD geravam seus pares de chaves a partir da master private key (xprivkey).

.
 airbet 
██
██
██
██
██
██
██
██
██
██
██
██
██
 .

▄████▄▄▄██████▄
███████████████
███████████████
███████▀▀▀▀████
██████████████
▀███▀███████▄██
██████████▄███
██████████████
███████████████
███████████████
██████████████
█████▐████████
██████▀███████▀
▄███████████████▄
████████████████
█░██████████████
████████████████
████████████████
█████████████████
█████████████████
███████░█░███████
████████████████
█████████████████
██████████████░█
████████████████
▀███████████████▀
.
.
.
.
██▄▄▄
████████▄▄
██████▀▀████▄
██████▄░░████▄
██████████████
████████░░▀███▌
░████████▄▄████
██████████████▌
███░░░█████████
█████████░░░██▀
░░░███████████▀
██████░░░██▀
░░▀▀███▀

  
|.
....
██
██
██
██
██
██
██
██
██
██
██
██
██
.
 PLAY NOW 
p0rk4
Newbie
*
Offline Offline

Activity: 3
Merit: 0


View Profile
March 29, 2018, 07:19:55 PM
 #8

Show de explicação!

Parece óbvia a ideia de guardar metade das palavras, mas nunca tinha pensado nisso, boa sacada!!!
Forsyth Jones (OP)
Hero Member
*****
Offline Offline

Activity: 1162
Merit: 618


Press F for Leo


View Profile WWW
March 29, 2018, 11:36:22 PM
 #9

Show de explicação!

Parece óbvia a ideia de guardar metade das palavras, mas nunca tinha pensado nisso, boa sacada!!!
Exato, você pode fazer isso, anotar apenas a metade das palavras-chave no papel e outra metade como senha no keepass ou você pode adicionar uma senha na sua frase de recuperação, ou seja, 12 ou 24 palavras + uma palavra de extensão (que no caso, seria sua senha.)

E eu mostro como fazer isso aqui:  https://bitcointalk.org/index.php?topic=3213889.msg33402394#msg33402394

.
 airbet 
██
██
██
██
██
██
██
██
██
██
██
██
██
 .

▄████▄▄▄██████▄
███████████████
███████████████
███████▀▀▀▀████
██████████████
▀███▀███████▄██
██████████▄███
██████████████
███████████████
███████████████
██████████████
█████▐████████
██████▀███████▀
▄███████████████▄
████████████████
█░██████████████
████████████████
████████████████
█████████████████
█████████████████
███████░█░███████
████████████████
█████████████████
██████████████░█
████████████████
▀███████████████▀
.
.
.
.
██▄▄▄
████████▄▄
██████▀▀████▄
██████▄░░████▄
██████████████
████████░░▀███▌
░████████▄▄████
██████████████▌
███░░░█████████
█████████░░░██▀
░░░███████████▀
██████░░░██▀
░░▀▀███▀

  
|.
....
██
██
██
██
██
██
██
██
██
██
██
██
██
.
 PLAY NOW 
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!