Batch Output
Virtual Transaction Tree Structure
A batch output encapsulates multiple users’ ownership claims (VTXOs) through a tree of presigned virtual transactions while still allowing, in the worst case, every VTXO holder to exit unilaterally. The leaves of the virtual transaction tree (A, B, C, D) created by the batch output are the VTXOs, ie. the offchain ownership claims of users.

- Larger trees: Require more interactive signing sessions during batch creation, as each branch of the tree needs to be signed by its participants
- Smaller trees: Reduce interactivity but could result in larger settlement costs per participants
Technical Implementation
A batch output is a transaction output which locked by a taproot script with an n-of-n Musig2 internal key, and all associated VTXO owners as cosigners. A batch output consists of an unspendable key path and exactly two script paths:- A sweep path that allows the operator to spend the entire output after a timeout, the so-called batch expiry
- An unroll path that enables to split the single batch output into separate VTXO branches of the virtual transaction tree