3 ms·
I wonder if this is a problem that can be solved with zero-knowledge proofs. The website needs to verify that I am a part of a certain group (over a certain ag
by takinola 3y ago
I wonder if this is a problem that can be solved with zero-knowledge proofs. The website needs to verify that I am a part of a certain group (over a certain age, particular gender, have a certain net worth, whatever) but I don't want to connect that information to my identity on the site. Is it possible to set it up so that the organization performing the validation is also unaware of the type of validation that I am performing and with whom?
For example, to validate my age (or net-worth or gender) with a site, I generate a one-time key which the site can send to the validation authority and receive back a Yes/No response for the request? In this example, the site would not have any information about my identity but the type and target of validation would be leaked to the validating authority. Is it possible to design a system that would let both sides perform this operation completely blind to each other?
- xmprt 3y agoThis isn't really a zero knowledge proof and could technically be de-anonymized and requires a third party service but you could easily set up a trusted verifier that generates one direction hashes which validates whatever claim you're trying to make. And if you trust the verifier to not leak back your personal details and the adult website trusts the verifier's verification, then all you need to do is send the hash to the adult website and they can validate that the hash is valid by checking against the verifier.
- takinola 3y agoHow about this scenario - There is a site A that wants me to prove my age. Site A generates a one-time key for this request. This key is completely random and does not include any information about the identity of A or myself. The key does include the type of request being made (ie age/gender/income/etc verification) I take this key to a trusted verifier, B, that has my age information. This trusted verifier uses the key from A to generate another response key. I enter the response key into site A which decrypts it using the public key of site B. In this model, 1. Site A has performed the verification (as long as it trusts Verifier B) 2. Site A does not have any additional information about me 3. Verifier B does not know the origin of the request Of course, in an area, where only certain websites perform particular verifications (eg adult websites performing age verifications), there is some information leakage to Verifier B about my behavior
- Tijdreiziger 3y agoIIUC this is exactly what the IRMA/Yivi project achieves https://privacybydesign.foundation/irma-explanation/ https://privacybydesign.foundation/irma-explanation/
- takinola 3y agoThis adds even more convenience to the scenario I proposed. The user can "pre-verify" their attributes and then reveal them as requested. The verifying authority has no knowledge of who is requesting the attributes and even when they are being used.