My idea for a distributed anonymous authentication system effectively uses public keys as usernames.
Good article though, and it also highlights the need to be able to change a password... Which is something that my system doesn't really handle gracefully (without having a "master key").