Laymen let me attempt to explain this to you.
Putting Smart Contract data on a global block chain means that as those contracts interact, it is impossible to prove that the order that the contracts are run is commutative and that the contracts will halt.
I'm not sure where commutativity applies here. Contracts call public methods of
other contracts, so it is an ordered sequence.
You've admitted to me before that your knowledge of Computer Science is limited. And your reply here makes that obvious.
It would be more truthful to yourself and others if you phrased your lack of knowledge as a question than as a statement. I am more respectful when answering questions than when n00bs effectively are slandering the facts I have written when they write false statements as you have done.
Why don't you go learn Computer Science at the university before you expect that you should even be capable of knowing "where commutativity applies here".
Making methods public has nothing to with the consistent ordering of transactions amongst all full nodes. If you had even understood my Decentralization thread, you would have understood that I explained that synchrony can't exist in distributed systems.
Please don't make me repeat myself. Just because you don't comprehend Computer Science, doesn't mean it is my responsibility to cram 4 years of education in a forum post for you.
You may feel I am not being nice, but how nice is it that you cram your ignorance down my throat forcing me to teach you what you didn't learn.
Ethereum responded by inventing gas, so that scripts would halt by failing once their gas is exhausted. This is horrific because it means the state machine is put into an indeterminate state.
If there is not enough gas, EVM is supposed to roll back to the pre-execution state.
It is the responsibility of the caller script to take precautionary measures.
The state of the script doesn't exist in isolation because again there is no global ordering and no global synchrony in our universe. Rolling back the different arbitrary partial orderings results in an indeterminate state, i.e. random disorder and divergence.
The block chain becomes one big tape in a Turing machine... please go learn Computer Science...
I think Ethereum and Bitcoin are complementary. One is a currency, the other is a currency as well as a trading platform.
One sort of works (Bitcoin) and the other one can't possibly work and is a lie.
Do you mean the bitcoin will work and the Ethereum does not work in its present form? Will further development change that?
Ethereum can't be fixed.
No general purpose programmable smart contract block chain can be fixed. One might be able to design some very limited hard-coded contracts that are carefully studied, but even these are very likely to produce the fundamental errors around commutativity, deadlocks, and other issues that plague distributed systems. It is simply impossible to have different people coding scripts and not have them blow up in pile of disorder.
The universe will not tolerate a total ordering, else our universe would not exist because the future would be predetermined by the past. Or stated another way, the speed-of-light would be infinite and the past and future would collapse into an infinitesimal point.
Bitcoin's scaling problem has potential technical solutions that aren't perfect but may work well enough in practice. However, the politics around Bitcoin suggests to me that the solution will come in an altcoin not in Bitcoin, but we will have to wait and see on the outcome.
Note the math wizard behind Synereo (Greg Meredith) has proposed a design for contracts that is enforced by social engineering (the cascade of individualized actions/partial orderings are expected to adhere to some social function) rather than by an enforced global ordering. I have my doubts about the applicability of this idea and it is certainly no where near what people mean now when they say "smart contract" on a global ledger.