Since its conception in 2008 with Bitcoin [1]}, blockchain technologies have been the focus of much attention.
Although successful at achieving its initially proposed purpose of providing a peer-to-peer electronic cash system, Bitcoin was conceived  as an autonomous global currency with guaranteed scarcity, and as such, offered limited programmability and functionality.
The designers of the following generation of blockchain systems mainly problematised this point and endeavoured on expanding blockchain capabilities. With the introduction of smart contracts by the Ethereum [2]}, the blockchain technology met Turing-complete programming functionalities.
