Bitcoin Forum
May 30, 2024, 12:52:36 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2]  All
  Print  
Author Topic: [Tutorial] Como gerar endereços Bitcoin personalizados (inclusive Segwit)  (Read 478 times)
Loganota (OP)
Hero Member
*****
Offline Offline

Activity: 1778
Merit: 882


View Profile
May 13, 2019, 03:44:12 PM
 #21

Como assim só achará uma parte?

Então, a parte técnica eu não sei explicar mas pelo que eu entendi você pega uma chave pública e gera o endereço vanity usando ela como referência, para você gastar os fundos do endereço vanity você precisará ter posse tanto da chave privada que você gerou quanto da chave privada associada a chave pública que você usou de referência.

Esse cara explicou tecnicamente:

If it's done right, the party generating the address for you has no access to the private key, only the public key.

It works like this:

1) You generate a random 256-bit integer less than the SECP256k1 generator. You keep this secret. (Effectively, an ECDSA private key.)

2) You compute the corresponding EC point on the SECP256k1 curve. You share this with whoever is finding the vanity address for you. (This is the ECDSA public key that corresponds to the private key you generated in step one.)

3) The person working out the vanity address for you tries various 256-bit integers also less than the SECP256k1 generator. They compute the corresponding EC point and add it to the EC point you sent them (from step two). They then hash this and see if it produces the desired vanity address. They repeat this over and over until they find a 256-bit integer that works. They give this integer to you. (And the world, it need not be kept secret.)

4) You add the 256-bit integer they found to the 256-bit integer you generated in step 1 and reduce it modulo the SECP256k1 generator.

5) You now have the private key, and they don't. (And you can prove that they cannot generate the private key from just the information you gave them unless ECDSA is fundamentally broken.)

In ECDSA, you convert a private key to a public key by multiplying by the generator. Division is impossible.

The vanity address generation scheme above works because: (A+B)*G = AG + BG

You generate A and AG, but give them only AG.

They try various different B's, calculating the AG+BG for each one to find the right one for the vanity address.

They give you B. You can now compute A+B (the secret key corresponding to the public key AG+BG) but nobody else can since they do not know A.

Computing A from AG would mean breaking ECDSA fundamentally. All you gave them is AG, an ECDSA public key. If they could figure out the private key to your new account (A+B), they could also figure out A. So if they could figure out the private key to your vanity account, they could also figure out the private key you created in step 1. But all you gave them was the corresponding public key. So any compromise of the vanity account would mean they could compromise a private key given only its corresponding public key.
Paredao
Legendary
*
Offline Offline

Activity: 3346
Merit: 1628


View Profile
May 13, 2019, 06:05:19 PM
 #22

Legal o seu tutorial @Loganota. É bom deixar claro para os novatos não usarem serviços ONLINE de geração Vanity pois existem várias denuncias de roubos de chave privada. Parabéns pelo artigo. Wink Wink
d5mb0
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
May 23, 2019, 10:59:57 PM
 #23

legal, incrivel saber que todas as plataforma podem usufruir dessa ferramenta =D
Pages: « 1 [2]  All
  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!