From @andrewgdotcom in T4393: GnuPG should always accept key updates even if the update does not contain UIDs:
In hockeypuck, we wish to distribute UID-less revoked TPKs, for the following reasons:
- A key owner has the legal right to delete their UIDs, since they are personal data.
- A key owner's revocation certificate should always be distributed, so that RTBF does not open a security hole.
- A revocation certificate cannot be verified without its primary key.
This means that keyservers must be able to store and distribute UID-less revoked TPKs. Further, in order to serve key material over HKP it must be in the form of a TPK, not a bare revocation certificate. While it may be possible to update the HKP spec, and require clients to implement support for bare revocations in their HKP handlers, this is complex on both the server and client side because it requires changes to parsing and request handling routines. On the other hand, relaxing the structural constraints involves less intrusive code changes, and has been implemented in many clients already.
Hockeypuck is a distributed keyserver on the same model as sks-keyserver, but addressing most of its design flaws. The proposed change is not specific to a centralised keyserver model, it just so happens that at the time it was proposed, keys.openpgp.org was the only example available.
I agree that primary keys without any signature on them at all are a potential abuse vector, but equally so are revocation certificates with no primary key. If the concern is that keys without certification signatures are easy to fake, surely a direct revocation signature provides a similar level of abuse protection? It is in some ways less resource-intensive to handle a revocation sig together with its primary key, as the sig can be verified and potentially discarded without looking up the local copy.