Thanks Garrett.
So increases in the difficulty level also increases the amount of time it takes to compute a block? Why don't we compute blocks as quickly as possible, then use a lottery system to award the 50 BTC "prize" to the first hasher of a random block in a 10 minute time period? Seems like we're just wasting computing power that could be put to better use...
Unless the goal is to artificially limit the number of transactions that can take place in 10 minutes, to force people to eventually pay transaction fees.
But if that's the goal, what happens when adoption of bitcoins is 100x what it is at now? If there can still only be X # of transactions per block, and the difficulty adjusts itself to where only one block is computed every 10 minutes, how in the world will the system be able to handle an increase in usage? Transaction fees would have to increase to the point of fewer people wanting to use the system, which would be the opposite of what we all want, right?
The point is for a block to "equal" ~10 minutes of computing time at a power equal to the size of the network. If blocks were found more quickly, an attacker could generate more blocks quickly, but they would represent the same amount of computer power. Additionally, network propagation must be taken into account. I think 10 minutes was chosen in part because it's more time than is necessary for a message to propagate to the entire network. This helps prevent constant forking of the block chain.