Local Reputation to Mitigate Slow Jamming



Summary:

The Lightning Network development team is seeking early feedback on a draft for a neighbor reputation setting recommendation to prevent jamming. The suggested solution includes upfront fees together with reputation. Reputation-based forwarding aims to solve "slow jamming," where the jamming transaction takes a long time to resolve. The idea is that each node gives a binary reputation to its neighbor, and each channel has a quota of liquidity and slots dedicated to transactions coming from neighbors with reputation 0 or for transactions coming from neighbors with reputation 1 that were not endorsed by the neighbor. To gain "good" reputation, Alice must continuously pay more fees to Bob than the damage she can inflict. The three main parameters for reputation that each node operator picks are S, L, and M. S should be chosen as the maximum time an HTLC can be unresolved in any of Bob’s channels. M represents the damage Alice could inflict and is calculated as the revenue generated by Bob's node in the time S. L is the time in which Alice should generate M revenue for Bob for her to have a good reputation of 1, and it is suggested that L=10S. Alice has reputation 1 if, in the last L seconds, she has forwarded payments that generated M satoshi in fees. The fee from a single transaction is normalized by the time it took for the HTLC to resolve, counted in slots of 10 seconds.The reputation management happens locally, and the only protocol change needed is the ability to signal endorsement as a TLV in UpdateAddHTLC. The various parameters can be selected for various risk preferences. The team currently suggests a binary reputation for simplicity, but having several buckets could be interesting to study. Reputation mostly comes into play only when a channel is under attack, and then not all transactions are allowed to go through. It is essential to note that the team is only giving reputation to direct neighbors, and this is also the only clean data available when deciding whether to forward an HTLC or not.


Updated on: 2023-06-03T12:06:42.174032+00:00