-
Notifications
You must be signed in to change notification settings - Fork 214
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
post distributed verification #5185
Comments
it relies on improvements tracked in sync v2. if we are not validating all indexes ourselves that means that we can miss invalid atx. it will skew consensus weight calculation. to address it we want to have a guarantee that if peer has a malfeasence proof then our node will receive that malfeasence proof eventually as well, with short delay that depends on implementation. there is no such guarantee with existing sync implementation. related items: #5306 |
Part of #5185, closes #5376 - [x] Local randomness seed to select K3 indices using p2p peer ID - [x] Verifying K3 indices of POST - [x] Verifying ALL indices for initial POST - [x] Publishing POST malfeasance proofs - [x] Verifying only the invalid index in POST malfeasance proofs - [x] Verify the candidate for a positioning ATX and its chain - [x] Verify the candidate for a commitment ATX and its chain - [x] Wait "some time" for malfeasance proofs before creating an active set ☝️ this is covered by ATX grading - [x] configurable duration after which ATXs (and their chains) are considered valid (in terms of POST labels) - [x] system tests
Part of #5185, closes #5376 - [x] Local randomness seed to select K3 indices using p2p peer ID - [x] Verifying K3 indices of POST - [x] Verifying ALL indices for initial POST - [x] Publishing POST malfeasance proofs - [x] Verifying only the invalid index in POST malfeasance proofs - [x] Verify the candidate for a positioning ATX and its chain - [x] Verify the candidate for a commitment ATX and its chain - [x] Wait "some time" for malfeasance proofs before creating an active set ☝️ this is covered by ATX grading - [x] configurable duration after which ATXs (and their chains) are considered valid (in terms of POST labels) - [x] system tests
Part of #5185, closes #5376 - [x] Local randomness seed to select K3 indices using p2p peer ID - [x] Verifying K3 indices of POST - [x] Verifying ALL indices for initial POST - [x] Publishing POST malfeasance proofs - [x] Verifying only the invalid index in POST malfeasance proofs - [x] Verify the candidate for a positioning ATX and its chain - [x] Verify the candidate for a commitment ATX and its chain - [x] Wait "some time" for malfeasance proofs before creating an active set ☝️ this is covered by ATX grading - [x] configurable duration after which ATXs (and their chains) are considered valid (in terms of POST labels) - [x] system tests
the intuition is instead of verifying all post indexes node can verify a small subset of them and rely on other nodes in the network to verify the rest.
we already know syncing atxs for several epochs takes non-negligible amount of time (#5182), after a year it may become an obstacle to joining network.
distributed verification will significantly (10x - 30x) reduce cpu requirements, technical implementation required a few changes:
it relies on correct behavior for syncing late objects that is not implemented and should be a part of spacemeshos/pm#272 work.
TODO:
The text was updated successfully, but these errors were encountered: