Freenet is designed to be a meritocracy for content. If somebody inserts several gigabytes of pictures of mating chickens, for instance, this will only persist if it is popular, or so the theory goes. This meritocracy is one of the main principles underlying the moral, philosophical and practical aspects of Freenet.
The only problem is this: If an attacker can continue to insert a file, he can keep it in the network forever. Inserts don't stop when they find the data (for good reasons IMHO), so this is more effective than requesting the data. And he doesn't have to push the same data, he can just keep inserting random data chunks. He doesn't need to find lots of nodes to connect to. These will then be promoted to the top of the LRU list, and therefore will push out moderately popular content - or even popular content, if he has many links to many nodes and lots of upstream bandwidth. Solution? All we have to do is not promote inserted content to the TOP of the LRU list. Set it say 3 days ahead of the MRU. This can be done efficiently with the new database-backed datastore. Then when it is requested, promote it to the top. If it isn't requested, for example if it is random junk inserted by Mallory, it will expire in 3 days. We could make it 7 days, or some fraction of the overall most-recent to least-recent period (check your Environment page, Data Store box; most nodes have at least a month between most recent and least recent access time). This should make flooding attacks considerably harder, and move freenet somewhat closer to the meritocratic ideal we claim. -- Matthew J Toseland - toad at amphibian.dyndns.org Freenet Project Official Codemonkey - http://freenetproject.org/ ICTHUS - Nothing is impossible. Our Boss says so. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: <https://emu.freenetproject.org/pipermail/tech/attachments/20060103/524a871c/attachment.pgp>
