Zero-fee commitments for mobile wallets

We would want to sign this new variant with SIGHASH_ALL.

The only reason to do SIGHASH_SINGLE | SIGHASH_ANYONECANPAY is so the mobile user can add their own input and output to pay fees, which we’re trying to avoid here. And allowing the user to add their own outputs means that they can claim any excess mining fees for themselves when broadcasting a revoked commitment+HTLC package.

In the above example, the wallet user could broadcast the revoked package and claim some portion of the 2500 sat intended for fees. Depending on the size of the channel and whether the LSP allows zero-reserve, it shouldn’t be difficult for the user to profit from this.

1 Like