Satoshi Nakamoto introduced the Bitcoin protocol in 2008. It was written in C++ and extended with scripts that allow automatic execution of some actions, e.g. verification of signatures and multi signatures. The instructions are written in a unique scripting language Script, created specifically for Bitcoin. According to Turing, it is incomplete, which makes it safer than other popular languages and also easy to understand and use.
Nevertheless, Script is not free from shortcomings. The main of them are some contradictions that do not allow users of the Bitcoin network to fully use smart contracts. Along with the well-known scalability issue, it became the reason for official updates in order to improve the code and for the emerging of the first hard forks and altcoins.
A smart contract is a self-executing algorithm that guarantees a secure exchange of assets without third-party intervention. It contains conditions that complete the transaction when they are fulfilled. It is possible to say that blockchain is impossible without smart contracts.
Crypto enthusiasts believe that smart contracts have been first introduced on the ‘second generation’ blockchain in Ethereum. However, a blockchain of the number one cryptocurrency also supports them, because every transaction in the Bitcoin network is a simple smart contract.
Script is the name of the Bitcoin scripting language. It is based on Forth and allows for secure transactions on the network. Its main characteristics:
Among the instructions: conditional (if/then constructions), arithmetic, logical, crypto instructions. In most cases, only one script — signature verification — is used. It replaces the third party during settlements on the Bitcoin network, guaranteeing the fulfilment of the previously agreed conditions by each party and avoiding double-spending.
Despite all advantages, Script is not suitable for full-fledged smart contracts, as it cannot guarantee their correct execution and security. Therefore, since 2008, the development team has worked to create its improved version. At the head of the team:
On 20 August 2019, a new language was introduced — Miniscript. How is it different from its predecessor? The differences are in its functionality, advanced features, and readability.
Miniscript still needs refinement, but professional blockchain developers (including those not involved in the project) actively comment on the project, placing high hopes on it. According to expert programmers, it can:
The idea is that the fast-acting and easy-to-use Miniscript will be fully compatible with the Bitcoin consensus, and its implementation will not require any changes.
Thus, the update will make the cryptocurrency more adapted to the market situation. It will be able to solve some typical issues and expand the functionality by bringing the blockchain of the main digital asset closer to Blockchain 2.0.