I never heard of all of this having happened. To my knowledge Bitcoin's scripting language was not trimmed, it was in fact extended over the years by various BIPs [1].
What's your source for these statements?
I never heard of all of this having happened. To my knowledge Bitcoin's scripting language was not trimmed, it was in fact extended over the years by various BIPs [1].
What's your source for these statements?
But to clarify that one bit (I think?) they're talking about -- the code is OP_RETURN. Originally it could return larger amounts of arbitrary data, which was used to effectively store external data on-chain. It was later reduced down to only allow 40 bytes, which would be enough for a hash, but not enough to store larger amounts of state.
This was what Vitalik Buterin and others were using for things like scripting and colored coins, and Vitalik cited (concerns that devs were threatening to constrain it / remove it as a major reason he started Ethereum.
---
Vitalik about OP_RETURN (wish I had link w/ more context) - https://twitter.com/vitalikbuterin/status/929808394487320577
Edit for detail: In 2010 the "worst bug in bitcoin's history" was discovered, which let anybody spend ANY output on the chain, due to an obscure feature of the bitcoin scripting system allowing the signature script to simply "return true" before the actual script is executed. This was when OP_RETURN's semantics were changed to unconditionally fail the script if ever encountered rather than the short-circuiting behavior implied by its name and present in early versions. A quick emergency audit was simultaneously done and ALL opcodes that were unused at the time and moderately complex to review were "disabled" as a precaution.
It's not clear that the developers understood at the time that they would not be able to re-enable those opcodes for existing scripts without a hard-fork. The distinguishing between soft-forks and hard-forks were still being worked out back then. So large parts of script were in fact removed, but it was done as part of an emergency bug-fix and the permanent disabling may not have even been intentional.
The disabled opcodes weren't really that important to smart contracts though, at least not without additional primitives that bitcoin never had. There are various proposals to add these features in to segwit script or the upcoming taproot extension.