10 ms·
Ethereum is Doomed (2016)
- atomical 8y ago> The legal implications of this hack are more interesting than the hack itself. Because the code of the DAO is a legally-binding contract, how can you argue so as to convince a judge that some behavior of the program is really a bug? The DAO provides nothing other than its own code to specify how it is supposed to work. For example, there is no specification in a formal language, or proofs as to its correctness. If the Ethereum team knew how to test software, they might have produced something like that, which also could have provided corroborating evidence that any bug was unintended. You could say the same about many hacks that involve money and assets. Judge, the software let me in! That was the original intention of the programmers! To get away with something like this you're going to have to convince a judge or jury that exploiting a bug in a software program entitles you to a huge payout. I suspect this might fall under unjust enrichment.
- Lab3301 8y ago> You could say the same about many hacks that involve money and assets. Judge, the software let me in! That was the original intention of the programmers! The difference being that ethereum smart contracts are supposed to be autonomous, hence "The Code is the Contract". If you need or rely on outside parties then why not just have a standard contract?
- 52-6F-62 8y agoI always understood it to be more of the automating of contract fulfillment. That's probably not the universal take. My take is there is a place for automated smart contracts, and a place for traditional contracts. For instance, you can hardly prove beyond any doubt that a package was delivered successfully and so payment can be dispersed. Too much room for fraud there. But for many other digital services I think it would work out fine. AFAIU it's been working quite well for microgrid projects. (Specifically smart contracts and ethereum as a whole, not really the DAO. Don't know much about that)
- root_axis 8y ago> But for many other digital services I think it would work out fine. A centralized system works fine for those situations though. Adding Eth into the mix doesn't improve anything in this scenario.
- 52-6F-62 8y agoMaybe so. Horses got people from A to B just fine as well. I'm not sold one way or the other yet, but the amount of trust some institutions have taken on and abused has been a bit ridiculous the past few years (and emerged unscathed themselves while their clients were left to deal with it).
- root_axis 8y agoCryptocurrency is wholly impractical to the point of being totally useless with regard to displacing trust in centralized institutions.
- 52-6F-62 8y agoForgive me, but you haven’t been very convincing. Anecdotally, centralized institutions have broken many peoples’ trust in the past. It’s starting to look like a bit of a wash to me—not that I’m racing to close my accounts. Just the same, I’m not ready to write off an early tech that is still being developed and experimented on.
- root_axis 8y ago> Forgive me, but you haven’t been very convincing. I don't need to convince anyone; it is a self-evident truth that cryptocurrency is wholly impractical for displacing centralized institutions. It's self-evident because it hasn't happened and there isn't even a whiff of a possibility that it could. Cryptocurrencies are a strange and interesting technical novelty, but they are closer to a video game than anything resembling a challenge to currently centralized institutions. > centralized institutions have broken many peoples’ trust in the past You keep repeating that but its irrelevant. Whether or not centralized institutions are breaking people's trust, cryptocurrency is obviously not a solution to the problem. > not that I’m racing to close my accounts Of course you're not because cryptocurrency is obviously not an alternative to a bank account in the same way that a drone is not an alternative to a car. > Just the same, I’m not ready to write off an early tech that is still being developed and experimented on. I'm not telling you to "write off" anything, what does that even mean? If you want to close all your bank accounts and meet up with people in the streets to trade cryptocurrency tokens in order to manage typical financial obligations then that is your prerogative; it doesn't mean that such a lifestyle has any appreciable impact on the existence of centralized institutions.
- hanniabu 8y agoThey are autonomous, but sometimes have unintentional outcomes. Same goes for written contracts. Sometimes they're poorly written/worded and loopholes are found.
- deleted 8y ago[deleted]
- Psyonic 8y agoThe difference here is that the DAO was openly asserting the claim that it would surpass the need for lawyers and the legal system. That software-enforced contracts were all you needed. Traditional software makes no such claim.
- atomical 8y agoSo basically they think they can rewrite contract law because they said so?
- Psyonic 8y agothere was a lot of bold, revolutionary thinking in the early days of crypto, and definitely a lot of naivety. There still is, but the realities of the world have tempered it a bit. but yeah, basically.
- Nursie 8y ago>Because the code of the DAO is a legally-binding contract, how can you argue so as to convince a judge that some behavior of the program is really a bug? Is it? I know that some people intend the code to be law, but I suspect if/when this butts up against the real legal system, we'll see a variety of different interpretations. Just because someone left their window open doesn't mean you get to take all their stuff.
- hanniabu 8y agoI'd imagine it'd follow the same rules of a faulty traditional legal contract. If the wording of the contract is wrong in a traditional contract, are exploitations valid? Does the decision depend on context?
- 300bps 8y agoReal legal contracts are invalidated all the time for not meeting the basic requirements of a contract: https://www.nolo.com/legal-encyclopedia/contracts-basics-33367.html https://www.nolo.com/legal-encyclopedia/contracts-basics-333...
- howard941 8y agoThere's an equitable remedy for that, a quasi contract, yielding quantum meruit damages if it's any good. https://legaldictionary.net/quasi-contract/ https://legaldictionary.net/quasi-contract/
- sk5t 8y agoLet's be magnanimous and say that the outcome of contract disputes is nondeterministic, and might take into account such factors as the relative powers of the parties, who drafted the contact's provisions, interpretation of judicial precedent, matters of public interest, grammar, etc.
- legohead 8y agoWhat if there's a comment like: // User should only receive positive deposit from this code But someone finds a vulnerability to withdraw instead of deposit. The code allows it, but the comment says that shouldn't be allowed. Did they act in bad faith, with fraud in mind? And to add on to that, could you consider function names as part of documentation/proof? ie. deposit() And to add on to that, what about the actual code: if reasonably prudent person were to read the code and assume it was made to deposit only, is that sufficient? I would assume a judge would say yes.
- this_user 8y agoThe issue with smart contracts is that the people behind the idea don't seem to understand that the issue with traditional contracts does not lie in the parts that a clearly defined, but in those that are not. These are the parts where the legal system comes into play in order to reach a decision on grey areas like that. The other problem is the obvious issue that smart contracts make the implicit assumption that we are able to write bug-free code. Evidently, that is not the case. There clearly needs to be some sort of mechanism to sort out issues that may arise from this. But in practice Ethereum has replaced an imperfect but robust mechanism in the form of the legal system with one guy, who is accountable to no one, making discretionary decisions with no guidelines to bind him.
- s3m4j 8y agoAnd grey areas are useful to society, they allow some imprecisions.
- smokeyj 8y agoIt's not a bug, it's a feature!
- hanniabu 8y agoThe platform has more far reaching use-cases than being used to replace legal contracts, and written contracts can have "bugs" just as smart contracts can.
- TomVDB 8y agoDo these far reaching use-cases matter in practice? > ... written contracts can have "bugs" just as smart contracts can. The onus on smart contracts is to come up with use cases where they are superior to written contract, not to find examples where they are equally flawed.
- hanniabu 8y agoThe purpose is to remove the middleman to have an autonomous outcome and by that they have succeeded. However, just as contracts have evolved over time after iterations have been found to have "bugs", I'm sure these will as well.
- deleted 8y ago[deleted]
- mrdoops 8y agoTends to take 12 years for a programming language with traction to really take hold. Maybe 4-6 years for the language to reach maturity so long as it was well-designed and implemented; given early adopter feedback is present. Smart Contracts are best served with a well-typed, highly safe, and formally verifiable language feature set. You need confidence that the smart contract will operate without error once deployed. Implementation-wise I expect the ideal smart contract language will have a robust typing system with functional programming defaults where state is largely immutable and highly explicit. Probably some variation of an ML language.
- xiphias2 8y agoCurrently the main contender for replacing Bitcoin Script / adding a new option is Simplicity (https://blockstream.com/simplicity.pdf https://blockstream.com/simplicity.pdf). Simplicity is a typed, combinator-based, functional language without loops and recursion, designed to be used for crypto-currencies and blockchain applications. It aims to improve upon existing crypto-currency languages, such as Bitcoin Script and Ethereum’s EVM, while avoiding some of the problems they face. Simplicity comes with formal denotational semantics defined in Coq, a popular, general purpose software proof assistant. Simplicity also includes operational semantics that are defined with an abstract machine that we call the Bit Machine. The Bit Machine is used as a tool for measuring the computational space and time resources needed to evaluate Simplicity programs. Owing to its Turing incompleteness, Simplicity is amenable to static analysis that can be used to derive upper bounds on the computational resources needed, prior to execution. While Turing incomplete, Simplicity can express any finitary function, which we believe is enough to build useful “smart contracts” for blockchain applications.
- root_axis 8y agoSuch languages won't make it far because the software they produce isn't really useful in industry or business. Whether or not there may be some future application for "dApps", currently none exist so there isn't much incentive for learning a dApp language (except pure curiosity about the platform) when you could learn a language that can produce useful software (e.g. Kotlin, Rust, Golang, C# etc)
- smokeyj 8y agoYou have to understand, HN hates cryptocurrency at the existential level. It doesn't matter about capabilities or features, it's about encroaching on their world views of how hierarchy and permission should exist. Do you think anyone who hates ETH is going to hear about a cool use case and change their mind? Absolutely not. Hating crypto is an identity, nothing more. Edit: as further proof, we have articles from 2016 about how ETH is doomed (BUT ITS 2019 AND ETH IS STILL RUNNING). The article is about a bug in the DAO contract. If ETH is doomed why haven't we seen the same kind of hack again? It's almost as if the ecosystem has matured and will continue to do so.
- luckydata 8y agoI haven't hear of a single use case that makes me think those tools are necessary so far. Do you have a "oh shit of course" example to share with me that would make me understand why Ethereum brings something valuable to the table? No jargon, just a simple use case. Explain it like you would explain the usefulness of the diesel engine to an alien > It allows to move goods, people across long distances and can be used in land vehicles both commercial and personal, boats. It can also be used in earth moving machinery for construction purposes and as power generators. Can you do that with ethereum?
- mbrock 8y agoYou can send and receive dollar-denominated tokens through a p2p network using open source command-line tools without a bank account.
- holoduke 8y agoWhat if you made a mistake. Can someone help you? Is there an authority making sure noone is abusing the system? I don't believe there is real demand for your usecase. A couple of believers and anarchists are the only ones believing currently. Currently because the future might be different.
- mbrock 8y ago
- viach 8y agoThis article judges Ethereum as a potentially useful tool and author proves such a tool has no advertised usefulness in it so it's doomed. I think this is wrong approach. Ethereum and most of the altcoins are not tools aimed to solve a problem. They are gambling machines. What matters for them is marketing, charismatic leader and wide audience (developers). Ethereum has all of these.
- KasianFranks 8y agoAnybody have rust removal for my pick? May need some for my shovel too. Getting blockchain confused with a capital raising trading vehicle is the wrong move.
- holoduke 8y agoNoone needs etherium or any other crypto tech. Only gamblers, believers and anarchists. There is not a single usecase besides gambling where crypto would be a good replacement for something existing. Cars did replace horses, because they were fsster and bigger. With crypto there is this theoretical dream of having a certain solution running completely decentralised, without an authority abusing it. That's not a commercial solution.
- x220 8y ago>Noone needs etherium or any other crypto tech. You can make transactions that would normally be blocked by your country's legal system or zealous traditional payment processors.
- rkachowski 8y ago> Noone needs etherium or any other crypto tech There's a huge difference between something being necessary and something being useful. I'm in no way an evangelist, but I can at least imagine some interesting applications of blockchain.
- woah 8y agoThis article has aged badly. There is currently a huge amount of money in intricate smart contracts on Ethereum, not being hacked. For example, there is $250,000,000 worth of Ether in the MakerDAO contract, collateralizing around $70,000,000 in DAI, a decentralized stablecoin that has maintained its peg to the dollar during a 90% price drop of the underlying asset, Ether. This blog post reads like someone in 1992 using some obscure hypothetical FTP server bug to argue that secure computer networks are by definition impossible.
- DATACOMMANDER 8y agoThis comment itself isn’t useful, so I expected to be down voted, but I was just wondering if there’s anyone out there—who doesn’t have an ax to grind—who can comment on the practicality of Ethereum. Is anyone using it to do something useful that couldn’t be done (or couldn’t be done nearly as well) otherwise?
- mimixco 8y agoIt sounds like it could be practical, but in practice, it can't. You can't just go around having everyone run code they can't audit. That's insane. It also causes terrible slowdowns in the network which is why they can't scale.
- mimixco 8y agoThe idea of a "world computer" where everyone runs everyone else's code and branches to code they cannot see was a security nightmare and a mistake from Day 1. Satoshi left out Turing-completeness from Bitcoin for this exact reason.
- decentralised 8y agoEthereum will have a new upgrade on the 16th of January and is well on its way towards the 2.0 vision of a PoS consensus, sharded chain and eWasm / EVM execution environment over the coming months and years. Posting stale criticism (3 years old) about a technology that is still evolving at this time strikes me as FUD.