> Why didn't ICANN just charge a flat fee for any string to resolve to an IP?
Because ICANN doesn’t control what strings resolve! They delegate to registries (by putting NS records in the root resolvers), and for ccTLDs it’s up to each country to set policy and infrastructure to taste. If anything, the existence of gTLDs (like .com) where policy is set internationally is the unusual aspect of this arrangement.
I wonder if we'll see newly formed countries angling for names that will get valuable abbreviations
Opening up registration for non-citizens / non-residents is an option each country has. Some restrict registration more than others.
https://en.m.wikipedia.org/wiki/List_of_Internet_top-level_d...
There's also an important angle that countries can set the terms of service for their ccTLD to match their laws. It's one way to ensure a country has some legislative and enforcement ability over their corner of the web.