Pages:
Author

Topic: custom bitcoin address wanted (Read 11869 times)

legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
November 03, 2014, 10:14:05 AM
#34
Any suggestions as to how does one do it in practice? OpenSSL? Gpg? Something else?

Does this make it clearer? https://github.com/ciyam/ciyam/blob/master/src/crypto_keys.cpp#L538 and https://github.com/ciyam/ciyam/blob/master/src/crypto_keys.cpp#L54

Basically a random 256 bit number will work but it has to fit within the curve range (it is very unlikely that it won't but the sanity check is necessary).

I am using OpenSSL for the random number (as does Bitcoin as I sourced that part from Bitcoin itself) but you could of course use "hex dice" or some other method if you don't trust OpenSSL.
newbie
Activity: 1
Merit: 0
November 03, 2014, 10:11:46 AM
#33
Pardon the lameness, but...

It works like this:

1) You generate a random 256-bit integer less than the SECP256k1 generator. [...]

Any suggestions as to how does one do it in practice? OpenSSL? Gpg? Something else?
legendary
Activity: 1596
Merit: 1012
Democracy is vulnerable to a 51% attack.
May 30, 2012, 10:36:50 PM
#32
1) You generate a random 256-bit integer less than the SECP256k1 generator. You keep this secret. (Effectively, an ECDSA private key.)

Why would it need to be less than the generator?
Strictly speaking, it doesn't need to be. It will get reduced modulo the generatororder anyway.

Quote
Quote
3) The person working out the vanity address for you tries various 256-bit integers also less than the SECP256k1 generator.

Again, why the constraint?  It shouldn't be necessary.
In this case, it doesn't matter at all. But for every value greater than the generatororder, there's an equivalent one less than the generatororder. You just don't want to waste time testing both.

Quote
Quote
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.

You mean modulo the order of the underlying field I think.
Yes. You are correct all around.
legendary
Activity: 2940
Merit: 1333
May 30, 2012, 09:36:21 PM
#31
I got rid of this "few moments" delay by commenting out two lines in the source code that perform this lengthy rescan - I did this so I could batch-import lots of keys and not have any per-key delay.  The flip side is I must -rescan when I'm done.

Me too:

Code:
diff --git a/src/rpcdump.cpp b/src/rpcdump.cpp
index 5bb4789..1fa6694 100644
--- a/src/rpcdump.cpp
+++ b/src/rpcdump.cpp
@@ -69,8 +69,8 @@ Value importprivkey(const Array& params, bool fHelp)
         if (!pwalletMain->AddKey(key))
             throw JSONRPCError(-4,"Error adding key to wallet");
 
-        pwalletMain->ScanForWalletTransactions(pindexGenesisBlock, true);
-        pwalletMain->ReacceptWalletTransactions();
+        // pwalletMain->ScanForWalletTransactions(pindexGenesisBlock, true);
+        // pwalletMain->ReacceptWalletTransactions();
     }
 
     MainFrameRepaint();

I don't need to -rescan at all if I'm importing addresses I just made in vanitygen, since I know there aren't yet any transactions mentioning the imported keys.
vip
Activity: 1386
Merit: 1140
The Casascius 1oz 10BTC Silver Round (w/ Gold B)
May 30, 2012, 09:31:02 PM
#30
  • it's going to take few moments, after it's complete, you can shutdown bitcoind from windows task manager processes or just typing "bitcoind stop" in the command prompt

On my rather lame laptop this took much more than a few moments (I thought it had hung and killed the task after 10 minutes).


i was watching these "few moments" with windows task manager processes open after the task didn't complete instantaneously )) so i sow it was doing something by using 25% of the CPU, took about 10-20seconds to import the key on my system

I got rid of this "few moments" delay by commenting out two lines in the source code that perform this lengthy rescan - I did this so I could batch-import lots of keys and not have any per-key delay.  The flip side is I must -rescan when I'm done.

