Unjamming LN
Characteristics of a Good Mitigation
Overview of the suggested solution
Isn’t reputation enough?
Isn’t unconditional fees enough?
Sat
20
50,000
Too cheap for attacker
Too expensive for regular user
Reputation + Fee
HTLC Endorsement
HTLC Endorsement
HTLC Endorsement
Alice
Bob
Carol
Dave
Sender Endorses
Alice
Bob
Carol
Dave
Endorsed = 1
Alice
Bob
Carol
Dave
Endorsed = 1
✅
Incoming node has good reputation
Endorsement Signal Propagates
Alice
Bob
Carol
Dave
Endorsed = 1
Incoming node has neutral reputation
Alice
Bob
Carol
Dave
Endorsed = 1
❓
Endorsement Signal Drops
Alice
Bob
Carol
Dave
Endorsed = 0
Importance of Endorsement
Resource Bucketing
Resource Bucketing
HTLC Classification
Honest
iff endorsed AND good local reputation
Unknown
otherwise
Resource Bucketing
10 slots
Resource Bucketing
unknown_allocation_slots = 4
Resource Bucketing
4 slots unknown
Resource Bucketing
6 slots reserved
4 slots unknown
Resource Bucketing
6 slots available
4 slots available
Not Endorsed
endorsed=0
6 slots available
4 slots available
Not Endorsed
Unknown
6 slots available
3 slots available
Not Endorsed
endorsed=0
Unknown
6 slots available
3 slots available
Endorsed / Good Reputation
Unknown
Unknown
6 slots available
2 slots available
Endorsed / Good Reputation
Unknown
endorsed=1
Unknown
6 slots available
2 slots available
Endorsed / Good Reputation
Unknown
endorsed=1
Unknown
6 slots available
2 slots available
✅
Endorsed / Good Reputation
Unknown
Unknown
Honest
5 slots available
2 slots available
Endorsed / Neutral Reputation
Unknown
endorsed=1
Unknown
5 slots available
2 slots available
Honest
Endorsed / Neutral Reputation
Unknown
endorsed=1
Unknown
5 slots available
2 slots available
❓
Honest
Endorsed / Neutral Reputation
Unknown
Unknown
Honest
5 slots available
1 slot available
Honest
Unknown
Limited Exposure during Congestion
Unknown
Unknown
Honest
5 slots available
1 slot available
Unknown
endorsed=0
Limited Exposure during Congestion
Unknown
Unknown
Honest
5 slots available
0 slots available
Unknown
Unknown
Limited Exposure during Congestion
Unknown
Unknown
Honest
5 slots available
0 slots available
Unknown
Unknown
endorsed=0
Limited Exposure during Congestion
Unknown
Unknown
Honest
5 slots available
0 slots available
Unknown
Unknown
endorsed=0
Reserved Resources
Unknown
Unknown
Honest
5 slots available
0 slots available
Unknown
Unknown
Reserved Resources
Unknown
Unknown
Honest
5 slots available
0 slots available
Unknown
Unknown
endorsed=1
Reserved Resources
Unknown
Unknown
Honest
5 slots available
0 slots available
Unknown
Unknown
endorsed=1
✅
Unknown
Unknown
Honest
4 slots available
0 slots available
Unknown
Unknown
Honest
Reserved Resources
Local Reputation
Local Reputation
HTLC Reputation Delta
F = 100
T = 10s
0
10
20
30
40
60
70
Reputation Delta - Fast Success
F = 100
T = 10s
R = 2s
0
10
20
30
40
60
70
Reputation Delta - Fast Success
F = 100
T = 10s
R = 2s
0
10
20
30
40
60
70
Reputation = Fees - OC
Reputation Delta - Fast Success
F = 100
T = 10s
R = 2s
0
10
20
30
40
60
70
Reputation = Fees - OC
= 100 - 0
Reputation Delta - Fast Success
F = 100
T = 10s
R = 2s
0
10
20
30
40
60
70
Reputation = Fees - OC
= 100 - 0
= 100
Reputation Delta - Slow Success
F = 100
T = 10s
R = 35s
0
10
20
30
40
60
70
Reputation Delta - Slow Success
F = 100
T = 10s
R = 35s
0
10
20
30
40
60
70
Reputation = Fees - OC
Reputation Delta - Slow Success
F = 100
T = 10s
R = 35s
0
10
20
30
40
60
70
Reputation = Fees - OC
= 100 - 400
Reputation Delta - Slow Success
F = 100
T = 10s
R = 35s
0
10
20
30
40
60
70
Reputation = Fees - OC
= 100 - 400
= -300
Reputation Delta - Slow Failure
F = 100
T = 10s
R = 35s
0
10
20
30
40
60
70
Reputation Delta - Slow Failure
F = 100
T = 10s
R = 35s
0
10
20
30
40
60
70
Reputation = - OC
Reputation Delta - Slow Failure
F = 100
T = 10s
R = 35s
0
10
20
30
40
60
70
Reputation = - OC
= - 400
Reputation Delta
Classifying Local Reputation