Should eviction of vaults be part of the design of the network? I’m not sure but hopefully a discussion can shed some light. I’m leaning towards ‘no’ but there are definitely some good arguments for having evictions.
Random Eviction
Something like every hundredth block one vault in the section is randomly killed. This prevents very old age which is both a pro and a con.
The positive side is an attacker cannot simply wait until their vaults outlive other vaults and are coincidentally colocated in the same section. They must achieve that goal within the cycle of eviction.
The negative side is there’s value in knowing the history of old vaults vs new vaults, and accumulated work is important for the operation and security of the network so it’s a shame to throw that away for ‘no reason’ via random eviction. Is there an upper limit to the value of knowing which vaults are old? Is it ok to discard that information eventually?
Overall it seems like a good idea to me since it prevents an entrenched early participant becoming dominant.
It replaces a linear history of age with a cyclical history of age, giving everyone a fair go over the course of the cycle. I think a short cycle (ie frequent evictions) is not a good idea, but a long cycle probably doesn’t hurt.
It also allows operators to evaluate the viability of their hardware at the time their vault is killed and should encourage an earlier update cycle than would happen if vaults live indefinitely.
Performance Eviction
If a vault is consistently underperforming it may be voted for eviction by other vaults in the section. This may be balanced by penalties to premature voters to prevent unfair culling. It maybe restricted to ‘times of plenty’ when losing a vault won’t cause harm to the section.
This may allow sections to detect collusion by analysing the votes being cast since similar-but-unfair voting will raise eyebrows.
But the bad side is this may also allow an existing bias to be reinforced because a participant with more votes can more likely retain their power in the section. If a single operators vaults are not concentrated in a single section this effect should not be significant.
This allows some interesting game theory depending on the voting mechanism installed. It becomes a Keynesian Beauty Contest where beauty is performance. Since performance will vary for every related vault depending on their geographical distribution (especially for latency), relative cpu power, relative bandwidth etc there is no objective single ‘most beautiful’ vault in the section.
No Eviction
Alternatively, and I think preferably, the farm rate / safecoin design alone may be enough to eventually make low performance vaults nonviable and thus eventually removed from the network by their operators. My concern is, can this be done without leading to a race-to-the-top and consequent centralising effects?
Are there other eviction techniques? Does it seem like a good idea or not?