15

There is a fundamental bitcoin concept I don't get. Am I correct in that all I "need" to send and receive money are a single address and its associated private key?

In other words, can't I just create an address and private key and print them off and store it in my desk? And in this case, if I print two adresses and private keys, couldn't my physical desk be considered a "wallet"?

I'm just trying to figure out what a wallet is specifically. Is this just some sort of file or folder that stores those private and public keys?

Thanks!

  • bitcoin.stackexchange.com/q/3173/659 talks about what the standard client's wallet.dat file actually contains, if you're interested in that. – Chris Moore Apr 4 '12 at 20:09
  • Just be very careful about making sure you have backups of all your private keys. Typical clients create a new account to receive the "change" from every transaction they do, resulting in a new private key you need to have backed up or the change from that transaction is lost. – David Schwartz Apr 6 '12 at 2:01
11

A wallet can be as simple as just a private key by itself even as software that has access to that can derive the public address from it. So yes, that data alone can be considered a bitcoin wallet.

But you asked if that is all you need to send and receive so for that you will need software that uses the private key to spend the funds. Sometimes the term "wallet" is used to refer not to just the data stored but transaction data as well, along with the software that can create transactions and do the accounting for them as well so that you can know your balance.

Proper vocabulary would describe wallet software as being a bitcoin client. The bitcoin client from Bitcoin.org (also referred to as the "Satoshi" client) does this, and has a local wallet as well.

My Wallet from http://BlockChain.info/wallet is managed through a server, but the wallet itself is stored in your browser. That type of wallet and client is termed a Javascript-based wallet. Sometimes the term "hybrid wallet" is used, since to spend using My Wallet you need to use their hosted service where the transaction gets processed.

Another type of wallet is an e-wallet where the wallet data is stored by the service's operator. An e-wallet can also be referred to as a "hosted wallet". InstaWallet is one of these. The just-launched Paytunia is another. An account at an exchange which hold bitcoins for you is another type of e-wallet service. Using a hosted wallet incurs risks involving trust extended to the wallet's operator.

But the simplest form of a wallet comes from http://BitAddress.org

It gives exactly what you describe -- a private key and a public address. This happens to provide one of the most secure wallets as well. The html source can be copied to a thumb drive and then used to create paper wallets from an "air gapped" system (such as a computer running a secure operating system perhaps using a LiveCD linux distribution) that has no connection to the network and is used for printing out paper wallets.

  • Brilliant. Both blockchain.info and bitaddress.org are exactly what I was looking for. thanks! – Jimbob Apr 4 '12 at 17:33
  • @Stephen Do you mean that you are receiving and sending BitCoins without a client installed on your computer? – Pacerier Jun 18 '12 at 3:26
  • But wouldn't you have to "send" your private key over in order for the "hybrid wallet" to help you make a transaction, or am I misunderstanding something? – Pacerier Jun 18 '12 at 3:39
  • To receive only, you don't need a client -- just BitAddress.org. So that paper wallet would generally be useful only for a savings wallet. If you want to spend from that wallet, then the methods include using a local client that will import the key (e.g., Multibit) and spend the funds using that, or to use a service that imports the key and lets you spend the funds. Mt. Gox's mobile app, for instance, will scan the QR code, import the private key, and issue a transaction that sweeps those funds into your Mt. Gox account. A variety of options, appropriate for a variety of security concerns. – Stephen Gornick Jul 6 '12 at 1:17
3

Yes, the only thing you need in order to send coins is a private key (or some way to derive it). The address isn't strictly needed as it can be reproduced from the private key.

You can certainly create physical wallets, and some are offered for sale (e.g. Casascius physical bitcoins). In order to send the contained bitcoins you'll still need a computer to calculate the ECDSA signatures, and a computer (not necessarily the same one) to broadcast them on the internet.

The standard Bitcoin client stores in wallet.dat some information other than the private keys, such as your address book and the transactions that involve you.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.