One of the main issues with bitcoin transactions seems to be that it is impossible to do a chargeback, which opens the door for scammers. Obviously a complete chargeback solution would not work either, as it would just reverse the problem.
But what about a system where bitcoins can be sent irreversibly, without the receipient being credited until the sender confirms the transaction?
The coins would be lost to the sender but wouldn´t be credited to the receipient until the sender confirms.
A system of this kind, requiring the sender to send&confirm seperately(without ever being able to regain the funds sent), would make it unattractive for either sender or receipient to engage in a scam, as they would be facing a loss or at best gaining nothing.
I am not qualified to suggest a way of implementing such a system, but the workload for the overall system would not seem much bigger than that of carrying ´lost´ coins.
It might even provide an opportunity to compensate miners in an alternative way: Why not charge: ´2 x basic fee + basic fee x blocks to live x a factor` for such an escrow transaction, with any unresolved transaction(after the chosen ´blocks to live´ value has been exceeded) credited to the miner of the subsequent block(possibly with some smoothing out)?
I believe such a change to the client/system would really facilitate commerce and exchanges.
Let me try to give an example:
I decide to buy 100 BTC@20$(=2000$) from X. A safe way of trading would be:
1. X would ask me to transfer 10%(=10BTC[escrowed]) to his account as a sign of good will.
2. X transfers 110 BTC(escrowed) to my address.
3. I send my 2k USD to X
4. X confirms his prior transaction
5. I confirm my prior transaction.
The point being: Even for larger amounts, there is no incentive to cheat/scam, along any step of such a chain, the payoff for cheating for either side would be 0 or negative. With any ´leftovers´ going back into the system.
I would really love to see something of this kind implemented in the Bitcoin client.