Laic here: Could we not keep Solidity Turing complete as it is and just build a restricted framework on top that will be audited and not Turing complete and just encourage regular programmers to use the framework and its predefined audited functions instead for day to day contracts? Occasionally new tools could be developed in Solidity that will be carefully audited and aded as safe to the regulated framework.
Deleting $300M by messing around with Ethereum contracts
11–20 of 45 posts
Re: Deleting $300M by messing around with Ethereum contracts
#12This is really funny, and hopefully this time people will realise the danger of using programmer-written contracts to manage millions of dollars . If someone can accidentally delete that volume of your money, it's not that someone's fault, it's your fault.
Re: Deleting $300M by messing around with Ethereum contracts
#13This is really funny, and hopefully this time people will realise the danger of using programmer-written contracts to manage millions of dollars . If someone can accidentally delete that volume of your money, it's not that someone's fault, it's your fault.
Bank accounts, wire transfers that move trillions are also written by programmers, so should we stay to cash economy only? The problem is immaturity of crypto currency/contract market as it's still in its infancy. I'm optimistic about crypto economy future as most of current problems could be fixed (or at least alleviated) by standards, regulations and discipline.
Sure, but they're written in ways that humans can generally roll back a mistake and if two humans disagree about what should be done (due to a 'bug' or inconsistency in the contract) there are processes where a third human can listen to their arguments and decide what sounds like the most reasonable course of action. At no point is the code written by programmers the final arbiter of what the 'correct' course of action is.
Re: Deleting $300M by messing around with Ethereum contracts
#14I don't think it's impossible, but it's clearly in conflict with the "release early, release often" culture. If anything, developing smart contracts is more like building software for NASA crafts : you have to get it right before the launch. And even regarding the NASA, I guess they still have room for some remote patching. In smart contracts, perfect is not the enemy of good, they are actually synonymous.
Re: Deleting $300M by messing around with Ethereum contracts
#15Earlier quoted context omitted.
Bank accounts, wire transfers that move trillions are also written by programmers, so should we stay to cash economy only? The problem is immaturity of crypto currency/contract market as it's still in its infancy. I'm optimistic about crypto economy future as most of current problems could be fixed (or at least alleviated) by standards, regulations and discipline.
Bank accounts, wire transfers that move trillions are also written by programmers Sure, but they're written in ways that humans can generally roll back a mistake and if two humans disagree about what should be done (due to a 'bug' or inconsistency in the contract) there are processes where a third human can listen to their arguments and decide what sounds like the most reasonable course of action. At no point is the…
0. http://www.telegraph.co.uk/news/uknews/crime/11414191/Hacker...
Re: Deleting $300M by messing around with Ethereum contracts
#16Earlier quoted context omitted.
Bank accounts, wire transfers that move trillions are also written by programmers Sure, but they're written in ways that humans can generally roll back a mistake and if two humans disagree about what should be done (due to a 'bug' or inconsistency in the contract) there are processes where a third human can listen to their arguments and decide what sounds like the most reasonable course of action. At no point is the…
Yet this system is not bulletproof either: 0. http://www.telegraph.co.uk/news/uknews/crime/11414191/Hacker... 1. https://en.wikipedia.org/wiki/Bangladesh_Bank_robbery
Secondly and more importantly, the fail-safes built into the system largely work. In the Bangladesh case for example the vast majority of the money they where attempting to steal was never transferred due to humans intervening and overriding the transfer order. And even a non-trivial amount of the money that was transferred was later recovered by reversing the transaction.
Re: Deleting $300M by messing around with Ethereum contracts
#17The author mentions that turing complete contracts will have bugs in them eventually. While currently that happens, we do have formal verification methods in computer science. And thats exactly what people are trying to apply on Ethereum: Formally verified smart contracts. https://blog.ethereum.org/2016/06/19/thinking-smart-contract...
Re: Deleting $300M by messing around with Ethereum contracts
#18The author mentions that turing complete contracts will have bugs in them eventually. While currently that happens, we do have formal verification methods in computer science. And thats exactly what people are trying to apply on Ethereum: Formally verified smart contracts. https://blog.ethereum.org/2016/06/19/thinking-smart-contract...
Ironically, the article you link to does not support your post: it also stresses the difficulties of applying formal methods, and claims instead that various interventions of the sort that have not been particularly successful in securing software generally will be sufficient to satisfy the particularly stringent requirements of a crypto-currency (of course, to say that Ethereum needs formal methods in order to be usable would be to admit that it is not close to being so, so that view will always be contested by the Ethereum foundation. At Cardano [1], however, they do seem to think formal methods will be part of their solution, though I am not sure to what extent.)
This is all mostly moot, however, as the Ethereum we have now is demonstrably insecure by any measure.
Re: Deleting $300M by messing around with Ethereum contracts
#19The author mentions that turing complete contracts will have bugs in them eventually. While currently that happens, we do have formal verification methods in computer science. And thats exactly what people are trying to apply on Ethereum: Formally verified smart contracts. https://blog.ethereum.org/2016/06/19/thinking-smart-contract...
It is just moving the goalposts. The formally verified contract is only as good as the assertions proven. Look at WPA2, it was formally verified against 'most' attacks.
Re: Deleting $300M by messing around with Ethereum contracts
#20Earlier quoted context omitted.
Yet this system is not bulletproof either: 0. http://www.telegraph.co.uk/news/uknews/crime/11414191/Hacker... 1. https://en.wikipedia.org/wiki/Bangladesh_Bank_robbery
Of course no system is completely bulletproof against a determined attacker. There are however a few differences. First of all what these people did is obviously illegal and people go to jail for doing that sort of thing. As it stands there is no legal consensus on whether exploiting a bug in a smart contract is illegal or not. Secondly and more importantly, the fail-safes built into the system largely work. In the B…