From One-Time to Many-Time: Merkle Trees
Root = Hash(H(leaf_0), H(leaf_1), ..., H(leaf_n))
↑
sign this with a one-time key
leaf_i = OTS public key for the i-th signature
Signing message k: use leaf_k's one-time key, include Merkle inclusion proof.
Verifying: verify OTS, verify Merkle path up to root.
Root = the long-term public key.
Each leaf = one signature. Tree depth determines how many signatures you can make.