filecoin-project / filecoin-project/specs
Miner/worker addresses and validation sequence inconsistencies
- Dominant language
- SCSS
- Stars
- 363
- Forks
- 164
- PR merge metrics
- No merged PRs in 30d
Description
(Related to https://github.com/filecoin-project/specs/issues/415)
Because the worker address is mutable in the state machine it prevents us from performing validation as specified.
[The spec says](https://filecoin-project.github.io/specs/#progressive-block-validation)
> These stages can be used partially across many blocks in a candidate chain, in order to prune out clearly bad blocks long before actually doing the expensive validation work.
However BV2 and BV3, which we would like to apply "long before doing the expensive validation work" cannot be done until each header's parent state is fully constructed. This is because these steps depend on the worker address key which only exists in the state machine, not the header.
Two simple solutions: a) impose a delay on worker address mutation (similar to #415) so that validators can apply these checks to partial sections of candidate headers. b) included worker address in header.
A related issue is that we don't seem to have a hard bound between when a miner can be created and when they can start mining blocks. If the spec imposes a number on this (which it should do for other security reasons) then the minerAddress portion of BV1 can also be applied on partial chains of headers.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the progressive block validation section linked in the issue and the related specs issue #415. Compare the two proposed approaches for worker-address handling, and clarify the bound between miner creation and starting to mine; done means the specification resolves these validation-sequence rules.
Written by the indexing model from the issue text.
Assessment
- Domain
- blockchain
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100