Taking the concept from the Gemini protocol that allows clients to identify themselves using their own self-signed certificate - is this a valid concept that could be used in other protocols and what is the downside?
From a client's point of view, when you come across a login prompt, you could select your certificate (from your own local store) and that then can identify you, without leaking any personal information - used purely as an identifier.
The server can store the hash of the certificate and use it for future identification.
As an added bonus responses can then be encrypted using the identifiers public key.