Description
With anchor outputs, we depend on RBF (adding additional inputs) to ensure HTLC transactions can get confirmed in time.
The more I think about it, the more I find it very sad and unsatisfactory, for the following reasons:
- The value of the HTLC is entirely contained in the HTLC transaction, so we shouldn't need additional inputs
- It introduces a strong coupling between layer 1 and layer 2, with quite a lot of complexity at scale (routing nodes with a lot of channels will need to reserve/produce utxos, thus locking on-chain capacity for no good reason and potentially paying a lot of on-chain fees to manage their utxo pool if they want to guarantee perfect funds safety)
- It forces HTLC transactions to be bigger (at least one more input) and thus costs more fees
It would be a lot better if we could set the feerate of an HTLC transaction by simply updating the output amount at broadcast time (and changing it again if necessary to bump the fees).
Would it be completely unreasonable to devise a sighash flag that allows this?
It feels to me that this could be generally useful for offchain contracts and easily "safe".
There are details to iron out, and it would take a lot of time to get it accepted in bitcoin, so my question right now is: "is this completely unreasonable or short-sighted or does it make sense to explore this seriously?".
I'm interested in your thoughts @ariard @TheBlueMatt @rustyrussell @cdecker @halseth @joostjager @Roasbeef (and of course anyone else who can spare time thinking about this issue).