Collateral Transactions

I thought up a new type of transaction to help protect consumers. I call it a collateral transaction. Well it is really two types of transactions: "Send Collateral Transactions" and "Receive Collateral Transactions."

The send type takes a few extra parameters:

An ammount of collateral required
A hash of a secret used to reverse the transaction if the required collateral is posted
A hash of a secret used to reverse the transaction if the collateral is posted
A hash of secret used to send the transaction

A receive type takes only three extra parameters:

An amount of payment quired
A hash of a secret used to reverse the transaction if the required collateral is posted
A hash of a secret used to reverse the transaction if the collateral is posted

When one of these transactions is made, the funds are taken out of the account and are locked but they don't go anywhere. If one party doesn't post their collateral/payment the other party can broadcast their first secret to reverse their transaction. If, however, the collateral is posted, this is not their decision alone. Instead, both users' second secrets are required and it reverses both transactions when they are broadcast (not just one). The sender also has a third secret which, when posted, sends his payment to the recipient and returns the recipient's collateral.

If one of them tries to cheat the other, they are both at a loss because they can't get their funds back as they are locked and require a secret held by the other user to return.