pull down to refresh

To reiterate, Bitcoin is now as Turing Complete as any other chain, and this requires zero changes to Bitcoin.
It’s become a canon maxi talking point that Turing Complete = Bad. This is silly for a number of reasons.
Firstly nothing in our reality will ever be TRULY Turing Complete, because the technical definition of Turing Complete actually requires an UNBOUNDED runtime, and we just don’t have an unbounded amount of space and time to accommodate for that.
Along the way a small cabal of script hackers such as @robin_linus and @super_testnet have figured out how to hack in all of the functionality we would want from a generalized computer into Bitcoin’s extremely limited OP set, so the only thing that has kept Bitcoin’s VM from being as Turing complete as something like Ethereum’s was not a matter of expressivity, but simply a matter of Runtime, with the most stringent limitation being the stack size limit.
All BitVM does is allow us to split the runtime of some logic that would be out of bounds of a single transaction ACROSS MULTIPLE TRANSACTIONS. That’s it. We aren’t adding any new semantic features, we just are exponentially increasing the length of the programs we can run.
So Bitcoin really isn’t any more Turing Complete by the technical definition as it was before, it simply has been given a runtime to its programs that we can reasonably say it’s “Turing complete enough” for any program that we could realistically want to execute.
Secondly this is the best thing possible for ossification. Why add in an Opcode when Bitcoin can already simulate any opcode imaginable? The debate now shifts to features to increase efficiency, privacy, security and not about features. Adding in this kind of functionality actually REDUCES risk for Bitcoin, precisely because it reduces the need for it to change in the future.
Thirdly being able to have satisfaction of arbitrary logical constraints means that you can cut out all kinds of trusted or semi-trusted escrow services that a version of Bitcoin without this requires. Congestion control/Coinjoin aggregators, sidechain quorums, certain types of DLC oracle type stuff all can go from trusted/semi trusted to 100% trustless. Bitcoin’s trustlessness is only as strong as the weakest link in the interaction you are engaging in with it. Oh and it means that Drivechains are unnecessary.
Finally this is opt-in. If you don’t trust your coins being locked to some Turing complete contract (totally reasonable) then don’t lock them to a Turing complete smart contract. One of beauties of the UTXO system is security sandboxing.
If people really feel strongly that Bitcoin shouldn’t have this functionality, perhaps for issues of incentives or something, that’s a conversation that should be had, but basically it would require ripping out Taproot, which seems very dumb at this point.