Currently, it is possible for a corrupt official to generate a private key on his computer to upload the public key to the ledger. One would now that there are too many keys, by counting citizens in the public ledger. But it seems impossible to find a person who did that or find the key.
Two possible solutions are:
The signature can be added only to the ledger if it is signed by a nonanonymous signature. In the ledger of identities, we could keep also the public key for the specific person.
Authority keeps secret records of public key and ID correspondence. (The option still leaves room for a corrupt state).
This was a design three iteration ago. A similar issue raises when a blind signature scheme is used as backbone for voting system design. The solution is doing braiding in public which peacefounder now does.
Currently, it is possible for a corrupt official to generate a private key on his computer to upload the public key to the ledger. One would now that there are too many keys, by counting citizens in the public ledger. But it seems impossible to find a person who did that or find the key.
Two possible solutions are: