Skip to content

Commit 8dbcbd7

Browse files
committed
Review 17_2
1 parent acc04c5 commit 8dbcbd7

1 file changed

Lines changed: 22 additions & 22 deletions

File tree

pt/17_2_Using_BIP39_in_Libwally.md

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
1-
# 16.2: Usando o BIP39 no Libwally
1+
# 16.2: Usando BIP39 na Libwally
22

33
> :information_source: **NOTA:** Esta seção foi adicionada recentemente ao curso e é um rascunho inicial que ainda pode estar aguardando revisão.
44
5-
Um dos maiores poderes de Libwally é que ele pode revelar o trabalho oculto da geração de seeds, chaves privadas e, também, de endereços. Para começar, ele suporta o [BIP39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki), que é o BIP que define códigos mnemônicos para o Bitcoin, algo que é totalmente incompatível, na época, com o Bitcoin Core.
5+
Um dos maiores poderes da Libwally é que ela pode revelar o trabalho oculto da geração de seeds, chaves privadas e, também, de endereços. Para começar, ela suporta o [BIP39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki), que é o BIP que define códigos mnemônicos para o Bitcoin, algo que era totalmente incompatível, na época, com o Bitcoin Core.
66

7-
> :book: ***O que é um código mnemônico?*** Os endereços de Bitcoin (e suas chaves privadas correspondentes e as suas seeds) são listas longas e ininteligíveis de caracteres e números, que não são apenas impossíveis de serem lembrados, mas também fáceis de serem digitados erroneamente. Os códigos mnemônicos são uma solução para isso que permitem aos usuários gravar 12 (ou 24) palavras em inglês, algo que é muito menos sujeito a erros. Esses códigos podem ser usados para restaurar totalmente uma seed BIP32 que é a base de uma carteira Determinística Hierárquica.
7+
> :book: ***O que é um código mnemônico?*** Os endereços de Bitcoin (e suas chaves privadas correspondentes e as suas seeds) são listas longas e ininteligíveis de caracteres e números que não apenas são impossíveis de serem lembrados, mas também fáceis de serem digitados erroneamente. Os códigos mnemônicos são uma solução para isso que permitem aos usuários gravar 12 (ou 24) palavras em inglês, algo que é muito menos sujeito a erros. Esses códigos podem ser usados para restaurar totalmente uma seed BIP32 que é a base de uma carteira Determinística Hierárquica (HD).
88
9-
> :book: ***O que é uma seed?*** Nós falamos brevemente das seeds na seção [§3.5: Compreendendo o descritor](03_5_Understanding_the_Descriptor.md). É o número aleatório usado para gerar uma sequência inteira de chaves privadas (e, portanto, endereços) em uma carteira Determinística Hierárquica. Voltaremos às seeds na próxima seção, onde falaremos sobre as carteiras Determinísticas Hierárquicas e a Libwally. Por enquanto, apenas é necessário saber que um código mnemônico BIP39 corresponde à seed para uma carteira determinística hierárquica do BIP32.
9+
> :book: ***O que é uma seed?*** Nós falamos brevemente das seeds na seção [§3.5: Compreendendo o Descritor](03_5_Understanding_the_Descriptor.md). É o número aleatório usado para gerar uma sequência inteira de chaves privadas (e, portanto, endereços) em uma carteira HD. Voltaremos às seeds na próxima seção, onde falaremos sobre as carteiras HD e a Libwally. Por enquanto, apenas é necessário saber que um código mnemônico BIP39 corresponde à seed para uma carteira HD do BIP32.
1010
1111
## Criando Códigos Mnemônicos
1212

13-
Todas as chaves Bitcoin começam com a entropia. Este primeiro uso de Libwally, e os mnemônicos BIP39, mostram como gerar entropia e obter um código mnemônico a partir disso.
13+
Todas as chaves Bitcoin começam com a entropia. Este primeiro uso da Libwally, e os mnemônicos BIP39, mostram como gerar entropia e obter um código mnemônico a partir disso.
1414

15-
> :book: ***O que é entropia?*** Entropia é uma maneira sofisticada de dizer aleatoriedade, mas é uma aleatoriedade medida cuidadosamente que é usada como a base de um número aleatório gerado verdadeiramente (no inglês, true-random-number generated, TRG). É medido em "bits", com mais bits de entropia resultando em mais aleatoriedade (e, portanto, mais proteção para o que está sendo gerado). Para o Bitcoin, a entropia é a base de nossa seed, que em uma carteira Determinística Hierárquica que gera todos os seus endereços.
15+
> :book: ***O que é entropia?*** Entropia é uma maneira sofisticada de dizer aleatoriedade, mas é uma aleatoriedade medida cuidadosamente que é usada como a base de um número aleatório gerado verdadeiramente (no inglês, true-random-number generated, TRG). É medido em "bits", com mais bits de entropia resultando em mais aleatoriedade (e, portanto, mais proteção para o que está sendo gerado). Para o Bitcoin, a entropia é a base de nossa seed, que em uma carteira HD gera todos os seus endereços.
1616
17-
Sempre começaremos a trabalhar com a Libwally inicializando a biblioteca e testando os resultados, conforme demonstrado pela primeira vez na seção [§16.1](16_1_Setting_Up_Libwally.md):
17+
Sempre começaremos a trabalhar com a Libwally inicializando a biblioteca e testando os resultados, conforme demonstrado pela primeira vez na seção [§17.1](17_1_Setting_Up_Libwally.md):
1818
```
1919
int lw_response;
2020
@@ -29,9 +29,9 @@ Sempre começaremos a trabalhar com a Libwally inicializando a biblioteca e test
2929
```
3030
Agora estamos prontos para a entropia.
3131

32-
### Criando a Entropia
32+
### Criando Entropia
3333

34-
Usando o `libsodium`, podemos criar a entropia com o comando `randombytes_buf`:
34+
Usando o `libsodium`, podemos criar entropia com o comando `randombytes_buf`:
3535
```
3636
unsigned char entropy[16];
3737
randombytes_buf(entropy, 16);
@@ -40,26 +40,26 @@ Este exemplo, que será a única maneira de usarmos a biblioteca `libsodium`, cr
4040

4141
> :warning: **AVISO:** Mais uma vez, certifique-se de estar muito confortável com o método de geração de entropia antes de usá-lo em um programa do mundo real.
4242
43-
### Traduzindo para um mnemônico
43+
### Traduzindo para um Mnemônico
4444

4545
16 bytes de entropia são suficientes para criar um código Mnemônico de 12 caracteres, que é feito com a função `bip39_mnemonic_from_bytes` da Libwally:
4646
```
4747
char *mnem = NULL;
4848
lw_response = bip39_mnemonic_from_bytes(NULL,entropy,16,&mnem);
4949
```
50-
Observe que temos que passar o tamanho do byte, então se quiser aumentar o tamanho da entropia, para gerar uma frase mnemônica mais longa, também precisaria aumentar o valor nesta função.
50+
Observe que temos que passar o tamanho do byte, então se quisermos aumentar o tamanho da entropia, para gerar uma frase mnemônica mais longa, também precisaríamos aumentar o valor nesta função.
5151

5252
> **NOTA:** Existem listas de palavras mnemônicas para diferentes idiomas! O padrão é usar a lista do idioma inglês, que é a variável `NULL` nesses comandos mnemônicos da Libwally, mas podemos, alternativamente, solicitar um idioma diferente!
5353
5454
É isso! Nós criamos uma frase mnemônica!
5555

56-
> :book: ***Como a frase mnemônica é criada?*** Podemos aprender mais sobre isso no [BIP39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki), mas se preferir, Greg Walker tem um [excelente exemplo](https://learnmeabitcoin.com/technical/mnemonic): De maneira geral, adicionamos uma soma de verificação e convertemos cada conjunto de 11 bits em uma palavra da lista de palavras. Podemos fazer isso com os comandos `bip39_get_wordlist` e `bip39_get_word` se não confiarmos no comando `bip39_mnemonic_from_bytes`.
56+
> :book: ***Como a frase mnemônica é criada?*** Podemos aprender mais sobre isso no [BIP39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki), mas, se preferir, Greg Walker tem um [excelente exemplo](https://learnmeabitcoin.com/technical/mnemonic): de maneira geral, adicionamos um checksum e convertemos cada conjunto de 11 bits em uma palavra da lista de palavras. Podemos fazer isso com os comandos `bip39_get_wordlist` e `bip39_get_word` se não confiarmos no comando `bip39_mnemonic_from_bytes`.
5757
58-
### Traduzindo para uma seed
58+
### Traduzindo para uma Seed
5959

60-
Existem algumas funções, como o `bip32_key_from_seed` (que veremos na próxima seção) que requerem que tenhamos os bits ao invés do Mnemônico. As duas coisas são funcionalmente idênticas, se temos a seed, pode gerar o mnemônico e vice-versa.
60+
Existem algumas funções, como o `bip32_key_from_seed` (que veremos na próxima seção) que requerem que tenhamos os bits ao invés do Mnemônico. As duas coisas são funcionalmente idênticas: se temos a seed, podemos gerar o mnemônico e vice-versa.
6161

62-
Se você precisarmos gerar a seed a partir do nosso mnemônico, basta usar o comando `bip39_mnemonic_to_seed`:
62+
Se precisarmos gerar a seed a partir do nosso mnemônico, basta usar o comando `bip39_mnemonic_to_seed`:
6363
```
6464
unsigned char seed[BIP39_SEED_LEN_512];
6565
size_t seed_len;
@@ -68,9 +68,9 @@ Se você precisarmos gerar a seed a partir do nosso mnemônico, basta usar o com
6868
```
6969
Observe que todas as seeds do BIP39 têm 512 bytes; no entanto, devemos definir o tamanho de nossa variável apropriadamente e passar o tamanho para o `bip39_mnemonic_to_seed`.
7070

71-
### Mostrando na Tela a Nossa Seed
71+
### Vendo a Nossa Seed
7272

73-
Se quisermos ver como nossa semente se parece em hexadecimal, podemos usar a função `wally_hex_from_bytes` para transformar nossa seed em um código hexadecimal legível (mas isso não é muito bom para pessoas):
73+
Se quisermos ver como nossa seed é em hexadecimal, podemos usar a função `wally_hex_from_bytes` para transformar nossa seed em um código hexadecimal legível (mas isso não é muito bom para pessoas):
7474
```
7575
char *seed_hex;
7676
wally_hex_from_bytes(seed,sizeof(seed),&seed_hex);
@@ -82,7 +82,7 @@ Se dizermos tudo certo, devemos obter uma seed de 64 bytes. (Essa é a variável
8282
8383
## Testando o Código Mnemônico
8484

85-
O código completo para gerar entropia, gerar um mnemônico BIP39, validar o mnemônico e gerar uma seed pode ser encontrado no [diretório src/](src/16_2_genmnemonic.c). Podemos fazer o download e compilar:
85+
O código completo para gerar entropia, gerar um mnemônico BIP39, validar o mnemônico e gerar uma seed pode ser encontrado no [diretório src/](src/17_2_genmnemonic.c). Podemos fazer o download e compilar:
8686
```
8787
$ cc genmnemonic.c -lwallycore -lsodium -o genmnemonic
8888
```
@@ -93,14 +93,14 @@ Mnemonic validated!
9393
Seed: 47b04cfb5d8fd43d371497f8555a27a25ca0a04aafeb6859dd4cbf37f6664b0600c4685c1efac29c082b1df29081f7a46f94a26f618fc6fd38d8bc7b6cd344c7
9494
```
9595

96-
## Resumo: Usando o BIP39 no Libwally
96+
## Resumo: Usando BIP39 na Libwally
9797

98-
O BIP39 permite que possamos gerar um conjunto de 12-24 palavras Mnemônicas a partir de uma seed e a biblioteca Libwally também permite que a validemos!
98+
O BIP39 nos permite gerar um conjunto de 12-24 palavras Mnemônicas a partir de uma seed (e a biblioteca Libwally também permite que a validemos!).
9999

100100
> :fire: ***Qual é o poder do BIP39?*** Seeds de Bitcoin e chaves privadas estão sujeitas a todos os tipos de perda. Se digitarmos errado um único dígito, nosso dinheiro será perdido para sempre. Palavras mnemônicas são uma forma muito mais amigável de representar os mesmos dados, mas como são palavras no idioma de escolha do usuário, são menos sujeitas a erros. O poder do BIP39 é, portanto, melhorar a acessibilidade, usabilidade e segurança do Bitcoin.
101101
102-
> :fire: ***Qual é o poder do BIP39 na Libwally?*** O Bitcoind atualmente não suporta palavras mnemônicas, então usar a Libwally pode permitir que geremos palavras mnemônicas em conjunto com endereços mantidos no `bitcoind`, embora como veremos na seção §16.7, é necessário um pouco de gambiarra para importar suas chaves para o Bitcoin Core.
102+
> :fire: ***Qual é o poder do BIP39 na Libwally?*** O Bitcoind atualmente não suporta palavras mnemônicas, então usar a Libwally pode permitir que geremos palavras mnemônicas em conjunto com endereços mantidos no `bitcoind`, embora como veremos na seção §17.7, é necessário um pouco de gambiarra para importar suas chaves para o Bitcoin Core.
103103
104104
## O Que Vem Depois?
105105

106-
Vamos aprender mais sobre "Programando o Bitcoind usando o Libwally" na seção [§16.3: Usando o BIP32 no Libwally](16_3_Using_BIP32_in_Libwally.md).
106+
Vamos aprender mais sobre "Programando o Bitcoind usando o Libwally" na seção [§17.3: Usando o BIP32 no Libwally](16_3_Using_BIP32_in_Libwally.md).

0 commit comments

Comments
 (0)