| Lots of bias in this thread. But maybe we can have a technical discussion? I'm not into this topic, so maybe someone else can answer this: How "zero-knowledge" is this actually? As far as I understand, there are three parties here: 1. Me, the user; 2. The site I want to access; 3. The attestor (google? my government?). What do they know about each other? Does the site know who I am? Does the site know who my attestor is (and therefore, for example, that it doesn't like Winnie-the-Poo memes)? Does the attestor know what site or kind of content I want to visit (and therefore e.g. if he agrees with it)? Does the attestor know who I am? Do I always know who the site and attestor are, and when this proof happens? |
1. The site does not know who you are. This is the whole point. You generate a mathematical proof you possess a valid government ID that says “age >= n”
2. Yes. You are generating a zkp based on information anchored by the attester. In this case the ID issuing gov. That attester can be something other than a gov, but zkps are a bit useless if the site doesn’t know what exactly is being proved. In this case you are proving “I possess a government ID saying age >=n”. You must know about the government to care about this proof.
3. Not in this case. The attester only knows it has issued you an ID, but does not need to be further consulted. You could certainly construct a scheme such that you require a ZKP of recent written permission from some entity, but this is not inherent to ZKPs.
4. This is a UX question. If the ZK wallet and website are implemented in such a way that it’s always displayed when a credential is requested and what credential that is, then yes.