Why was the target block time chosen to be 10 minutes? According to the wiki, 10 minutes was chosen as a 'tradeoff'.

Why ten minutes specifically? It is a tradeoff chosen by Satoshi between propagation time of new blocks in large networks and the amount of work wasted due to chain splits.

However in the original Satoshi paper, 10 minutes is merely assumed for the purposes of calculating disk space requirements.

A block header with no transactions would be about 80 bytes. If we suppose blocks are
generated every 10 minutes, 80 bytes * 6 * 24 * 365 = 4.2MB per year.

Is there a discussion elsewhere that explains how the 10 minute block time was arrived at?
10 minute blocks is simply a compromise.

Shorter block time:


PRO - Faster 1 confirmation time (to protect from 0-confirm double spend)
PRO - Less payout variance for miners (less reliance on large pools)
CON - Requires increased bandwidth (inter node communication)
CON - More forks, longer forks, and longer re-org time
CON - A greater portion of the raw hashpower is wasted, resulting in lower effective security.


With a longer block interval target of longer than 10 minutes, the pros and cons would be reversed.

The major benefit of a shorter block time is the reduced 1 confirm time.  While a quicker block's 1 confirm transaction has less strength than a longer block's 1 confirm transaction it is still better than any block's 0 confirm transaction.  

The speed of 1st confirm may seem to be a huge benefit but in reality for most low value and time sensitive transactions such as the buying a cup of coffee, paying for a taxi, or using a vending machine, the risk of double spends is very low. Keep in mind that accepting credit cards is not without risk however merchants have long accepted they will face some losses however if those losses are minimal then it can just be seen as a cost of doing business.  So many merchants could simply accept 0-confirm transactions without exposing themselves to more risk than they do from credit card fraud.

The other factor that diminishes the real world potential of shorter target block intervals is that for many merchants, even  "faster" confirmation times still isn't fast enough. For a Point of Sale transaction, an average confirmation time of 2 minutes is still significantly longer than what most merchants would consider to be workable. The average credit card transaction takes about 20 seconds (including delays by customer).  The entire industry has spent significant resources to shave even a few seconds off.  Changes like enabling customer to swipe card, swiping before all items have been rung up, and not requiring signatures on low value are all about shaving a couple seconds off an already quick process and the cost of those changes is considered acceptable in order to slightly improve the efficiency of a checkout.

The other factor is that reducing the target interval only reduces the average confirmation time but half of them will be longer and the tail can be very long. Due to the random nature of blocks solutions about 15% of blocks will take longer than 2x the target, 3% longer than 3x the target and >7.5 minutes and about 0.5% will take longer than 4x the target.  That uncertainty makes it difficult for a time sensitive business to as a matter of policy wait for confirmations.  Having most transactions confirm in 30 seconds but some take minutes is going to lead to customer frustration at the point of sale.

If the BTC economy grows large enough we could see expanded use of "green addresses" to fill the need for instant acceptance without confirmations.  Such services could be provided by major corporations, and backed by insurance against fraud (for a small per transaction fee).  This would be a more viable 0-confirm solution than a simple reduction of the block interval.

That being said the 10 minute target was probably overly conservative and there are some advantages to a shorter block time.