Author: Clara Shikhelman 2022-11-15 20:09:15
Published on: 2022-11-15T20:09:15+00:00
A recent research on jamming in Lightning was proposed by Sergei Tikhomirov and Clara Shikhelman. They suggest a combination of unconditional fees and local reputation to fight jamming, which can be a basis for an efficient and practical solution that can be implemented in the foreseeable future. Unconditional fees are proposed to discourage quick jamming while reputation is used to prevent slow jamming. With unconditional fees, jamming is no longer free and simulations indicate that fees don’t have to be too high. Under certain assumptions about the honest payment flow, a fee increase by just 2% (paid upfront) fully compensates a routing node under attack. A PoC implementation demonstrates one approach to implementing unconditional fees and only requires minor changes. The additional (unconditional) fees can be relatively low (as low as 2% of the total fee) to fully compensate jamming victims for the lost routing revenue. However, with reputation, nodes keep track of their peers’ past behavior. A routing node considers its peer “good” if it only forwards honest payments that resolve quickly and bring sufficient fee revenue. A peer that forwards jams loses reputation. Payments endorsed by a high-reputation peer are forwarded on the best efforts basis, while other (“high-risk”) payments can only use a predefined quota of liquidity and slots. Unless the attacker has built up a reputation in advance, it cannot fully jam a channel with at least some liquidity allocated exclusively to low-risk payments. Nodes parameterize their channels according to their risk tolerance. Fees are not very effective in preventing slow jamming: this type of attack requires only a few jams, therefore, fees would have to be too high to be effective.In addition, Matt Corallo states that he doesn't know if he agrees with "... upfront payments kinda kill the lightning UX ...", as he thinks that upfront fees are almost essential, even outside the context of jamming. This also helps with probing, general spam, and other aspects. Furthermore, he thinks that the UX is very explainable, and in general nodes shouldn't be motivated to send a lot of failed payments, and should adopt better routing strategies. Rusty's suggestions are also mentioned, but Matt mentions there may be privacy issues. He agrees that we should tread carefully and not rush into things, and that it's worth exploring every alternative before committing to anything. A network-wide upgrade should only be done when we're confident it's the right direction.
Updated on: 2023-06-03T10:37:06.611369+00:00