-
Notifications
You must be signed in to change notification settings - Fork 684
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 Protocol #41
Sassafras Protocol #41
Comments
|
Another additional consideration is higher-level code that uses the BABE per-block VRFs such as https://github.com/paritytech/polkadot/blob/master/node/primitives/src/approval.rs#L146 . Any hard fork needs to be coordinated (ideally using Runtime API presence/versioning) to ensure a seamless handover for such code. |
We'll want the Sassafras per-block VRF in approvals I think, not the current randomness accumulator value. An adversary would know the randomness accumulator before making their attack, so it gives no benefits and permits more bias. It's beneficial when the adversary waits somewhat longer, but not a full epoch. |
Remove `authoringVersion` from runtime spec
This RFC outlines the core components and procedures of Sassafras consensus protocol. --- This RFC does not cover the following topics: - Implementation details necessary for interoperability: structure of the on-chain storage, host functions and runtime API. - Deployment strategies, especially in the context of already existing blockchain networks - Parameters required for the zk-SNARK (SRS). - Networking protocol to deliver tickets to relayers. These (and probably other) topics are fairly complex and somewhat independent of the core protocol. They should be the subject of separate, dedicated RFCs for proper exploration and discussion. --- [Rendered](https://github.com/davxy/polkadot-fellows-rfcs/blob/sassafras-consensus-rfc/text/0026-sassafras-consensus.md) Reference implementation tracking issue: paritytech/polkadot-sdk#41
* Add import_params to blockchain cmd * Nits * Minor optimization: avoid cloning the entire address list * Mark disconnected in addressbook * Add --verbose to blockchain cmd * Nit * Fix clippy * Docs improvement * .
The Vision
This issue tracks the implementation progress of the Sassafras block authoring protocol.
The protocol itself is currently considered experimental and the official whitepaper is still a work-in-progress.
Nevertheless the changes that we expect from the protocol are limited and we already have enough elements to start building a working prototype.
Available resources:
The Plan
The overall work is divided into smaller and self-contained steps that incrementally should bring us to a sound implementation.
Identified sub-tasks:
Version 0.1 - KISS
Regardless of the simplification compromises, the protocol core logic should work as close as possible to the one described by the paper.
node-template
for simplicity. No fancy pallets only stuff strictly necessary to have something "that works".- First lexicographic sort
- If num-tickets > num-slots then drop extra tickets
- Finally assign tickets to slots using outside-in strategy .
- This will address the genesis warm-up phase as well.
Version 0.2 - Improve, test and refactor
Version 0.3 - Ring-VRF Integration
Version 0.4
Version 0.5 - Tickets Proxy
Here you can find the board with specific sub-tasks to this milestone:
https://github.com/orgs/paritytech/projects/18/views/15
The text was updated successfully, but these errors were encountered: