- When creating a brain wallet, should I choose the compressed or uncompressed version? Why?
- What happens if I choose the uncompressed version (which is what the official client uses, right?), and someone sends coins to the compressed address? Will I see the coins? Would I be able to spend them if I saw them sitting in the other address?
- Will I have to remember which option I chose, or the pass phrase is enough? Will other options keep popping up? (eg: super compressed)
-
Ive noticed on brainwallet.org a lock_time component, I'd like to use, my understanding is that this number refers to Block number and so by roughly working out what block numbers will be being mined in say 5 yrs time, I can send a transaction to an address that I will only be able to access in 5 yrs time. I think blocks greater than 500 million are treated as UTC. Is this understanding correct, is it correct hat all I need to is enter an appropriate lock_time value to lock those coins up until after that Block number has been mined.– user8792Commented Nov 17, 2013 at 14:59
2 Answers
Brainwallet.org doesn't make this terribly clear: choosing a compressed versus an uncompressed address is not choosing between two different versions of the same address, but rather two different addresses based on the same secret exponent. Sending bitcoin to one address will not be accessible by the other, as they are technically independent. With that in mind, we can address your second point first:
- Will I see the coins? Of course! You can see everything that happens on the block chain.
- Would I be able to spend them if I saw them sitting in the other address? No. Unless you have access to the private key for the other address, you cannot spend the coins.
As for the first point, it really depends on whether or not your client supports signing transactions with compressed private keys. Your client will always be able to receive coins at the public address, but it may not be able to process a compressed private key and thus not be able to spend with it.
Here's some info on popular clients that might be helpful:
BlockChain.info -- Currently, if you try to import a compressed private key into blockchain.info's web app, you will get a warning that they key will not be usable to create transactions on the mobile app. So, if you need to make payments with their mobile app, don't use compressed private keys. Although their web app, should work fine, even if accessed from mobile.
Bitcoin (Android - Andreas Schildbach)-- Andreas Schildbach Android bitcoin client, on the other hand uses compressed private keys. Although they are normally hidden from user, there is a (somewhat convoluted) way to import and export private keys into the app and out of the app. So, if you are making payments with this app, you can use compressed private keys. (Note: I'm actually unclear as to whether or not you can import uncompressed keys into this client, so compressed keys might actually be mandatory here.)
Armory -- I don't believe that the Armory supports importing of private keys at this time. So, if you're planning on using this, you must use uncompressed keys.
As for your third point, I would suggest remembering your chosen option just in case the clients you wish to use doesn't support it compressed keys. That way, you have a good idea of what's going on in case making a transaction fails.
-
I know I can see them in the blockchain, I meant see them in my balance (I guess I can't). So are you sure they are different private keys? Why call them compressed/uncompressed then? If I have the uncompressed one, can't I get the compressed one and viceversa, and then spend the coins? I think armory supports importing keys, but it doesn't support recovering them from your paper backup obviously. Commented Sep 13, 2013 at 3:13
-
I'm pretty sure that they are different keys, but I'd be willing to hear arguments to the contrary. If there is a normal private key, there should also be a corresponding compressed private key and they should each correspond to the same public key. However, the process that brainwallet.org uses to produce compressed verses normal keys results in two different key pairs -- rather than two different private keys with the same public key. (Note: the public does not remain the same when toggling.). I tried importing a compressed key into Armory, and it failed, perhaps I did something else wrong? Commented Sep 13, 2013 at 11:35
-
So, I got some down votes on this one? Anybody care to explain? I'm trying to make my answers as accurate and thorough as possible. Commented Sep 18, 2013 at 20:09
It makes no difference which you choose.
For more info please see the answer to this question: What is a compressed Bitcoin key?
A compressed key is just a way of storing a public key in fewer bytes (33 instead of 65). There are no compatibility or security issues because they are precisely the same keys, just stored in a different way.
-
Most clients allow the import of compressed private keys, but some clients -- particularly older versions -- and the services which use those clients may not work for compressed keys. Commented Sep 12, 2013 at 19:52