A very interesting piece on LongHash about Simplicity, BlockStream proposed Programming Language for Bitcoin:
How to Make Advanced Smart Contracts Possible on BitcoinSimplicity is a new programming language for Bitcoin that allows for much greater flexibility in constructing smart contracts than what is possible on the Bitcoin network today. The low-level language was created by Blockstream Infrastructure Tech Developer Russell O’Connor.
Bitcoin programming is something that has always been included in Bitcoin protocol
Bitcoin creator Satoshi Nakamoto limited Bitcoin Script in the early days of the project for security reasons, and Simplicity can be seen as an attempt to offer much more flexibility in Bitcoin Script while also retaining an adherence to security and, as the name suggests, simplicity.
Here lies the difference with Bitcoin Script and also Miniscript, a higher level "interface" language to program using native Bitcoin Script: Simplicity is an evolution of Bitcoin protocol, requiring a soft fork to be implemented.
This opens what could be an interesting idea of making Bitcoin Protocol progress:
“Interesting implication: If Bitcoin had Simplicity scripts today, it [would become] self-extensible,” wrote Adam Back on Reddit. “Schnorr/Taproot [and] SIGHASH_NOINPUT would be implementable [directly].”
Here, Back is using proposed soft-forking changes in Bitcoin as examples of the types of additions that can be made to Bitcoin without changing the consensus rules if Simplicity were available in Bitcoin. When reached for comment directly, Back clarified, “I believe technically Taproot is not implementable with Simplicity from what Pieter [Wuille] was saying—though Schnorr is.”
No necessity of a hard fork to implement Schnorr, that would be implementable via soft fork. Of course it doesn't mean that if something is technically feasible, it is the best way to do that, as we must take into account also a wide array of argumentation in each way to progress.
No need to hold your breath for this to happen on Bitcoin protocol, even if some real world deployment can happen sooner than you might expect:
It should be noted that we’re likely still years away from Simplicity being added to Bitcoin’s mainnet. However, the scripting language is expected to be added to the Liquid sidechain later this year.
The Longhash article point a lot on the "make Bitcoin a smart contract platform like Ethereum". I personally don't like Bitcoin to be considered in the same league of Ethereum. And someone called Grubles, who works at Blockstream, agrees with me:
Grubles added that, in his view, Ethereum has done a lot of damage to the “smart contract” term with all of the various broken smart contracts that have been deployed on the platform over the years. For this reason, they think Bitcoin users who have been paying attention to Ethereum may not be excited to see smart contracts become more flexible on Liquid.
So, while we have been hearing about simplicity in the past few years, we might be close to its implementation in the coming months, even if in a "walled garden" of a Bitcoin federated sidechain. This would be a little bit of real world testing, smoothing and consensus building around this technology to be later safely implemented in Bitcoin Mainnet.
Learn more on Simplicity:
Webinar by Adam Back, BlockStream CEO.
Simplicity: Next-Gen Smart Contracting Webinar | April 8th 2020 | Dr. Adam BackBlockstream on Medium:
Simplicity: Jets Release A new developer preview of Simplicity introducing jets to streamline contract development