Downloading data off of the SAFE Network is free, right? What prevents me and countless other dirtbags from building armies of bots, and requesting a large file over and over, eating up vaults’ bandwidth at minimal cost?
Scale and caching basically.
As @dirvine says and if you do some searching on the forum there is quite a bit of discussions about this very topic. Try searching using “caching” or “bots” or “botnet” or anything related to downloading continuously
I searched for botnet and didn’t see my question answered on the first page.
I’m trying to get the concept. So will the SAFE Network put a copy of the file on some/all of the bot clients requesting it?
All the data chunks (shards if you like) as stored in LRU cache all the way back to your requesting node.
Thank you for the responses.
I would like to know the answer to this question as well but I do not have a technical background. Can someone explain in simpler terms?
Copies of data pass from where they are stored to the requester, moving from one SAFE node to the next until they reach their destination. Along the way, a copy is kept temporarily (‘cached’), so that if it is requested again, it will already be near the destination and much less work has to be done by the network (fewer nodes involved delivering it) to get it to the destination. Only data that is requested frequently will remain cached, so each node doesn’t overflow with data - but the most frequently requested data will be kept.
Hope that helps.
What about attacks against the LRU cache itself? Consider a botnet requesting a bunch of random stuff. I could imagine all but the most popular content getting squeezed out of the cache. Perhaps the cache expiration algorithm needs to be made a little smarter than simply LRU.
Isn’t this only true for immutable data? If not, how are cached kept in sync?
If you kept “attacking” the caches then the caching increases to the point that the relay node will be caching the chunks. Since the relay node is the computer you are accessing the network through then the attack against the network fails and you are in effect attacking a single computer. Even then the relay node will only give you a portion of its total bandwidth since it spreads its bandwidth across all the machines its a relay node for.
Diminishing returns is the concept that comes to mind. The more you try the more it costs (in some form) you to do the attack. Botnets of significant size cost the attacker real money to “purchase” the attack from various botnet “holders” and to have a large botnet requires a number of them and cost per hour will be high. And if you are not getting monetary returns then you will go poor in a number of days. These botnets are used by those who will gain from the attack, either in money or increased traffic to their site since their competitor is off line. Or for some motivation that a number of people are willing to sink money into (political, anon action, etc) but they usually only last a few days because the money runs out.