What is MAST
MAST, short for Merkelized Abstract Syntax Trees, proposes to improve Bitcoin by changing how smart contracts are written to the blockchain. In effect, it allows smart contracts to be split into their individual parts. This has several benefits in terms of privacy, transaction size and allowing for larger smart contracts.
What is the idea behind MAST
The idea behind MAST comes from two pre-existing concepts, abstract syntax trees and merkle trees. In short, the technique behind ASTs allows us to split a program into its individual parts, and merkle trees allow us to verify the individual parts belong to a complete program without the entire program being present. This is the basis of MAST, which allows spenders to replace the unused parts of encumbrances with a merkle proof — reducing transaction size, increasing privacy, and making larger smart contracts possible.
Merkle trees are a cryptographic tool that facilitates the reduction of the size of data within a block. Using a Merkle root, it is possible to confirm whether the data within a Merkle tree is true without the need to download all of the data.
MAST doesn’t enable new smart contracts per se, but by reducing the size of the data necessary for bitcoin scripts, it enables “complicated redemption conditions” that aren’t currently viable partially because of space constraints.
Benefits of MAST
- Increase Flexibility of Smart Contracts – Only 1 script is included in the needed transaction. This leads to freedom from number of ways to spend bitcoins, whether 1, 20 or 100 – it doesn’t matter.
- Improve Scalability – All Constructs with P2SH can be unlocked by only publishing all the scripts. This leads for big transactions, data-wise and fee-wise. MAST needs users to include script that is truly used in the end, hence improving Scalability.
- Improve Platform Privacy – MAST keeps Unused Scripts hidden forever…
Where did Idea behind MAST Originate?
- Blockstream Developer Russel O-Connor,
- Blockstream and Bitcoin Core Developer Dr. Pieter Wuille,
- Bitcoin Core Developer Peter Todd,
- Dr. Johnson Lau initially drafted MAST into BIP ( Bitcoin Improvement Propoasal).
MAST is being proposed in two development streams. BIP 114 was updated in September of 2017 by developer Johnson Lau. The other implementation involves BIPs 98, 116 and 117. A comparison of the differences between the two versions can be seen here. There were recent updates to 117 in January 2018. There is no final release date, though Andreas Antonopoulos said in a recent video that a testnet release could happen in “early 2018.”