Currently we use did:key as service identifier. That is problematic because every time we want to rotate key we have to update the clients with a new key and old clients will no longer work.
It would make sense to just switch to did:dns so we can rotate keys when needed without having to upgrade all the clients
Out of scope
- Actual DNS resolution is out of scope for now, on backend we should just have in memory mapping of
did:dns -> dns:key for our keys.
- Supporting other actors
did:dns identifiers in delegation chains is out of scope (we can just error saying we failed to resolve the key).
- Support keys that were rotated. So when we rotate the key we may get the the delegation chain which has our
did:dns in the chain but with key that is no longer in rotation. We do need to support that use case long term, but for now it's out of the scope, we can work on this when we actually go about rotating keys