lightninglabs/pool

account: use cooperative spend by default for MuSig2/Taproot accounts

guggero opened this issue · 0 comments

The expiry script path spend used to be cheaper for v0 (p2wsh) accounts because only one signature needed to be put on chain vs. 2 signatures for the cooperative spend. That's why we use the expiry script path by default if an account has expired and that path becomes available.
With the new v1 (p2tr) MuSig2/Taproot enabled accounts the cooperative spend now becomes cheaper in terms of chain space needed, since only a single Schnorr signature needs to be put in the witness and no script needs to be revealed. So we should always attempt a cooperative spend by default for v1 accounts.

Because the cooperative spend requires interaction with the server, the expiry script path spend should still be available as an option (e.g. pool accounts close --no-server) to allow fully server-independent withdrawal of funds for expired accounts.