Re: Re: Creating a Query for a SHA-1 Hash

Arne Babenhauserheide <[email protected]> Tue, 30 Dec 2008 09:04:24 +0100
Newsgroups gmane.network.gnutella.devel
Message-ID <[email protected]>
Am Dienstag 30 Dezember 2008 04:02:49 schrieb Aaron Walkhouse:
> By the way.  Don't forget that hashes are never, [I'll say it again,
> never] added to query routing tables, not even by BearShare.  

And this is exactly why they shouldn't be used. 

A Hash query uses a pure flooding mechanism tempered by neither QRP[1] nor 
DQ[2], so almost any single Hash query consumes about 100 times the bandwidth 
of a regular keyword query. 

For your own bandwidth that's mostly irrelevant, since the other nodes who 
relay your request on the network pay most of the cost. 

So if everyone used only Hash queries, the bandwidth consumption at the 
Ultrapeers would rise by two orders of magnitude and would likely completely 
bog down the network. 

Hash queries can however be served extremely efficiently by a DHT (which can't 
do keyword queries very well, by the way). 

And chances are that LimeWire will tell other developers to implement the DHT 
and send Hash queries only over the DHT, since they want the network to 
continue to evolve and not be bogged down by dead clients. 


[1]: Since Hashes aren't added to QRTs. The QRP reduces the neded bandwidth by 
more than 90%. 
[2]: Since Hashes return only very few results and DQ stops the queries after 
reaching at least a certain number of results. So Dynamic Querying doesn't 
reduce the amount of requests sent by Hash queries. DQ also saves more than 
90% Bandwidth. 

These numbers come from Bearshare (QRT) and LimeWire (DQ) from the time when 
they introduced QRP and DQ. 

Best wishes, 
Arne
-- 
-- My stuff: http://draketo.de - stories, songs, poems, programs and stuff :)
-- Infinite Hands: http://infinite-hands.draketo.de - singing a part of the 
history of free software.
-- Ein Würfel System: http://1w6.org - einfach saubere (Rollenspiel-) Regeln.

-- PGP/GnuPG: http://draketo.de/inhalt/ich/pubkey.txt


[Non-text portions of this message have been removed]