TTH isn’t required in automated searches

One of the major benefits in ADC is that each client must hash the user’s files. It’s been pretty well documented so I won’t go any further on that fact.

However, while ADC require TTHs for each and every file, it does not require the client to use it when doing automated searches. There’s nowhere in the protocol to restrict this, and there really shouldn’t be any.

There’s a very good reason to not do automated searches via TTH; the search will only result in exact matches. Yes, getting your exact file is the entire point. But there’s nothing that say that the entire file’s TTH need to be the same. If you read through a previous post about the Tiger algorithm, you will see that blocks have a hash, too.

Eg, if two files consist of three blocks each, and the first two blocks of each file are exactly the same, those two blocks will have the exact same (“part”) hash. As the third block differ, the root hash (the TTH you see) will differ. But the point here is that the client may queue the first file, and if there’s, eg, no slots with that user, the client can download the second file, upto where the block differ. So when you’re about to start to download the first (and desired file), you can simply resume 2/3s in.

With automated TTH searches, you cannot do this, since the two files (that have different names, but only slightly) have different TTHs. If you search after “sensible” information in the file name, you may get more results. With the results you get, you can download the trees for those files, and see that there’s some matches.

(Yes, this approach will use up considerably more bandwidth.)

(You can use this approach in a different way; say, only when the user select “match files’ hashes”.)

(Yes, you could do this approach in NMDC, as well.)

Don’t forget that you can make topic suggestions for blog posts in our “Blog Topic Suggestion Box!”

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: