Re:BitTorrent v2
by DevX101 on Monday September 07, 2020 @05:17PM
(#24402982)
BitTorrent was one of the few things that once I understood how it worked, I realized I was looking at the product of true genius.
[ Parent
| on HN ]
The first time I ever felt that way was with the Gnutella network; I instantly wrote a client for it from scratch.
Bittorrent only became that level of magical for me when the DHT got factored in some time later and magnet links became workable.
The other time was Bitcoin.
I’m a big fan of lack of centralized/coordination/tracker nodes.
Really? It's a just an iteration from how eDonkey2000/eMule worked, which actually also had a DHT based 'trackeless' mode, many years before BT came around.
The tit-for-tat algorithm is what makes bit torrent special and solved a real problem with the previous gnutella-esque generation of p2p file sharing programs. As far as i know emule did not have that at the time.
BitTorrent uses TCP properly instead of implementing a poor version of TCP using UDP which is why it is much faster than eDonkey.
Emulating sorta-TCP via UDP is something modern protocols like QUIC also do. It's the difference between 'a poor version' and 'a decent version' that matters.
Except when you are using μTP...
How does tit-for-tat work? Is it still enabled? I don't think I've seen it much lately.
It's implemented in the choking algorithm. Basically if bandwidth or upload slots are limited, your peer with preferentially upload to peers that have reciprocated to you. AFAIK most clients implement this.
Interesting, thanks!
Re:BitTorrent v2
by londons_explore on Tuesday September 08, 2020 @06:34AM
(#24407049)
It isn't so important now most people have fast enough internet.
Back when people left things downloading for days, there were severe shortages of people willing to upload, and tit-for-tat encouraged uploading, solving the issue.
Re:BitTorrent v2
by octoberfranklin on Tuesday September 08, 2020 @12:38AM
(#24405249)
I know that feeling; I first got it reading this paper by some guy named Nakamoto.