I also modified the code driving the -rescan flag on my bitcoind so I could say -rescan=180000 and it would only scan blocks 180000 and beyond.  I'd do this if I knew I was picking up recent payments that couldn't possibly be in earlier blocks.  Big timesaver.
legendary
Activity: 2940
Merit: 1333
May 30, 2012, 09:13:01 PM
#29
1) You generate a random 256-bit integer less than the SECP256k1 generator. You keep this secret. (Effectively, an ECDSA private key.)

Why would it need to be less than the generator?

Quote
3) The person working out the vanity address for you tries various 256-bit integers also less than the SECP256k1 generator.

Again, why the constraint?  It shouldn't be necessary.

Quote
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.

You mean modulo the order of the underlying field I think.

Other than that, neat scheme!
legendary
Activity: 980
Merit: 1004
Firstbits: Compromised. Thanks, Android!
May 27, 2012, 03:58:11 PM
#28
I'm the seller Cheesy
To generate the address 1Nimda takes around 40/50 minutes at 270 Kkeys/s ( 2 CPU's).
Response for the creator of the topic, as I tell you my laptop is very slow to generate complex addresses, but your request its a bit difficult sorry but I can't help you.

And I need help please,
Im trying to figure out what JoelKatz write about secure generating, but I really don't understand what he say, can anyone explain more easily, because I wanted to improve the quality of my service.

The steps shouldn't be too hard. Implementation probably requires some coding though.

1) Have the buyer create a private key, and send you the public key. If vanitygen has an option for producing the public keys along with addresses from private keys, this would be ideal. Even if it doesn't, IIRC vanitygen is written in python, so it shouldn't be too hard to modify it to print the public key along with the private key and address.

2) Have a program that generates private keys and public keys. Have it add the buyer's public key (the one he sent you) to each of your public keys before hashing it to get an address. Again, adding this step in the vanitygen code shouldn't be too difficult... hard-code his public key if necessary.

3) When you find an address that matches what the buyer wants, send him the private key that matches YOUR public key (the one you added to his to get the address.)

4) The buyer then adds your private key to his, does a little bit of math (step #4 of JoelKatz's instructions), and now has a new private key, one that you don't have and can't get, and can use it to get the address you found. A few lines of code would be all that's required to do this math, but you may have to provide the program to buyers.

Actually... there's probably a few bitcents in donations to be made from someone packaging all this into one or two simple little programs or vanitygen mods (not sure the vanitygen code's license approves of that though.)
sr. member
Activity: 351
Merit: 250
May 27, 2012, 02:58:42 PM
#27
I'm the seller Cheesy
To generate the address 1Nimda takes around 40/50 minutes at 270 Kkeys/s ( 2 CPU's).
Response for the creator of the topic, as I tell you my laptop is very slow to generate complex addresses, but your request its a bit difficult sorry but I can't help you.

And I need help please,
Im trying to figure out what JoelKatz write about secure generating, but I really don't understand what he say, can anyone explain more easily, because I wanted to improve the quality of my service.
hero member
Activity: 784
Merit: 1000
0xFB0D8D1534241423
May 27, 2012, 02:22:47 PM
#26
Interesting... why does it take longer to find 1nimda than 1Nimda?
sr. member
Activity: 471
Merit: 252
May 16, 2012, 06:43:03 AM
#25

quite simple, even on windows, assuming using official bitcoin client:

  • shutdown Bitcoin-QT client
  • start bitcoind.exe (leave this blank terminal bitcoind.exe screen open while doing next steps)
  • in new Command Prompt window navigate to bitcoind.exe location, by default it's something like C:\Program Files (x86)\Bitcoin\daemon>
  • type following in command prompt:

    C:\> bitcoind importprivkey

    where is your newly generated private key for the vanitygen address you just generated

  • it's going to take few moments, after it's complete, you can shutdown bitcoind from windows task manager processes or just typing "bitcoind stop" in the command prompt
  • start bitcoin client again, you should be able to see your vanitygen address in there

Thanks Serge, it worked in my linux system. :-)
legendary
Activity: 1050
Merit: 1000
May 15, 2012, 09:39:40 PM
#24
where can i find detailed instructions on how to use vanitygen?

