Synonyms:
默克尔抽象语法树, Merkelized Abstract Syntax Tree
默克尔抽象语法树(Merkelized Abstract Syntax Tree,简称 MAST)是比特币网络在 Taproot 升级中引入的一种改进型脚本结构。该机制允许将复杂脚本里的各个执行条件拆分,编织成为一棵 Merkle 树,并在花费 UTXO 时只公布实际执行那部分分支以及对应的默克尔路径,而不用暴露整个脚本。这种方式有利于提升 UTXO 交易的隐私性以及执行效率。
其中,UTXO 的全称为 Unspent Transaction Output,它是比特币交易模型的核心机制。比特币网络会以 UTXO 为核心来记录链上的每一笔交易,并追踪所有比特币的流转情况。
举个例子,某笔 UTXO 被预设了三个条件:
- 需要 A 和 B 一起签名;
- 如果 A 单独签名,就需要等待 30 天;
- 如果使用某个有授权的第三方 C 的签名,也可以立即花费
如果不使用 MAST 结构,那么这三个条件都会被写进同一个脚本中。一旦该 UTXO 被花费,那么就需要公布整个脚本,即便只使用了其中一个条件,其他两个条件也必须向全网公开。但如果使用 MAST 结构,那么这三个条件就可以被拆开,分别放到同一棵 Merkle 树的不同分支中。当需要花费该 UTXO 时,只需要按照实际使用情况,公布存储了那一个条件的分支和验证路径,其他条件并不会一起被公布。