Just to get this straight before I go off and do any script writing

Everyone has a balance stored in their wallet which it how much money they have, much like when you log into internet banking with any other currency. This balance can be changed by sending and receiving money in transactions. A transaction, just like normal, is money changing hands. To keep people honest and stop them spending money they don't have is the real cleverness of bitcoin. When you make a transaction you announce it to the rest of the network. They all check that this transaction is valid. In this way, the amount of money that anyone has is know by the network, and you can't spend money that you don't have (because the network would know and would deny the trasnaction). When you submit a transaction to be verified by the network not everyone can take a vote on if it is a valid transaction, that would make the system too easy to fool with a large amount of nodes all broadcasting that a fake transaction was real, instead nodes do some very difficult computational work (generating blocks), when they complete it that seals the transaction as valid. Other nodes verify this work is correct and in this way votes are limited by CPU power (which is much harder to accumulate large amounts of). Each new block buries old blocks deeper to form a chain of blocks, this makes changing older transactions even harder, so transactions become more certain as time passes. A fraud can only be carried out by generating blocks faster than the rest of the entire network and building a longer chain. When you first join the network (or after rejoining the network) you must download all the blocks generated since you left, once this is done your node can verify new blocks against the rest of the block chain.