see this thread https://bitcointalksearch.org/topic/vanitygen-vanity-bitcoin-address-generatorminer-v022-25804
to utilize GPU use oclvanitygen.exe from its distribution, much faster than generating with CPU
legendary
Activity: 1764
Merit: 1002
May 15, 2012, 09:31:17 PM
#23
where can i find detailed instructions on how to use vanitygen?
rjk
sr. member
Activity: 448
Merit: 250
1ngldh
May 15, 2012, 08:51:29 PM
#22
  • it's going to take few moments, after it's complete, you can shutdown bitcoind from windows task manager processes or just typing "bitcoind stop" in the command prompt

On my rather lame laptop this took much more than a few moments (I thought it had hung and killed the task after 10 minutes).


i was watching these "few moments" with windows task manager processes open after the task didn't complete instantaneously )) so i sow it was doing something by using 25% of the CPU, took about 10-20seconds to import the key on my system
Yes, it is going to need to do a full blockchain verification in order to pick up inputs (even though you just generated it - it doesn't know that of course), so that means reading about a gigabyte of data and doing a few hash operations. A fast disk would help.
legendary
Activity: 1050
Merit: 1000
May 15, 2012, 08:13:44 PM
#21
  • it's going to take few moments, after it's complete, you can shutdown bitcoind from windows task manager processes or just typing "bitcoind stop" in the command prompt

On my rather lame laptop this took much more than a few moments (I thought it had hung and killed the task after 10 minutes).


i was watching these "few moments" with windows task manager processes open after the task didn't complete instantaneously )) so i sow it was doing something by using 25% of the CPU, took about 10-20seconds to import the key on my system
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
May 15, 2012, 08:09:08 PM
#20
  • it's going to take few moments, after it's complete, you can shutdown bitcoind from windows task manager processes or just typing "bitcoind stop" in the command prompt

On my rather lame laptop this took much more than a few moments (I thought it had hung and killed the task after 10 minutes).
legendary
Activity: 1050
Merit: 1000
May 15, 2012, 08:02:01 PM
#19
And... How can we add this address to our wallet?

quite simple, even on windows, assuming using official bitcoin client:

  • shutdown Bitcoin-QT client
  • start bitcoind.exe (leave this blank terminal bitcoind.exe screen open while doing next steps)
  • in new Command Prompt window navigate to bitcoind.exe location, by default it's something like C:\Program Files (x86)\Bitcoin\daemon>
  • type following in command prompt:

    C:\> bitcoind importprivkey

    where is your newly generated private key for the vanitygen address you just generated

  • it's going to take few moments, after it's complete, you can shutdown bitcoind from windows task manager processes or just typing "bitcoind stop" in the command prompt
  • start bitcoin client again, you should be able to see your vanitygen address in there
hero member
Activity: 882
Merit: 1006
May 15, 2012, 07:50:05 PM
#18
And... How can we add this address to our wallet?

You can import the private key. Each client has a different way of doing that.
sr. member
Activity: 471
Merit: 252
May 15, 2012, 07:40:45 PM
#17
And... How can we add this address to our wallet?
donator
Activity: 1218
Merit: 1079
Gerald Davis
May 15, 2012, 11:43:25 AM
#16
Well yes. It took me about 15 minutes to get to 5 digits...

Wow - guess my laptop computer is rather slow then. Sad


I played around with vanitygen, and from my experience it appears that the length of custom text you want isn't important, some addresses just took longer to generate than others, regardless of the number of vanity characters.

There is an element of luck however the length of the custom text most certainly affects difficulty.  The average search time grows with each digit.

A case sensitive search will require 58^(length) attempts on average.
vip
Activity: 1358
Merit: 1000
AKA: gigavps
May 15, 2012, 11:32:45 AM
#15
I got 7 characters no problem for my vanity addy using a single 5850 and vanitygen.

1GigavpsDjLBQJzHenH3zPq3EwkENL9tQS
Pages:
Jump to: