Difference and resources for Miniscript and Simplicity?

Miniscript is an encoding of Bitcoin Script. The functionality of Miniscript is a subset of Script so there is nothing you can do with Miniscript that you can’t do with Script. Therefore scripts decoded from Miniscript can be used on Bitcoin mainnet today in addition to testnet, regtest, signet and Elements.

In terms of Miniscript resources (in addition to the one you posted), the following are useful:

  • Andrew Poelstra presentation at London Bitcoin Devs in 2020
  • Andrew Poelstra workshop at Advancing Bitcoin 2020
  • Blockstream blog post in September 2019
  • PR to add Miniscript support to Bitcoin Core (C++)
  • PR to add Miniscript support to Bitcoin Core test framework (Python)
  • rust-miniscript library (Rust)

Simplicity, depending on which jets are enabled, has greater functionality than Script and is a direct alternative to Script rather than just an encoding. In addition:

Simplicity is a work-in-progress low-level programming language with greater flexibility and expressiveness than Bitcoin Script. It allows you to verify the safety, security and costs of a program.

It is supported on this test branch of Bitcoin Core and in Elements but not yet on Bitcoin mainnet.

In terms of Simplicity resources, the following are useful: