What are the standard password authentication protocols in client-server setting where authentication happens at the remote server? Is there any password/pin verification protocol which reveals zero knowledge (or a limited amount of knowledge which can keep on changing in subsequent rounds of login) about client's input password, but the server can still authenticate the client? Also, the server should not store enough data about the client's password to lead to any potential insider attack.
To my understanding, storing password in plain text on the server doesn't help. Storing the salted hash doesn't help if the salt is also stored on the server, the comparison can be bypassed in a privileged attack. Also, storing data on the client side is not ideal in case of a lost device/data on the client's side, which will force us to be completely dependent on identification protocols which, to my understanding, is the same as password verification (except for identification protocols which use trusted third parties, but that's not an ideal choice).