What is a Bitcoin wallet?
When someone asks, How do I get into Bitcoin? the first piece of advice often given is to start by getting a bitcoin wallet. Without a wallet, you can not receive, hold or send Bitcoins. It is easy to think of a Bitcoin wallet like a traditional wallet in which you would hold coins and notes.
But really a Bitcoin wallet is not physical at all, it is simply a term given to a piece of software that is used for receiving and sending Bitcoins. A Bitcoin wallet is a mechanism by which to identify what Bitcoin you own along with the ability to identify transactions to either receive more Bitcoin or send Bitcoin to another wallet.
More specifically the wallet software creates, uses and stores a pair of digital keys – the wallet private key and the wallet public key. Just like keys in real life, wallet keys give you access to something when you need it - in this case, your Bitcoin.
A private key - known only to the owner
A private key is just an alphanumeric code, which can also be displayed as a QR code and looks something like this:
This private key is a highly sensitive piece of information and should always be kept secure. It is the code that allows the owner to open the wallet and access and send the Bitcoins to another wallet. Having the private key to a wallet is proof enough you own the bitcoins.
A public key / Bitcoin address - can be known by anyone
An alphanumeric code, also displayable as a QR code and looks something like this:
The public key can be used by anyone to verify that you have the right to send Bitcoins from a wallet. This right can be checked with a public key without them knowing the private key. The public key, as well as the Bitcoin address, identify your wallet to which people should send you Bitcoin.
To simplify things, some people like to think about private and public keys like email addresses and passwords. Anyone that knows your email address can send you emails, but only the person with the password can read the emails and send from that email address. It's the same with Bitcoin wallets. Anyone that knows your wallet address can send you Bitcoins, but only the person with the wallet private key can send from the wallet address.
While public key and wallet address as terminology is often used interchangeably, they are not actually the same thing. A private key can be used to send Bitcoin, a public key can be used to verify a Bitcoin transaction and a Bitcoin wallet address can be used to receive Bitcoin.
A wallet address is derived from a public key which itself is derived from a private key. This is not reversible - that is, a public or private key can not be guessed from a wallet address just like a private key can not be guessed from a public key.
It is possible for a single wallet to have multiple wallet addresses.
If you lose your private key, there is no other way to open the wallet and your bitcoins become irretrievable. If you fail to protect your private key and it gets in the hands of someone else, they can open the wallet and steal your bitcoins by sending them to another wallet.
Next-Up: What are the different types of Bitcoin wallets?