Acknowledgements in BOLT #2



Summary:

In a recent discussion, it has been realized that htlc ids are not sufficient in some cases and the acknowledge field needs to be taken into account. This is because in scenarios where A sends ADD HTLC X, ADD HTLC Y, ADD HTLC Z and B sends FAIL Y, then A sends SIG Z before receiving the last message from B. When B receives SIG Z which includes (X,Y,Z), it won't match the expected signature (X,Z) and may close the channel without knowing if A received the "FAIL Y" message or not. In such circumstances, checking the 'acknowledge' field becomes necessary as pointed out by Rusty.


Updated on: 2023-05-23T23:22:48.074261+00:00