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

Signing node using aggregate signatures #97

Merged
merged 33 commits into from
Apr 24, 2023
Merged

Signing node using aggregate signatures #97

merged 33 commits into from
Apr 24, 2023

Conversation

DavidM-D
Copy link
Contributor

This is a working implementation of aggregate signing nodes.

Current issues are that it will merrily sign any payload you send it provided there's an oauth token and it only uses a single key.

It also breaks every integration test we have. Tomorrow morning I'm going to work on integrating it into our existing leader node calling and adding the constraints on what it signs. The test aggregate_signatures sketches out how this will look. The leader can be very dumb as all of the validation is done on the signers side.

I'd appreciate your feedback, to make sure I'm going in the right direction.

@DavidM-D DavidM-D marked this pull request as ready for review April 22, 2023 21:38
@DavidM-D
Copy link
Contributor Author

As discussed, I'm going to pull out the submit endpoints and rework the integration tests, but everything I'll do will be removing code, no more adding.

@ChaoticTempest
Copy link
Member

doesn't look like it's compilable. Is it working? Should I help clean it up?

@DavidM-D
Copy link
Contributor Author

DavidM-D commented Apr 23, 2023

Sorry I rebased then didn't push up my fix. Pushed now

Copy link
Contributor

@itegulov itegulov left a comment

Choose a reason for hiding this comment

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

Looks solid so far, just a few nitpicks

Copy link
Collaborator

@volovyks volovyks left a comment

Choose a reason for hiding this comment

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

Looks like we are moving in a right direction. No objections about design.

@DavidM-D
Copy link
Contributor Author

Please merge this if you're happy with it

@volovyks volovyks mentioned this pull request Apr 23, 2023
Copy link
Contributor

@itegulov itegulov left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Member

@ChaoticTempest ChaoticTempest left a comment

Choose a reason for hiding this comment

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

Looks good for the most part, but I'ma continue to see if there's anything that can be improved

pagoda_firebase_audience_id: String,
node_key: ExpandedKeyPair,
signing_state: Arc<RwLock<SigningState>>,
Copy link
Member

Choose a reason for hiding this comment

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

This could just be using a Mutex instead. There's only been writers to this state, so no need to use RwLock which is better only if we have readers away from writing logic.

Copy link
Contributor

Choose a reason for hiding this comment

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

Leaving as is for now in case we need read-only access. We can clean up later if needed.

@itegulov itegulov merged commit 695d5e3 into develop Apr 24, 2023
@itegulov itegulov mentioned this pull request Apr 24, 2023
@itegulov itegulov deleted the dmd/agg-sig branch July 20, 2023 05:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants