Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
when resolving a loop, each participants makes a small profit (that is their motivation for participating), but it's hard to make sure this profit gets distributed fairly, due to the diner's dilemma.
a possible solution for this is to slowly resolve loops with small amounts at a time. Whoever is in more of a hurry pays the higher fee. making it go slower may sound annoying UX, but it's actually useful, since it will mean you just wait for other payments to net against. "later" is a compromise between "yes" and "no", and also the money isn't tied up while it's unsettled. suppose there is a triangular flow of goods, continuously topping up a debt cycle, and it's against its limits, so the faster the cycle is resolved, the faster more goods can continue to flow. if all participants want these goods to flow, they can increase the chunk amounts to increase throughput. whoever is in more of a hurry to send more goods, pays a higher transaction fee to make the debt cycle resolution go faster.