MAST is a method of using a merkle tree to store the various user-selected conditions that must be fulfilled in order for the encumbered bitcoins to be spent. Using a merkle tree allows the spender to select which one of the conditions they’ll fulfill without having to reveal the details of other conditions to the block chain.

Users of MAST who are able to keep unused conditions off of the block chain will enjoy lower fees, be able to create larger contracts than currently possible, will have improved privacy, and will improve the fungibility of their bitcoins.

MAST has been discussed generically in Bitcoin since 2013 and there have been several concrete proposals to add it to Bitcoin:

Note: the abbreviation MAST originally stood for Merklized Abstract Syntax Trees as proposed by Russell O’Connor based on merkle trees and abstract syntax trees. Subsequent proposals no longer use anything like abstract syntax trees but people continued to use the name “MAST” for them, leading Anthony Towns to propose the backronym Merklized Alternative Script Trees.

Primary code and documentation

Optech newsletter and website mentions

See also

Previous Topic:
Just-in-time (JIT) routing
Next Topic:
Miniscript

Edit page
Report Issue