Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

Enable signature verification in background task #10353

Conversation

librelois
Copy link
Contributor

@librelois librelois commented Nov 23, 2021

Bring back signature batch verification but with the new name background verification.

Indeed, batch verification - in the cryptographic sense - is a different feature, and only exists for certain types of signatures.

Batch verification is currently only implemented for signatures of type sr25519. For the other types of signatures (ed25519 and ecdsa), each signature is verified alone but in a background task.

Some questions about the design:

  1. How to expose this functionality to the user? For the moment I have chosen a compilation feature at the frame-executive level because it is the simplest.
  2. Should we disable batch verification for sr25519 signatures, in order to separate this in a different future functionality?
  3. Should we replace all the batch occurrences by background ?

Added an optimization suggested by @crystalin: in case the first extrinsics are particularly long to run, the background tasks that check the signatures will do nothing for a while, which is suboptimal.
It is more optimal to spawn all the signatures to be checked in the background before starting to run the extrinsics.


Closes paritytech/polkadot-sdk#351

@librelois
Copy link
Contributor Author

@bkchr I would like to have a first feedback about the design, can you answer the following questions? (or tag someone who could)

  1. How to expose this functionality to the user? For the moment I have chosen a compilation feature at the frame-executive level because it is the simplest.
  2. Should we disable batch verification for sr25519 signatures, in order to separate this in a different future functionality?
  3. Should we replace all the batch occurrences by background ?

@stale
Copy link

stale bot commented Jan 15, 2022

Hey, is anyone still working on this? Due to the inactivity this issue has been automatically marked as stale. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the A5-stale Pull request did not receive any updates in a long time. No review needed at this stage. Close it. label Jan 15, 2022
@librelois
Copy link
Contributor Author

I am still working on this PR, I am waiting for a feedback from @bkchr

@stale stale bot removed the A5-stale Pull request did not receive any updates in a long time. No review needed at this stage. Close it. label Jan 15, 2022
@stale
Copy link

stale bot commented Feb 14, 2022

Hey, is anyone still working on this? Due to the inactivity this issue has been automatically marked as stale. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the A5-stale Pull request did not receive any updates in a long time. No review needed at this stage. Close it. label Feb 14, 2022
@stale stale bot closed this Feb 28, 2022
@librelois
Copy link
Contributor Author

I can't reopen this PR, so I created a new one: #10946

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
A5-stale Pull request did not receive any updates in a long time. No review needed at this stage. Close it.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Bring back signature batch verification
1 participant