-
Notifications
You must be signed in to change notification settings - Fork 106
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
Async batch Ed25519 signature verification #1944
Labels
A-consensus
Area: Consensus rule updates
A-rust
Area: Updates to Rust code
C-enhancement
Category: This is an improvement
NU Sprout
Network Upgrade: Sprout specific tasks (before Overwinter)
Milestone
Comments
dconnolly
added
A-consensus
Area: Consensus rule updates
NU Sprout
Network Upgrade: Sprout specific tasks (before Overwinter)
A-rust
Area: Updates to Rust code
C-enhancement
Category: This is an improvement
P-Low
labels
Mar 25, 2021
2 tasks
dconnolly
added a commit
that referenced
this issue
Mar 26, 2021
We've been verifying JoinSplitSigs one-by-one pre-ZIP-215. Now as we're post-ZIP-215, we can take advantage of the batch math to validate this signatures. I would have pumped all the joinsplits in our MAINNET_BLOCKS test vectors but these signatures are over the sighash, which needs the NU code to compute, and once we're doing all that set up, we're basically doing transaction validation, so. Resolves #1944
2 tasks
dconnolly
added a commit
that referenced
this issue
Mar 26, 2021
We've been verifying JoinSplitSigs one-by-one pre-ZIP-215. Now as we're post-ZIP-215, we can take advantage of the batch math to validate this signatures. I would have pumped all the joinsplits in our MAINNET_BLOCKS test vectors but these signatures are over the sighash, which needs the NU code to compute, and once we're doing all that set up, we're basically doing transaction validation, so. Resolves #1944
dconnolly
added a commit
that referenced
this issue
Mar 26, 2021
We've been verifying JoinSplitSigs one-by-one pre-ZIP-215. Now as we're post-ZIP-215, we can take advantage of the batch math to validate this signatures. I would have pumped all the joinsplits in our MAINNET_BLOCKS test vectors but these signatures are over the sighash, which needs the NU code to compute, and once we're doing all that set up, we're basically doing transaction validation, so. Resolves #1944
dconnolly
added a commit
that referenced
this issue
Mar 26, 2021
We've been verifying JoinSplitSigs one-by-one pre-ZIP-215. Now as we're post-ZIP-215, we can take advantage of the batch math to validate this signatures. I would have pumped all the joinsplits in our MAINNET_BLOCKS test vectors but these signatures are over the sighash, which needs the NU code to compute, and once we're doing all that set up, we're basically doing transaction validation, so. Resolves #1944
teor2345
added a commit
that referenced
this issue
Mar 30, 2021
* Ed25519 async batch verification for JoinSplit signatures We've been verifying JoinSplitSigs one-by-one pre-ZIP-215. Now as we're post-ZIP-215, we can take advantage of the batch math to validate this signatures. I would have pumped all the joinsplits in our MAINNET_BLOCKS test vectors but these signatures are over the sighash, which needs the NU code to compute, and once we're doing all that set up, we're basically doing transaction validation, so. Resolves #1944 * Repoint to latest ed25519-zebra commit with note to point at 3.0 when released Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com> Co-authored-by: teor <teor@riseup.net>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
A-consensus
Area: Consensus rule updates
A-rust
Area: Updates to Rust code
C-enhancement
Category: This is an improvement
NU Sprout
Network Upgrade: Sprout specific tasks (before Overwinter)
We currently validate Sprout JoinSplit binding signatures one by one.
ed25519-zebra
has batch validation math implemented, whichtower-batch
uses in an integration test to demonstrate its use wrapped in atower::Service
. In fact this was the first test case for the pattern we've used for the async batch RedJubjub signature and Groth16 proof verification. We can use this in our transaction verification pipeline too to get the batch verification speedup.The text was updated successfully, but these errors were encountered: