Author

Topic: Carteira BTC (256 bit)? (Read 115 times)

newbie
Activity: 3
Merit: 0
September 15, 2021, 08:37:48 PM
#8
Boa noite comunidade...

Estive estudando a respeito do princípio de criptografia das carteiras privadas do Bitcoin e estou com a seguinte duvida.
Uma carteira privada Bitcoin é essencialmente uma sequencia de 256 números de 0 e 1?

Exemplo:
01110101110101101010110101010101111.....

Com esses 256 números binários, transformamos eles em Hexadecimal, e posteriormente utilizamos a criptografia para gerar a carteira?
Minha dúvida é:
Todas as carteiras privadas de Bitcoin são uma sequencia binária de até 256 dígitos?

Wow que incrível, já tinha pensando nisso, mas não sabia que era realmente  assim. Bem interessante saber disso
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
September 02, 2021, 12:13:16 PM
#7

O que estou tentando fazer, é gerar uma carteira Bitcoin a partir de um conjunto de 256bits (0 ou 1), é possível?

Suponhamos que eu tenha um conjunto de 256 casas decimais com valores entre 0 e 1;

00001011101011010110101

Com esses números eu consigo gerar o Hexadecimal e posterior consigo criar a Carteira Bitcoin, porém, tenho apenas 1 endereço de recebimento, diferente de uma carteira, certo?

Exatamente, assim você teria apenas um endereço na sua carteira.

Quantos endereços você precisa fazer?

Acredito que o site mais ilustrafivo que ira fazer você entender como uma carteira com seed funciona é esse :
http://Https://iancoleman.io/bip39

Aqui você vai ver como funcionam os endereço gerados a partir da seed que você inseriu ou gerou no começo.


Gerar endereços a partir de uma seed é mais complicado do que parece. Além do mais, o processo de gerar a seed não é apenas gerar um numeor grande de 128 a 256 bits. Você pode gerar números Invalidos

O processo segue abaixo.


https://www.oreilly.com/library/view/mastering-bitcoin/9781491902639/ch04.html
Quote
BIP0039 defines the creation of a mnemonic code and seed as a follows:

    Create a random sequence (entropy) of 128 to 256 bits.
    Create a checksum of the random sequence by taking the first few bits of its SHA256 hash.
    Add the checksum to the end of the random sequence.
    Divide the sequence into sections of 11 bits, using those to index a dictionary of 2048 predefined words.
    Produce 12 to 24 words representing the mnemonic code.
legendary
Activity: 3766
Merit: 1742
Join the world-leading crypto sportsbook NOW!
September 01, 2021, 03:52:10 PM
#6


Suponhamos que eu tenha um conjunto de 256 casas decimais com valores entre 0 e 1;

00001011101011010110101

Com esses números eu consigo gerar o Hexadecimal e posterior consigo criar a Carteira Bitcoin, porém, tenho apenas 1 endereço de recebimento, diferente de uma carteira, certo?


Exato, com 256 1 e 0 randomicos voce consegue ter a sua private key. Exemplo pouco pratico: pode anotar o resultado de 256 lances de moeda, para ter uma entropia decente

Mais facil ainda, pode anotar 64 lances de um dado de 16 faces

