> The best solution IMO is to use a risk analyzer to determine the number of needed confirmations
As I understand it, you can still feel pretty safe with 0 confirmations if you're monitoring the bitcoin network for double-spend attempts over the average network propagation time. If you don't see any double-spend attempts anywhere on the net by the time most of the net has seen your transaction, you're probably good. There are a lot of hidden pitfalls in bitcoin security (such as - the above isn't guaranteed, if miners change their mind to be greedy and pick the transaction with the highest fee instead of the first one, that method breaks) so I'm not sure if it's bulletproof though.
As I understand it, you can still feel pretty safe with 0 confirmations if you're monitoring the bitcoin network for double-spend attempts over the average network propagation time. If you don't see any double-spend attempts anywhere on the net by the time most of the net has seen your transaction, you're probably good. There are a lot of hidden pitfalls in bitcoin security (such as - the above isn't guaranteed, if miners change their mind to be greedy and pick the transaction with the highest fee instead of the first one, that method breaks) so I'm not sure if it's bulletproof though.