@silverpill Have you (or anyone) given any thought to what happens if you use a dereferenceable DID method (eg did:web)?
This would allow multiple public keys to be valid at once - meaning that multiple servers can all do server-side signing without needing to share a private key.
It also means that keys can be rotated and/or revoked - potentially causing old signatures to become unverifiable.