Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Address ethical concerns using zkSNARK #5

Open
burdges opened this issue Nov 16, 2021 · 0 comments
Open

Address ethical concerns using zkSNARK #5

burdges opened this issue Nov 16, 2021 · 0 comments

Comments

@burdges
Copy link

burdges commented Nov 16, 2021

It's unethical to post government identifiers like a person's EID public key onto a public blockchain, so

You'll need a zkSNARK circuit that proves roughly the NP statement

{ (ETH_PK, H("Ethereum" ++ EID_pk)) : ECDSAVerify(EID_pk,ETH_pk), whatever else }

I've created an Arkworks issue for discussing the necessary curves at arkworks-rs/curves#82

You guys would require Arkwork's non-native curve arithmetic tooling to use Etherem's bn254 pairings, while we could use bespoke curves in Polkadot, but Arkwork's clean abstractions align our interests somewhat.

In Ethereum speak, I'm proposing you do a zk roll up of checking the signature and certificate chain. Aside from this being more ethical, it also resolves your gas problem in #3 by verifying only a Groth16 proof, so three pairings plus two scalar multiplications.

@burdges burdges changed the title Address ethical concerns using zk roll up Address ethical concerns using zkSNARK Nov 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants
@burdges and others