While this implementation of The Dao has failed, Ethereum is the only blockchain where implementing The Dao is possible.
While this implementation of The Dao has failed, Ethereum is the only blockchain where implementing The Dao is possible.
The average programmer should not be writing multi-million-dollar contracts.
It's not that hard, some wants X and some wants Y in exchange.
I'm not a lawyer but I write contracts with my clients. If you keep things simple it should fit most people. making g smart contracts complicated you keep it in the area of a small elite who are knowledgeable of playing safe with it.
I wold go as far as make it as simple as HTML.
Given how hard it is to avoid accidentally introducing these three "simple" elements, Turing completeness often turns up without being planned for.
There are an infinite number of non-Turing complete languages. Not-Turing complete != Bitcoin.
It is meant to be able to do more computation based stuff than Bitcoin, but without being Turing complete.
However, they seem to have confused the halting problem not being computable with Godel's second incompleteness theorem? (They might have corrected this since I saw when they published something with this.)
They seem to be related concepts. See http://www.scottaaronson.com/blog/?p=2725 for discussion of some interesting examples:
> [...] has explicitly constructed a one-tape, two-symbol Turing machine with 7,918 states, whose behavior (when run on a blank tape) can never be proven from the usual axioms of set theory, under reasonable consistency hypotheses. Adam has also constructed a 4,888-state Turing machine that halts iff there’s a counterexample to Goldbach’s Conjecture, and a 5,372-state machine that halts iff there’s a counterexample to the Riemann Hypothesis.
But yes, the two definitely are connected.
For example:
A program which could solve the halting problem would be able to determine whether a given system is consistent.
So, as a result, if a system could prove that a program solved the halting problem, and it could simulate programs running, then it could simulate the program that solves the halting problem being applied to a program that searches for inconsistencies in the system. This would allow it to prove whether it is itself consistent.
Therefore, by Godel's second incompleteness theorem, a system which can simulate programs for any number of steps, and which is consistent, and which can do arithmetic and such, cannot prove that any particular program solves the halting problem.
Admittedly, this is a lot weaker than "no program solves the halting problem", but I think it is a fairly clear connection.
So, yes, I agree that they are related.
But Ethereum's Turing completeness (or, Turing completeness except being limited by gas costs), does not mean that Ethereum is "inconsistent", because that is, uh, pretty much a nonsense claim. And that is the claim that I think the other group was making (Though they may have stopped making it since.)
Also, btw, wrt that blogpost, they got the number of states for a machine which ZFC cannot prove does not halt, but which does not halt, down to, iirc, like 2030 ? But you probably knew that already because it is the next blogpost on there.
But yeah that is a cool result!
You heard wrong. Regex is specifically not turing complete. It corresponds to the class of machines called DFAs. Above regexes are CFGs, which correspond to pushdown automata. Above CFGs are CSGs, which correspond to linear bounded automata. Above CSGs are unrestricted grammars, which correspond to turing machines.
You may be thinking of PCREs, which aren't actually regular expressions, but are sometimes erroneously referred to as such. I don't know if those are turing complete or not.
Jesus what has this field come to.