EDIT: I want to specify what I know about schemes security:
- Authentication schemes: P can prove V he is P, and nobody else can prove V that they are P.
- Identification schemes: P can prove V he is P, and V can't prove to anybody else that he is P.
- Signature schemes: P can prove V he is P, and V can't prove even to himself that he is P.
I don't know which is the strongest scheme between Authentication and Identification.
I know that a signature scheme is the strongest level of security, and correct me if I'm wrong but that should be basically just an identification scheme where you can also sign a message thanks to one-way functions in NIZKs (said very poorly and briefly).
Now, what I don't know is if in any ZK scheme you always want the "Proof of Knowledge" property to be verified. I suppose the answer to be yes, as (I think) in all of them you have to make sure that a user is who he says he is... but if its really like this, then I don't get the difference between an authentication scheme and a identification scheme in ZK proofs.
Maybe I'm wrong and in a authentication scheme (that should be the "weakest" of them?) you don't need the Proof of Knowledge property but you only need the scheme to be zero-knowledge?
Or maybe there's more to it? That's my doubt, thank you!\