alice says to bob that she would like for bob to pay charlie and she will pay bob. [/li][/list]
<snip>
So this is the idea in a nutshell right?
You're on the right track..
The escrow transactions have a conditional scriptPubKey.
The other path of execution corresponds to the finalization of delegate tx,
the other one to the retrieval. Both ways consume the input of the escrow.
So it's a bit more like, Alice sends a transaction A to Dave that says
If I see you pay to Bob this amount, these funds can be spent by you,
else they return to me. And Dave sends a transaction B to Alice that
says if I have sent the amount to Bob then I can get the funds in your
transaction.
The wallets also exchange info that allows them, and them only to
construct the claim to the coins in the escrow. The escrow transactions are
made in several steps, where each party adds info to them. When they're
ready they are relayed to the network.
To give credit to where it's due, I did not invent this procedure. It was
already present in a now defunct coin called New Universal Dollar (NUD), but in an
unfinished, unuseable form. I liked the approach, as it mirrors the privacy model
of TOR, where the anonymity does not derive so much from an algorithm, but
from the community of users themselves.