> N * (N - 1) =~ N^2 (assuming full duplex links, which would be generally correct for the internet)
1) N^2 is not exponential, it's polynomial.
2) Expanding capacity isn't even N^2, it's just linear.
If you double each residential customer's bandwidth, you "only" have to double the capacity of your uplinks to other networks. The number of endpoints or total nodes in the network is entirely irrelevant, because you have the same 50Mbps whether you're drawing it from one AWS server or a thousand BitTorrent peers. The only way you would get the result you're assuming is if every endpoint had a fully meshed connection to every other endpoint, i.e. each customer gets 50Mbps to each Amazon server, a separate 50Mbps to each Google server and a separate 50Mbps to every single other user on the internet, for a total of several hundred billion Mbps for every customer. That's not how it works.
And in practice it's even less expensive. It's sub-linear. Because just giving everybody a connection which is twice as fast doesn't mean everybody is going to immediately double their usage. A large fraction of users, given a faster connection, will do with it only what they currently do with the slower connection. Their pages will load faster but they won't load more pages, so the load they put on uplinks to other networks will remain the same.
There are no exponentially increasing costs. There are only the same costs as there ever were: Cisco et al come out with a new router that puts twice as many bits through the same piece of cable and if you want those bits you pay them a fixed cost and swap out your old model for the new one, and in another few years you do it again.