Would it be possible to take this idea further and create identities in such a way that we are reasonably sure that the owner of the private key has reached the age of majority in their state or country?
Yes. That's digital attestations. Background Checks, Inc. can perform a background check on me, and then sign my identity "jgarzik (key 0x1234) passed our background check level 1 on date Y/M/D". Anyone who trusts the signature of Background Checks Inc. may trust key 0x1234 as having passed a background check.
If you want to prove your age but nothing else at all, then I'm researching convenient ways to do that as well. The recent cryptographic breakthroughs with zk-SNARKs open up the possibility of being able to use an Android NFC-capable phone to create provable derivatives of your passport with certain fields left out. For instance you could create yourself a proof that your name is Peter and you were born in 1981, but nothing else.
I knew someone would say this, and I was tempted to say so myself. But what stopped me was the fact that, as Jeff alludes to, this does not prove your identity or your age. At all.
It still requires you to trust all past and present employees or those with access to the facilities of the background checking/passport agency who provide the document that is signed. Even if that company also signs the ID/age verification data themself, it's open to abuse. You could still get that apalling set of circumstances where a person who has been dead for years has their ID information stolen, then signed and accredited by the passport agency or suchlike organisation via a miscreant employee. The ID of an unaccountable ghost is then used to commit a whole range of crimes. Cases such as this have happened in the past where the everyday police have arrived at the house belonging to the parents of the dead ID theft victim, and the mother of a child who has been dead since infancy has to put up with a traumatic ordeal, whereby the police officers accuse her of harbouring the child, of making up wild and elaborate fantasy stories about the child being long dead. These parents could be subjected to hours of this sort of questioning, perhaps in police custody. This sort of thing is a total disgrace, of course. It should not even be possible to commit such disgusting abuses of an ID system, and I suggest that the blockchain offers us a way to introduce an improved system where this cannot be done.
Corrupting ID schemes hacks away right at their essence. In the currently proposed usage, the Bitcoin system becomes the 4th party. Why trust another layer, when you may prefer someone to produce their passport to verify the (designed for portability anyway). It becomes less about empowering the user and more about the potential 2nd instance verifier saying "So, what does this Bitcoin ID associated person get up to online, eh?". Why not create a new layer that improves trust in the veracity of the ID mechanism itself? The proposed usage only creates an opportunity to collect more reliably attributable data about it's users.
I don't know if it's technically possible, but with the use of a similar mining fees sacrifice mechanism, these abuses could be averted. Put a hash of
real ID information in the blockchain. Instead of using 3rd party meta-data (that can be subverted in more ways than one throughout the process), use genuinely unfalsifiable data like a complete genome, or genetic fingerprint. Possibly this would be technically inadequate for some reason, perhaps the available 80 bytes isn't enough to ensure that collision hashes aren't easy to reproduce for such large sample data as those of DNA fingerprints. But if it could be done, it would be a much more powerful identity system for it.
This is an unprecedented opportunity to create a mechanism for IDs that is very difficult to subvert or abuse, and the world would be a better place for it. The real issue today is that we do not have a level playing field, powerful organisations that are part of the industry for verifying ID can be (and are) used to gently chip away at the trust in the very system they are administering. Why not do for these organisations the same thing Bitcoin has been designed to do for the financial services and the central banks: usurp their relevance and their usefulness entirely, by providing an altogether improved system. After all, at the most fundamental level, we all like Bitcoin so much because it's
a system where no-one can cheat.