How is anyone supposed to distinguish the first 10 BTC from the last 10 BTC when the underlying satoshis might not even be the same? e.g. I might transfer those 10 BTC to an online store (web wallet, other trading, whatever) but then transfer them back, except I'll likely get a different 10 BTC. Seems like all you can determine is that you once bought $x and once sold $y. Since you can also exchange btc for goods, or mine it (which I believe even the IRS has different rules for), you can't say with certainty whether it must be $y <= $x or $y >= $x. So when you sell 5 BTC, it's either mining income (or other income) or a capital gain, but it seems like there's nothing stopping someone from always taking the least expensive taxes first.