You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Now that the payouts and anonymous downloading is functional, we should actually use the token balance to do something useful. The first iteration of such a policy will focus on the exit nodes. In particular, we create a basic mechanism that works in the case of over- and undersupply of bandwidth where freeriders get less priority.
After a small discussion with @synctext, we came up with a design for this. We create a fixed amount of slots on each exit node process. Each slot is capable of managing exactly one circuit. The current implementation restricts the maximum number of open circuits on the exit nodes to 100 but I think this is rather high. Instead, we could use 20 slots for a first version or even less?
We assume two types of slots: competing slots and equal opportunity slots. Competing slots are reserved for users with the highest token amount. This also means that when all slots are filled and a circuit request comes in from a user with a high token balance, an existing circuit in one of the competing slots might be destroyed. Equal opportunity slots are comparable with the optimistic unchoke slots in BitTorrent and accept all incoming circuit requests.
Note that the total number of slots and the number of competing/equal opportunity slots can be easily changed.
To implement this, we need to do the following code changes:
allow exit nodes to reject circuit requests. The initiator of a circuit should pick a new exit node when a circuit extension fails.
next, an exit node needs to keep track of the allocated slots and circuits.
finally, we implement the competing and equal opportunity slots.
The text was updated successfully, but these errors were encountered:
Now that the payouts and anonymous downloading is functional, we should actually use the token balance to do something useful. The first iteration of such a policy will focus on the exit nodes. In particular, we create a basic mechanism that works in the case of over- and undersupply of bandwidth where freeriders get less priority.
After a small discussion with @synctext, we came up with a design for this. We create a fixed amount of slots on each exit node process. Each slot is capable of managing exactly one circuit. The current implementation restricts the maximum number of open circuits on the exit nodes to 100 but I think this is rather high. Instead, we could use 20 slots for a first version or even less?
We assume two types of slots: competing slots and equal opportunity slots. Competing slots are reserved for users with the highest token amount. This also means that when all slots are filled and a circuit request comes in from a user with a high token balance, an existing circuit in one of the competing slots might be destroyed. Equal opportunity slots are comparable with the optimistic unchoke slots in BitTorrent and accept all incoming circuit requests.
Note that the total number of slots and the number of competing/equal opportunity slots can be easily changed.
To implement this, we need to do the following code changes:
The text was updated successfully, but these errors were encountered: