(context post by xc)

4 messages BitcoinTalk xc, Red, bytemaster, Satoshi Nakamoto July 30, 2010 — August 4, 2010
xc July 30, 2010 Source · Permalink

That’s very clever. Satoshi has implied that there is great flexibility in the way transactions could work: topic 195 I think he may have had such ideas in mind.

In time, hopefully, numerous such arrangements can be used to fully develop the idea of ‘smart’ contracts (http://en.wikipedia.org/wiki/Smart_contracts). The current Bitcoin implementation already represents a working example of smart contracts: software encoded rules governing digital property. Rothbard in Ethics of Liberty talks about how powerful the simple penal bond was to medieval commerce (http://mises.org/rothbard/ethics/nineteen.asp). Given the right contract tools, the Bitcoin economy will be able to flourish without relying on the expense and ethical contradictions of state courts.

XC

Red July 30, 2010 Source · Permalink

To make that work in bitcoin you would need to be able to create a private key that both of you know, but a public key that each of you only know half of. In the crypto sense of half, where there are two secrets that can be combined together mathematically to make a third secret.

You would both transfer 5 BTC to the bitcoin address matching the public key. Then neither could retrieve the coins until one surrendered his half to the other.

A proxy comes to mine, but that is cheating. If you used a proxy to generate the private key and split it, they would know the private key and in that case you might as well trust them to hold the money without splitting the key.

I don’t know enough about how elliptic curve based keys are generated to propose an algorithm. But stranger things have happened in crypto than that. In some cases, you can do math with two unknown encrypted numbers and have and have the answer decrypt correctly.

Go figure.

bytemaster August 4, 2010 Source · Permalink

I think that Red’s idea is great if it can be properly designed.

The only problem with this whole procedure is that both parties are required to put up capital. The one buying a service and the one performing the service both must put up cash. Unfortunately the one providing the service is also putting up their service.

The software is designed to support things like this.  I was going to post details of the plans for Escrow, but since getting slashdotted I haven’t had time.