News for hackers. Stuff that matters.
Re:Turing Machines on Bitcoin by truth_machine on Sunday September 19, 2021 @03:44PM (#28587273)
So it looks like a better title would have been "saving the state of the turing machine on the bitcoin blockchain", as the claim of Turing completeness[1] seems disingenious - bitcoin script itself has no looping constructs and is decidedly non turing complete. The user has to call the contract as many times as necessary to ensure that Turning machine transitions between states, and the same user checks that the computation terminated.

1: The claim is "It is straightforward to adapt the Turing machine contract above to implement any other Turing machines, by simply changing the states, the symbols and transition function. Thus, any Turing machine can be simulated on Bitcoin, conclusively proving Bitcoin is Turing-Complete by definition. QED."

Re:Turing Machines on Bitcoin by shilch on Sunday September 19, 2021 @04:00PM (#28587409)
The presented solution does *not* loop inside bitcoin script itself, as you suggest, but outside whereby bitcoin transactions perform the state transfer. The machine runs for as long as someone pays for it (or it goes into accepting state) - which makes sense because if there was a one-time-fee for unbounded or potentially infinite runtime, you could create a program that never terminates. This can be compared to Ethereum where every step in execution costs fees and the caller needs to ensure that a sufficient amount of fees (gas) is paid.
Re:Turing Machines on Bitcoin by truth_machine on Sunday September 19, 2021 @04:12PM (#28587497)
Well, in Etherium, provided that sufficient amount of gas is paid for, I could have a contract that implements several (many?) iterations of the Turing machine - or any other computation.

With the approach proposed in the article I need to have an external Turing-complete "controller" that would keep calling the contract.

At this point, what is the benefit I am getting from having this "contract" at all? I would be better off with a just serializing the state of my machine and putting it into OP_RETURN, getting a much smaller blob to store on the chain. So I will save on the fees, could implement my Turing machine (or anything else, really) in the language of my choice, not constrained by the absence of loops and function calls.

Article essentially uses bitcoin blockchain as a database (I hesitate to use the word "ledger"), and the use of "contract" is just a gimmick, seemingly introduced just to prop the absurd claim that bitcoin somehow becomes turing-complete when external turing-complete controller performs "contract calls".

Re:Turing Machines on Bitcoin by shilch on Sunday September 19, 2021 @04:26PM (#28587623)
In Ethereum, the caller specifies the gas amount beforehand to ensure that the execution finishes. In the presented bitcoin-based solution, the caller prepares the transactions beforehand that finish the execution; it then publishes the transactions.

> At this point, what is the benefit I am getting from having this "contract" at all? I would be better off with a just serializing the state of my machine and putting it into OP_RETURN, getting a much smaller blob to store on the chain. > Article essentially uses bitcoin blockchain as a database

This is just plain wrong and not at all what this article is about. In the article, a script is developed that enforces state transfer by the specified transition table, i.e. only a specific set of bitcoin transactions are allowed on the state, namely the ones from the transition table.

Re:Turing Machines on Bitcoin by truth_machine on Sunday September 19, 2021 @05:30PM (#28588107)
> This is just plain wrong and not at all what this article is about. In the article, a script is developed that enforces state transfer by the specified transition table, i.e. only a specific set of bitcoin transactions are allowed on the state, namely the ones from the transition table.

So what is the article about, then? I started this thread disagreeing with the claim that material presented in the article somehow makes bitcoin turing complete and claiming that it, in fact, is not. You seem to be arguing this point with me, but I am not exactly sure what your (counter)arguments are.

Re:Turing Machines on Bitcoin by mpapec on Monday September 20, 2021 @01:51AM (#28590699)
Looping is not required to qualify as a Turing machine, and it never was. Bitcoin intentionally doesn't have loops, and higher level language sCrypt offer just that.
[dead]
Re:Turing Machines on Bitcoin by truth_machine on Sunday September 19, 2021 @07:50PM (#28589049)
I have nothing to do with nullc. I'd rather avoid personal attacks if it is OK with you.

> it can represent a single iteration of a larger program which is the point not being acknowledged.

I am actually acknowledging that bitcoin script can (only) represent a single iteration of a larger program. I acknowledge this and claim that this makes it not Turing complete, contrary to the claim in the article.

Re:Turing Machines on Bitcoin by wildsatchmo on Sunday September 19, 2021 @08:34PM (#28589270)
You're conflating (intentionally?) Bitcoin the system vs Bitcoin Script. Nobody claims the Script in a vacuum is Turing complete which is important and by design, including the article which clearly says "Each step in running the Turing machine is triggered by a Bitcoin transaction."

Others have explained this too, so forgive me if your account age combined with Greg's precense, your arguments style, and the very peculiar coincidence that your handle matches a known BSV proponent on Reddit who Greg just happened to tag in connection with this post suggest you are being disingenuous.

Re:Turing Machines on Bitcoin by nullc on Sunday September 19, 2021 @08:58PM (#28589409)
Wright himself has claimed many times that Script itself is turing complete-- in fact that is the thesis of the almost entirely plagiarized “A Proof of Turing Completeness in Bitcoin Script”, an analysis of which is linked in my long comment here. Certainly the article linked here appears to try to cause the reader to believe the same thing.

> The concept of a Turing machine has been well defined. It would be sufficient to show that Bitcoin uses a dual-stack architecture that acts as a dual counter machine. Such systems have already been demonstrated as being Turing complete.

Or in another article he wrote:

> We demonstrate that the Bitcoin Script language allows not only for primitive recursion, but in the deployment of an Ackerman function and hence the ability to simply recurse in Bitcoin script, we show that the script system is Turing complete.

Or, just a week ago, Wright wrote (https://archive.is/qztvz):

> Bitcoin is a Turing-complete system even in script

(But we shouldn't be too surprised, since we know that Craig failed Theory of Computation-- https://twitter.com/Zectro1/status/1124185673110622208 which was arguably the only real computer science course he took in school, the rest being IT trade classes)

The truthful claim he could have made instead is that script implements a universal circuit of fixed size which you can use to verify steps in transcripts of programs in TC languages... but while true, that's not novel or interesting and and been pointed out by other Bitcoiners long before Craig discovered Bitcoin.

I can confirm that I don't know anything about Truth_machine here and I was initially confused by why an account name used by a well known dishonest BSV promoter to evade bans was being truthful for a change.

I don't post anywhere about Bitcoin related stuff except under accounts clearly identified as me. The claim that I'm operating other accounts here isn't just unfounded, it's malicious defamation intended to protect and enable an organized campaign of fraud. Unfortunately, Wright's absurd vexatious litigation against parties that expose his fraud has caused some people to make their comments in the public interest anonymously, to reduce the risk that they are hit with a $6 billion dollar SLAPP suit (as I have been).

But since you're interested in coincidences, Luke Rohenaz, perhaps you'd like to discuss with us the fact that you're here promoting BSV while being funded by Calvin Ayre a former (?) drug smuggler and indicted money launderer who spent ten years on the DHS most wanted list, and spent 20 years under a trading and director/officer ban due to operating pump&dump schemes, and whom has invested at least $300 million dollars (by his own reporting) into promoting BSV and Wright's fraud and is financing Wright's litigation in exchange for being promised a share of Bitcoin holdings which wright doesn't have access to (and never had access to).

Re:Turing Machines on Bitcoin by mpapec on Monday September 20, 2021 @02:09AM (#28590768)
> The claim that I'm operating other accounts here isn't just unfounded, it's malicious defamation

Actually you have been caught at least once in sockpuppeting, so it's not a defamation rather a possible and realistic scenario which shouldn't be dismissed.

https://archive.ph/472MO

Re:Turing Machines on Bitcoin by nullc on Monday September 20, 2021 @02:32AM (#28590870)
That claim is utterly false. All you're effectively doing is saying that someone has maliciously defamed me before and so it's okay to write more of it. It's not. Cut it out.

The person that page accuses of being me is a well known, highly respected community member with a decade long extremely high volume history who is utterly distinct from me-- and whos interest don't overlap mine significantly (outside of Bitcoin and the Craig Wright scam). Moreover, Wright previously admitted that contrarian__ is not me.

[Aside, mpapec is an account Craig Wright has previously used to evade his ban on HN: https://news.ycombinator.com/item?id=21978954 --- perhaps Wright out spend some time responding to his pathetic lawsuit against me instead of delaying his response and harassing me online.]

Re:Turing Machines on Bitcoin by mpapec on Monday September 20, 2021 @05:03AM (#28591645)
> That claim is utterly false.

Can you repeat that using some of sock accounts?

It would appear more convincing if coming from puppets too. :)

Re:Turing Machines on Bitcoin by wildsatchmo on Sunday September 19, 2021 @09:40PM (#28589607)
Here is CSW's original claim that Bitcoin is Turing complete that took many by surprise including Nick Szabo. They heard it as you did, specifically addressing Bitcoin Script.

He immediately corrects them:

"The difference is that the SCRIPT ITSELF ISN'T, what you can do is..."

So there you go. Clearly not what you're claiming here, and if he said anything similar casually I'm sure this is exactly what he means, as he has stated many times, as the article states, as others have stated, as I understand it, and as can be observed.

https://youtu.be/LdvQTwjVmrE?t=1083

I'm glad to hear you never post under other accounts.

Re:Turing Machines on Bitcoin by midmagico on Monday September 20, 2021 @10:12AM (#28593956)
You knew this already. Also, Craig's defending the claim using statements about Forth-likeness, which is the same thing he insists Bitcoin script is because magic-of-a-second-stack. Additionally, he re-iterated the exact claim that Bitcoin script itself is Turing complete with the assistance of Ian Grigg. Ian references often a paper asserting it is so, which I and two or three others completely refuted as nonsense, since the paper itself actually references another blockchain entirely which itself has looping constructs, but then Ian, Craig et al make the absurd claim that because it this other blockchain's script is "Bitcoin-like" then Bitcoin itself is therefore also Turing complete.

But then he also wrote a paper asserting that Bitcoin script is Turing complete:

https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3265157

In other words, it's layers of bullshit all the way down.

By the way, just for fun, Craig Wright also made the absurd assertion that the second stack can be used to create constructs that can't be implemented with a single stack, so he's stupid in that sense, too, as I demonstrated with a single sequence of single-stack opcodes which accomplishes the exact same thing he stupidly asserted couldn't be done.

https://twitter.com/midmagic/status/924844200645902336

Re:Turing Machines on Bitcoin by truth_machine on Monday September 20, 2021 @03:00PM (#28597403)
> You're conflating (intentionally?) Bitcoin the system vs Bitcoin Script

What is "Bitcoin the system"? What are the parts of this system? You are saying this in a way that implies the existence of widespread and commonly accepted definition of the "Bitcoin the system". What is the name that definition gives to the part of the system that houses assorted external pieces of code that are required to stitch together different transactions in this article? Is it "Bitcoin application server", or "Bitcoin workflow engine", or "Bitcoin process management engine" or something of the sort? Are there guides on programming it? There must be some articles, possibly on wikipedia, that clearly show this component and give it a name. Would it be installed if I were to download the node software (for the Bitcoin or Bitcoin SV - does not matter).

I do not believe that "Bitcoin" implies that "arbitrary code that sends Bitcoin transactions to the network/mempool" is always part of Bitcoin.

> including the article which clearly says "Each step in running the Turing machine is triggered by a Bitcoin transaction."

Let's examine this.

The article opens with: "We have empirically demonstrated that any Turing machine can be simulated on Bitcoin and thus definitively proven it is Turing-complete¹. We have implemented a Turing machine that recognizes balanced parentheses and deployed it on the Bitcoin blockchain."

And ends with: "Thus, any Turing machine can be simulated on Bitcoin, conclusively proving Bitcoin is Turing-Complete by definition. QED."

The part that you have cited is followed by the statement that you chose to omit. Let me pull a longer citation: "Each step in running the Turing machine is triggered by a Bitcoin transaction. The Turing machines can keep running, unless it enters an accepted state.<end of section>"

I am missing the place where the author has _clearly_ indicated that "The Turing machines can keep running, unless it enters an accepted state" is only possible with the aid of some external mechanism.

Abstract and conclusion are also entierly fail to mention the need for the Turing-complete external component that you have to have to keep the whole thing running.

I'd say that article "clearly says" something that is different entirely from what you claim it says.

> forgive me if your account age combined with Greg's precense, your arguments style, and the very peculiar coincidence that your handle matches a known BSV proponent on Reddit who Greg just happened to tag in connection with this post suggest you are being disingenuous.

FFS, you seem to be very fixated on attacking my personality instead of addressing my arguments, you know? No, I will not forgive you. If you won't stop, I will not respond to you anymore.

Re:Turing Machines on Bitcoin by tombeak on Sunday September 19, 2021 @10:23PM (#28589836)
Have you watched this short clip? It may clear your misunderstanding of the topic. https://www.youtube.com/watch?v=MwGRfJ0L5eQ
Re:Turing Machines on Bitcoin by nullc on Monday September 20, 2021 @11:05AM (#28594596)
Better to watch this short clip, which debunks the above clip point by point: https://www.dailymotion.com/video/x7y4gch
Re:Turing Machines on Bitcoin by tombeak on Monday September 20, 2021 @09:37PM (#28601162)
Re:Turing Machines on Bitcoin by nullc on Monday September 20, 2021 @10:46PM (#28601559)
Compare that article:

> Shannon (1956) looked at the concept provided by Turing to make a mechanical or other electric machine and made an error in the description. Unfortunately, Shannon described Turing's machine as a system that requires "a control element, a reading and writing head, and an infinite tape". It was not Turing that stated that a Turing machine must be infinite but rather Shannon. Whilst Shannon produced some excellent engineering; he was not a mathematician. -- Craig (Fraudtoshi) Wright

to

> Some years ago I was researching on what might now be described as an investigation of the theoretical possibilities and limitations of digital computing machines. I considered a type of machine which had a central mechanism, and an infinite memory which was contained on an infinite tape. This type of machine appeared to be sufficiently general. One of my conclusions was that the idea of a 'rule of thumb' process and a 'machine process' were synonymous. The expression 'machine process' of course means one which could be carried out by the type of machine I was considering. lt was essential in these theoretical arguments that the memory should be infinite. It can easily be shown that otherwise the machine can only execute periodic operations. -- Lecture to the London Mathematical Society, Alan Turing, 1947

Turing himself directly refutes Wright's nonsense and did so over 70 years ago.

Wright also claims that Shannon wasn't a mathematician... but Shannon's PHD was in Mathematics! ... and isn't it usually engineers who dispense with the infinities? ... Wright better let the NYT know than Shannon wasn't a mathematician ( https://www.nytimes.com/2001/02/27/nyregion/claude-shannon-m... ).