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

Flesh out redpallas, direct port of redjubjub #2099

Merged
merged 5 commits into from
May 6, 2021
Merged

Conversation

dconnolly
Copy link
Contributor

@dconnolly dconnolly commented May 3, 2021

Motivation

Finishing Transaction::V5 requires a redpallas::Signature type, which was not part of the initial stub-out of the redpallas types in the sapling->orchard port in #1885.

Solution

Finish the direct redjubjub -> redpallas port for single signature verification, modulo the batching and the multiscalar multiplication required for that, as the math needs updating or replacing completely.

The code in this pull request has:

  • Documentation Comments
  • Unit Tests and Property Tests

Review

This unblocks @oxarbitrage

Related Issues

This technically fulfills #2044, but I don't know if we want it to be the long-term solution. @mpguerra

Follow Up Work

The batch math: #2098

Minus batching and the multiscalar multiplication required for that, as the math needs
updating or replacing completely.
@dconnolly dconnolly added A-rust Area: Updates to Rust code NU-5 Network Upgrade: NU5 specific tasks labels May 3, 2021
@dconnolly dconnolly requested review from teor2345 and oxarbitrage May 3, 2021 15:07
@dconnolly dconnolly self-assigned this May 3, 2021
@dconnolly dconnolly added this to the 2021 Sprint 8 milestone May 3, 2021
@dconnolly dconnolly requested a review from conradoplg May 3, 2021 15:09
@teor2345
Copy link
Contributor

teor2345 commented May 3, 2021

This technically fulfills #2044, but I don't know if we want it to be the long-term solution. @mpguerra

I think it's fine to close that ticket for now, and open an optional cleanup ticket for later.

Copy link
Contributor

@teor2345 teor2345 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great.

I had a few suggestions, but they're all minor.

Copy link
Collaborator

@conradoplg conradoplg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On a first pass I just found a small issue in a comment.

Should I make a more in-depth review of the crypto part? (It should take a couple days to get familiar with RedDSA)

zebra-chain/src/primitives/redpallas/signature.rs Outdated Show resolved Hide resolved
@dconnolly dconnolly linked an issue May 5, 2021 that may be closed by this pull request
dconnolly and others added 2 commits May 5, 2021 08:11
Co-authored-by: Conrado Gouvea <conradoplg@gmail.com>
teor2345
teor2345 previously approved these changes May 5, 2021
Copy link
Contributor

@teor2345 teor2345 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good, happy to merge if you're happy with it

@dconnolly dconnolly requested review from conradoplg and teor2345 May 6, 2021 13:54
@dconnolly dconnolly enabled auto-merge (squash) May 6, 2021 14:11
@dconnolly dconnolly disabled auto-merge May 6, 2021 14:53
@dconnolly dconnolly merged commit 3901dc9 into main May 6, 2021
@dconnolly dconnolly deleted the redpallas-sig-stub branch May 6, 2021 14:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-rust Area: Updates to Rust code NU-5 Network Upgrade: NU5 specific tasks
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Replace redpallas stub in zebra-chain with full implementation
3 participants