I tend to be a practical person when it comes to user behavior, and  
in looking at the current situation with Freenet, it seems that too  
many users are behaving poorly, and adding hundreds of disconnected  
nodes.

They either don't understand that you need a connection on each side,  
or don't realize that disconnected nodes waste bandwidth. I think we  
need to help them understand that they are hurting themselves.





Toad, before you argue that having large numbers of connections isn't  
proper darknet behavior, keep in mind that many people have several  
dozen friends they might connect to via freenet legitimately- If  
fixes are easy, and don't hurt the network, then it's worth it to  
consider them....




I think that there are two things that can be done to help fix this,  
each of which is rather trivial.




I think the first thing to do is to add a warning, when the node is  
spending more than XXX% of it's bandwidth/time checking node status.

Ie, if it's sending out X ARK retch requests, versus 1/2 X in  
requests/Inserts, there is a problem, and there should be a warning  
on the main fproxy page.






The second is to change the delay between checks to see if a node is  
back up.

As I understand the current system, it's a formula based on the age  
of the build, the time we've seen it most recently, how often it's  
connected, and other factors.

I think it might make sense to make this value increase  
exponentially, until it hits a max value, set in freenet.ini
Ie, Start at 10 seconds, go to 1 minute, then 1 hour, then every 10  
hours. Remain at 10 hours (or whatever value is in freenet.ini) until  
further notice.

Doing this negates much of the penalty for having disconnected users.  
It allows people to have them without hurting their bandwidth.

Transient nodes aren't hurt, since if the node RECEIVES a packet from  
the Just-started transient node, it will immediately consider that  
node current. It puts the burden on the transient node to tell its  
peers its back up.

I'm thinking about implementing an exponential scale in my build, but  
I think it makes sense to have it generically.






Reply via email to