@J12t it may not be the right solution for the fediverse, but I think the natural way to have a portable identity is to have the definitive identifier be the public key. Then any account at a particular host amounts to an alias to that key, and signing on consists of proving that you have the corresponding private key. It would lose the convenience of having an ID that you can directly use for communication, but until communication isn’t host-specific that’s built in to portability
@ShadSterling Yes, it would be nice to use a public key as the "real" identifier used by the machinery, and to use the fediverse handle(s) as essentially pet names for that key, so the user never has to "see" that key in normal usage.
The usual problem with private key management applies, of course.