4 ms·
There's a pretty significant lesson here, and it's not that the DAO authors were careless. They were, and so were all of the investors, but the core problem is
by Taek 10y ago
There's a pretty significant lesson here, and it's not that the DAO authors were careless. They were, and so were all of the investors, but the core problem is not the DAO.
It's Solidity. It's the Ethereum virtual machine. Even today, security vulnerabilities are being found in code strategies that are generally considered 'best practice'.
Writing a safe smart contract on Ethereum is extremely difficult, and most people playing with Ethereum don't seem to realize this. There's a pretty well understood maxim, "don't roll your own crypto." Etherem's smart contracts ARE cryptography, and their safety depends on implementation details that are completely hid from users during tutorials, and that even the language designers are only still discovering.
This article does a good job of demonstrating that safety is really hard: https://blog.ethereum.org/2016/06/10/smart-contract-security/ https://blog.ethereum.org/2016/06/10/smart-contract-security...
And it's one of the major reasons that the Bitcoin devs have not been excited about Ethereum. It's a project whose ambitions have outpaced our ability to engineer safely.
One day we can have safe smart contracts. But the Ethereum of today is not well designed, and is not a good foundation for smart contracts. A simple hardfork to fix this DAO mess isn't going to be enough. The whole virtual machine needs to be redesigned.
And my money is quite seriously on Bitcoin figuring out the safe way to do smart contracts faster that anyone else. The vast majority of experienced experts in this space are still spending the majority of their time on Bitcoin. As popular as Ethereum has become, Bitcoin still owns the mindshare, and there are good reasons that Bitcoin has chosen not to pursue smart contracts at this time.
- lotsoflumens 10y agoNice summary! I think Ethereum is finished now. The trust in it will disappear, or the money invested in it will disappear. Either way, the value goes to zero. I was just getting interested in it. I'm feeling both sad and relieved. Sad that it didn't succeed, relieved that I didn't sink any time or money into it.
- al_chemist 10y ago> Writing a safe smart contract on Ethereum is extremely difficult Writing may be difficult. It's reading that should be easy. Unless you can read the contract, you can't put your money there and an example of Etherum contract looks like this: ADD SWAP1 RETURN JUMPDEST PUSH1 0x60 SWAP4 DUP5 MSTORE PUSH1 0x80 SWAP3 DUP4 MSTORE PUSH1 0xa0 SWAP2 SWAP1 (750 lines omitted)