> If anyone doesn't meet the transaction contract (send the money or send the bitcoins), both lose the deposit.<p>Am I understanding this correctly that if a buyer tries to scam the seller in whatever way (i.e. will initially sign the transactions but ultimately doesn't pay) then the seller will lose his deposit? If that's the case then it won't work. I ran a P2P Bitcoin exchange and it's a pretty common thing to have "fake buyers" who place offers but ultimately don't fulfill them. With a third party you can resolve these kind of situations easily, it's much harder without them.
An exchange is not just a transfer, it is a transfer at a price. Sure, you can transfer 1 BTC to 100$, but how do you determine a price? If A wants to buy 1 BTC from B, what is the transaction? 1$,5$,1000$? You need to integrate with the fiat system and you need a limit order book. I would suggest Harris book on microstructure for an understanding of exchange markets (ISBN 0195144708).
Paper is not clear on how their scripts work because they don't show exact scripts <i>per output</i>.<p>Meanwhile, using bilateral deposits you can insure any sorts of contracts, not just currency exchange. In my scheme scripts are symmetrical:
<a href="http://blog.oleganza.com/post/58240549599/contracts-without-trust-or-third-parties" rel="nofollow">http://blog.oleganza.com/post/58240549599/contracts-without-...</a><p>The coolest part is when this sort of thing is used in autonomous programs that randomly connect to each other and establish contracts. In such case there's no place for extortion - there's no human to negotiate with. Based on this idea you can build never-seen before networking protocols. For instance, a micropayment network that propagates IOUs from peer to peer where each pair of peers is mutually insured to repay all accumulated debt when it reaches 50% of insured amount. It'll be like a global distributed clearing house with as little fees as humanly possible (and instant confirmations!).
Don't know the relation, but I've heard <a href="https://en.bitcoin.it/wiki/Ripple" rel="nofollow">https://en.bitcoin.it/wiki/Ripple</a> is catching on as a p2p bitcoin exchange.
On a similar line, you may also find this interesting:
<a href="http://sx.dyne.org/anontx/" rel="nofollow">http://sx.dyne.org/anontx/</a>
I guess the code should be available in the future here:<p><a href="https://github.com/pauvorg" rel="nofollow">https://github.com/pauvorg</a>
> 5. Homer sends to Lisa the transaction and Lisa adds some inputs to the transaction
> as it happens in this example:<p>At this point, has Lisa paid Homer yet? If not, what will force her to do so?