One limitation of Bitcoin script is that it's not turing complete. But there are sidechains like rsk with defi apps like sovryn that bring smart contracts and defi to BTC.
Bitcoin is deliberately and wisely not Turing complete. That gives a lot of power and mischief-making ability to anonymous entities in an adversarial environment.
It's partly why Bitcoin is 5x Ethereum's market cap, despite technically being less capable. It's less capable of losing money, of DAO attacks, or other serious failures too.
Bitcoin is five times the price of Etherium because it was the first cryptocurrency and everyone knows its name. It has nothing to do with the technical abilities of either.
I generally agree with this. But Ethereum is "less finished" than Bitcoin. I feel like this situation might be different in a year or two once ETH2 is fully rolled out. Right now, ETH is a bit more risky. There's no doubt that more economic activity is happening on the ETH chain, though
Turing completeness is an anti feature in financial system like bitcoin. And pretty much zero contracts currently deployed to ethereum require Turing completeness. It’s just a buzzword to sell you this gigantic pre-mine scam.
Well, you’re misguided. It’s not the language, it’s platform features like kv store attached to blockchain that make these dapps possible to implement. And none of them require Turing completeness.
Branching and looping are constructs that you can have in non-Turing complete language with some limitations that don’t matter in practice for the purpose of ethereum or bitcoin scripts.
These are deliberate redefinitions of the term "Turing complete". The reasonable interpretation is that evaluating a single block can involve an arbitrary computation (if given enough gas). Ethereum has this property, Bitcoin doesn't.
These redefinitions say that you can take a few computation steps per Bitcoin block and save their state such that a later block can take a few more steps, so over time, very slowly, spread out over many blocks, Bitcoin can also implement an arbitrary computation. This is theoretically cute but otherwise useless.
The universe is finite so no Turing complete computing devices can ever exist.
Ethereum has a Turing complete language that is only limited in practice by external constraints like the gas limit. Bitcoin doesn't have such a language.
The EVM is TC in that you cannot determine if a snippet of code will halt, given sufficient gas. EVM code is undecidable, whereas Bitcoin script is not.
That's not a limitation. There is absolutely no reason to have a Turing-complete language in bitcoin.
This can even be proved from first principles: bitcoin, and blockchains generally exist to validate the execution of contracts which have already occurred in meat-space. Basically you and I agree to conditions under which some money is transferred from me to you and vice-versa, which is the actual contract, then write a program (the "smart" contract) which validates that those rules were faithfully executed. It can be shown though that any Turing-complete contract rules can be validated using a non-Turing-complete language like Bitcoin script (ignoring runtime limits). The block chain doesn't need to run every contract, it just needs to validate that every contract ran correctly. A different problem, for which Turing completeness is not required.
Edit: For the down-voters, show me a Turing-complete contract that can't have its execution trace validated in a non-Turing complete language. In the 10 years I've been in this space I've yet to encounter a single one.