| This is my rough understanding: As you're aware, Bitcoin uses certain cryptographic guarantees in order to publish a public and immutable "block chain", which is essentially a public list of all Bitcoin transactions since the beginning of time. Each block in the block chain is essentially a list of transactions which occurred between the time frame "after the previous block was discovered, but before this block was discovered". (A block is 'discovered' by searching the hash space brute-force, searching for a valid code.) When a new transaction is initiated, it is an interesting situation because it needs to be done in a way where neither party can somehow cheat the system. I believe this is accomplished by sending the transaction to many Bitcoin peers simultaneously. When, say, 5 or more peers have "acknowledged" this transaction, then you can be fairly confident (>99.9%) that your transaction will be encoded into the next block in the block chain. The only reason this works is because it's assumed that each peer in the Bitcoin network is following the protocol in an unbiased way. E.g. it's assumed that peers aren't "going out of their way to do shady things". What kind of things? One example: acknowledge a transaction, but then discard/ignore that transaction, thereby attempting to trick you into thinking your transaction was processed when it wasn't. Right now it doesn't matter if only a few people are doing shady things. This is because the majority of people are known to not be cheaters. Therefore, by the law of large numbers, you can assume that by waiting for N acknowledgements then you can become exponentially more confident that your transaction will be encoded into the public block chain, rather than maliciously ignored. The only reason this works is because less than 50% of the Bitcoin peers are attempting to cheat. If more than 50% were cheaters, then you'd have no way to "verify that your transaction will definitely make it into the public block chain". Thus, the system would cease to be useful. Now, notice I'm talking in terms of "more than 50% of peers", but the article is talking about "more than 50% of processing power". I think the argument for "why 50% of the computation power needs to be non-malicious" is the same or very similar to my argument which I presented above. But I'm not positive on that. (Essentially, if you control more than 50% of your "new block-finding capability", then you would have control over which transactions will/will not make it into the public block chain. Thus, we would lose our cryptographic guarantee that "if my transaction was acknowledged by at least N peers, then it will definitely be entered into the public block chain un-tampered.") |
The confirmation task can be easily paralelised - therefore, what is usually done is creating a whole pool of computers that together work on the transaction confirmation task, then the main computer announces the confirmation and is remembered in the blockchain. That's what these so-called mining pools do.
You can browse the blockchain by yourself here http://blockexplorer.com/
There is always at least 1 transaction in the block with the amount 50 - that's the "new" bitcoins that the person "mined" - those weren't previously in the system, you got them for the confirmation. Someone is cheating the system by creating empty blocks with only this transaction.