As specified in BOLT 3, in the commitment transactions the to_local output
is time-locked with OP_CSV while the to_remote is a simple P2WPKH. The
to_local output must be time-locked in order to allow the other party to
come online and sweep funds from a published revoked commitment. In the
case of an honest unilateral close, however, this wastes the time-value of
capital locked in the channel for the publisher but not the other party.

This seems to create perverse incentives where a party that goes offline
and forces a unilateral close is not penalized and only the party that
broadcasts is. I see this as a problem in both normal operation and attack
scenarios. Consider cases where the peer is misbehaving and the node needs
to broadcast to chain. Concretely, consider a case where the other party
does not send an update_fail_htlc after it expires. A rational node might
decide to just become unresponsive instead of broadcasting the commitment
in the hopes that the other party publishes instead. Or if the value of the
HTLC is sufficient, it would want to claim the time-locked output ASAP in
which case the misbehaving peer is not punished and gets access to its
funds immediately.

I find it easier to analyze the game theory of these situations if the
to_remote output is also time-locked by the to_remote_delay. Making the
consequence of an on-chain settlement symmetric changes the game from
chicken [1] to a tragedy of the commons [2]. I'm curious how other people
think about this.

-jimpo

[1] https://en.wikipedia.org/wiki/Chicken_(game)
[2] https://en.wikipedia.org/wiki/Tragedy_of_the_commons
_______________________________________________
Lightning-dev mailing list
Lightning-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/lightning-dev

Reply via email to