As many others i am curious in addressing distributed escrow problem (not just for bitcoin). As it stands now there are no decentralised escrows. All escrow services are based on trust in the escrow. Obviously, this has certain limitations to the escrow reputation / other risks.
The solution often proposed are the contracts when transaction should be signed by many participants. Consequently, they will be required to find mutually beneficial solution.
However, there are few problems with contracts (btw, they are not delivered for bitcoin yet, right?): - Pure multi signature functionality will not work as an escrow (one of the parties can simply block the transaction). So, there is reliance on the third party - This will work only within bitcoin. So, in the example of exchanging bitcoin for other digital asset (e. g. stock) automated / escrow that does not require trust among participants will work only for bitcoin.
E. g.: Two partipants - Party A and Party B; Party A wants to buy a stock issued in electronic form (within one of the distributed exchanges) for bitcoins. Accordingly, Party B wants to sell. They do not trust each other and there are no escrow to trust.
In theory we can argue that solution can be something like this:
Party A should transfer bitcoin to the escrow wallet. Otherwise Party A can cancel the coins after pledging bitcoin for stock. Party A should receive coins back assuming that other party have not transferred stock to the escrow (assuming stock represented as crypto asset)
Party B conducts similar actions to Party A
Certain system X (ideally distributed - as there are no trust across participants) - can initiate transaction in bitcoin from escrow wallet and at the same time initiate transaction for stock. In theory this means that system X should have Private key for public address.
Are there any solutions to come up with private bitcoin key generation on distributed network? At the moment all private keys are generated on the secured PC. Consequently, are there any options on private key generation in hostile environment. E. g. Distributed private key across other participants (http://en.wikipedia.org/wiki/Shamir's_Secret_Sharing)
Maybe someone sees other solution to this problems (outside contracts space for bitcoin)?