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
Web2 Social login #769
Comments
I'll try this task |
@jolestar I drew a data flow diagram using Rooch to implement zkLogin (privacy is not guaranteed): |
Rooch implements the OAuth login process:
This process ensures that users can authenticate their identity on the Rooch chain using their OAuthProvider account while protecting their privacy. Zero-knowledge proof allows users to prove that they have a valid JWT without revealing the content of the JWT. In addition, by using the Session Key and defining scopes, users can initiate multiple transactions over a period of time without having to authenticate their identity each time, and the access to the modules on the chain is controlled. |
The zero-knowledge proof circuit should include the following logic: The zero-knowledge circuit should accept the following input parameters:
The zero-knowledge circuit should perform the following operations:
The zero-knowledge circuit should output the following parameters:
|
Reference circuit implementation:
|
I feel like using Halo2 from zcash might be a more succinct solution in the future? |
I considered snarkjs because the game Dark Forest also uses this library. snarkjs uses circom to write verification circuits and compile them into wasm files, which can generate proofs directly in the browser. I don’t know much about Halo2, can you elaborate on the advantages of Halo2? |
Halo2 is a PLONKish arithmetization scheme zero-knowledge proof which produces larger size of proofs than Groth16, does not require trusted setups and can be used to customize custom gates and lookup tables. There's an article describing the efficiency of each ZKP frameworks, PLONKish, R1CS, etc.: https://ethresear.ch/t/benchmarking-zkp-development-frameworks-the-pantheon-of-zkp/14943 Here's an implementation using WASM with Halo2: |
I may help design with you together for this issue. @yubing744 |
@feliciss Does Sui use Halo2 or circom? I found that zkemail(https://github.com/zkemail/) also tried to adopt Halo2 |
@jolestar sui supports Zero-knowledge proof verification (Groth16) |
RSA verification circuit implementation reference: |
No. Sui uses Groth16 that's different from PLONKish implementation. Sorry for the late reply. |
circom also supports generating Groth16 proofs. We plan to implement Rooch’s Groth16 verification with reference to Sui. |
Part of #460
zk solution issues
oauth login issues
Web2 platform
Reference
Discussion
https://discord.com/channels/1078938449974935592/1167295291746173029
The text was updated successfully, but these errors were encountered: