Well, if DISPUTE is a fee-only transaction then miners have a VERY strong incentive to drop LAZY_ALICE and mine DISPUTE instead. I don't think we'd have trouble asking miners to support a code change that is something like:
I'm less concerned about miners not agreeing to it, than the complexity of making sure the arbitrary user has access to a miner that will do it for them. Maybe it could just be a rule that most miners will adopt, but something doesn't sit right with me about most miners accepting conflicting zero-conf tx just by including a bigger fee. Maybe zero-conf tx have very little value right now, but they'll have even less once
anyone can start canceling their outgoing [zero-conf] tx on a whim...
etotheipi, I've been thinking about your comment "I don't like the asymmetry" ...
LAZY_ALICE and DISPUTE are, I think, symmetric-- Alice holds DISPUTE in case Bob doesn't hold up his end of the bargain, Bob holds LAZY_ALICE in case she doesn't. I proposed that DISPUTE have an earlier lockTime than LAZY_ALICE, but maybe that's not necessary.
If Alice really doesn't trust Bob, then I think the whole scheme also works if Bob puts a "good faith security deposit" of bitcoins into the mix.
The asymmetry is that Alice is the only one with anything at risk. Maybe Bob is just bored and wants to laugh about people losing money, so he starts advertising stuff he doesn't actually have. When the person commits money, he delays a bit, then broadcasts LAZY_ALICE. Worst case (for Bob), he doesn't get anything and gets his laugh. Best-case, Alice can't figure out how to DISPUTE, and Bob actually gets some money! Sweet game!
I mean, people could do this now, though it would catch up to them eventually. With Bitcoin, it's a lot easier to hide your identity, so there's almost no risk for Bob to do this.
And so I'm coming around to your point about complexity and awkwardness of something like a Bob-deposit. I agree, the further we deviate from what people are already used to, the stranger and more-confusing it will be. At the very least, if we were to do something like risk-deposits, bitcoin.org could have an education section so users have some trusted place to go when they say "wait? I have to put in money as the seller? sounds like a scam!"
The complexity of all this (5 possible transactions, different states the escrow can be in, initial communication to initiate the escrow) makes me nervous. Even just figuring out how Alice and Bob's clients talk to each to setup the escrow isn't obvious.
Yeah... I don't think anything is going to be easy about it, besides minimize the number of exchanges between parties. Right now, I want to get anything that works, and let the knowledgeable users get their hands on it, play with it, break it, and figure out how it can be improved. As you said, it'll be easier to know what people like when we see if they use it.