Author

Topic: Harcore noob question (Read 772 times)

hero member
Activity: 980
Merit: 508
May 12, 2013, 04:22:23 AM
#20
Brilliant mate. Really helpful.
newbie
Activity: 38
Merit: 0
May 11, 2013, 11:46:47 PM
#19
Very thorough overview, thanks!
legendary
Activity: 3472
Merit: 4801
May 11, 2013, 11:36:07 PM
#18
People are tossing out technical concepts with little details.  Some of these concepts aren't necessary to use Bitcoin, but now that they've been mentioned, it would be a bad idea to at least explain what people are saying.

A bitcoin address is a unique identifier that you can give to someone so they can send you bitcoins.  You can't "choose" a specific bitcoin address, it has to be generated with software.  As such it is pretty much a random string of 27 to 34 characters starting with a 1 or 3.  There are "vanity address generators" that simply continuously generate random addresses until they stumble across one that matches a string of characters that you want in your address.  However, the ore characters you want, the more difficult it is (and longer it takes) for the vanity generator to stumble across a matching address.  You can have multiple addresses.  You can give out a different address to each person/entity that might send you bitcoins so you can keep track of where the bitcoins came from.  You can even give out a different bitcoin address for every transaction you receive.

A private key is a secret string of characters (typically starting with 5, L, or K) that is mathematically linked to your bitcoin address.  Each bitcoin address will have its own private key.  Anyone with access to the private key and a bit of technical knowledge can spend all the bitcoins that are sent to the address that is associated with the private key.  This makes the private key extremely important.  If you loose your private keys, then you can never again spend your bitcoins.  They are lost permanently.  If someone else gains access to your private keys, they can steal/spend your bitcoins.  So you need to protect your private keys both from loss and theft.  If you have a private key it is always possible to regenerate the bitcoin address that is associated with that key, however the reverse is impossible.  If you have a bitcoin address, it is not possible to determine what the private key is.  This means it is safe to give out your bitcoin addresses (so others can send you money), but knowing your bitcoin address is not enough to recover bitcoins if your private keys are lost.

A wallet is software (or a website) that allows you to receive, keep track of, and send bitcoins.  Most wallets will keep track of multiple addresses for you and will provide a method for generating a new random address whenever you need one.  Wallets keep track of the private keys for you, and use those private keys to create transactions for you when you want to send bitcoins somewhere. Some wallets will create additional bitcoin addresses without telling you about them, and send some of your bitcoins to those hidden addresses for safe keeping, so your wallet may be keeping track of more addresses than you are aware of.  Most wallets provide a method of backing up the private keys that the wallet is keeping track of so that you can recover your wallet if your computer crashes.  Many wallets also provide a way to use a password to encrypt the private keys that the wallet is keeping track of so that if someone else (or some malicious software) gains access to the computer, the private keys can't be used without the password.  Some wallets also provide a method of printing out the private keys on paper to protect them from loss.

A public key is used to verify that you have the right to spend bitcoins that were sent to an address that you have control over.  Like the bitcoin address, the public key is also mathematically linked to the private key.  In general you will never see your public keys, and you will have no direct need to use or know them.  As long as the wallet has a good copy of the private key, it can always regenerate the public key as needed when sending transactions.  While a bitcoin address is similar to a public key, in that it is mathematically linked to the private key and that it is safe to provide it to others, they are not technically the same.  Technically, a bitcoin address is a hash of a public key with an added checksum to prevent typos from accidentally sending bitcoins to the wrong address.

If you don't have control over the private key or have a method available to access a private key if/when needed, then you don't really control the bitcoins that are associated with the address.  If there is a chance that someone else has access to the private key of an address, then for the sake of protecting your bitcoins from theft you must assume that person (or those people) have the ability to spend "your" bitcoins without your permission.  As an example, any bitcoins stored with MtGox.  MtGox may present you with a bitcoin address so that you can send bitcoins to (or receive bitcoins at) your "account" with them, however since they have the private key to the address, they have sole control over all bitcoins received at that address.  You are trusting them to send those bitcoins elsewhere at your request, and trusting that they will still be there to do so when you make such a request.  Essentially, you have handed your money over to a complete stranger, and in return that stranger has offered you a promise to honor any requests you might make as to what to do with that money.  If you have more faith in the abilities of MtGox to secure the private keys from loss or theft than you have in your own abilities, then this can be a good thing.  However, there is no insurance policy that will guarantee the safety of your bitcoins (unlike a bank in the U.S. that is insured by the FDIC).

If your bitcoins are stored at MtGox, you can send them directly from MtGox to any address you like (such as to loan them out or purchase something).  However, some services (such as SatoshiDice) and some people make the false assumption that bitcoins can be returned to the sender by sending them back to whatever address was last in control of the bitcoins.  In the case of MtGox, when you request that bitcoins be sent somewhere, MtGox just chooses some random bitcoins that they have control over and sends them.  Then they update the balance that they display to you to reflect less bitcoins in your account.  When bitcoins are sent back to the address that MtGox controls, they have no way of knowing whose "account" those bitcoins should be attributed to.  As such, you should avoid using services (or transacting with people) who expect to be able to send coins back to the address they "came from".  If you wish to engage in a transaction with such a service or person, you'll need to first transfer the bitcoins from MtGox to your own wallet before sending them on.

