Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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...

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.



Nice 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.


> 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)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: