Sks keyserver replacement with IPFS+IPFS-Cluster

I’ve read a while ago about the dying SKS-Keyserver infrastructure.

How about approaching this with a solution made with IPFS?

Storing a key accessible via public hash:
We’re using the GPG-Key to publish a CID as IPNS which holds the full public key and all trusted signatures.

Add signatures:
Instead of allowing everyone to write to a key, we need to flip the direction. When someone signs a key, the signature will be sent via e.g. email to the owner who adds it to his public key, and republish his CID.

Resolving E-Mail addresses to public key IDs:

We create a collab cluster which acts as a directory. A new key can be added by sending a request via mail containing the IPNS and the current. The mail needs to be signed and encrypted (for the server).

The server would check the public key on the IPNS to confirm the signature is valid and the email address match.

The server will respond (via email) with a signature for your public key.

The server will recheck your key hourly to confirm that you’ve added the new signature. This confirms your email address.

If all checks are completed, the email-address is hashed and used as filename and the file is placed in a folder, pinned in the cluster. The file will contain the IPNS and CID (at the time when the server detected its own valid signature on the IPNS).

You can also file a special precrafted message to the directory server in case your key gets lost (Revoke message).

In this case the key gets used on a 0b file is a revoked directory.

All items on the cluster will get a limited lifetime, like month or two (by pin expire). You need to update your record via email from time to time, to avoid getting your listing dropped.