Maybe I'm new to this, but this doesn't make any sense.  I thought the point of the BIP was to collaborate to come up with a good solution.  That's exactly what I want to do before I implement it in my software.  After all, they are "Bitcoin Improvement Proposals."  It seems like EXACTLY what a BIP is for... just no one needs/should use it until it removes the "draft" marking.

As for the protocol on top of it, my BIP was not intended to address that.  It's only proposing how unsigned transactions can be serialized and users can collect addresses.  Whatever system you want to implement on top of it to exchange the data is up to the developer.  My only motivation is that if the user clicks "Save this proposal to file", that any client can use the resulting file, just the same way we serialize any other blockdata that has a consistent representation.

-Alan



On 11/12/2011 11:58 AM, Mike Hearn wrote:
Please don't create BIPs that don't have any actual implementation behind them. Design discussion is fine but the mailing list works for that.

If I were going to implement escrow transactions in BitCoinJ it would not matter what was written here. I'd just implement the design I thought made sense. If that design was later adopted by others it can be documented and agreed upon in a BIP, just like a regular RFC.

For what it's worth I would not attempt to send half-valid escrow transactions through the p2p network, not even using the overlay networks the protocol already supports. A correct escrow protocol requires the seller to challenge the dispute mediator with the public key to be sure they actually own it, and the simplest way to do that is to leverage the existing DNS/EV-SSL infrastructure with a "sign this nonce" HTTP request. 

BIPs should not be a place for people to come up with armchair designs, because a design with no corresponding implementation is likely to be full of problems. Let's revisit this once I can install some software on my laptop, my server, and a friends server, and do a 3-way mediated transaction between them.