“A wallet is software that holds all your addresses. Use it to send bitcoins and manage your keys.” (from Antonopoulos, Mastering Bitcoin)
Bitcoin ownership is established through digital keys and digital signatures.
These keys are generated locally on Bitcoin end-users’ computers using special software called a Bitcoin client. They can be stored in a file, in a database, or just printed on a piece of paper, but most commonly they are stored in a Bitcoin wallet.
The keys within each user’s wallet allow the user to sign transactions, thereby providing cryptographic proof of the ownership of the bitcoins sourced by the transaction.
A wallet is simply a collection of addresses and the keys that unlock the funds within. There is practically no limit to the number of addresses a user can create.”
A wallet is a collection of data (e.g. the Bitcoin user’s private/public key-pair and his address) enabling a user to receive and send bitcoins, in the form of spendable outputs.
A client is the software that connects a user to the Bitcoin network. It handles all the communication, updates the wallet with incoming funds and uses information from the wallet to sign outgoing transactions.
Having your keys stored locally or remotely (i.e. on a third-party’s server) is a question that depends on your Bitcoin wallet and client choice. Bear in mind that, the security of your funds also heavily depends on this choice, thus your decision must be made carefully. Below we examine some of the pros and cons of storing your wallet locally or remotely.
- Locally: If your computer is compromised by a hacker, if it crashes (and you have no backups), or if you forget your passwords, your private keys (and bitcoins) will most probably be lost forever! However, if you take reasonable steps to avoid intrusion or exposure, your keys will be reasonably safe and protected from third-party failure or intent. In this case, you exchange convenience for increased security.
- Remotely: If the third-party exchange’s security is compromised, or if they act maliciously, your bitcoins will most probably be lost forever! Bitcoin exchanges are not Banks. Most will provide a method of changing your passwords if you forget them, and employ security experts and suitable infrastructure, so you will not have to worry about taking extensive security measures. However, third-party exchanges are more likely targets for intruders, and if compromised, they could steal your bitcoins. In this case you exchange security for increased convenience.
When first created, a Bitcoin wallet is empty.In order to receive some bitcoins we have to inform the sender about your wallet’s Bitcoin address, just like we would provide our email address to someone who wants to send us an email. To send bitcoins e.g. when using a desktop client, a sender can just copy and paste the receiver’s address:
After every transaction is confirmed, it becomes a part of Bitcoin history, and is included in the public ledger, i.e. the blockchain.
Each transaction corresponds to a chain of ownership transfer and is maintained in a distributed, peer to peer network of Bitcoin nodes.