18 ms·
I make P2P tools too. [0] Let me tell you this: Bittorrent is one of the few things in the space that actually ... works. It works not in the sense that there
by rolleiflex 6y ago
I make P2P tools too. [0] Let me tell you this: Bittorrent is one of the few things in the space that actually ... works.
It works not in the sense that there is a white paper that should work. Not in the sense that there are a few company-made swarms hosted on industrial servers that keep everyone up and alive, so that the thing gives the impression the 'P2P' network does work. Not in the sense that there is a very-well oiled marketing machinery talking about Web 3.0 that allows its founder to go on TechCrunch and talk about the upcoming distributed paradise.
Bittorrent works in the way you install it into your computer and it does something for you. And for that alone, it has my immense respect and attention.
It's a tool that doesn't pitch that it's a P2P tool - it doesn't try to convince you with sob stories about how using P2P helps fight against the big bad evil web. Instead, you use it because it's genuinely the best at what it does: it being P2P is not a selling point, it's just how it happens to work, and that is exactly what it should be.
That is something all P2P developers should aspire towards.
[0] Aether P2P: https://getaether.net https://getaether.net
- k__ 6y ago"there are a few company-made swarms hosted on industrial servers that keep everyone up and alive, so that the thing gives the impression the 'P2P' network does work" What about the trackers?
- simple_phrases 6y agoDHT makes trackers simply an aggregation and redundancy measure.
- joenathanone 6y agoIt should, but in practice it doesn't. I've had torrents that I left sitting for weeks not being able to complete, until I added a list of trackers to them and found some seeders with 100% of the torrent.
- k__ 6y agoSame here. BT only worked for new popular stuff.
- Red_Leaves_Flyy 6y agoI've yet to find something that's truly unavailable. Sometimes it takes a few different searches on different sites but I've always found the obscure Linux distros I've been looking for.
- nnt38 6y agoJust because not everyone is using DHT does not mean that it doesnt solve the issue.
- cercatrova 6y ago> It's a tool that doesn't pitch that it's a P2P tool - it doesn't try to convince you with sob stories in how using P2P helps fight against the big bad evil web. Instead, you use it because it's genuinely the best at what it does: it being P2P is not a selling point, it's just how it happens to work, and that is exactly what it should be. This should be something that every creator who markets or sells products should learn. Consumers don't care how it works, it just has to be better than the solution before it. Appealing to how things ought to be moralistically doesn't work (for the vast majority of consumers). They just don't care, they want a solution to their problem.
- im3w1l 6y agoI think everyone aspires to this. They just fall short.
- cercatrova 6y agoPerhaps. I see a lot of developers make stuff (non-dev related even) but then only list out their technical specs and features rather than benefits, as if the programming language its written in is supposed to entice (non-dev) consumers. A corollary is devs making software for their own enjoyment but that which doesn't solve an actual problem. I think it's more that they don't think in that entrepreneurial mindset yet, but once they realize no one is buying, they'll understand for the next time around.
- megameter 6y agoIt's a problem with the creative process itself, I've learned, and it isn't different in other mediums. It follows the McCloud "Six Steps to Art" - starting with surface changes, gradually learning the elements of the craft, and eventually settling on a purposeful idea in the medium or about the medium. Most developers, and therefore most projects, get stuck somewhere in the middle area, where there is enough skill to create features, but no direction or vision for those features, other than a basic template based on other software. Often, the project will be called "minimal" to excuse having few features, but only a few projects adhere to a genuine restriction like SLOC limits or eliminating dependencies. Appeals to commerce as the goal often have a further narrowing effect of making one anxious with thoughts like "project must moonshot on day 1", but then you look at Bittorrent, an all-time software success, and it's like, no, this probably wasn't ever going to create the next Microsoft. Funds were raised to have a Bittorrent company, but the market success it had was always modest at best. And yet it did and still does represent an idea that people can believe in. The actual thing that I see every great project do, whether it's defined artistically or not, is to define up-front some themes and principles that you believe cohere well, and then direct the specific elements around deeply studying and exploring them. This can manifest as a corporate mission statement, or as an artist's manifesto, or an academic research subject. In final form, it generally manifests as "do one thing exceptionally well", since if you have a very clear idea of the goal, you can direct all your energy upon it. But in the intermediate stages it is still trial and error to learn what fits the theme best, what the actual success metrics are. The thing is, if you have coherence in the abstract, it's way easier to explain the reason for being: "This is just a manifestation of the principles". Being easy to explain in turn makes it marketable without resorting to sales tricks. And because it deals with general concepts it taps into a breadth of appeal that can't be found just by looking at any one feature. So adhering to principle sets you up for success in a general sense.
- DevX101 6y agoBitTorrent was one of the few things that once I understood how it worked, I realized I was looking at the product of true genius.
- martinald 6y agoReally? 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.
- bawolff 6y agoThe 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.
- StavrosK 6y agoHow does tit-for-tat work? Is it still enabled? I don't think I've seen it much lately.
- gruez 6y agoIt'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.
- StavrosK 6y agoInteresting, thanks!
- londons_explore 6y agoIt 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.
- godzillabrennus 6y agoHacking around distributed hash table open source software gave me the utmost respect for the people who came up with this stuff. Crypto currencies owe a lot of their successes to the pioneers behind technologies that also power bit torrent.
- octoberfranklin 6y agoIt's been said that git, bittorrent, and proof-of-work were the three necessary prerequisites for the discovery of blockchains.
- mratsim 6y agoDon't forget: - Patricia-Merkle Trees proven in DC++ - DHT proven in eMule Kademlia
- nadaviv 6y agoI wouldn't consider merkle trees to be a core component of Bitcoin. Full nodes don't benefit from them, they're only relevant for light SPV clients, which didn't even exists for a few years after Bitcoin was released.
- nadahalli 6y agoMerkle trees are everywhere in Bitcoin (full node or otherwise). The block header has the merkle root of all transactions that are a part of that block. The witness merkle root is stored in the coinbase transaction (if the miner is segwit enabled). And proof of work is done for the block header, which includes all these merkle roots.
- WorldMaker 6y agoI pretty strongly believe that "blockchain" is a misnomer given how much the structure relies on Merkle Trees. Forks aren't some aberration in the data structure, but a direct exploration of branches in the Merkle Tree. Most blockchain algorithms, Proof of Work especially, are just very rigorous "rebase operations" in git terms.
- tim333 6y ago>being P2P is not a selling point It is kind of a selling point with regards to what most people actually use it for. If not P2P the movie / record industries would shut down the servers.
- bawolff 6y agoI think the point is its an implementation detail not an end in itself. Users care about the properties it provides, not the method (p2p) of obtaining then
- 1vuio0pswjnm7 6y agoToday's consumers and developers of "tech" have been trained and convinced to readily accept stuff that works "most of the time". It is the software I download for free that is the most reliable IME. Spending more money does not make today's consumer computers any more valuable. And that's how it should be. The price of hardware (and software) should continue to fall.
- User23 6y agoBT has a very strong theoretical underpinning based on FEC coding. It’s not like it was just bumbled into. It is also quite well engineered.
- bonoboTP 6y agoNot sure how intentional this was, but for piracy, the killer feature is that curation and quality control could be centralized to well managed trackers, instead of the previous bazaar like situation on Napster/Kazaa/DC++/etc. where everyone shared their inconsistently named mess of files, lots of slightly different versions of the same movie etc. With torrents you can browse the tracker's website and see one canonical library of content, and dozens or more people seeding the same stuff. The other big thing was seeding the already downloaded bits while downloading the rest and making this behavior very hard to disable. This combined with ratio systems of the various trackers ensured that people played nice and gave back as much as they took. The downside was the elimination of the long tail very niche content that you could find on DC++ while browsing individual people's messy but unique collections.
- jandrese 6y agoOne thing BitTorrent did that was smart was to completely ignore discovery. We already have the web, and putting tiny files up on web pages is a much better solution than some half baked built-in distributed search service.
- dane-pgp 6y agoIt was good design to decouple the transfer protocol from the search protocol, to allow different technologies to be explored, but in practice people ended up relying on the "good enough" solution of using the web for search. Setting the precedent that media companies can seize domain names and force ISPs to block access to search engines if they don't like some of the search results (while ruining the lives of the people running those search engines) is arguably a high price to pay for this improved search service.
- xvilka 6y agoCan it be solved with IPFS-based trackers?
- imtringued 6y ago
- andrei_says_ 6y agoAether looks so interesting. Do you have communities that have adopted it ? In what use cases? How do they use it daily? I like how the data expiration is set as an intentional feature.
- rolleiflex 6y agoWe do have a small but dedicated community. It’s quite nice, you should check it out.
- dmix 6y agoOff-topic but it was fun reading your original HN submission from 2013 announcing your project: https://news.ycombinator.com/item?id=6787807 https://news.ycombinator.com/item?id=6787807
- rolleiflex 6y agoHa, it‘s been awhile. Funny how the world changes.
- graynk 6y agoAether looks cool, but why do you provide only Snap builds on Linux? I wanted to try Aether, but I avoid Snap as much as possible
- rolleiflex 6y agoWe’re actually just in the middle of our move off Snap. Do subscribe to the mailing list and I can send an update once that’s out.
- mcjiggerlog 6y agoGiven how vocal anti-snap people are, I just wanted to provide a voice in favour of snap. It's always my preferred method of install for anything not in the default archives.
- simion314 6y agoYou should keep snap and offer other options if you want, the noise you hear is not a majority, snap works very well for many people and they don't have posts that reach top of HN.
- cloudhead 6y agoTotally right, though I wouldn’t underestimate the growing community of people for whom p2p is a feature. Being able to use something forever because no one can shut it down is important to some.
- triceratops 6y ago> it doesn't try to convince you with sob stories about how using P2P helps fight against the big bad evil web. A few years ago, that was precisely their marketing pitch.
- Cthulhu_ 6y agoI'm confident Bitcoin was based on Bittorrent, there's a lot of overlap. And I feel like it has a lot of the benefits. The main problem with Bitcoin is that it's not purely decentralized (big companies can throw calculating power at it and sway decisions / dominate) and really, really expensive to run.
- imtringued 6y agoThe actual computation in Bitcoin is cheap. The real challenge is spam prevention in a decentralized system. In bitcoin there is this rule that the longest chain wins. If a spammer can create 1000 blocks based on a chain that is 100 blocks behind the longest then he can "rewrite history" by making his chain win. So how do you prevent spam? Only allow a message every 10 minutes. How do you make sure nobody cheats? Force them to complete a cryptographic challenge that takes 10 minutes on average. Of course the side effect is that the more nodes you have, the more power has to be thrown away to maintain the 10 minutes timer. This is not a scaling problem though. You can just increase the block size to process more transactions or reduce the block time to have more frequent blocks. Bitcoin is kinda like San Francisco. They decided to stick with the current block size and that made any use case other than buying bitcoin to speculate very expensive.
- tikiman163 6y agoThere is something of an unpopular ideology in Computer Science that suggests that you shouldn't build architure to use cool tools, you should build the cheapest easiest architecture that meets the user's needs. This ideology is unpopular because using cheap and easy tools isn't exciting,and we developers often can't stand writing boring applications. Quite a few projects are using P2P, machine learning, Kubernetes, No-Sql or block-chain not because the project actually requires scalability, decentralization, advanced data analysis or responsive big data, but because somebody got excited and refused to accept that it was a waste of time and money to do so.
- ninkendo 6y agoReminds me of one of the points Joel Spolsky made about peer-to-peer not being the reason Napster was successful: https://www.joelonsoftware.com/2001/04/21/dont-let-architecture-astronauts-scare-you/ https://www.joelonsoftware.com/2001/04/21/dont-let-architect... > Your typical architecture astronaut will take a fact like “Napster is a peer-to-peer service for downloading music” and ignore everything but the architecture, thinking it’s interesting because it’s peer to peer, completely missing the point that it’s interesting because you can type the name of a song and listen to it right away. > [...] > If Napster wasn’t peer-to-peer but it did let you type the name of a song and then listen to it, it would have been just as popular.