ZK Deterministic Signature RPC method (Plume)#17482
Closed
rrrliu wants to merge 8 commits intoMetaMask:developfrom
Closed
ZK Deterministic Signature RPC method (Plume)#17482rrrliu wants to merge 8 commits intoMetaMask:developfrom
rrrliu wants to merge 8 commits intoMetaMask:developfrom
Conversation
Contributor
|
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. |
Author
|
I have read the CLA Document and I hereby sign the CLA |
d480a01 to
4a7ca9a
Compare
Contributor
|
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. |
Contributor
|
This PR was closed because there has been no follow up activity in the last 14 days. Thank you for your contributions. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Explanation
Adds new
eth_getPlumeSignatureRPC method that implements a novel ECDSA nullifier scheme.The
eth_getPlumeSignaturemethod 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 Boardlabel.In this case, a QA Engineer approval will be be required.