There are two timelocks in Lightning that each channel counterparties should conform to if a channel goes to be opened between them. These are (from BOLT5) to_self_delay
(a CSV relative timelock) which is related when a channel counterparty tries to cheat you and cltv_expiry
(a CLTV absolute timelock) which is related when you do not obtain the preimage of a HTLC you’ve got agreed to route.
Firstly, are the completely different Lightning implementations all converging on comparable defaults for these timelocks? What are they, how do they differ?
Secondly, what’s the negotiation course of for these timelocks? Say I would ideally like x
for the timelock, my channel counterparty would ideally like y
however we’re joyful to conform to a midway home. And even it needs to be x
for me in any other case I do not wish to open the channel? I am assuming this sort of factor is not potential and the “negotiation” is simply “This is the provide. Settle for it or not. If you happen to reject it I do not truly know the rationale you rejected it. It might have been since you needed a better timelock which perhaps I would have been completely pleased with however I by no means knew that is what you needed.”