Hello, everybody!
I used Direct Connect for a long time. Global Internet was expensive, and Direct Connect handled citywide Intranets pretty well. Now, Internet prices are lowering to affordable values, it is natural to look for something more scalable. Direct Connect is used globally, but dc hub can hold up to 20000 users, far from millions. Gnutella sounds good for many reasons, one of them being TTH support. TTH is the best partial-verify-capable hash IMHO. As opposed to AICH, it is not disbalanced, and it's based on the fastest cryptohash, TIGER. What can be better? Gnutella might be a natural continuation to Direct Connect given the fact they use the same hashes.
The first experience with Gnutella was quite disappointing. I started with a FrostWire, gave it a time to hash my files, and when everything was done, I decided to look on a magnet links. I have discovered that they only contain SHA1. AAAAAAARGH! What's the hell is this nontree hash still doing in the p2p? Isn't it stupid? Isn't it more than stupid? Who is the one to blame out of, say, 20 sources if the resulting 6Gb file will be corrupted? Downloading 6Gb from Internet takes several days. SHA1 is not an option indeed. Let FrostWire defects come alone, there are plenty of.
Another time I have seen freaking SHA1 was
distribution: OpenOffice.org P2P Downloads. These magnet links only contain SHA1! No TTH!!! It is usually hard to meet a magnet link other than Direct Connect magnet link. OpenOffice.org webmasters not only put magnet links deeper than torrents and main download page, but they also managed to create a magnet links not suitable for Direct Connect. [intermezzo]Good idea, bad implementation. The idea is good because I often feel that webmasters and developers live on another planet. On
our planet about 33% use p2p. On
their another planet there is no p2p at all. If
they calculate hash,
they calculate useless md5 as opposed to useful tth. If
they provide downloads,
they provide HTTP downloads as opposed to magnet links. [/intermezzo]
The invasion of SHA1 is unpleasantly surprising.
I'm wondering what would be the usage experience if someone will strip out SHA1 completely. Just TTH. The resulting program(s) is to be distributed through a DC portal. Even better, an existing DC client could be extended to handle sha1ess Gnutella.
It is a technical question. Would it be possible to exchange files between upgraded client and a legacy one?
Yeah, I believe SHA1 must be eliminated completely. There was a moment when DC++ started to deny non-TTH-capable clients. It was a good service to the DC networks. As a consequence, every DC client in the wide use is now TTH-capable. And it's good.