Blockstream announced on Twitter that they have developed a new product. It’s called Jets, and it is intended to help developers in their development work on and on top of Bitcoin.

Simplicity is a typed, combinator-based, functional language without loops and recursion, designed to be used for crypto-currencies and blockchain applications

Bitcoin code

Bitcoiner and investor Leah Wald shares more about this product in a thread. It is a preview of Simplicity, a coding language developed by Blockstream. There are already a number of existing bitcoin programming languages:

Bitcoin Script: You have Bitcoin Script with which you can “program” things, but this causes some problems.

Miniscript: Miniscript is also a simplified version that makes it even easier to program certain conditions under which you can send Bitcoins. Pieter Wuille worked with Andrew Poelstra and Sanket Sanjakar on this project for a year.

Simplicity is a similar principle. It’s a programming language specifically designed for formal verification of correctness and for efficiency. It should remove limitations of Bitcoin scripting on Bitcoin and similar chains such as Liquid and Elements.

It brings with it a number of applications:

Introspection: you can only execute a transaction if you meet the predefined criteria.

General use: it supports any program a developer can think of;

Extensibility: new functionality at library-level can be implemented in Simplicity itself, such as Schnorr Signatures.



You can also use it to develop special vaults (or: digital vaults) and perform atomic swaps. Quite a handy piece of software.

Release of Jets

But so far there wasn’t much news. In order to implement Simplicity, a function called Jets is needed.

These are small pieces of Simplicity software that can be used efficiently for implementations in coding language such as C.

3/ Jets let you optimize them but still prove its the same as Simplicity programs, which are easier to prove they are correct- streamlines contract development.



Background: Liquid is built on top of elements, open-source- and is one instance. — leahwald (@LeahWald) April 14, 2020

Simply said: Jets make the use of Simplicity much more efficient. Normally, it takes hardly any time to perform a Schnor Signature check. But without Jets it would take 11 minutes, as can be seen in the picture below.

Efficiency in use

With the jets as default, there is no need to drag and drop over the original code of Simplicity within the network.

It is not applicable to the entire blockchain, which makes data and storage much more useful.

A normal Bitcoin Script functionality is 107 bytes. Without Jets, this would have been increased to 14,635 bytes in the new Simplicitiy code language. With Jets, 448 bytes is enough to perform a certain functionality.

6/ #Simplicity is a low-level programming language that makes things like validating a sig, slow. Good because of the power of being perfectly low-level descriptive but can be optimized & fast with higher-level languages like C & prove it is Identical to the Simplicity program — leahwald (@LeahWald) April 14, 2020

So with the arrival of Jets, there is a step in the development of new Bitcoin products. Several examples have been mentioned in the blogpost and on Twitter, such as implementing Taproot on Liquid.