Great idea, great name, and great picture 🙂
Q1 (understandable?)
I think it's confusing putting the human/artificial at the end. I also thought about how to have a good naming scheme for my fledger project. And the domain name system with TLD, domain, sub-domain is in fact very nice. But:
- what is the most natural? forum.hastily.cc, or should it be more like a path? /cc/hastily/forum ? I prefer the latter, where the most generic comes at the beginning, and the details later. It sorts better. But you have to read to the end to know what it actually is about. And the domain name system is well known and is the other way round.
-> I think there should be some hierarchy in the system
Q2 (artificial names)
With a hierarchical system you can try out different systems, like:
- humans/europe/CH/ineiti
- human_owned/IoTs/europe/CH/ineiti/device1
- human_owned/IoTs/europe/CH/ineiti/device2
- automatic_UUID/abcd_ef123_4567
and so on.
This way you don't have to choose between different systems, but can give each one their own space to play around. I think it makes sense to have different systems available: both for human held devices, and for automatic setup of devices.
Hierarchical naming system
Here some things I thought about for the fledger system, but the more I thought about it, the more it blurred 🙂 So this is more of a brain dump:
- start with a fixed set of "top-level-domains" which are under your control (benevolent dictator). This could be "/humans", "/devices", "/automatic"
- add some second level of differentiation - perhaps there are not many "ineiti", but there will be many "Hans Muster", "Garfield", or others. For "/humans", geographical separation might work nice. Or the type of proof given for the human?
- add a "/chaos" TLD where people can go wild and create as many sub-domains as needed - first come, first served
- have an automatic expiration of names. In my fledger system, I thought (not implemented) that every participating node gets some credits while they are online. This credit can be used to keep the name(s) activated. If they're not online anymore, and the credit runs out, the name is freed up for others to use.
- open up other TLDs as needs arise. If you have an incentive system, you could imagine that with enough credits, you can automatically create a TLD. Or a subdomain, or a subsubdomain. Whatever. Of course incentives are difficult to handle and use, specifically if you don't want to have a "first comers get it all" like Bitcoin and Ethereum and others.
Ownership and Recovery
This is probably the most difficult one. Honestly, private keys suck. They're a nice solution on a theoretical level, but if you lose them, you're lost. The more centralized systems (banks, states, governments) do have in common that there is an agreed-upon way of recovering your identity / bank account / whatever. Everybody will lose sooner or later their private key. Multi-sig, t-of-n recovery, email recovery, whatever, can help here. Some are more easy to use by the user for larger adoption, while others are more secure against being overtaken by a malicious agent.
Like with the hierarchical system, I think it would be nice to allow for different recovery systems, depending on the security level required and in trust of other authorities. Banks and governments might be bad, but up to some point they are serving their customers, so they can also be helpful.