Apos ter a private key gerada com suas maos, voce precisara de um computador para a funçao que gera o endereço publico (que comença com 1, 3 ou bc=

Uma carteira bitcoin nao è nada mais que um conjunto de private keys, entao sim, mesmo com so uma private key voce pode ter sua carteira.
legendary
Activity: 2758
Merit: 6830
September 01, 2021, 03:40:41 PM
#5
O que estou tentando fazer, é gerar uma carteira Bitcoin a partir de um conjunto de 256bits (0 ou 1), é possível?
A "seed" que é utilizada em várias carteiras tambem é apenas uma representação de um grande número (128 bits caso hajam 12 palavras ou 256 bits caso hajam 24 palavras) que é utilizado para derivar as chaves privadas (cada uma sendo 256 bits) de forma determinística.

Cada private-key vai necessitar de seus próprios 256 bits, e como elas vão ser geradas vai depender de cada implementação.

Por exemplo, você poderia fazer um hash desses 128 bits (oriundos de uma seed de 12 palavras) e utilizar o resultado, em 256 bits hexadecimais, como private-key. Pronto, você tem a sua própria implementação e sempre que realizar o mesmo processo de hashing, cá estará a sua private-key.

As mais famosas implementações de carteiras deterministica são a BIP32, BIP39, e BIP42:

https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki
https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki
https://github.com/bitcoin/bips/blob/master/bip-0042.mediawiki

Respondendo a sua pergunta, tudo é possível desde que você consiga gerar 1 ou mais private-keys, que é o que consiste uma "carteira". O importante é conseguir gerar essas private-keys (cada uma 256 bits).
newbie
Activity: 3
Merit: 4
September 01, 2021, 02:04:50 PM
#4
Uma carteira privada Bitcoin é essencialmente uma sequencia de 256 números de 0 e 1?

Exemplo:
01110101110101101010110101010101111.....

Sim. Isso é uma chave privada.

De forma mais ilustrativa, voce pode jogar uma moeda 256 vezes e anotar os resultados em um papel e gerar uma chave privada. E anotar os resultados cara (0) e coroa (1)

Foi exatamente o que essa pessoa fez aqui,
https://www.youtube.com/watch?v=ieHoQ4sGuEY

Quote
Todas as carteiras privadas de Bitcoin são uma sequencia binária de até 256 dígitos?

Não
Uma carteira é mais do que isso.

Uma carteira é uma semente que contém, literalmente, bilhões de chaves privadas matematicamente relacionadas à essa semente.

Isso é explicado no livro mastering bitcoin:

https://github.com/bitcoinbook/bitcoinbook/blob/develop/ch05.asciidoc
Quote
HD Wallets (BIP-32/BIP-44)
Deterministic wallets were developed to make it easy to derive many keys from a single "seed". The most advanced form of deterministic wallets is the HD wallet defined by the BIP-32 standard. HD wallets contain keys derived in a tree structure, such that a parent key can derive a sequence of children keys, each of which can derive a sequence of grandchildren keys, and so on, to an infinite depth. This tree structure is illustrated in Type-2 HD wallet: a tree of keys generated from a single seed.

https://www.oreilly.com/library/view/mastering-bitcoin/9781491902639/images/msbt_0409.png
https://www.oreilly.com/library/view/mastering-bitcoin/9781491902639/ch04.html

Então, uma carteira é uma semente  (aquelas 12/24 palavras) que é capaz de gerar milhÕes de chaves  privadas ( de 256 bits)

Obrigado pela resposta...

Entendi a respeito do 256bits, e pelo o que li no artigos que me enviou, uma "carteira" Bitcoin é um conjunto de chaves privadas (digamos que todas de 256bits)e com essa "carteira" eu consigo gerar várias chaves públicas diferentes (justamente pela carteira ser um "apunhado" de chaves privadas), já que cada chave privada é capaz de gerar apenas 1 chave pública.

O que estou tentando fazer, é gerar uma carteira Bitcoin a partir de um conjunto de 256bits (0 ou 1), é possível?

Suponhamos que eu tenha um conjunto de 256 casas decimais com valores entre 0 e 1;

00001011101011010110101

Com esses números eu consigo gerar o Hexadecimal e posterior consigo criar a Carteira Bitcoin, porém, tenho apenas 1 endereço de recebimento, diferente de uma carteira, certo?
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
August 31, 2021, 10:12:44 PM
#3
Uma carteira privada Bitcoin é essencialmente uma sequencia de 256 números de 0 e 1?

Exemplo:
01110101110101101010110101010101111.....

Sim. Isso é uma chave privada.

De forma mais ilustrativa, voce pode jogar uma moeda 256 vezes e anotar os resultados em um papel e gerar uma chave privada. E anotar os resultados cara (0) e coroa (1)

Foi exatamente o que essa pessoa fez aqui,
https://www.youtube.com/watch?v=ieHoQ4sGuEY

Quote
Todas as carteiras privadas de Bitcoin são uma sequencia binária de até 256 dígitos?

Não
Uma carteira é mais do que isso.

Uma carteira é uma semente que contém, literalmente, bilhões de chaves privadas matematicamente relacionadas à essa semente.

Isso é explicado no livro mastering bitcoin:

https://github.com/bitcoinbook/bitcoinbook/blob/develop/ch05.asciidoc
Quote
HD Wallets (BIP-32/BIP-44)
Deterministic wallets were developed to make it easy to derive many keys from a single "seed". The most advanced form of deterministic wallets is the HD wallet defined by the BIP-32 standard. HD wallets contain keys derived in a tree structure, such that a parent key can derive a sequence of children keys, each of which can derive a sequence of grandchildren keys, and so on, to an infinite depth. This tree structure is illustrated in Type-2 HD wallet: a tree of keys generated from a single seed.


https://www.oreilly.com/library/view/mastering-bitcoin/9781491902639/ch04.html

Então, uma carteira é uma semente  (aquelas 12/24 palavras) que é capaz de gerar milhÕes de chaves  privadas ( de 256 bits)
legendary
Activity: 2758
Merit: 6830
August 31, 2021, 05:21:26 PM
#2
De forma simplificada, toda private-key é gerada passando 32 bytes (i.e 256 bits) pelo algoritmo de curva eliptica secp256k1, então sim.
newbie
Activity: 3
Merit: 4
August 31, 2021, 04:59:38 PM
#1
Boa noite comunidade...

Estive estudando a respeito do princípio de criptografia das carteiras privadas do Bitcoin e estou com a seguinte duvida.
Uma carteira privada Bitcoin é essencialmente uma sequencia de 256 números de 0 e 1?

Exemplo:
01110101110101101010110101010101111.....

Com esses 256 números binários, transformamos eles em Hexadecimal, e posteriormente utilizamos a criptografia para gerar a carteira?
Minha dúvida é:
Todas as carteiras privadas de Bitcoin são uma sequencia binária de até 256 dígitos?
Jump to: