Improve Lightning payment reliability through better error attribution



Summary:

When a Lightning Network node reports an error, it must wait for `revoke_and_ack` before propagating the error report upstream to ensure that it can be safely sent. This is because if the node reports the error too soon and does not receive the necessary response from the other nodes, it can degrade user experience. However, `update_fulfill_htlc` does not require waiting for `revoke_and_ack` as it is always reported immediately upstream. While background probing can provide more information before problems occur for "real" payments, this process may not scale well and could be limited for private channels. Therefore, probes should be used sparingly, but fat errors are still useful to get maximum value out of the probe and minimize the number of probes required.


Updated on: 2023-06-02T18:41:51.361282+00:00