4 ms·
,, because it would remove the existing guarantee that the runtime of all scripts can be determined and limited statically and because it wouldn't actually incr
by xiphias2 5y ago
,, because it would remove the existing guarantee that the runtime of all scripts can be determined and limited statically and because it wouldn't actually increase the utility of the system.''
While most of what you write is true (and I believe that the article was written in bad faith), as the article uses state changes in the Turing machine as Bitcoin transactions, it is trivial to statically check the runtime of a state change itself. Whether it's a useful addition to Bitcoin or not is another question though.
- nullc 5y agoWhat the article is describing-- explicitly unrolling operations in advance and checking them in script-- has always been possible in Bitcoin and doesn't have anything to do with Turing completeness. It's only being promoted as something new or inventive as an element of a very strange con.
- cllun 5y agoIt's actually not possible on BTC
- shilch 5y agoThis is not at all what this article describes. You're making the same mistake as truth_machine does: The loop unrolling is not part of the proof but just an implementation detail for the transition lookup; it could as well have been a large if-else. The actual looping / transitioning is implemented via bitcoin transactions which is a new technique that was only recently developed.
- nullc 5y ago> The loop unrolling Unrolling once is still what I'm referring to there. > a new technique that was only recently developed. That's simply false. E.g. search for 'covenant' or 'recursive covenant'. It's also described on the mailing list as far back as 2011. (And, incidentally, the first example of a turing complete machine controlling the release of a transaction on Bitcoin was in 2016 and was vastly more efficient and private than the the approach used by the post-- https://bitcoincore.org/en/2016/02/26/zero-knowledge-contingent-payments-announcement/ https://bitcoincore.org/en/2016/02/26/zero-knowledge-conting... )
- shilch 5y agoThe proof in the article is not about unrolling. Whatever I read regarding "covenant" requires a protocol change. Independent of who described the underlying technique first, this doesn't invalidate the proof.
- nullc 5y ago> The proof in the article is not about unrolling. Sure it is. The state machine expressed in the script checks one (or more) steps of the update rule. That's what we mean by unrolling, not the "or more" part but the fact that the script is just running a simple circuit for a fixed operation. > doesn't invalidate the proof Proof of what? It's not a proof of script being turing complete. If you're claiming that it's that-- it's invalid on its face. If you're saying it's a proof that script can implement a static state machine that runs one or more steps at a time checking some transcript computed by an external process and check consistency of state using the outputs-- then sure, that's not news, nor controversial, it's been known almost all of the system's life.