Essentially in this network instead using addressing to address hosts, they address the data. This brings interesting properties, since routers are aware what data is being transferred they can start caching it.
In the end no CDNs are needed (network takes care of it) so people can host data themselves without worrying of it getting too popular.
Also doesn't that mean everyone in between know you're requesting degeneration.jpg? Vs now where they'd only know the domain and maybe could do transfer size analysis? Sort of the opposite direction of TLS everywhere (CloudFlare exempted)?
Also how do you bootstrap it? If I upload some image and it's instantly popular on reddit and generating many Mbps of traffic, don't I have to stick around long enough to get it up and cached? Or would there be free seed services that will get the first several GB out?
Normally that would benefit ISPs (they do have a network of routers so it would naturally help them, since they would not need to send the same thing over and over again, they do pay for traffic to their uplinks).
But, on the other hand ISPs artificially reduce their bandwidth and expect companies like Netflix to pay and do peering with them. Well, this won't help against it, but while it can replace TCP/IP it can also work as an overlay network and you can skip the ISP.
> Also doesn't that mean everyone in between know you're requesting degeneration.jpg? Vs now where they'd only know the domain and maybe could do transfer size analysis? Sort of the opposite direction of TLS everywhere (CloudFlare exempted)?
The protocol itself doesn't leak that information. Remember, there are no addresses to individual machines to people, only addresses for the data. When you request something the routing protocol will route the request to the source of data. Each router remembers the previous hop the request came from. On each hop a router checks if it already caches the data and responds, otherwise forwards request further. So even the source website doesn't know who requested it. I suppose the issue might be that router immediately would know what you requested.
You can mitigate it in two ways:
- encrypt the data and only give key to decrypt it to subset of people who supposed to be able to access it
- encrypt data individually per user, in that case you no longer can rely on caching properties of the network and the source server needs to be aware who requested what (since it is encrypting the data). i.e. you falling back to the way how TCP/IP now operates.
> Also how do you bootstrap it? If I upload some image and it's instantly popular on reddit and generating many Mbps of traffic, don't I have to stick around long enough to get it up and cached? Or would there be free seed services that will get the first several GB out?
Well you're expected to host it all the time. The network won't be caching it forever individual packets have TTL and also routers can purge data if they need to make space for other data that is now popular.
I suggested NDN as a response to that S3 bucket doesn't handle highly popular content well. The NDN properties allow highly popular content being hosted even from places with low bandwidth, because the network will handle the load.
NDN on the other hand is a network protocol that is capable to run without TCP/IP (it's actually designed to be able to replace it). They actually built a testbed: https://named-data.net/ndn-testbed/
Similarly to TCP/IP you can build application that utilize the protocol. In fact I suspect implementing IPFS in NDN would be much easier than in TCP/IP.
In fact looks like someone did just that: https://named-data.net/publications/techreports/ndn-tr-27-nd...
and source code: https://github.com/named-data/NDNFS
Essentially the big change is that instead of using addresses for servers what if you put addresses on the data itself. That approach gives some properties:
- network can cache the data - no CDNs needed, no slash dot effects etc
- free multicasting (a hard problem at scale with TCP/IP)
- better handling of slow/lossy network
- easy multipath routing
It's very efficient for things that can potentially have many people interested in. Like streaming popular videos, hosting images (like discussed here imgur). The benefit for these sites is that they would have lower costs to operate because they would require less bandwidth, because anything that's popular will be cached by the network.
Edit: Also: https://en.wikipedia.org/wiki/Named_data_networking
Unlike FreeNet it was designated that while it can work as an overlay network it is actually capable to run without TCP/IP so it could even replace it.
Also unlike FreeNet it's not trying to obscure who is hosting the content. Basically you get a prefix (which looks like unix file path) which you start advertising to neighboring routers (like IP is advertised in TCP/IP) so then all requests under it (as long as no cached version is available anywhere) will be forwarded to you.
I imagine being an image hosting service it would be cheaper in the long run, although I have no idea by how much and if it would make sense all things considered.
Either put up with the free-image-host cycle of crap, or pay for your own domain and hosting.
 Free image host N is awesome, bandwidth is expensive so free image host N needs money, free image host N starts to add shitty anti-features, free image host N+1 enters at the start of the cycle, free image host N closes...
Before Imgur there was Photobucket, Imageshack, and many others. Now Imgur is at the end of the anti-feature cycle. Reddit's own hosting is entering the cycle, right on cue.
The basic problem seems to be that the web has a trust issue, not between users and services. But between services and advertisers.
Until that trust issue is solved, so that sites can bring ad hosting under their own domain rather than embed unsupervised ads from third parties, there will be no end to this runaround.
That said, inhouse ad management do not always do a good job either. Right now i have Reddit ads killed because i got tired of having some rotting face glare at me from the sidebar just because i visit the odd gaming sub-reddit from time to time.
I actually liked them, though after switching to uBlock Origin years ago I'd forgotten about the network and to whitelist them, sadly.
I'm highly skeptical, in that I believe the nature of ads makes this inherently unfeasible.
The point of ads is to be seen by as many people as possible. In dramatic terms, you could say the purpose of ads is to invade your mental space against your will on behalf of product makers. How could that ever be ethical?
That aside, ads also present a conflict of interest for content makers. You want your site to be nice and high-quality. But you need money, so you put up ads and comprise on the aesthetics. You want more people to see your ads so you're tempted to make more content, or arbitrarily divide your content into smaller pieces (fighting the end user's ultimate desire which is to peruse your stuff).
And then there's the whole "biting the hand that feeds" problem. I personally don't believe anyone showing ads can be truly objective regarding them. So maybe Google is evil, maybe not, are you going to turn down their money either way? Most smaller ad networks seem shady to me.
I think this seemingly theoretical problem is why ad blockers are still on the rise, going so far as to be baked into browsers (Brave on mobile is awesome). Not only do people dislike ads, I think they don't trust advertisers, and I think most users nowadays are aware of these ethical conflicts at least on a semi-conscious level.
In short, this is why I've personally made a promise to myself never to rely on ads. Maybe that means I can't get rich off of "killer apps", or even earn a living. But part of me believes that anything useful is worth paying for, so I'm focusing on building something useful.
Edit: Didn't mean for this to turn into a rant. Oh well!
Considering malvertising is a thing, attempting to spread malware through ads, users shouldn't trust advertisers.
I don't just run an ad blocker to prevent annoyances, I do it to increase security.
They're explicitly on all my adblocker whitelists since their ads only amount to a PNG image with a link.
The advertisers know where they are advertising, the site owners can control who advertises, the payment is transparent and everyone is happy.
Apparently they saw that the ad model was the way to go and discontinued the paid accounts.
Which is too bad because that's where we stand right now. I wish they would still offer an ad-free paid account.
I guess in the long run we'll see how Imgur current business model will last.
It's been retroactively removed from accounts.
It was pretty much the only reason I even kept a dropbox account. No point after that.
Really you have three options, free services have ads, paid services which require an account, or host your own.