3 ms·
Solidity has a lot of potential pitfalls that need to be avoided, just like similar languages. Some of these are due to poor or unintuitive language design, alt
by ve55 9y ago
Solidity has a lot of potential pitfalls that need to be avoided, just like similar languages. Some of these are due to poor or unintuitive language design, although a lot of improvements have been made over time. The wallet bug involving Parity's multisig wallets was due to an error that Parity made, even if it's an error that may have been easy to make, it should have been caught in testing or code reviews due to how critical that library was. As far as the loop goes, you cannot have a loop that runs forever due to gas limits involved in transactions (a contract can only execute so many opcodes before it hits the gas limit and execution halts, with state reverted back), so it isn't a potential issue that it would never terminate. With that said Solidity still has some pitfalls that should be fixed, and many of them already have been fixed. It's not perfect, but it's quite usable compared to other smart contract systems, few of which are even as developed.
Most of the largest headlines involving loss of funds in the Ethereum network have been due to programmer or user error. Keep in mind that Ethereum is still in its "experimental" phase - it isn't "supposed" to have billions of dollars put into it just yet, but the market doesn't care about this as long as the prices are going up. Ethereum could be much worse than it is, but that wouldn't mean its value would go to zero, or even do down. Plenty of top coins by market capitalization have been orders of magnitude worse, or just outright scams. Remember "The market can stay irrational for longer than you can remain solvent".
It's still a very new area of technology despite the amount of money that pours into it. There's innovation, but it can be difficult to see it in the midst of the hype.
- mtgx 9y ago> Most of the largest headlines involving loss of funds in the Ethereum network have been due to programmer or user error. Well, that's reassuring. Should we expect that there will be no more programmer errors in the future on the Ethereum network then? Isn't Ethereum's job to minimize those errors?
- jstarks 9y agoIt’s well established that humans will make programming errors, and that good language design can reduce the rate of such errors (and eliminate certain classes of errors altogether). I’m surprised you are willing to place so much blame on Solidity’s users for their mistakes when these mistakes would have be avoided with simple improvements to the language design.
- hamandcheese 9y agoSimple improvements help fix simple errors. With so much money on the line I do somewhat blame the users.
- Jasper_ 9y ago> Most of the largest headlines involving loss of funds in the Ethereum network have been due to programmer or user error. What other classes of errors are there that Ethereum is successfully avoiding?
- jobigoud 9y agoErrors in the protocol and the cryptography underlying the platform.
- cookiecaper 9y agoThe key difference between Solidity and other languages, of course, is that most people don't trust other languages so explicitly and irrevocably. Other code environments can be monitored for errors and those errors can be corrected, usually in ways that don't involve kissing all the money goodbye. On something so absolute as Ethereum, I would expect them to use a very dumb language with as few complications and complexities as possible, and then to formally verify the crap out of it, and quickly make it the most consistent, predictable, and stable language on the planet (again, possible only with a very barebones language that does not have complex features). The fact that Ethereum has been around for so many years and this has not happened indicates that it's not a serious platform.