[freenet-chat] Arguments against not utilizing Ubernodes

Colin Davis Colin at sq7.org
Sat Jun 24 14:34:41 UTC 2006


I'd like to use this opportunity to disagree with the current .7  
strategy of not utilzing large nodes- I've done it before, but this  
is the Chat list, so
It's not Off-topic to have a discussion about it.

As per my other e-mail, I'd like to start of by admitting that I  
probably know the least about the subject, compared with anyone else  
in the
  room. This isn't a pissing match, I just want freenet to be the  
best it can be.
We all do. That's why we're here.


I've tried to intend my thoughts below, for ease of reading.


I've talked with Ian, Nextgens, Toad, aphophis, SinnerG, and anyone  
else who was interested about the role of Ubernodes- I admit I don't
understand things as well as others, but I hope that other people who  
agree with me might join this discussion.

1) Users tend to prefer Speed to Anonymity-
	a) Look at the Success of networks like Bittorrent- All the peers  
downloading a file are completely exposed, but people enjoy using it  
because they can get a file quickly.
	b) While the focus of Freenet is different, we can still let USERS  
make that tradeoff.
		I) There are a lot of tweaks that could be made, to make things  
faster.
			* Increasing the check for new editions exponentially, for instance
			* Or fully utilizing ubernodes
		II) As it is, there are people, such as SinnerG, Apophis, and  
myself, who are BEGGING to make freenet faster!

2) Freenet is about giving the users control.
	a) The project should give users control whenever possible, assuming  
it doesn't remove significant security from others
		I) If a user wants to route their data through a fast server,  
shouldn't we give them that option?
		
	b) Trust levels, as mentioned by Toad on the Devl mailing list are a  
good start, but there are more trusts that can be done.
		I) Lets say I trust my friend quite a bit, and set him to a high  
trust level.. Why not fully utilize his connection to me, if it's  
otherwise empty?
		II) If I've set him to a high trust level, I'm presumably OK  
routing more requests through his node.
			* As it is, requests are more or less random among non-backed off  
peers.
			* If I trust my friend, I'd be OK preferring to send through him
	c) Implementing a NG-style, stochastic modeling system ensures that  
users are properly utilizing resources.

	

3) The current strategy is fighting a symptom, not the problem.
	
	a)  We can already achieve Ubernode-like results using bands of  
smaller nodes.
		I) If I set up 10 mini-nodes, all inner linked, and each connected  
to 10-15 peers, I could harvest just as much data on net network
		II) The network would see these as different nodes, and fully  
utilize them.
		III ) Multiple IP addresses to run on are cheap ;)

	b) The problems with Ubernodes are mitigated if the data is stored  
other places as well.
		I) If freenet used proper NG-style modeling, it would always draw  
from the fastest source, which is usually going to be
			a point between the ubernode, and the direct user.
		II) Once the user has downloaded it, by default it's in his node  
anyway.

	c) Let's find ways of working to utilize freenet nodes fully, and  
safely, so that when the bad guys come, and start EvilNodes, we're  
already doing well enough that people don't flock to them.
		

4) We want more people to use Freenet- This brings more nodes to  
route, more exposure, and MORE MONEY, which means more dev-time.

	a) As it is, the network is awash with Backoffs.
		I) We're not entirely sure how to fix it.
		II) Some of the solutions proposed seem more like guesses.
	b) Users are more likely to use a faster net
		I) People get frustrated with freenet speed.
		II) It's a lot better than .5, but it's a LOT slower than it should  
be.
		III) People join things just for speed- See 1) above.
	c) The more people who use the network, the more money the network  
brings in
	d) We can utilize ubernodes now, and move back later.
		I) Right now, Ubernodes are one of the best tools for making the  
network run faster.
		II) After the network is bigger, we can back off of them.
			* The network will natually back off from them- The can't keep up  
with 10000 users, for one. For another, No one node can compete with  
10000 smaller nodes.
		III) Let's take the advantage in the short term, so that we can  
better build the long term.



I'll be happy to discuss this with anyone who's interested. It's a  
serious issue, and I'm trying to go about things the Right way.



More information about the chat mailing list