$300m in cryptocurrency' accidentally lost forever due to bug
theguardian.com
theguardian.com
There are no bugs. There is no theft. There are no accidents. There can be no need of a hard fork.
> The terms of The DAO Creation are set forth in the smart contract code existing on the Ethereum blockchain at 0xbb9bc244d798123fde783fcc1c72d3bb8c189413. Nothing in this explanation of terms or in any other document or communication may modify or add any additional obligations or guarantees beyond those set forth in The DAO’s code. Any and all explanatory terms or descriptions are merely offered for educational purposes and do not supercede or modify the express terms of The DAO’s code set forth on the blockchain; to the extent you believe there to be any conflict or discrepancy between the descriptions offered here and the functionality of The DAO’s code at 0xbb9bc244d798123fde783fcc1c72d3bb8c189413, The DAO’s code controls and sets forth all terms of The DAO Creation.
[0] https://web.archive.org/web/20160704190119/https://daohub.or...
Except that one time with the DAO.
The idea that the code is the contract is therefore doomed to failure.
If Ethereum is the "internet," then all of these incidents are kind of like "data breaches" that have happened and will continue to happen for the entire life of the internet/Ethereum network. And if the number of data breaches throughout the internet's life is any indication for what will happen on Ethereum, there will be a lot of "hard forks" in Ethereum's future, too.
Ethereum devs signed-up for this when they decided to make its smart contracts Turing complete.
Ethereum may actually end up really shining as autonomous organizations become a real thing.
Even your "autonomous organizations" will need to deal with e.g. the halting problem, for example.
http://cognet.mit.edu/book/heterogeneous-agent-systems [You want to read chapter 10.]
Can the protocol be made more robust against this class of error?
Is the proposed protocol change victimless? (nobody has already spent forked funds, etc.)
Is the protocol change elegant? (If you were to start over would the implementation have included this change to begin with? e.g. no hard-coded addresses with special code paths)
Is this an issue that can be repeated on different wallet platforms/exchanges easily, or is there something uniquely wrong with Pairity wallet that caused this?
1) Whether the Ethereum/Solidity design and implementation is good enough, because it seems that bugs like this and not like this are far too common and far too easy to make, and a better design/implementation would make such incidents less common;
2) Whether the Ethereum concept/sales pitch of smart contracts that cannot be overridden is actually something that the community wants, and perhaps there does need to be some structured way/process on how flawed contracts can be altered; as the DAO incident is some evidence that we might want a way to alter contracts in certain conditions, but the previously used solution of ad-hoc hard fork isn't a good one. Perhaps we do want smart contracts that can't be overridden in any way whatsoever, but we have to acknowledge that this has a serious price - incidents such as this one.
Ethereum bug loses 500k eth: Shut it the fuck down it will never work.
People... get used to stuff.
Bug in a specific DB or HTTP server implementation exposes confidential data: Patch it or shut it down.
Bug in a specific service: Patch it or shut it down.
Ethereum is equivalent to those things. It is not equivalent to the Internet, that would be "blockchain technology" (quotes because it's such an ambiguous and ill-defined space right now).
Ethereum is buggy. Plain and simple. It is ill-designed, ill-scoped, and ill-managed (there never should have been a hard fork for the DAO fuckup).
This is very much like the leftpad issue with node and npm. It’s a flaw in the design of the system that permits this behavior. The contract (wallet software) is also clearly buggy. But the bug is a consequence of the ill-designed foundations.
Of course, like with any stock or commodity, the market price is the valuation of the good _for small amounts_ of the good.
Imagine someone sending $100.000 of his hard earned money and from loans to pay for his daughter operation and this gets lost because of a bug and a developer in panic mode!
For many cryptocurrency users, it's not intended to be "safe" - it's intended to be free.
Consider that running `rm -rf "/$APP_ROOT"` in a shell script is unsafe. People writing their own shell scripts are doing so for the power it offers them, and should be aware that this power enables them to shoot themselves in the foot. Likewise, if you choose to "be your own bank" cryptocurrencies give you the power to do that - and the power to shoot yourself in the foot.
> Imagine someone sending $100.000 of his hard earned money and from loans to pay for his daughter operation and this gets lost because of a bug and a developer in panic mode!
Imagine someone bringing $100k in cash to the hospital to pay for that operation, only to have their car catch on fire and consume the cash on the way. The specific mode of failure here is different for cryptocurrencies, sure, but this category of failure is not unique.
But it is solved by the banking system: if the bank burns down, insurance will make you whole. If a distributed cryptosystem burns down, you have a lot of worthless bits.
TBH the real category of failure we see here is more like a Central Bank suddenly declaring half the money in the country is fake and worthless, and inadvertently wiping half of the existing bank accounts. It's the sort of thing that might happen once in a century, or less; cryptocurrencies seem to see one every few weeks.
$100,000
They also swap the . for a , in indicating the fractional part. So if it had some change associated it would be written as: $100.000,43
Compare to the typical English format: $100,000.43They can do a hard fork and this money will re-appear.
I wish code was the law, but apparently, it's not. Same rules for everybody, please.
For the record, I did (do) not support that either.
People have developed this expectation for currency (a dollar being this thing that you can hold which always equals this amount printed on this price tag) without having any real understanding of what currency is really. This leads to odd assumptions.
When you invest in the stock market, and the market crashes, THAT money is lost forever. This is not that.
No, it isn't, because the price can go back up in the future. In this case, there is no hope of recovery unless you count the entire network pretending this never happened as recovery. Ironically, the real stock market is more immutable in practice than Eth.
Forget it, Jake. It’s just fake internet points.