3 ms·
Difference being that a poorly written web app amounts to some leaked passwords and email addresses. A poorly written smart contract that handles real money, o
by flunhat 9y ago
Difference being that a poorly written web app amounts to some leaked passwords and email addresses.
A poorly written smart contract that handles real money, on the other hand...
- sillysaurus3 9y agoSo? It's their money to lose. Yes, it's crazy, but it's also happening.
- flunhat 9y agoAgreed, and the massive hacks and losses will continue as long as smart contracts are written in Solidity.
- guscost 9y agoThe EVM is Turing-complete, so this will be a risk with any language that compiles into a smart contract. Solidity doesn't appeal to me because its goal seems to be on-boarding JavaScript programmers. But new languages that compile to EVM can be easier to use "safely" and you will see several of these in the next few years. I'm really excited that a project to embed Turing-complete behavior in a blockchain has actually taken off. It's completely insane from one perspective, but completely awesome from another.
- adrianratnapala 9y agoThe EVM might be Turing complete but you can still have languages that compile down to only some tractable sub-set of the possible EVM programs. The interesting question is whether a language can be design which allows the important domain-relevant requirements to written down in an understandable way and also proved rigorously. So far neither lawyers nor programmers have done a very good job of this in their respective field. Watching people trying to do it in both fields simultaneously sounds like popcorn time to me.
- erikpukinskis 9y agoHuh? Lawyers have done an exceptional job. There are huge swaths of activity around which there is consensus about legal dogma. And huge swaths of activity where programmers have laid out clear deterministic expectations. If you're saying lawyers have failed to specify the legal ramifications of All Possible Activity then... Sure. So? Even if Ethereum only works for one single narrowly defined contract, it could be immensely useful. The question for me isn't "where could it fall short" but "where might it measure up?"
- tscs37 9y agoThe EVM might be turing-complete but since you can only get finite number of execution cycles, you can usually determine the behaviour of your program or if it halts within the current gas limits.
- philh 9y ago...passwords that might be reused for the email addresses, and paypal, and... A web app might not touch real money, but a leak can still have real money consequences for the users.
- flunhat 9y agoSure, but in theory I can change passwords and maintain separate credentials for my banking-related needs. Short of auditing the Solidity contract code myself, there's nothing I can do to protect myself from the hacks themselves because the very mechanism by which money is transferred is riddled with bugs. This is mostly just semantics anyway - I'm just trying to establish that writing money-transfer software in a poorly designed language is, one way or another, worse than writing a web app in one.
- TeMPOraL 9y agoThere are also other consequences: - vulnerabilities can be used to attack users directly or through social engineering - (rare today, but definitely a problem with C++ web apps) you can break through a hole in the app and pwn the whole server