I don't understand the Example 1 here:
https://en.bitcoin.it/wiki/ContractsWhat would prevent a spammer from getting the money back? Since if the site says he will not allow a early closure of contract, still the contract will expire after (in the example) 6 months of time and the spammer/abusive user will get the coins back...
Basically, we want that the website cannot earn from the contract (if not the user agree to it), and the user will lose from abusiveness, and that theres some automatic "failsafe" in case the website shut down.
** -- Idea Exchange -- **
So basically, for this scheme to work, the website would need some sort of "kill switch" that will spend the coins to a adress which can be proven it does not exist any private key to (or a verifiable charity), which does not require the user's signature. Eg, the contract need to be able to end up in four different states:
1: User & website agree to: Coins coming back to user.
2: User & website agree to: Contract is renewed.
3: Only website needs to agree: Coins are "killed" (or pushed to charity).
4: Contract expires, none need to agree: Coins coming back to user.
(the fifth state - coins go to website - is not useful in this case and is left out).
So lets take some examples:
1: User wants to end the account early. Then the contract is ended early by both the user & website and coins returned.
2: User wants to continue his account. Then the contract is renewed.
3: User is abusive. The website pushes the "kill" button causing the coins to be unspendable. Theres no incentive for the website to push the "kill" button if the user is not abusive, since the website will not earn anything from pushing the "kill" button.
4: The website shut down. Since the "kill" button was not pressed, the contract will automatically expire and user gets his coins back.
But how could such a "kill switch" be implemented in bitcoin terms? The kill switch must be pushable without the user agreeing to it, and both the website and user need to be sure the adress in question ends up nowhere (or a verifiable charity).