Bitcoin Forum

Local => Português (Portuguese) => Topic started by: gagux123 on August 09, 2023, 10:01:20 AM



Title: Existem 2^256 chaves privadas por aí: qual é o tamanho desse número?
Post by: gagux123 on August 09, 2023, 10:01:20 AM

Autor: fillippone (https://bitcointalk.org/index.php?action=profile;u=1852120)
Tópico original: There are 2^256 private keys out there: how big is that number? (https://bitcointalk.org/index.php?topic=5147514.0)


Ontem, enquanto navegava pela toca do coelho do Bitcoin, tropecei no infame site keys.lol

https://keys.lol (https://keys.lol)
(Aviso: perda de tempo!)

Basicamente, é um site que gera aleatoriamente 128 chaves privadas em cada página e verifica o saldo de endereços (compactados e não compactados) na blockchain, relatando eventuais saldos positivos ou transações passadas.

Uau!
Se você encontrar um saldo positivo nessas páginas geradas pelo lado do cliente, na verdade você é o proprietário legitimo desse saldo e nada o impede de transferir para a sua própria carteira.

Passei algumas horas naquele site, gerando milhares de chaves privadas, claro, sem encontrar nada, nem um único endereço usado, muito menos um com saldo.

Então, comecei a pensar que poderia aprimorar um pouco o processo e conversando com alguns colegas usuários aqui no fórum, pensei que poderiamos ter um script gerando chaves privadas aleatórias, após solicitar ao meu proprio nó de bitcoin o saldo em tal endereço e eventualmente transferir qualquer saldo para minha propria carteira. Trabalhar localmente deve agilizar um pouco o processo, pensei.

Eu sabia desde o inicio que as possibilidades de encontrar algo eram pequenas, mas queria tentar porque procurar saldos e não encontrar nada me garantiria que ninguem poderia fazer o mesmo com meu próprio bitcoin guardado com tanto ciumes em minha carteira fria.

Enquanto esperava que o @babo divulgasse seu roteiro, pensei comigo mesmo "Fillipone é apenas um peão no jogo da vida"... como ninguém nunca pensou nisso?

De volta a toca do coelho, descobri rapidamente o Large Bitcoin Collider.

https://lbc.cryptoguru.org/about (https://lbc.cryptoguru.org/about)

Uau, este é um projeto sério.
Basicamente, milhares de servidores distribuidos gerando e verificando 26 trilhões (!!!) de chaves privadas diariamente.
Nos primeiros três anos, eles conseguiram encontrar 7 chaves privadas. Isso é muito! Eu imaginei que as chances eram muito menores, mas provavelmente há algum tipo de bug em alguma carteira que utiliza um gerador de números aleatórios abaixo do ideal para criar as chaves. (Mais pesquisas são necessárias aqui!)


Vamos revisar rapidamente alguns números:
Número de chaves privadas teoricamente possíveis: 2^256 ou aproximadamente 10^77
Número de endereços bitcoin: 2^160
Número de chaves privadas pesquisadas pelo Bitcoin Collider: 2^160
Número de endereços de Bitcoin usados (https://bitinfocharts.com/top-10-richest-bitcoin-addresses.html?utm_source=share&utm_medium=ios_app) : 18.000.000

O número de chaves privadas REALMENTE possivel, é um pouco menor que 2^256, conforme especificado aqui (https://bitcointalk.org/index.php?topic=24268.msg41719898#msg41719898)

Vamos trabalhar alguns exemplos.
  • Suponha que tenhamos um bilhão de endereços ativos, cada um delos com um saldo positivo: sabemos que isso é aproximadamente 10^3 maior que o número real.
    Provavelmente o número de átomos no universo é 10 ^ 3 maior que o número de endereços, então é justo dizer que encontrar uma chave privada com um valor positivo é quase  tão provavel que encontrar um desses átomos espalhados por todo o universo visivel.
    Qual é o tamanho de um bilhão de atómos? De acordo com esta resposta do Quora, é menor que uma bactéria E.Coli. Então, adivinhe, pegue essa bactéria, triture em um nivel atomico, distribua-a no universo e tente encontrar um desses atomos. Bem dificil, não é?

  • O segundo exemplo é deste artigo (https://en.cryptonomist.ch/2019/03/10/program-private-keys-bitcoin/) . Suponha que queremos escanear todas as chaves privadas em busca de um saldo positivo e suponha que cada habitante da terra tenha uma velocidade de escaneamento um bilhão de vezes maior que o dobro do poder computacional atual da rede Bitcoin, assim:
    * 10 bilhões de pessoas;
    * multiplicado por um bilhão;
    * multiplicado pelo dobro do poder computacional do Bitcoin, cerca de 100 mil terahash por segundo;
    obtemos: 1.000.000.000.000*1.000.000.000*100.000*100.0000.000.000 = 10^10*10^9*10^5*10^12 = 10^36
    Para simplificar, arredondamos para baixo '115.792.089.237.316.195.423.570.985.008.687.907.852.837.564.279.074.904.382.605 .163.141.518.161.494.336' para 10^77, e temos obteve que, se verificarmos cada chave privada, em busca de um saldo positivo, levaria 10^77/10^36 = 10^41 segundos, quantos anos seriam?
    Como há cerca de 31557600 segundos em um ano, corresponde a cerca de 10^41/31557600 = 31^33 anos, o que é mais ou menos 10^23 vezes a idade estimada do universo (atualmente estimada em 13,82 bilhões de anos), em curto
    100.000.000.000.000.000.000.000, ou seja, cerca de 100 bilhões de bilhões de vezes a idade do universo.

  • Este video mostra o quão seguro é o algoritmo SHA 256.
    https://youtu.be/S9JGmA5_unY (https://youtu.be/S9JGmA5_unY)

  • Todos os exemplos anteriores não levaram em conta a energia envolvida em tais cálculos. É claro que todas essas máquinas muito poderosas poderiam ser alimentadas por algum tipo de energia. Quanta energia seria necessária? Bem, muito, de acordo com esse infográfico:

https://i.ibb.co/tbwxThL/qIAIwD6.jpg

Link para Reddit (https://www.reddit.com/r/Bitcoin/comments/1ohwvu/comment/ccs5g52/?utm_source=share&utm_medium=ios_app)


Outros exemplos sobre quanto levaria para adivinhar aleatoriamente uma chave privada:
  • Reddit: Tempo e energia necessárias para usar força bruta em uma criptografia AES-256 (https://www.reddit.com/r/theydidthemath/comments/1x50xl/time_and_energy_required_to_bruteforce_a_aes256/)

Mais referencias:

  • Tópico do Bitcointalk sobre o possível número de endereços bitcoin (https://bitcointalk.org/index.php?topic=24268.0)
  • Dominando o Bitcoin: Chaves, Endereços (https://github.com/bitcoinbook/bitcoinbook/blob/develop/ch04.asciidoc)

Outros números muito grandes:
  • 52!: Começa com um simples baralho de cartas (https://czep.net/weblog/52cards.html)

Aqui estão apenas alguns exemplos, se você tiver fontes ou comentários adicionais para fazer, sinta-se a vontade para compartilhar abaixo, que eu adicionarei à lista!




Tradução oferecida por iniciativa de:

https://raw.githubusercontent.com/AOBTranslators/Images/main/AOBT%20Logo.png (https://bitcointalk.org/index.php?topic=5442314.0)




Title: Re: Existem 2^256 chaves privadas por aí: qual é o tamanho desse número?
Post by: darkv0rt3x on August 09, 2023, 11:22:06 AM
Da dimensão destes números a gente já tem alguma noção. Afinal é um tópico discutido com alguma frequência, precisamente pela natureza e grandeza dos números. Só por aí gera algum interesse, sem qualquer dúvida.
O que eu realmente admiro, e já não é a grandeza dos números nem o quão seguro é o algortimo SHA256, é mesmo as comparações e analogias que a malta se lembra para tentar demonstrar estas mesmas grandezas.
Normalmelte anda sempre à volta dos átomos (matéria mais pequena que se conhece) e o universo visível (que deve ser o espaço mais extenso que se conhece).

Depois, a malta ainda tem imaginação e criatividade suficientes para derivar mais umas quantas metáforas e comparações bem conseguidas e que assentam que nem uma luva! É mesmo isto que eu admiro ao ver threads deste tipo! :)


Title: Re: Existem 2^256 chaves privadas por aí: qual é o tamanho desse número?
Post by: rdluffy on August 09, 2023, 12:23:58 PM
Parabéns pela tradução gagux

Esse assunto é muito legal
Eu mesmo já pensei nisso, por que não fazer um script pra ir gerando endereços e chaves de BTC e procurar se tem algum saldo ou não?
Mas desde o início eu já sabia das probabilidades
É um bom exercício pra você entender melhor a magnitude deste número absurdo de probabilidades

É essencial nesse caso usar a analogia, como esse exemplo dos átomos, ou com grãos de areia como já vi, pois é difícil mesmo perceber o tamanho de um número por si só



Title: Re: Existem 2^256 chaves privadas por aí: qual é o tamanho desse número?
Post by: darkv0rt3x on August 09, 2023, 01:55:00 PM
Parabéns pela tradução gagux

Esse assunto é muito legal
Eu mesmo já pensei nisso, por que não fazer um script pra ir gerando endereços e chaves de BTC e procurar se tem algum saldo ou não?
Mas desde o início eu já sabia das probabilidades
É um bom exercício pra você entender melhor a magnitude deste número absurdo de probabilidades

É essencial nesse caso usar a analogia, como esse exemplo dos átomos, ou com grãos de areia como já vi, pois é difícil mesmo perceber o tamanho de um número por si só



Yeah, um número sem nada associado acaba por nem ter grande significado, pelo menos neste contexto. Temos sempre que associar os números a algum objecto e daí é que eventualmente poderemos ter uma noção do tamanho do número.
Grãos de areia, átomos, universo visível, são os mais comuns.

Olha por exemplo agora em Lisboa nas JMJ, 1.5 milhões de pessoas naquele espaço foi impressionante de ver. Associa-se o número 1.5 milhões a pessoas e temos uma noção do espaço que ocupam.

No caso das PKs em Bitcoin, claro que é um cenário e conceito diferente, mas a a cena de se associarem átomos e grãos de areia é sempre interessante, porque mesmo assim é difícil imaginar o quão grande é aquele número. Nem tão pouco a gente tem noção do quão grande é o universo visível!


Title: Re: Existem 2^256 chaves privadas por aí: qual é o tamanho desse número?
Post by: gagux123 on August 11, 2023, 02:49:46 AM
(...)

(...)

Que isso, eu que agradeço, fico feliz em contribuir aqui na nossa Local Board

Bom, eu não tenho um conhecimento muito técnico nessa área, mas eu dei uma breve pesquisada enquanto estava realizando a tradução e verifiquei que o algortimo SHA256 de fato é bem seguro! Não tinha noção dessa grandeza!  :P ;D

O usuário fillippone sempre posta diversos conteúdos de qualidade aqui no fórum, vou separar alguns tópicos e irei traduzi-los e postarei em breve aqui na nossa local board  :)



Title: Re: Existem 2^256 chaves privadas por aí: qual é o tamanho desse número?
Post by: darkv0rt3x on August 11, 2023, 02:48:54 PM
(...)

(...)

Que isso, eu que agradeço, fico feliz em contribuir aqui na nossa Local Board

Bom, eu não tenho um conhecimento muito técnico nessa área, mas eu dei uma breve pesquisada enquanto estava realizando a tradução e verifiquei que o algortimo SHA256 de fato é bem seguro! Não tinha noção dessa grandeza!  :P ;D

O usuário fillippone sempre posta diversos conteúdos de qualidade aqui no fórum, vou separar alguns tópicos e irei traduzi-los e postarei em breve aqui na nossa local board  :)



Essa malta mais técnica já tem muitos quilómetros disto. heheh. Eu também costumo gostar bastante dos posts de 3 ou 4 users no subforum internacional de Bitcoin. Havia um sobre um tema que eu nunca tinha ouvido falar em quase 6 anos nisto.
Achei super interessante apesar o facto de não ter percebido a fundo todos os detalhes, mas o assunto era: The curious case of the half-half Bitcoin ECDSA nonces. Não consegui encontrar a thread mas fica aqui o paper:
https://eprint.iacr.org/2023/841.pdf


Title: Re: Existem 2^256 chaves privadas por aí: qual é o tamanho desse número?
Post by: joker_josue on August 12, 2023, 04:00:51 PM
Lembro-me que algum tempo atras visitei um dessas sites, onde se consegue gerar chaves privadas. Felizmente nunca cai na tentação de ficar ali horas a clicar no botão para ver o que aparecia.

É mais fácil de minerar um bloco Bitcoin em modo solo, do que encontrar uma chave.  ::)

A minha maior questão em relação a este tema, é quando os computadores quânticos tiverem mais divulgados e com melhor tecnologia. Será que eles não serão capaz de descobrir a chave certa de uma carteira?



Title: Re: Existem 2^256 chaves privadas por aí: qual é o tamanho desse número?
Post by: gagux123 on August 13, 2023, 08:59:13 AM
Essa malta mais técnica já tem muitos quilómetros disto. heheh. Eu também costumo gostar bastante dos posts de 3 ou 4 users no subforum internacional de Bitcoin. Havia um sobre um tema que eu nunca tinha ouvido falar em quase 6 anos nisto.
Achei super interessante apesar o facto de não ter percebido a fundo todos os detalhes, mas o assunto era: The curious case of the half-half Bitcoin ECDSA nonces. Não consegui encontrar a thread mas fica aqui o paper:
https://eprint.iacr.org/2023/841.pdf
Obrigado pela colaboração @darkv0rt3x
Irei dar uma olhada!

Eu também concordo, tem MUITO conteudo bom espalhado aqui no fórum! Estou separando alguns e irei traduzir (além de agregar e contribuir aqui na nossa local board, vou praticar e melhorar o meu ingles que esta um pouco enferrujado  :P ;D)

A minha maior questão em relação a este tema, é quando os computadores quânticos tiverem mais divulgados e com melhor tecnologia. Será que eles não serão capaz de descobrir a chave certa de uma carteira?
Essa é uma boa pergunta...

Confesso que o meu conhecimento nessa área de criptografia/segurança é bem limitado e por isso eu me abstenho de falar muito nesse assunto hahahah

Mas eu acredito que até lá possa existir algum tipo de criptografia/encriptação que os computadores quanticos não consigam "quebrar" (não sei se isso poderá ser aplicado ao Bitcoin especificamente).
Imagina só, quem tiver um computador quantico, poderá descobrir a senha do Facebook de alguem, senha de banco, a seed de uma determinada carteira de BTC e etc (lógico o que eu disse foi uma forma bem lúdica do que pode acontecer, não sei de fato como poderá ser o "modus operandi" para descobrir uma senha/seed utilizando um computador/computação quantica)



Title: Re: Existem 2^256 chaves privadas por aí: qual é o tamanho desse número?
Post by: joker_josue on August 13, 2023, 09:56:47 PM
Imagina só, quem tiver um computador quantico, poderá descobrir a senha do Facebook de alguem, senha de banco, a seed de uma determinada carteira de BTC e etc (lógico o que eu disse foi uma forma bem lúdica do que pode acontecer, não sei de fato como poderá ser o "modus operandi" para descobrir uma senha/seed utilizando um computador/computação quantica)

Sim, isso será possivel se continuarmos a usar os sistemas de segurança que usamos hoje.

Acredito que em breve iremos ver varias mudanças na forma como se faz o registo nesse tipo de serviços, incluindo no Bitcoin.


Title: Re: Existem 2^256 chaves privadas por aí: qual é o tamanho desse número?
Post by: alegotardo on August 13, 2023, 11:39:15 PM
A analogia que vou fazer nem de longe é parecida com essa de encontrar as chaves privadas, mas certamente é muito mais lucro e menos perda de tempo se a pessoa comprar um daqueles detectores de metais (que não é barato) e passar horas nas praias buscando por algum artefato de ouro perdido na areai por algum turista.

Vários pontos positivos nessa atividade:
1. Você não estará "roubando" ninguém, e se o dono ainda estiver por perto você ainda pode fazer uma boa ação em devolvê-lo;
2. É mais divertido do que ficar vendo números passar na tela do computador;
3. Você anda, se exercita, ouve o som do mar, pega um sol (use protetor);
4. O retorno certamente será mais rentável.

Enfim, o exercício em cima das private-key são são de fato útil se o intuito for o aprendizado, mas se parte para o fim de querer "encontrar a carteira de satoshi", aí esquece... parte pra outra.

Em todo caso, me proporcionou uma excelente leitura @gagux123, obrigado por traduzir esse material do grande @fillippone
Não tinha conhecimento do projeto cryptoguru.org, mas acho que esse poder computacional poderia ser melhor empregado.


Title: Re: Existem 2^256 chaves privadas por aí: qual é o tamanho desse número?
Post by: darkv0rt3x on August 14, 2023, 02:18:57 PM
Lembro-me que algum tempo atras visitei um dessas sites, onde se consegue gerar chaves privadas. Felizmente nunca cai na tentação de ficar ali horas a clicar no botão para ver o que aparecia.

É mais fácil de minerar um bloco Bitcoin em modo solo, do que encontrar uma chave.  ::)

A minha maior questão em relação a este tema, é quando os computadores quânticos tiverem mais divulgados e com melhor tecnologia. Será que eles não serão capaz de descobrir a chave certa de uma carteira?



Do pouco que sei sobre os PCs quânticos, eles precisam de manter os CPUs a uma temperatura extremamente precisa para funcionarem com estabilidade e manter a temperatura super certinha é o que faz estes PCs serem ridiculamente caros de manter. Portanto, estes PCs ainda vão demorar a serem utilizáveis por singulares ou mesmo empresas pequenas. Acho que só mesmo escolas públicas ou outras grandes empresas podem dar-se ao luxo de terem máquinas estas a trabalhar.
Eu vi um doc no youtube há bastante tempo atrás onde eles explicavam a complexidade de manter um PC destes a trabalhar e os custos eram na ordem das centenas de milhar de USD por mês senão me engano (não quero estar a exagerar a dizer que era por dia, mas... já não me recordo).

E para além disso acho que a comunidade dos devs de Bitcoin também já anda a trabalhar em algoritmos resistentes a computação quântica. Portanto acho que ainda podemos dormir descansados até à hora da nossa partida, porque não vai ser tão cedo que vamos ter Bitcoin a ser atacado por Q PCs, espero eu!