https://blog.ethereum.org/2016/06/19/thinking-smart-contract-security/
"However, it does show that there is a fundamental barrier to what can be accomplished, and “fairness” is not something that can be mathematically proven in a theorem"
well yes it can:
If you hold a system will function in a particular way and it does then that is fair, and you can mathematically prove it
https://www.reddit.com/r/ethereum/comments/4opjov/the_bug_which_the_dao_hacker_exploited_was_not/
TL;DR - Complexity and "Turing completeness" are not the real culprit here...
How many times am I going to have to repeat myself and link to my explanation that the quoted Reddit above is INCORRECT!
https://bitcointalksearch.org/topic/m.15273470
Vitalik is correct. The Reddit post is not. Period.
Turning-complete programming on a block chain can't be guaranteed to be secure. There will always be a gap between "intent" and "execution".
The fundamental reason is tied into the Halting problem, in that one can't prove an absolute negative, e.g. prove that no dinosaurs are still alive any where in the universe. It is undecideable.
Fundamentally this is the Second Law of Thermodynamics and the fact that time is irreversible so entropy is unbounded. The only way that wouldn't be the case would be if the speed-of-light was not finite, but then the past and future would collapse into the same infinitesimal point of nothingness and nothing could exist.
Theorem provers such as Coq produce output that is not Turing-complete. Yet that isn't even relevant, because "intent" can't be absolutely quantified in code or specification because interpretation is relative, i.e. the only account of history which is 100% certain doesn't exist (people will disagree on what happened because no one was every where in real-time, i.e. the speed-of-light is finite).
If you can't grasp this, don't fret. It requires a high level of intellect and also understanding of several fields including computer science and physics.
The bottom line is that Turing-complete programming on a block chain is "a can of worms" which is what we all told Ethereum since back in 2013 when Vitalik first proposed it.
Yeah no.
you can make it so the likelyhood is so unlikely is negligible, we all know about the halting problem.
Burn a piece of paper and it could reform from its ash spontaneously as reslut of local conditions.... but its pretty unlikely. Much like a key clash is unlikely.
If you use formal logic, you give up Turing-completeness. Ditto a declarative language which is not Turing-complete. And thus your programs can't do everything you might want them to do. For example, HTML is not Turing-complete (unless you add JavaScript code).
If you would like to have technical debate with me, please do it in the the following linked thread (not in this thread as I don't want my discussion spread around in so many threads):
https://bitcointalksearch.org/topic/m.15273470
I don't think you understand the issue of unbounded recursion and how it even applies to higher-level semantics.
Are you expert in the field of programming language design?
You may wish to observe some of my recent research and discussion on PL design for example:
https://gist.github.com/shelby3/3829dbad408c9c043695e006a1581d19