-
Notifications
You must be signed in to change notification settings - Fork 707
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
Sassafras Consensus Pallet #1577
Conversation
Not part of the core protocol. Will be added later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not a full expert. However, left some review as requested :P
Please revert the changes to the node template. There is really no need to add the Sassafras stuff there. Otherwise left some comments in the pallet. I think the most problematic point being the validate_unsigned
that prevents nodes from outside the current active set, but part of the next active set to send their tickets.
Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: Bastian Köcher <[email protected]>
This will make more sense after #2524 since the schnorrkel type for VRF outputs is also renamed in the latest version. Can be reviewed independently though. Can be merged after #1577 so that there is less pain for @davxy. --------- Co-authored-by: Bastian Köcher <[email protected]>
This pull request has been mentioned on Polkadot Forum. There might be relevant details there: https://forum.polkadot.network/t/polkadot-release-analysis-v1-5-0/5358/1 |
This PR introduces the pallet for Sassafras consensus. ## Non Goals The pallet delivers only the bare-bones and doesn't deliver support for auxiliary functionalities such as equivocation report and support for epoch change via session pallet. These functionalities were drafted in the [main PR](paritytech#1336), but IMO is better to introduce this auxiliary stuff in a follow up PR and after client code. ## Potential follow ups paritytech#2364 --------- Co-authored-by: Sebastian Kunert <[email protected]> Co-authored-by: Koute <[email protected]> Co-authored-by: Michal Kucharczyk <[email protected]> Co-authored-by: André Silva <[email protected]> Co-authored-by: Bastian Köcher <[email protected]>
This will make more sense after paritytech#2524 since the schnorrkel type for VRF outputs is also renamed in the latest version. Can be reviewed independently though. Can be merged after paritytech#1577 so that there is less pain for @davxy. --------- Co-authored-by: Bastian Köcher <[email protected]>
This PR introduces the pallet for Sassafras consensus.
Note for reviewers
ignore the modifications to
substrate/bin/node-template
folder (see before merge actions)Before merge actions:
Cargo.toml
substrate/bin/node-template
(used only to run benches)benchmark.sh
)Non Goals
The pallet delivers only the bare-bones and doesn't deliver support for auxiliary functionalities such as equivocation report and support for epoch change via session pallet.
These functionalities were drafted in the main PR, but IMO is better to introduce this auxiliary stuff in a follow up PR and after client code.
About SRS initialization
SRS material in thehttps://github.com//issues/41 context of the pallet is maintained by the
RingContext
struct.Proper construction of SRS is out of the scope of this PR and will follow an RFC dedicated to the topic to discuss the trusted setup machinery (aka ceremony).
However, regardless of the origin of the SRS, we need a way to write the constructed data into the pallet's storage.
This will be addressed in a dedicated, follow-up, PR. Currently the pallet tests are using a test string.