<story><title>An Uber-like CDN</title><url>https://medium.com/@anton.lakhtikov/uber-like-model-to-disrupt-the-cdn-industry-8d870362f0f6</url></story><parent_chain><item><author>jsnell</author><text>There&amp;#x27;s a bunch of really obvious objections to this idea around performance, privacy, economics, UX, and reliability. Impressively, the post did not manage to address any of them up front.&lt;p&gt;1. Performance. In terms of latency, this is adding an extra round-trip to each page request (to get the metadata). It&amp;#x27;s also likely going to load different resources from different servers (hostname, IP) preventing connection reuse. I guess they can&amp;#x27;t even start fetching data until the full page has loaded? And it feels like this scheme would make it much harder to reliably cache resources, since the browser will cache by URL while they&amp;#x27;d struggle to make sure the URLs are stable across calls.&lt;p&gt;2. Privacy. Their threat model only addresses malicious peers changing content, not malicious peers trying to track users.&lt;p&gt;3. Economics. If running peer servers really was profitable, the company would do it themselves rather than outsource it. Given the &amp;quot;where can you get a server&amp;quot; section, it&amp;#x27;s not even that they&amp;#x27;re expecting this to just be running on spare capacity.&lt;p&gt;The problem with the setup is that incentives of the peers are badly misaligned with the network, the clients, and the end-user. A peer wants to maximize traffic; the clients and end-users want to minimize it. So a peer would be incentivized to set cache-control headers to prevent caching, to increase traffic. Likewise a peer would be incentivized to only keep copies of the most accessed resources, to be able to serve as high a proportion of the traffic as possible with a given disk budget, while all the other stakeholders would like each file to be available just N+1 times in each region.&lt;p&gt;4. UX. URLs will be really crappy compared to a proper CDN. Right-click copy a link to an image and send it to somebody? It&amp;#x27;ll initially be to some super-dodgy URL, and stop working in a day or two as the CDN node starts caching different content. And AMP showed that people do actually care about URLs.&lt;p&gt;It&amp;#x27;s pretty hard to take this seriously.</text></item></parent_chain><comment><author>x-complexity</author><text>&amp;gt; 2. Privacy. Their threat model only addresses malicious peers changing content, not malicious peers trying to track users.&lt;p&gt;I&amp;#x27;m narrowing the scope around &amp;#x27;user tracking&amp;#x27; specifically to 3rd parties, because 1st party user tracking is a requirement in order to perform some necessary functions (Providing accounts &amp;amp; user sessions, for example).&lt;p&gt;In the current centralized CDN model (Cloudflare, AWS, Akamai, etc.), the 3rd party is made clear (those aforementioned companies), and their need to track users is documented on the provider&amp;#x27;s ToS. Likewise, reputational damage is accrued to the providers in question.&lt;p&gt;In their proposed CDN model, there is no clear 3rd party, and so it must be defensively assumed that all of the data sent for requests is recorded at all times (The FBI Tor exit node problem). As a consequence, the minimal amount of request data can only be sent to these providers (IP address, content hash). Tor-like routing could be implemented to further disperse the requests from one IP address to multiple addresses, but now the monitoring problem&amp;#x27;s increased to the routers as well, on top of the additional latency introduced for said privacy. Mandating said routing into the protocol would make such tracks useless, as the IP address collected will roughly appear as random noise in the optimistic case.&lt;p&gt;&lt;i&gt;Personal opinion below&lt;/i&gt;&lt;p&gt;However, it is likely that no technical solution provided would resolutely satisfy the question being asked.</text></comment>
<story><title>An Uber-like CDN</title><url>https://medium.com/@anton.lakhtikov/uber-like-model-to-disrupt-the-cdn-industry-8d870362f0f6</url></story><parent_chain><item><author>jsnell</author><text>There&amp;#x27;s a bunch of really obvious objections to this idea around performance, privacy, economics, UX, and reliability. Impressively, the post did not manage to address any of them up front.&lt;p&gt;1. Performance. In terms of latency, this is adding an extra round-trip to each page request (to get the metadata). It&amp;#x27;s also likely going to load different resources from different servers (hostname, IP) preventing connection reuse. I guess they can&amp;#x27;t even start fetching data until the full page has loaded? And it feels like this scheme would make it much harder to reliably cache resources, since the browser will cache by URL while they&amp;#x27;d struggle to make sure the URLs are stable across calls.&lt;p&gt;2. Privacy. Their threat model only addresses malicious peers changing content, not malicious peers trying to track users.&lt;p&gt;3. Economics. If running peer servers really was profitable, the company would do it themselves rather than outsource it. Given the &amp;quot;where can you get a server&amp;quot; section, it&amp;#x27;s not even that they&amp;#x27;re expecting this to just be running on spare capacity.&lt;p&gt;The problem with the setup is that incentives of the peers are badly misaligned with the network, the clients, and the end-user. A peer wants to maximize traffic; the clients and end-users want to minimize it. So a peer would be incentivized to set cache-control headers to prevent caching, to increase traffic. Likewise a peer would be incentivized to only keep copies of the most accessed resources, to be able to serve as high a proportion of the traffic as possible with a given disk budget, while all the other stakeholders would like each file to be available just N+1 times in each region.&lt;p&gt;4. UX. URLs will be really crappy compared to a proper CDN. Right-click copy a link to an image and send it to somebody? It&amp;#x27;ll initially be to some super-dodgy URL, and stop working in a day or two as the CDN node starts caching different content. And AMP showed that people do actually care about URLs.&lt;p&gt;It&amp;#x27;s pretty hard to take this seriously.</text></item></parent_chain><comment><author>mranton</author><text>&amp;gt;1. Performance.&lt;p&gt;also please note:&lt;p&gt;if you have 1 image on the page - we have to do 2 requests (1 metadata, 1 download)&lt;p&gt;if you have 50 images on the page - we have to do 51 requests only (1 metadata for all images, 50 downloads)</text></comment>