The number of confirmations is somewhat misleading by many cryptocurrency enthusiasts. Many people think any transaction with 1 or 6 blocks deep buried in the block chain is trustworthy, however it is not that naive. Trust is always about the cost of betray. Let the block reward be 50 and the average block fee 1.9977 coin, suppose a pizza is priced at USD 10 and a coin is at an exchange rate USD 0.001 per coin so that the pizza is priced at 10000 coins. Even the legit transaction is of 6 confirmation deep, the buyer of the pizza could still defraud the merchant by the following steps.
All miners will roll back the 6 blocks because they all want the 5000 more coins. After all, there are only 311.9862 coins earned in the last 60 minutes. While miners replace the legit transaction and remine everything else, they could earn 5000 more coins. The buyer gets a pizza at the cost of 5.01 USD while he should get a pizza at the cost of 10.01 USD.
Then to have an incentive to replace the legit transaction with the defraud one, the miner shall have on the probability expectation:
But a rational defrauder shall set the g less than S, therefore it suffices to conduct a defraud-free transaction by a longer time t before the service delivery:
The lower the S, the shorter the t, confident even without one confirmation when t is less than T. In the above pizza case, the merchant shall wait for 115390 seconds, about 1 and 1/3 days or 192 blocks, before the pizza delivery. As long as nodes claim no double spending for this legit transaction during the timeframe, merchants needn't worry about which chain is the would-be correct chain in case there are temporary competing blocks. Note that this conclusion has nothing to do with block size because the average block fee is irrelevant to block size. In the ultimate case where block reward is zero, contrary to those engineers who claim a utility token coin capable of fast confirmation with high confidence, the t is even irrelevant to the block interval time or the choice of cryptocurrency because of the mentioned conclusion . Only real-term price of the goods and the time preference matter; simplify then we have:
This shall be applicable to typical fiats transaction as well.
The above reasoning assumes the miners offer the service of answering the inquiry about the already-mining time for a specific transaction or simply have the built-in system to drop the double-spent transaction based on the additional fee. But so far, the mining industry is not matured enough; currently (2016~) mining is typically a gold-rush industry and they don't realize they are in fact the trust production industry. So, what to do?
Define the timing with respect to the time spot of the last block which is also the time spot the latest mining work starts.
Dependent on T, the first transaction is parking or is committed mining work with. Should t<T then miners switch the transaction without wasting the mining task because the mining starts later timing T and the first transaction is still parking in the memory pool. The mining time and parking time random variables that the double-spent transaction shall pay are:
The sum of the two random variables is always t. The average total cost is which shall be equal to ft.
For example, should the block time random variable be 10 minutes sharp and the miner sets and without honoring the ft, then the average cost is . Typically, the average cost will be dependent on the value of r but for exponential distribution with average 10 minutes, the conditional random variable T is irrelevant to r and the above calculation is then
Again, as an example without honerring the ft, this table below may be for the merchants about the intentional delay time for deliver service or for the miners about the additional fee to accept the double-spent transaction:
Mining business owners can estimate their operation cost per minute f, typically the block revenue for 10 minutes, and set and to be this number to have simpler pricing and business management. In fact, people outside the mining business may not distinguish mining and parking unless being blockchain geeks and miners themselves may move the transaction multiple times between the two tasks due to transactions selection. That is, if the second double-spent transaction is received after t minutes of the first transaction, regardless to complex details, the additional fee shall be at least ft thanks to the simple fact that time length of t is wasted for whatever reasons. The real mechanism to prevent double-spent is always economics rather than ridiculous mirage developed by programmers.