-
Notifications
You must be signed in to change notification settings - Fork 5k
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
ZK Deterministic Signature RPC method (Plume) #17482
Conversation
CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes. |
I have read the CLA Document and I hereby sign the CLA |
d480a01
to
4a7ca9a
Compare
This PR has been automatically marked as stale because it has not had recent activity in the last 60 days. It will be closed in 14 days. Thank you for your contributions. |
This PR was closed because there has been no follow up activity in the last 14 days. Thank you for your contributions. |
Explanation
Adds new
eth_getPlumeSignature
RPC method that implements a novel ECDSA nullifier scheme.The
eth_getPlumeSignature
method takes in two parameters, a message and an address, then generates a deterministic signature (plume) and several other inputs. The plume can be used as a nullifier to prevent double-spending in an anonymity set. This capability unlocks novel on-chain behavior, such as private DAO voting, fair, non-doxxing airdrops, and more.Screenshots/Screencaps
plume-with-confirm.mov
Before
RPC method did not exist!
After
Manual Testing Steps
After building and running MetaMask locally, enter this into the browser console
A confirmation screen should open up. After clicking confirm, you will see the plume and other signals outputted into the console.
See screen capture above for more details.
Pre-merge author checklist
Pre-merge reviewer checklist
If further QA is required (e.g. new feature, complex testing steps, large refactor), add the
Extension QA Board
label.In this case, a QA Engineer approval will be be required.