-
Notifications
You must be signed in to change notification settings - Fork 19
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
feat(consensus)!: implement preshards and shard groups #1092
Conversation
Test Results (CI)555 tests +8 555 ✅ +8 1h 30m 19s ⏱️ - 29m 22s Results for commit 42029e7. ± Comparison against base commit 0ff6cbf. This pull request removes 1 and adds 9 tests. Note that renamed tests count towards both.
♻️ This comment has been updated with latest results. |
dbae726
to
6ff275c
Compare
171adb3
to
b494bdb
Compare
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.
looks good to me, just a couple of questions to better understand pre-sharding
dan_layer/consensus/src/hotstuff/on_ready_to_vote_on_local_block.rs
Outdated
Show resolved
Hide resolved
Description --- fix(sync): validate checkpoint merkle root Rename NumPreshard variants (#1092 (comment)) Motivation and Context --- Validates the checkpoint blocks merkle root against the synced state so that the validator can be sure they have the correct state. Note that block and QC signatures are not currently validated pending a refactor in the validations. How Has This Been Tested? --- Manually, submitting transactions, mining to next epoch, submitting more transactions, deleting data of one VN and resyncing. What process can a PR reviewer use to test or verify this change? --- As above Breaking Changes --- - [ ] None - [ ] Requires data directory to be deleted - [x] Other - Please specify BREAKING CHANGE: the merkle root construction differs slightly from current development branch
Description
feat!(consensus): implement preshards and shard groups
Implement JMT for each shard.
Motivation and Context
Divide the shard space into a number of preshards. Each VN committee is responsible for a group (1 or more) preshards.
How Has This Been Tested?
Existing tests, updated Substate address unit tests, manually
What process can a PR reviewer use to test or verify this change?
Look at the shard group in the database, and check the shared
state_tree
tableBreaking Changes
BREAKING CHANGE: sharding model changed and not backward compatible