3 ms·
To be clear to others, the EVM (Ethereum Virtual Machine) wasn't the problem, it was a smart contract (software that runs on Ethereum) that had a bug.
by davidmurdoch 6y ago
To be clear to others, the EVM (Ethereum Virtual Machine) wasn't the problem, it was a smart contract (software that runs on Ethereum) that had a bug.
- chriswarbo 6y agoFrom my outside perspective, it sounds like Ethereum makes it hard to avoid subtle bugs when writing contracts. Some of its competitors specifically try to avoid this, e.g. https://docs.cardano.org/en/latest/ https://docs.cardano.org/en/latest/
- xiphias2 6y agoThe most probable language that’s safe enough to be adopted by Bitcoin is Simplicity. It’s based on algebraic data types, tries to be a superset of the Bitcoin scripting language, but still guarantee a verification time that’s linear to the program length (not Turing complete)
- xiphias2 6y agoIt was not just that bug that decreased my confidence, but the lack of testing for the smart contract. Even the bug fix commit didn't have any unit tests. We're talking about a type of smart contract that holds billions of dollars for store of value, not some rare edge case. Also for Bitcoin I myself was able to read and verify and understand the whole smart contract code base (a few hundreds of lines altogether in 1 file), which increased my confidence.
- garmaine 6y agoBut it's also important to be clear that a complex script large enough to have (critical!) security holes was required to do something as simple and as foundational as multi-sig: the basic building block of all distributed or decentralized protocols. How can possibly expect something more complex to be secure? Bitcoin, on the other hand, builds these core crypto competencies into the base layer, so that scripting can exist purely in the application domain.