I was pondering about the idea of a browser extension for a sort of local DNS. Paying for domains could be ditched if everyone had a local copy of a database that mapped any character sequence (even emojis) to a server address that would get filled in by the extension in the url bar. Not sure if it would extend to mobile or all websites, but could work similar to a social network in the sense that you need to get the extension (i.e. access) first, and then you can find someone just by using a string that they've provided. Combined with something like Github pages it would offer a full free solution.