8 ms·
Oracles, or why smart contracts still haven’t changed the world
- wslh 8y agoOracles break decentralization. I can only imagine a relative secure oracle, for example a weather sensor, as a set of devices/robots left on a remote place and hiding from people/animals while signing data transactions. A lot of thinking should be added to this to remain undetected and sending signals from a remote place. This is the relative equivalent of having the most secure computer in the world in a closed placed and unconnected. Beyond this, before smart contracts change the world we need to cryptocurrencies be useful and change the world. That is the simplest smart contract case.
- ouid 8y ago>The success of recent years in the machine learning field will likely allow us to determine outcomes of past events from indirect sources with acceptable accuracy. probably not
- platz 8y agoThe neural network told us to burn all the money, so we did.
- joosters 8y agoEven if there were perfect, reliable oracles, ‘smart’ contracts still are terrible. When something unexpected happens, the contract is guaranteed to screw up, with no chance for human compromise.
- tyre 8y agoI mean, that’s just kind of argument against…computers? Code is itself a compromise. Do this thing for me, and in exchange for not having to do the thing you lose flexibility.
- foepys 8y agoIf any (No)SQL database contains a mistake, you can either fix the mistake or change the program working with the data to either ignore or override the mistake. Smart contracts are running on an immutable database, the blockchain. If anything is landing there because of an error in the contract, you will never get the mistake out. It's engraved forever. Updating a smart contract should never happen because once you can update it, you can change its contents and its rules in a way that might benefit only one side. Even if you create rules to update the contract, finding 100% consensus (everything below 100% is unacceptable if you are explicitly using smart contracts to disallow cheating) to update the contract takes time in which more mistakes might happen and make the whole contract unusable.
- TeMPOraL 8y ago> I mean, that’s just kind of argument against…computers? No, it's an argument from programmers' common sense. Smart contracts are code, and we all know that any program more complex than hello world will contain bugs, due to both coding mistakes and errors in modeling the relevant aspects of reality. Given that, binding people with (immutable!) code seems like an extraordinarily bad idea.
- derefr 8y agoI've never understood smart contracts as binding people to anything in particular. People can cash out of the cryptosystem and go do whatever. Smart contracts are binding against machine agents, who have no alternative economy to participate in.
- wrs 8y agoContracts (smart or not) that aren’t ultimately binding some people to some behavior are pointless. Computers do not (yet) have their own independent desires and economy.
- michaelscott 8y agoIf it's exclusive to machine agents there are plenty of consensus-oriented protocols already in existence that could accomplish the same goal without relying on a blockchain. Machine agents are already bound by the code that executes and models them, all you'd be doing is adding a layer of consensus-driven redundancy for security reasons (both technical and social).
- jimmaswell 8y agoA smart contract can easily have a "both/two thirds(if a 3rd party is used as an unbiased arbiter) parties agree something went wrong, cancel the contract" function.
- HarryHirsch 8y agoThat's the biggest sticking-point, one contract party not performing. What's next? Are you talking contractual penalty, or can you compel the other party to perform? In the Anglo-American legal sphere you usually settle for compensation, it's the only means at your disposal, whereas in continental Europe (Code civil or BGB) there are legal ways to compel performance as written. Price of strawberries went up, but someone bought strawberry futures cheaply? An American will settle for money, but a Frenchman or German will show up at the warehouse with the bailiff and seize the goods. You'll find people who hate dealing with Americans. They squirm and won't perform if pressed, it's like nailing pudding to the wall! You have commitments yourself and don't want to scramble for strawberries, otherwise the bailiff will show up at your own offices. You can say that Bitcoin is Anglo-American because they want Bitcoin to be independent of the real world, no law, just "smart contracts". No wonder that some people shake their heads.
- vageli 8y ago> In the Anglo-American legal sphere you usually settle for compensation, it's the only means at your disposal, whereas in continental Europe (Code civil or BGB) there are legal ways to compel performance as written. Price of strawberries went up, but someone bought strawberry futures cheaply? An American will settle for money, but a Frenchman or German will show up at the warehouse with the bailiff and seize the goods. Specific performance [0] does in fact exist in the U.S, so I'm not sure what you mean. [0]: https://en.m.wikipedia.org/wiki/Specific_performance https://en.m.wikipedia.org/wiki/Specific_performance
- HarryHirsch 8y agoFrom the Wikipedia article that you quoted: It is typically available in the sale of land, but otherwise is not generally available if damages are an appropriate alternative. Specific performance is almost never available for contracts of personal service It's a problem, I can tell you. If you've been brought up in a world where people usually perform and you encounter an American who underperforms and then wants to haggle you are going to be angry. Right now I'm involved in a dispute with my former landlord who rented out substandard housing, and it looks as if my remedies are very limited. Moving is a great hassle and isn't cheap.
- erikpukinskis 8y agoPeople compare (smart contracts + no social insitutions) to (paper contracts + the entire legal and political system). But that’s not a fair comparison. Start by imagining the exact system we have now: police, district attorneys, private attorneys, judges, appellate courts, senate, representatives, and executive... all of that in exactly the same configuration, except nothing is considered settled law until it is finalized by those people on the blockchain. No changes in law or consequences, just a replacement of the existing ad-how bookkeeping with blockchain-based bookkeeping. That would seemingly function, given the current system functions, right? We would probably need some additional laws on how to deal with lost keys and such. But that would be resolved through existing structures. Someone starts impersonating a senator, the FBI investigates, there is a criminal trial, new keys are issued by the executive branch eventually. Now imagine a slightly different setup, say... the same thing except no legislative branch. Non criminal law. Just the courts and the executive branch, and the executive branch is charged only with carrying out court orders that result from civil contract disputes. Would that work? We don’t know. But in this blockchain world, people would be free to try that too. Now imagine every possible variation between those two scenarios also being played out, in little communities who opt into them. That’s the idea.
- abdullahkhalids 8y ago> except nothing is considered settled law until it is finalized by those people on the blockchain. This seems like a really good idea. I wonder if someone has already done something like this on any of the systems out there i.e.\ a system where some nodes are designated as the Executive and have the power to change contracts in case of disputes.
- ItsMe000001 8y agoI admit I don't even understand what that is supposed to mean. He writes that laws(!) are not considered "law" until "the people on the blockchain" - whatever that means, agree to it? So the making of laws somehow, obscurely, depends on "the blockchain"? How? Why? It makes no sense to me. What exactly does that mean? A vote of the people over each law, by blockchain? That's the only interpretation I can think of, and it still makes no sense. To me, and I admit my brain is quite limited, every explanation involving "blockchain" sounds surreal at best. I actually took two technical/programming courses (on edX and somewhere else) on "blockchains" so I think I understand the technology, but I'm still puzzled each time somebody explains something that involves this thing. IT seems understanding the technology is of no use - at least to me - when trying to understand the proposed use cases. How exactly the world is supposed to be changed in these scenarios remains a mystery to me, all I read is "magic".
- allan_golds 8y agoUseless mobile site
- sparkie 8y agoIf Satoshi had thought that a selected set of entities was an adequate replacement for the central entity for control over the money system, he would never have invented Bitcoin. The driving force behind Bitcoin was that it doesn't matter how many entities you have. Every participant needs to be treated as an equal party. Blockchains with "master nodes" are completely missing the wood for the trees. It really is a shame that we've got so many people trying to do smart contracts "on the blockchain," when everything that they're attempting to offer was previously possible before Bitcoin because their solutions ultimately require a central entity or selected set of entities to work.
- Retric 8y agoBitcoin was more about reducing transaction costs by sacrificing the ability to undo transactions than anything else. That failed, but the world had plenty of currency’s Bitcoin was supposed to be an alternative and cheaper banking system.
- pishpash 8y agoSatoshi isn't God and designed for one extremal case for his experiment. The whole spectrum from decentralization to centralization is valuable to someone.
- sparkie 8y agoI just wonder how many people have heard of say, Secure Multi-Party Computation, before they come to the conclusion that they need to print their own money. Yao pioneered many interesting concepts which have basically been swept under the rug because nobody is interested in something that isn't "blockchain." All blockchains are valuable to someone - the creator. They're cash cows. They start with the premise that they need a blockchain (so they can print money), and work backwards - what can we apply the blockchain to in order to convince people to buy our token. How many cycles of pump and dumps we can go through before people realize that it isn't going to work. If everyone can and does print their own tokens, what are your tokens going to be worth?
- kartickv 8y agoDon't many contracts rely on something to be verified in the real world? If I sign a contract with you to deliver 100kg of rice, and you claim I delivered wheat instead, how can an algo decide that?
- wslh 8y agoVia external sources, the blockchain cannot decide this independently and this breaks the decentralization factor. Typical solutions is to use external oracles with judges and penalty/rewards schemes. I think it is worth to take a look to MakerDAO and how they handle external oracles to create the DAI stable coin.
- cortesoft 8y agoI mean, answering this question is most of the article.
- momentmaker 8y agochain.link - decentralized oracles
- takinola 8y agoThe smart contracts concept has an inescapable flaw: it's software. The problem is that software has bugs, ergo some smart contracts will have exploitable bugs. So what happens when someone triggers the contract, based not on the performance of the contract, but on a bug? Do you shrug and treat the software as the final arbiter or do you go to court and seek redress? If the former, then it may become profitable (and legal) to employ talented hackers to go around cracking contracts. If the latter, then why not just write the contract on paper from the start since courts have well established traditions for dealing with paper contracts?
- derefr 8y ago> If the latter, then why not just write the contract on paper from the start since courts have well established traditions for dealing with paper contracts? Presumably because paper contracts don't scale; nor do they arbitrate machine:machine interactions without human proxies on both sides.
- ttul 8y agoShow me a few practical reasons you’d ever need a smart contract for this, instead of just some code and an actual agreement between parties to place nicely together?
- antidesitter 8y ago> an actual agreement between parties to place nicely together What does this mean?
- RoyTyrell 8y agoI could easily be missing the boat with smart contracts, but to me they seem like a solution waiting for a problem. Perhaps for some smaller domain of transactions such as paying for computing resources (rendering, numerical analysis, etc), buying digital resources, or as an alternative to a traditional escrow. Other than that, I don't see what society is really missing out on by not having them.
- discovan 8y ago- to me they seem like a solution waiting for a problem I feel exactly the same. However, SC are a very interesting technology. I prefer to study it now, to be ready when the humanity is OK with electronic money (cryptocurrencies) and come to electronic contracts.