A distributed contract is a method of using Bitcoin to form agreements with people via the block chain. Contracts don't make anything possible that was previously impossible, but rather, they allow you to solve common problems in a way that minimizes trust. Minimal trust often makes things more convenient by allowing human judgements to be taken out of the loop, thus allowing complete automation.
Let's take one example, 2-of-3 dispute mediation. Elsewhere in this thread, some people are saying things like "if you don't trust your escrow agent with your money, why do you trust them to make a decision". These are very different kinds of trust. Typically online payment networks bundle them together. You trust your bank and credit card company with your money (more accurately, you don't trust them, but you know ultimately the costs of their failures will be socialised), and then because they are always the middleman you end up trusting them to do dispute mediation as well.
The problem is, they often aren't very good at it. Companies like PayPal tend to see dispute mediation as a cost of business rather than their core competency. Innovation in this space is rare. PayPal's policies, for example, make selling something to someone else who is standing in front of you impossible - you must be able to prove you mailed the item and if you can't, you automatically lose the dispute and the payment will be reversed. This policy is so deeply unintuitive that there's a whole industry of scammers out there who steal things from people by exploiting it. There isn't much scope here for doing anything better: payment networks tend to have a small set of one-size-fits-all policies and you can't go to the market to find a new one.
Now consider the Bitcoin approach. For many transfers there is no possibility of dispute mediation and thus none of the overheads associated with it. This often makes sense: either you know there will be no dispute (e.g. a gift from a family member) or you have other ways to resolve disputes (e.g. salary payments). When you want dispute mediation however you can agree on a mutually satisfactory mediator.
This mediator has very limited power. Contrary to what other people here seem to think, this does matter. For example, the mediator cannot steal the money, thus they make a poor target for hackers. If the mediator is a company there is very little temptation for bad insiders. They are not accepting deposits so all the complicated regulations that are triggered by that act don't apply. There is no possibility of them lending the money in escrow out and going fractional reserve.
Really all they can do is resolve a dispute badly, but there's no profit in that. So by preventing the mediator from accessing the money, all kinds of possible failure modes are avoided. In turn this means you can access a far wider set of possible mediators. For example, if you are trying to buy an antique violin over the internet PayPal's mediation policies are less than ideal:
With Bitcoin you could ask an actual expert in antique violins to act as the mediator. They do not need to be a computer security expert, they don't need to worry about becoming a target for physical theft or extortion, they don't need to worry they might accidentally lose the keys and destroy the money. There's tons of things they don't need to worry about. They could (if it existed) just use a friendly desktop app to pick a winner in case of a dispute. That means they can spend all their time inventing precise and well designed ways to resolve any dispute, fully leveraging their domain knowledge.
That's just one example of how redistributing and carefully controlling trust relationships can result in better outcomes.
>Really all they can do is resolve a dispute badly, but there's no profit in that.
Except there is profit in that if one side has paid them to resolve the dispute badly. Which is exactly back to where you are in the current system so you haven't actually solved or improved on anything you've just changed it.
Before entering the contract, both sides ideally will agree on a mediator of disputes. There could be a marketplace for mediators. If a seller of an item does not approve the mediator the scammer buyer wants, then the transaction never takes place.
Systems that enforce lock-in of mediators will be pushed out of the market when more open systems come online.
Also, both sides put up some collateral, which both forfeit in the case of an unresolved dispute. A scammer will still pay some value into the multi-party transaction, so operations will not last long if many disputes go unresolved.
That system already exists with trusted 3rd parties and escrow systems though. You aren't improving the existing systems at all though because you still require just as much trust all you're doing is changing the currency used.
All the bitcoin escrow solutions are just a variation on "I want to use this 3rd party to ensure trust but I don't trust them enough to actually do so". It doesn't work like that though so you end up with "I want to use this 3rd party to ensure trust but I don't trust them enough to actually do so but I will end up having to".
>Also, both sides put up some collateral, which both forfeit in the case of an unresolved dispute. A scammer will still pay some value into the multi-party transaction, so operations will not last long if many disputes go unresolved.
So if I am scammed I not only lose out on the scam but I am further punished by the protocol to lose this collateral as well?
> So if I am scammed I not only lose out on the scam but I am further punished by the protocol to lose this collateral as well?
Well, that's the Bitcoin philosophy in a nutshell: they solve the problem of being screwed by third-parties by arranging the system so that when you inevitably do get screwed, you will have to sagely acknowledge that it was your own fault the whole time.
The math is perfect after all, which means the system is perfect, so by reductio ad absurdum if you get a crazy result (e.g. being screwed by a mediator) it must be due to a crazy axiom on your part (e.g. your decision to use a shitty mediator).
Now, doesn't that make you feel better? Welcome to the Jungle; you lost your money fair and square, and you have only yourself to blame.
Except there is profit in that if one side has paid them to resolve the dispute badly.
Yes, you still need some trust that the mediator is not corrupt and actually knows how to resolve disputes. You obviously can't pick someone completely at random. But, finding someone who is not corrupt and has specific domain knowledge is still easier than finding someone who is not corrupt, has specific domain knowledge AND is able to safely handle your money in escrow, which is what you'd require otherwise.
Trust isn't a black and white thing. It's a very complex and subtle topic. People can be trusted in some ways and not others.
Still, let's take a look at how we can address your concern in ways that don't involve funny attempts to arrange incentives via coin deposits and things (I was never keen on such protocols myself).
The simplest and most obvious way to avoid a corrupt mediator being paid off is to have a mediator who agrees to enforce some (mostly) predictable rules, instead of it being purely a matter of opinion. For example a mediator who offers to mediate mail order sales could publish the evidence they will use to resolve the dispute, and the act of making a payment involving them would involve effectively signing a contract with them (obviously you try and set up the software and contracts such that it's pretty standardised and all done with one or two mouse clicks). Now the mediator has to produce not just a decision but also the rationale for how they arrived at that decision. If they can't do that, the mediator will quickly gain a reputation as being unreliable and to be avoided.
This is the same approach as used by the courts. People take disputes in front of judges all the time, in the expectation that the judge is not corrupt. One reason they can reasonably expect this is that judges aren't supposed to just pull an opinion out of their ass, they are supposed to show how they are applying and interpreting the law with references to other cases where there is ambiguity, or at least an understandable rationale for the decision when it genuinely strays into new territory.
Another way to reduce the trust needed in mediators is to use machines instead of people. This is the "oracle" concept described in the wiki page. The idea here is that a machine uses trusted computing to perform a remote attestation of the software it's running. For example using Intel TXT / SGX, or AMD SKINIT. This lets you know how a dispute will be mediated with the precision of computer code. It can be a good approach if a contract or dispute is precise and measurable enough to be decided by programmatically, although again, these techniques are quite advanced and nobody is using them today.
> If they can't do that, the mediator will quickly gain a reputation as being unreliable and to be avoided.
I'm not saying you are a libertarian, but this is an argument that libertarians use a lot. I don't buy it. Look at the companies, organizations, and people out there today who deserve bad reputations, but don't have them. Ask most random buyers what they think of PayPal, even, and they won't realize there is anything wrong with it. Hell, a surprising chunk of sellers don't even have a problem with PayPal.
>is able to safely handle your money in escrow, which is what you'd require otherwise
Except you're not since no one tries to be their own bank they have their bank to safely handle the money for them. As an escrow agent I have Alice send money to me and I choose to send it to Bob or back to Alice but at no point in that am I typically holding actual cash. They are funds in my bank account which I trust to manage funds.
>For example a mediator who offers to mediate mail order sales could publish the evidence they will use to resolve the dispute, and the act of making a payment involving them would involve effectively signing a contract with them (obviously you try and set up the software and contracts such that it's pretty standardised and all done with one or two mouse clicks). Now the mediator has to produce not just a decision but also the rationale for how they arrived at that decision. If they can't do that, the mediator will quickly gain a reputation as being unreliable and to be avoided.
This doesn't remove the problem of a malicious 3rd party though. I could say "I arrived at the decision by inspecting the box from Alice and seeing the product before sending it to Bob". I have my process, I inspect the box and make sure the products in it match the order. But I am still capable of lying to you. Bitcoin still hasn't solved that problem and hasn't actually improved on the existing trust protocol.
>these techniques are quite advanced and nobody is using them today.
There is also an extremely limited range of contracts which could be solved by this type of system and none of them that I can think of that people do today.
Companies like PayPal tend to see dispute mediation as a cost of business rather than their core competency. Innovation in this space is rare.
PayPal started as a security company, back when they were above the bike shop on University Avenue in Palo Alto. Their original business was selling crypto tokens. They wanted to store money on PDAs.
Then they discovered that business model was going nowhere, and went to a more centralized system for sending money. The big problem remained security. Most of the effort goes into preventing theft and fraud, not merely sending the money.
Unfortunately 2 years later, we're not much further in those developments. Bitcoin has severe limitations, also because it has now a legacy to support. New projects can start with a fresh design. So far we've only seen very few new approaches. While many Bitcoiners realize the imperfections of the system, very few actually think there could be something better.
https://en.bitcoin.it/wiki/Contracts
Quoting from the top:
A distributed contract is a method of using Bitcoin to form agreements with people via the block chain. Contracts don't make anything possible that was previously impossible, but rather, they allow you to solve common problems in a way that minimizes trust. Minimal trust often makes things more convenient by allowing human judgements to be taken out of the loop, thus allowing complete automation.
Let's take one example, 2-of-3 dispute mediation. Elsewhere in this thread, some people are saying things like "if you don't trust your escrow agent with your money, why do you trust them to make a decision". These are very different kinds of trust. Typically online payment networks bundle them together. You trust your bank and credit card company with your money (more accurately, you don't trust them, but you know ultimately the costs of their failures will be socialised), and then because they are always the middleman you end up trusting them to do dispute mediation as well.
The problem is, they often aren't very good at it. Companies like PayPal tend to see dispute mediation as a cost of business rather than their core competency. Innovation in this space is rare. PayPal's policies, for example, make selling something to someone else who is standing in front of you impossible - you must be able to prove you mailed the item and if you can't, you automatically lose the dispute and the payment will be reversed. This policy is so deeply unintuitive that there's a whole industry of scammers out there who steal things from people by exploiting it. There isn't much scope here for doing anything better: payment networks tend to have a small set of one-size-fits-all policies and you can't go to the market to find a new one.
Now consider the Bitcoin approach. For many transfers there is no possibility of dispute mediation and thus none of the overheads associated with it. This often makes sense: either you know there will be no dispute (e.g. a gift from a family member) or you have other ways to resolve disputes (e.g. salary payments). When you want dispute mediation however you can agree on a mutually satisfactory mediator.
This mediator has very limited power. Contrary to what other people here seem to think, this does matter. For example, the mediator cannot steal the money, thus they make a poor target for hackers. If the mediator is a company there is very little temptation for bad insiders. They are not accepting deposits so all the complicated regulations that are triggered by that act don't apply. There is no possibility of them lending the money in escrow out and going fractional reserve.
Really all they can do is resolve a dispute badly, but there's no profit in that. So by preventing the mediator from accessing the money, all kinds of possible failure modes are avoided. In turn this means you can access a far wider set of possible mediators. For example, if you are trying to buy an antique violin over the internet PayPal's mediation policies are less than ideal:
http://www.theguardian.com/world/2012/jan/04/paypal-buyer-de...
With Bitcoin you could ask an actual expert in antique violins to act as the mediator. They do not need to be a computer security expert, they don't need to worry about becoming a target for physical theft or extortion, they don't need to worry they might accidentally lose the keys and destroy the money. There's tons of things they don't need to worry about. They could (if it existed) just use a friendly desktop app to pick a winner in case of a dispute. That means they can spend all their time inventing precise and well designed ways to resolve any dispute, fully leveraging their domain knowledge.
That's just one example of how redistributing and carefully controlling trust relationships can result in better outcomes.