Here’s an excellent FAQ for the average Bitcoin user: (thanks to cloudswrest). Original post here.
I’ll give a little tutorial.
1. Your money is not stored in your “wallet”. It is stored on the “blockchain”, which is a public online distributed transactional database, duplicated everywhere and secured by cryptographic signatures. All the accounts, their balances and their transactions are PUBLIC, but unless you know who owns an anonymous account number you don’t know who owns the account. What is stored in your wallets are the keys that give you transactional access to your accounts. Your wallet does not have to be online to receive bitcoins. You can keep your wallet offline on a flashdrive (or even printed out on a sheet of paper). There are even “brainwallets” that deterministically generate a set of public/private keys based on a pass phrase you keep in your brain. If you loose your keys you lose access to your money, and nobody else has access to it either. It’s gone for good.
You can look at the blockchain anytime by going here: http://blockexplorer.com/
2. Each block in the block chain is secured by a 256 bit cryptographic hash (think fingerprint). Here is the hash for block # (block #22722):
Notice the leading zeros.
The hash is calculated on three pieces of data:
a. All the transaction data in the block.
b. The hash from the previous block (hence the “chain”).
c. A random number called the nonce provided by the miner who signs the block by finding a successful hash. This is like lottery number. Miners keep trying different nonces until they find one that works.
What is a successful hash you ask? In order to be successful a hash must be smaller than some number specified by the “difficulty” number in the protocol, hence the leading zeros above. The difficulty is dynamically adjusted by the protocol, based on the network computing power, so that on average a new block is added every 10 minutes. The network computing power is currently at 55 TERAHASHES per second. This is collectively more power than any currently existing supercomputer. Miners repeatedly try random nonces until the first one finds a successful hash (hence the lottery effect). This secures the blockchain against counterfeiting and forgery. The protocol requires the winning miner to credit himself with 25 new bitcoins in his signed block. This is how the currency is created. The winning miner also collects all the transaction fees (tips) specified in the block. The bigger the tip the more likely your transaction will get preference (quality of service).
In order to forge a transaction in any previous block an attacker would have to resolve the new hash, and ALL SUBSEQUENT HASHES in the chain, and do this before the next block is solved (approximately 10 minutes).
3. Specific transactions are secured by public key cryptography. The public key is your bitcoin account number. Your private key is kept secret in your wallet on your computer (or stored offline). The only time your private key needs to be on a computer is when you are sending money. Some people are so paranoid with large balances that there are two step operations were the first part is done on an offline computer, writing a partial transaction onto a flash drive, which is then walked over to the networked computer to finalize the transaction.