Multi-hop swarm redistribution, what is the BIG idea?
Johan NygrenThe easiest may be to look at what the previous design did not solve. I had the idea in 2012 to do "wealth redistribution" via credit lines in Ripple. I then re-branded that idea in 2014 as "dividend pathways" since no one knew what Ripple (Ryan Fugger's original protocol from 2003) was.
In the original swarm redistribution design from 6 years ago, each person who paid tax would scan through many levels of credit lines, those who had credit lines to them, and then those who had credit lines to those who had credit lines to them, and then divide the tax on every single person they came across. That could easily be sybil attacked, and, had much more computation bottlenecks.
With this new design from last year, you only pay tax to those who have credit lines to you. They then "pay forward" the same behaviour, enforced by that they run a protocol that encodes rules for doing so, and pay an equal amount that they received. The word "pay" is wrong, what people do is forgive debt from those who have IOUs to them. This is similar to Silvio Gesell's notion of a "decaying currency".
Whenever you have outgoing IOUs only (negative balance), but no incoming IOUs, you are on "universal basic income", and whenever you belong to those paying less tax (making fewer transactions), you are also getting "basic income" although you do not see that when balance is compared to people with credit lines to you since they are _also_ getting UBI, via wealth redistribution that per definition is from "rich" to "poor".
The swarm redistribution, a “tax” that is drawn when IOUs are issued, is redistributed person-to-person. You decay credit lines (“forgive debt”) to those who have IOUs to you, they forgive an equal amount that they were forgiven, to those who have IOUs to them.

In a graph where each person has the same number of incoming credit lines, the number of people reached for each hop in a swarm redistribution pulse increases with that number of credit lines, creditLines**hops. That probability of receiving a pulse at a given distance increases per hop with the same factor that the swarm redistribution pulse amount decreases.
This script runs a simplified simulation of that, and creates a web of trust with a static number of trust lines per person. The swarm redistribution pulses then find credit line paths based on those trust lines, without any loops (credit lines in Ripple cannot loop, because when they do credit is cleared. )

Below is a visualization of the simulation script, created using pyvis, showing a graph of people each with 16 trust lines to another person, and a swarm redistribution pulse that hops via credit lines that are formed along trust lines.

This script runs an even more simplified simulation.

Transaction tax in a multi-hop payment network
Taxes are paid per intermediary in payment routing, equivalent to interest rates for the network as a whole, and distributed via swarm redistribution. The cost is covered by the person making the payment. In the example below, Alan would pay amount/tax_rate³, and tax_rate would be paid at each hop.

Agent-centric accounting and propagation of swarm redistribution
With person-to-person “swarm redistribution”, pulses have no clear point at which they end. The “pulses” will not be worth propagating as amounts approach zero, but many small amounts added together can then be worth continuing on. That means that multi-hop swarm redistribution has infinite recursion, the pulses continue forever, but are only propagated once the amounts get high enough to propagate.
References
Fugger, Ryan. (2004). Money as IOUs in Social Trust Networks and a Proposal for a Decentralized Currency Network Protocol.
Feige, Edgar L., Taxation for the 21ST Century: The Automated Payment Transaction (APT) Tax (June 1, 1998). Economic Policy, October 2000. Available at SSRN: https://ssrn.com/abstract=2486665