7 ms·
Can someone who has a better understanding of BTC than me explain something? How do the escrow-like instruments and other contractual instruments built on top
by wdewind 12y ago
Can someone who has a better understanding of BTC than me explain something? How do the escrow-like instruments and other contractual instruments built on top of the block chain work? How are they better than existing contractual instruments? How do you guarantee that something that is contractually agreed upon for money (ie: I will transfer you a file, upon me sending the file your funds will be released to me) actually happens? Or am I fundamentally missing something?
Edit: thanks all for replies, learned a lot.
- chatmasta 12y agoThe innovative technology of the blockchain is decentralized, provable consensus. As long as all nodes control less than 51% of mining power, the content of the blockchain at any given time represents the consensus of all nodes on the network. If a multi-party transaction exists on the blockchain, then by definition of it existing, all relevant parties have verified its authenticity. Bitcoin exposes "scripting" of the blockchain to enable decentralized consensus for arbitrary transaction types. With scripting, developers can leverage the blockchain to store a decentralized consensus of their custom transaction types. Often times this is how escrow-like services are implemented. It's also possible to modify the proof of work scheme itself (as we did with torcoin, albeit in theory only thusfar.) The extensible part of Bitcoin is the blockchain, which is useful because it's a decentralized, publicly verifiable, mathematically provable consensus.
- wdewind 12y agoThank you. From your sibling comment below: > Bitcoin doesn't actually solve the problem of needing trust it does solve the problem of needing to trust your escrow agent with your money but then again if you don't trust your escrow agent with your money why do you trust them to make a fair decision. So I'm still confused here. What new kind of contracts could I build using the blockchain? What existing contracts are made easier because of the blockchain?
- deleted 12y ago[deleted]
- bdamm 12y agoHere's one scenario. Two people want to exchange funds for service or goods. As usual, the seller wants to know that the funds will be available when the goods are delivered. Both people hire an escrow representative (similar to how houses are sold today) and all four create a transaction that binds the buyer's money into a contract; if any two of the remaining parties either enter complete or exit the transaction, then the money is either disbursed to the seller and service providers, or the money is returned to the buyer. This way, the buyer's money is bound into the contract and the seller can determine this to be the case before releasing their product or service. The escrow representatives are trust companies and can see for themselves whether the transaction is progressing as promised or not due to their connections with the buyer/seller and with each other.
- sanswork 12y agoWhat is to stop me from hiring a malicious escrow agent then and having me + them sign the transaction? Or rather what part of this process stops that from happening?
- bdamm 12y agoBecause escrow companies know each other, and both buyer and seller can have an escrow company they trust in the contract. If the escrow company doesn't trust the other escrow company, they can choose to not enter the contract.
- sanswork 12y agoThen where is the improvement over the existing system you're still having to trust both Escrow companies and they still have to trust each other.
- 12y ago
- sanswork 12y ago>I will transfer you a file, upon me sending the file your funds will be released to me In this case you would still depend on either a 3rd party escrow person to make the ultimate decision or trust between the two parties. Bitcoin doesn't actually solve the problem of needing trust it does solve the problem of needing to trust your escrow agent with your money but then again if you don't trust your escrow agent with your money why do you trust them to make a fair decision.
- wdewind 12y agoThank you, I asked your sibling comment this followup would be interested in your response as well: So I'm still confused here. What new kind of contracts could I build using the blockchain? What existing contracts are made easier because of the blockchain?
- jasonisalive 12y agoAn example from my understanding: I want to buy something off an online merchant. I send them the payment, but I make it a multisig payment that needs to be authorised by their signature plus the signature of the delivery company. I expect the delivery company only to authorise the payment with their signature once they have confirmed successful delivery. This way I can authorise payment without entrusting the funds to a third party. If the delivery company doesn't authorise the payment, the money is still immediately available to me.
- sanswork 12y agoUnless you have the delivery company inspect every package this doesn't actually solve the "Sent a brick in a box" problem.
- bdamm 12y agoNo, but it does help the more common "whoops, we didn't actually ship your order. Are you sure you actually bought something from us? Prove that you did / our systems are perfect." Sure, it'll get resolved eventually...
- daveytea 12y agoFor 'm of n transactions', you can choose to have multiple signatures required to execute a 'contract'. This can be 2 out of 3 signatures, or 10 out of 100 signatures, what ever you decide to set. This is as good (and better) than current escrow services as it is decentralised, between the contracting parties only, and can have very fine grained conditional statements or scenarios before a 'contract' is executed. In the example you gave, the escrow could consists of you, me, and a computer program. You sign to say you've sent it, the computer program I used to open it signs it, and I also sign it when i view it. So in this scenario, you could get paid when 2/3 parties have signed, or have a staggered payment structure of 50% when 2 have signed, then the other 50% when the remaining person has signed. This would be escrow, but escrow based on the quality of a digital good. Hope that helps :)
- apo 12y agoTransactions aren't simply signed. Each transaction contains half of a program written in a stack-based language called Script: https://en.bitcoin.it/wiki/Script https://en.bitcoin.it/wiki/Script One of the things that didn't make sense to me initially was how the Bitcoin network could "know" that a condition had been fulfilled. For example, paying a dowry requires a marriage to have taken place. Likewise, an escrow contract might require proof of delivery of an item. How could a contract know that the condition had been met? Oracles offer a solution. The Orisi project has created a framework for setting up and using Oracles for smart contracts: https://github.com/orisi/orisi https://github.com/orisi/orisi
- brighton36 12y agoThere's quite a bit of work being done in this area, particularly with respect to the Counterparty.io project. In the case of Counterparty, monetary value/tokens are literally stored 'in decentralized escrow' on the bitcoin network. A spender merely attests to a spend by way of their signature on the transaction, subject to release by way of a small bit of code (Serpent is the language, it's very python like). At this time the code executes, miners release the funds. A miner can't 'lie' about the release, as all other nodes validate the work of the miner. Lies are not syndicated around the network, as the numbers simply would not work out upon transmission. I've paraphrased a bit, but that's the gist. If you decide to look down this wormhole, you'll be shocked at how sophisticated these systems are getting.
- mike_hearn 12y agoA long time ago I wrote the following wiki page, following a variety of conversations with Satoshi on the topic: https://en.bitcoin.it/wiki/Contracts 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-destroys-violin 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.
- jc123 12y agoLate commenting here, but smart contracts haven't been mentioned and they are better than existing contracts because they enforce themselves. Here's an article that explains well and also links to Szabo's original. http://bitcoinmagazine.com/10468/daos-scary-part-1-self-enforcing-contracts-factum-law/ http://bitcoinmagazine.com/10468/daos-scary-part-1-self-enfo...