If you feel confident enough in your own ability to maintain good backups of your wallet and to protect your wallet from hackers and thiefs, then you'll want to consider keeping all your bitcoins under your own control whenever possible.  This means choosing a wallet and only storing bitcoins at MtGox if/when you intend to exchange them.  If you choose to use your own wallet, here are some to look into:

Armory
Bitcoin-Qt
Electrum
MultiBit
https://blockchain.info/wallet

Each has its own "quirks".  Some are intrinsically a bit more secure than others.  Some are more convenient to use than others.  I'll leave it up to you to do the research and choose the best wallet for your own particular needs.
hero member
Activity: 980
Merit: 508
May 11, 2013, 05:57:27 PM
#17
Could I ask a question as an addendum?

My coins are all in mt gox. If I wanted to do business with bitcoin, say lend them to people on these forums, would I need to withdraw them from gox to my own wallet on my computer or would there be a better way to do this?
hero member
Activity: 980
Merit: 508
May 11, 2013, 04:51:47 PM
#16
Thanks

So I give out my public key when one is to pay me bitcoins. I suppose if I never see my private key then there is no risk of me giving it out.
newbie
Activity: 46
Merit: 0
May 11, 2013, 04:48:37 PM
#15
Thanks but where do I find those keys for my reference.

I've established that one address, or "key", is in the recieve coins section of my wallet. Is this the public key?

yep.

moreover you'll probably never see your private key directly
newbie
Activity: 27
Merit: 0
May 11, 2013, 04:33:45 PM
#14
Thanks guys.
hero member
Activity: 980
Merit: 508
May 11, 2013, 04:31:16 PM
#13
Thanks but where do I find those keys for my reference.

I've established that one address, or "key", is in the recieve coins section of my wallet. Is this the public key?
legendary
Activity: 1050
Merit: 1000
You are WRONG!
May 11, 2013, 04:25:18 PM
#12
to save you the trouble, i found it for you: 164ZdVagV5g9JP2uPeTkXDhGH5n94qgYi1
newbie
Activity: 46
Merit: 0
May 11, 2013, 04:23:22 PM
#11
Confused I am. What is the difference between the public and private key?

It's like with all asymetric encryption :-)

Public key is public (indeed, and you can tell it to anyone). I believe that bitcoin address as is *is* the public key.

Private key is to be kept private.

With public key you can verify if someone says he has a corresponding private key that it's true (you -- from your wallet -- can sign messages with yours to prove you own corresponding bitcoin address). Also it's used for sending bitcoins. With private key you do the proving. Never ever loose the private key or your funds will be inaccessible. If someone gets hold of your private key, he'll be able to spend your bitcoins.

Maybe some basics will shed some light: http://en.wikipedia.org/wiki/Public-key_cryptography
newbie
Activity: 8
Merit: 0
May 11, 2013, 04:19:13 PM
#10
Thanks guys.
hero member
Activity: 980
Merit: 508
May 11, 2013, 04:14:16 PM
#9
Confused I am. What is the difference between the public and private key?
legendary
Activity: 1148
Merit: 1008
If you want to walk on water, get out of the boat
May 11, 2013, 03:51:10 PM
#8
You are confused with the concept of private key and public key. The address comes from the private key.
hero member
Activity: 980
Merit: 508
May 11, 2013, 03:50:23 PM
#7
Actually you shouldn't have told me. Now I can e-beg people mercilessly  Grin
hero member
Activity: 980
Merit: 508
May 11, 2013, 03:46:00 PM
#6
Thanks. You guys are cool.
newbie
Activity: 58
Merit: 0
May 11, 2013, 03:45:40 PM
#5
So the address in "receive coins" is my wallet address?

Yep, and you can create as many as you want.
full member
Activity: 206
Merit: 100
http://canadianbit.com/ - Let's Mine Canadian!
May 11, 2013, 03:44:21 PM
#4
yes
hero member
Activity: 980
Merit: 508
May 11, 2013, 03:39:44 PM
#3
So the address in "receive coins" is my wallet address?
newbie
Activity: 26
Merit: 0
May 11, 2013, 03:33:13 PM
#2
I'm not so experienced with the bitcoin-qt client (assuming this is the client you're using, as it's the 'default' client).

But I think the address book is for existing addresses that you don't want to memorize in your head (like a telephone book where all of your contact info of your friends and family are stored).

You can't really specify how your own public address will look like (unless you want a vanity address, but it requires lots of computing power to generate one), but if I'm not mistaken you can create a new address by going to the 'Receive coins' tab and hit New Address.
hero member
Activity: 980
Merit: 508
May 11, 2013, 03:20:07 PM
#1
How do I find my bitcoin address?

I have the wallet. I go into address book and it seems to let me create one with "new address". The next field has two attributes, "label" and "address". I take it that I create the address in the address field. I understand the address should begin with 1 or 3 so I put in 1 and then a bunch of letters and numbers to fill out the form. I am then told that what I have put in is not a valid bitcoin address.

Any help appreciated.
Jump to: