When to worry about 1-confirmation payments A customer sends me a payment for some digital good at my service, where delayed delivery is a deal-breaker, so I only wait for 1 confirmation by the network before releasing the links for the purchased digital item. 

The prices of these itemsrange from 0,0001 XBT to 50 XBT.

I do realize that I should probably configure my service to wait for more confirmations for more expensive items, and taken that the current reward for the miners for a new block is 25 XBT would it be safe to assume that no hacker will have any incentive from performing an attack the new block (that contains the transactions that paid for the digital items from my store) when the sum of value of the total items I have sold that have 0-confirmed payments is smaller than 25 XBT?

Likewise, would 2 confirmations (total miner reward: 2 x 25 XBT) be considered as a safe threshold for items that cost 50 XBT?
The thing to consider is, "what does the attacker have to give up in order to attack me?"  If the cost of that thing is less than the reward from a successful attack, then attacking is rational from a purely economic standpoint.  (Obviously, attacking someone comes with a non-economic moral cost.)

A miner who controls more than half of the network hash rate, and expects to maintain that control indefinitely, will lose nothing by attacking you.  This is the so-called 51-percent attack.

A miner who controls less than half of the hash rate will likely lose a chance at a certain amount of income, but how much depends on how close they get to half of the network hash rate.  I created the following image a few months ago to illustrate this:



If you look at the BlockChain.info mining pools chart, you see there are several which can make affordable attacks against both once-confirmed and six-confirmed transactions.  I suspect all that prevents them from doing so is their reputation in the community.

The others factor are:


How much can the attacker get from you in a single attack?  For example, can they order multiple 50 BTC items at the same time?
How easily can the attacker profit from an attack against you?  For example, how much can they resell those 50 BTC items for?  Most attackers aren't going to want 20 digital copies of Plan 9 From Outer Space, but they'd love 20 times 50 BTC worth of another crypto currency.


Unfortunately, this factors don't apply just to you: they apply to everyone the attacker can attack at the same time.  For example, if they can make 10 BTC by ripping you off and 190 BTC by ripping other people off, then an attack which costs less than 200 BTC is economically worth it.  This means you can't fully analyze your risk by looking just at your items.

Waiting for more confirmations will always increase your security substantially, and I expect there are few things is this world worth 50 BTC that people can't wait an hour or two for them to arrive.  (But hey, maybe I'm just not rich enough to be spending $20,000 USD on a regular basis.)

If this is all very depressing, I'm sorry.  Long term, the goal of the community will be to decrease miner centralization.  If no miner or mining pool controls more than about 1% of the network hash rate, attacks against once-confirmed transactions become both expensive and unpredictable, and attacks against six-confirmed transactions become practically impossible.

Footnote: Math

In the image above, the average cost of a successful attack here is

r * h * b / p(h,b) - r * (b-1)


Where r is the block reward (25 BTC), h is the percentage of network
hash rate, b is the number of blocks to create (confirmations plus
one), and p() is Satoshi's probability calculator from bitcoin.pdf page
7. r * h * b is the average value of work used per attempt; p(h,b) is
the probability of success per attempt; r * (b-1) is the block reward
the attacker would've received if they mined honestly.

For reference, the time (average number of blocks elapsed) an attack takes is simply

1 / p(h,b)